共计 1303 个字符,预计需要花费 4 分钟才能阅读完成。
导读 | 看了下 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
正文完
星哥玩云-微信公众号