189 8069 5689

阿里云linux服务器安全设置(防火墙策略等)

首先需要进行linux的基础安全设置,可以先参考这篇文章

网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了连江免费建站欢迎大家使用!

1、Linux系统脚本

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
#!/bin/bash
#########################################
#Function: linux drop port
#Usage: bash linux_drop_port.sh
#Author: Customer Service Department
#Company: Alibaba Cloud Computing
#Version: 2.0
#########################################
check_os_release()
{
whiletrue
do
os_release=$(grep"Red Hat Enterprise Linux Server release"/etc/issue2>/dev/null)
os_release_2=$(grep"Red Hat Enterprise Linux Server release"/etc/redhat-release2>/dev/null)
if[ "$os_release"] && [ "$os_release_2"]
then
ifecho"$os_release"|grep"release 5">/dev/null2>&1
then
os_release=redhat5
echo"$os_release"
elifecho"$os_release"|grep"release 6">/dev/null2>&1
then
os_release=redhat6
echo"$os_release"
else
os_release=""
echo"$os_release"
fi
break
fi
os_release=$(grep"Aliyun Linux release"/etc/issue2>/dev/null)
os_release_2=$(grep"Aliyun Linux release"/etc/aliyun-release2>/dev/null)
if[ "$os_release"] && [ "$os_release_2"]
then
ifecho"$os_release"|grep"release 5">/dev/null2>&1
then
os_release=aliyun5
echo"$os_release"
elifecho"$os_release"|grep"release 6">/dev/null2>&1
then
os_release=aliyun6
echo"$os_release"
else
os_release=""
echo"$os_release"
fi
break
fi
os_release=$(grep"CentOS release"/etc/issue2>/dev/null)
os_release_2=$(grep"CentOS release"/etc/*release2>/dev/null)
if[ "$os_release"] && [ "$os_release_2"]
then
ifecho"$os_release"|grep"release 5">/dev/null2>&1
then
os_release=centos5
echo"$os_release"
elifecho"$os_release"|grep"release 6">/dev/null2>&1
then
os_release=centos6
echo"$os_release"
else
os_release=""
echo"$os_release"
fi
break
fi
os_release=$(grep-i "ubuntu"/etc/issue2>/dev/null)
os_release_2=$(grep-i "ubuntu"/etc/lsb-release2>/dev/null)
if[ "$os_release"] && [ "$os_release_2"]
then
ifecho"$os_release"|grep"Ubuntu 10">/dev/null2>&1
then
os_release=ubuntu10
echo"$os_release"
elifecho"$os_release"|grep"Ubuntu 12.04">/dev/null2>&1
then
os_release=ubuntu1204
echo"$os_release"
elifecho"$os_release"|grep"Ubuntu 12.10">/dev/null2>&1
then
os_release=ubuntu1210
echo"$os_release"
else
os_release=""
echo"$os_release"
fi
break
fi
os_release=$(grep-i "debian"/etc/issue2>/dev/null)
os_release_2=$(grep-i "debian"/proc/version2>/dev/null)
if[ "$os_release"] && [ "$os_release_2"]
then
ifecho"$os_release"|grep"Linux 6">/dev/null2>&1
then
os_release=debian6
echo"$os_release"
else
os_release=""
echo"$os_release"
fi
break
fi
os_release=$(grep"openSUSE"/etc/issue2>/dev/null)
os_release_2=$(grep"openSUSE"/etc/*release 2>/dev/null)
if[ "$os_release"] && [ "$os_release_2"]
then
ifecho"$os_release"|grep"13.1">/dev/null2>&1
then
os_release=opensuse131
echo"$os_release"
else
os_release=""
echo"$os_release"
fi
break
fi
break
done
}
exit_script()
{
echo-e "\033[1;40;31mInstall $1 error,will exit.\n\033[0m"
rm-f $LOCKfile
exit1
}
config_iptables()
{
iptables -I OUTPUT 1 -p tcp -m multiport --dport21,22,23,25,53,80,135,139,443,445 -j DROP
iptables -I OUTPUT 2 -p tcp -m multiport --dport 1433,1314,1521,2222,3306,3433,3389,4899,8080,18186-j DROP
iptables -I OUTPUT 3 -p udp -j DROP
iptables -nvL
}
ubuntu_config_ufw()
{
ufwdeny out proto tcp to any port 21,22,23,25,53,80,135,139,443,445
ufwdeny out proto tcp to any port 1433,1314,1521,2222,3306,3433,3389,4899,8080,18186
ufwdeny out proto udp to any
ufwstatus
}
####################Start###################
#check lock file ,one time only let thescript run one time
LOCKfile=/tmp/.$(basename$0)
if[ -f "$LOCKfile"]
then
echo-e "\033[1;40;31mThe script is already exist,please next timeto run this script.\n\033[0m"
exit
else
echo-e "\033[40;32mStep 1.No lock file,begin to create lock fileand continue.\n\033[40;37m"
touch$LOCKfile
fi
#check user
if[ $(id-u) != "0"]
then
echo-e "\033[1;40;31mError: You must be root to run this script,please use root to execute this script.\n\033[0m"
rm-f $LOCKfile
exit1
fi
echo-e "\033[40;32mStep 2.Begen tocheck the OS issue.\n\033[40;37m"
os_release=$(check_os_release)
if[ "X$os_release"=="X"]
then
echo-e "\033[1;40;31mThe OS does not identify,So this script isnot executede.\n\033[0m"
rm-f $LOCKfile
exit0
else
echo-e "\033[40;32mThis OS is $os_release.\n\033[40;37m"
fi
echo-e "\033[40;32mStep 3.Begen toconfig firewall.\n\033[40;37m"
case"$os_release"in
redhat5|centos5|redhat6|centos6|aliyun5|aliyun6)
service iptables start
config_iptables
;;
debian6)
config_iptables
;;
ubuntu10|ubuntu1204|ubuntu1210)
ufwenable <
y
EOF
ubuntu_config_ufw
;;
opensuse131)
config_iptables
;;
esac
echo-e "\033[40;32mConfig firewallsuccess,this script now exit!\n\033[40;37m"
rm-f $LOCKfile

上述文件下载到机器内部直接执行即可。

2、设置iptables,限制访问

?
1
2
3
4
5
6
7
8
9
10
11
12
13
/sbin/iptables-P INPUT ACCEPT
/sbin/iptables-F
/sbin/iptables-X
/sbin/iptables-Z
/sbin/iptables-A INPUT -i lo -j ACCEPT
/sbin/iptables-A INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables-A INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables-A INPUT -p tcp --dport 8080 -j ACCEPT
/sbin/iptables-A INPUT -p icmp -m icmp --icmp-type8 -j ACCEPT
/sbin/iptables-A INPUT -m state --state ESTABLISHED -j ACCEPT
/sbin/iptables-P INPUT DROP
service iptables save

以上脚本,在每次重装完系统后执行一次即可,其配置会保存至/etc/sysconfig/iptables

3、常用网络监控命令
(1) netstat -tunl:查看所有正在监听的端口

?
1
2
3
4
5
6
7
8
[root@AY1407041017110375bbZ ~]# netstat -tunl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
udp 0 0 ip:123 0.0.0.0:*
udp 0 0 ip:123 0.0.0.0:*
udp 0 0 127.0.0.1:123 0.0.0.0:*
udp 0 0 0.0.0.0:123 0.0.0.0:*

其中123端口用于NTP服务。
(2)netstat -tunp:查看所有已连接的网络连接状态,并显示其PID及程序名称。

?
1
2
3
4
5
[root@AY1407041017110375bbZ ~]# netstat -tunp
Active Internet connections (w/oservers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Programname
tcp 0 96 ip:22 221.176.33.126:52699 ESTABLISHED 926/sshd
tcp 0 0 ip:34385 42.156.166.25:80 ESTABLISHED 1003/aegis_cli

根据上述结果,可以根据需要kill掉相应进程。
如:
kill -9 1003

(3)netstat -tunlp
(4)netstat常用选项说明:成都服务器托管

-t: tcp
-u : udp
-l, --listening
Show only listening sockets. (These are omitted by default.)
-p, --program
Show the PID and name of the program to which each socket belongs.
--numeric , -n
Show numerical addresses instead of trying to determine symbolic host, port or user names.

4、修改ssh的监听端口

(1)修改 /etc/ssh/sshd_config

原有的port 22

改为port 44

(2)重启服务

/etc/init.d/sshd restart
(3)查看情况

?
1
2
3
4
5
6
7
8
netstat-tunl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:44&nbs
标题名称:阿里云linux服务器安全设置(防火墙策略等)
路径分享:http://cdxtjz.cn/article/dhpgs.html

联系我们

您好HELLO!
感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。
  • 电话:028- 86922220 18980695689
  • 商务合作邮箱:631063699@qq.com
  • 合作QQ: 532337155
  • 成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼

小谭建站工作室

成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务!

小谭观点

相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。
我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。