1、CentOS7
如果是CentOS7,默认防火墙是firewalld
,则需要关闭firewall
,安装iptables
,具体如下:
1) 关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2)安装iptables防火墙
yum install iptables-services
2、配置iptables防火墙脚本
#/bin/bash
sshport=`netstat -lnp|awk -F”[ ]+|[:]” ‘/sshd/{print$5}’`
iptables -F #清除自带规则
iptables -X
iptables -P INPUT DROP #进入本机数据包默认拒绝
iptables -P OUTPUT ACCEPT #本起外出数据包允许
iptables -A INPUT -i lo -j ACCEPT #允许本地环回
iptables -A INPUT -m state –state INVALID -j LOG –log-prefix “INVALID” –log-ip-options
#记录无效的数据包并丢弃
iptables -A INPUT -m state –state INVALID -j DROP
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
#允许已建立连接与出相关的数据包进入
iptables -A INPUT -m state –state NEW -p tcp –dport 80 -j ACCEPT
#允许目标端口为80的新连接进入
iptables -A INPUT -m state –state NEW -p tcp –dport 22 -j ACCEPT
#允许目标端口为22的新连接进入
iptables -A INPUT -p icmp –icmp-type echo-request -m limit –limit 5/s –limit-burst 20 -j ACCEPT
#允许ping回应,每秒5个,最多20个。
service iptables save #保存规则
使用方法:
将上面脚本内容保存成.sh
脚本文件,上面内容结合自己的需求更改,不要一条条执行。之后如要修改iptables
规则,可以修改脚本内容,然后在执行,也可以编辑/etc/sysconfig/iptables
文件中规则,再执行service iptables restart
或systemctl restart iptables.service
重启防火墙即可。
注意:远程访问,要小心ssh端口问题,否则就远程不上VPS了。更多内容可以参考下面文档。
参考文档:Linux VPS首次使用简单的安全配置