本文主要介绍Linux VPS中,初次使用防火墙iptables安全配置的脚本,以及使用方法。

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 restartsystemctl restart iptables.service重启防火墙即可。

注意:远程访问,要小心ssh端口问题,否则就远程不上VPS了。更多内容可以参考下面文档。

参考文档Linux VPS首次使用简单的安全配置


推荐文档