看了下secure日志和access的日志,一大半都是暴力破解和掃描,雖密碼極其復雜,不過總被這么消耗服務器資源也不是事,索性還是把ssh端口和ftp改了然后寫個iptables稍微保護一下好了。還有個東西叫Fail2Ban,可以自動檢測暴力破解,密碼錯誤超過一定次數(shù)就把對端ban掉,不過我實在是不想再開一個服務了,改端口應該問題不大...
只是最基本的配置,防御flood的懶得寫了,真有人跟我有仇要DDOS我的話那就掛了算了...
#配置,禁止進,允許出,允許回環(huán)網(wǎng)卡
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
#允許狀態(tài)檢測,懶得解釋
iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p all -m state --state INVALID,NEW -j DROP/p>
p>#保存配置
iptables-save > /etc/iptables
我是把上面那段和下面這段都寫到sh里了,start{}和stop{}。需要修改規(guī)則的時候直接清空了重建比較好,因為規(guī)則有順序問題。
#清空配置
iptables -F
iptables -X
iptables -Z
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables防火墻開機自動加載實現(xiàn)
iptables命令輸完之后會立刻生效,但重啟之后配置就會消失,Debian提供了一個iptables-save程序快速保存配置,但還需要我們做一些工作才能讓iptables配置實現(xiàn)開機自啟動,自加載。
1、將iptables配置保存到/etc/iptables,這個文件名可以自己定義,與下面的配置一致即可
iptables-save > /etc/iptables
2、創(chuàng)建自啟動配置文件,并授于可執(zhí)行權(quán)限
touch /etc/network/if-pre-up.d/iptables
chmod +x /etc/network/if-pre-up.d/iptables
3、編輯該自啟動配置文件,內(nèi)容為啟動網(wǎng)絡時恢復iptables配置
vim /etc/network/if-pre-up.d/iptables
文件內(nèi)容如下:
#!/bin/sh
/sbin/iptables-restore /etc/iptables
4、:wq保存配置文件并退出即可,以后在修改完iptables配置之后只要再次執(zhí)行下面的命令保存即可
iptables-save > /etc/iptables