vps服務器裸奔在公網上,總感覺有點不安全,沒辦法總得整點措施來加固下服務器呀,安全第一。linux系統自帶防火牆必須要好好利用起來,可是我有一年多沒寫過防火牆策略了,該忘的都忘了,不該忘的也都忘得差不多了,看筆記,找找感覺。
目前這臺vps上開啓的服務有ssh,ftp,pptpd,shadowsocks等。
防火牆策略是默認策略是DROP的。
防火牆策略配置:
[root@vultr scripts]# cat iptables.sh
#/bin/bash
#date:2017-04-10
#author:xjh
#調試追蹤
#set -x
#清除規則
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
#設定默認規則
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#允許已建立的連接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
#開啓環回網絡
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
#開啓DNS解析
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
#開啓shadowsocks代理端口
iptables -A INPUT -p tcp -m multiport --dports 8080,8081,8082 -m state --state NEW -j ACCEPT
#OUTPUT鏈默認DROP,shadowsocks服務隨機端口去連外網,沒好的辦法暫時就開目的地址80,443
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
#開啓ftp服務端口端口(寫ftp策略iptables需要加模塊)
iptables -A INPUT -p tcp --dport 21 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -m state --state NEW -j ACCEPT
#開啓ssh服務端口並限制登錄頻率
iptables -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 300 --hitcount 5 -j DROP
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
#開啓端口轉發
iptables -A INPUT -p gre -j ACCEPT
iptables -A OUTPUT -p gre -j ACCEPT
iptables -A INPUT -p tcp --dport 1723 -m state --state NEW -j ACCEPT
iptables -A FORWARD -s 10.0.1.0/24 -o eth0 -j ACCEPT
iptables -A FORWARD -d 10.0.1.0/24 -i eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -o eth0 -j SNAT --to-source 45.76.210.222
#兼容windows系統pptp客戶端MTU值
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -s 10.0.1.0/24 -j TCPMSS --set-mss 1400
#保存配置
/etc/init.d/iptables save
不斷的挖坑填坑,似乎又找到了一點點感覺,後續會再改改,完善完善。