最近网站被挂马,以前给过开发root账号,部署用,后来虽然发现服务器异常文件,但未多想。昨天爆发了 网站服务器流量爆表,被迫断网。清除异常文件,账号后 领导要设置一下iptables。
iptables有三个链规则 INPUT OUTPUT FORWARD,默认情况下这三个链都是accept。也就是说 什么都不配 就是全部放行。如果不改变默认规则,那么你百度iptables写入规则 放行ssh22 apache80 ftp21端口 以为完成了 其实相当于什么都没做
那么正常做法是 先定义默认规则 主要是INPUT 的默认规则为DROP 那么就用什么端口 开什么端口 其他的包全部丢弃。这样服务器就安全多了。
[root@oracledb oracle]#iptables -P INPUT DROP
[root@oracledb oracle]#iptables -P OUTPUT DROP
[root@oracledb oracle]#iptables -P FORWARD DROP
配置 INPUT链匹配规则
[root@oracledb oracle]#iptables -A INPUT -p tcp --dport 22 -j ACCEPT
[root@oracledb oracle]#iptables -A INPUT -p tcp --dport 80 -j ACCEPT
[root@oracledb oracle]#iptables -A INPUT -p tcp --dport 21 -j ACCEPT
配置 OUTPUT链 匹配规则 (如果output默认规则是accept 则不用配)
[root@oracledb oracle]#iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
[root@oracledb oracle]#iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
[root@oracledb oracle]#iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
此时测试ssh登录本机127.0.0.1时 是不通的 因为要开启环回口的规则
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -p all -j ACCEPT
然后ping服务器不通 不要急 把icmp的包过滤打开
iptables -A OUTPUT -p icmp -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
注意配iptables时 要在机器上配 要是ssh连上服务器配 第一条 iptables -P INPUT DROP 一敲完 你就掉线了。
其他 防 syn-flood 丢弃 坏的tcp包 防ip碎片等 百度一下即可。