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
不断的挖坑填坑,似乎又找到了一点点感觉,后续会再改改,完善完善。