VPS安全之iptables基本配置

2016-07-11 23:35:52 7025

看了下secure日志和access的日志,一大半都是暴力破解和扫描,虽然哥的密码极其复杂,不过总被这么消耗服务器资源也不是事,索性还是把ssh端口和ftp改了然后写个iptables稍微保护一下好了。还有个东西叫Fail2Ban,可以自动检测暴力破解,密码错误超过一定次数就把对端ban掉,不过我实在是不想再开一个服务了,改端口应该问题不大...

只是最基本的配置,防御flood的懒得写了,真有人跟我有仇要DDOS我的话那就挂了算了...

#配置,禁止进,允许出,允许回环网卡
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
#允许ping,不允许删了就行
iptables -A INPUT -p icmp -j ACCEPT
#允许ssh
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
#允许ftp
iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
#允许ftp被动接口范围,在ftp配置文件里可以设置
iptables -A INPUT -p tcp --dport 20000:30000 -j ACCEPT
#学习felix,把smtp设成本地
iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT -s 127.0.0.1
iptables -A INPUT -p tcp -m tcp --dport 25 -j REJECT
#允许DNS
iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
#允许http和https
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
#允许状态检测,懒得解释
iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p all -m state --state INVALID,NEW -j DROP

#保存配置
iptables-save > /etc/iptables

保存之后就行了,Debian不需要单独把iptbles做成服务,具体如何让iptables开机自动加载,请看文章《Debian下iptables防火墙开机自动加载实现》

我是把上面那段和下面这段都写到sh里了,start{}和stop{}。需要修改规则的时候直接清空了重建比较好,因为规则有顺序问题。

#清空配置
iptables -F
iptables -X
iptables -Z
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: