Iptables防火墙是设置不好,网站可能打不开,远程无法登陆等等问题。特别是一些技术大神,根本就不会像我们小白一样使用什么安全软件等,其实Iptables规则设置很好,对于安全性可以提升不少的哦!嘿嘿!一般我们购买的vps主机安装的系统自带Iptables防火墙,并且部分主机商已经设置了一些安全设置,但是也有一些是什么也没有的,需要自己动手去完成哦!下面是Iptables的安装、常用操作以及简单的安全设置!
1、安装iptables防火墙
如果没有安装iptables需要先安装
CentOS执行:
yuminstalliptables
Debian/Ubuntu执行:
apt-getinstalliptables
2. Iptables基本操作
启动iptables:service iptables start
关闭iptables:service iptables stop
重启iptables:service iptables restart
查看iptables状态:service iptables status
保存iptables配置:service iptables save
Iptables服务配置文件:/etc/sysconfig/iptables-config
Iptables规则保存文件:/etc/sysconfig/iptables
打开iptables转发:echo "1"> /proc/sys/net/ipv4/ip_forward
3、Iptables常见命令
a) 删除iptables现有规则
iptables-Fiptables-Xiptables-Z
b) 查看iptables规则
iptables–L(iptables–L–v-n)
c) 增加一条规则到最后
iptables-AINPUT-ieth0-ptcp--dport80-mstate--stateNEW,ESTABLISHED-jACCEPT
d) 添加一条规则到指定位置
iptables-IINPUT2-ieth0-ptcp--dport80-mstate--stateNEW,ESTABLISHED-jACCEPT
e) 删除一条规则
iptabels-DINPUT2
f) 修改一条规则
iptables-RINPUT3-ieth0-ptcp--dport80-mstate--stateNEW,ESTABLISHED-jACCEPT
g) 设置默认策略
iptables-PINPUTDROP
h) 允许远程主机进行SSH连接
iptables-AINPUT-ieth0-ptcp--dport22-mstate--stateNEW,ESTABLISHED-jACCEPTiptables-AOUTPUT-oeth0-ptcp--sport22-mstate--stateESTABLISHED-jACCEPT
i) 允许本地主机进行SSH连接
iptables-AOUTPUT-oeth0-ptcp--dport22-mstate--stateNEW,ESTABLISHED-jACCEPTiptables-AINTPUT-ieth0-ptcp--sport22-mstate--stateESTABLISHED-jACCEPT
j) 允许HTTP请求
iptables-AINPUT-ieth0-ptcp--dport80-mstate--stateNEW,ESTABLISHED-jACCEPTiptables-AOUTPUT-oeth0-ptcp--sport80-mstate--stateESTABLISHED-jACCEPT
k) 限制ping 192.168.xxx.x主机的数据包数,平均2/s个,最多不能超过3个
iptables-AINPUT-ieth0-d192.168.xxx.x-picmp--icmp-type8-mlimit--limit2/second--limit-burst3-jACCEPT
l) 限制SSH连接速率(默认策略是drop)
iptables-IINPUT1-ptcp--dport22-d192.168.xxx.x-mstate--stateESTABLISHED-jACCEPTiptables-IINPUT2-ptcp--dport22-d192.168.xxx.x-mlimit--limit2/minute--limit-burst2-mstate--stateNEW-jACCEPT
4、使用iptables抵抗常见攻击
防止syn攻击
思路一:限制syn的请求速度(这个方式需要调节一个合理的速度值,不然会影响正常用户的请求)
iptables-Nsyn-floodiptables-AINPUT-ptcp--syn-jsyn-floodiptables-Asyn-flood-mlimit--limit1/s--limit-burst4-jRETURNiptables-Asyn-flood-jDROP
思路二:限制单个ip的最大syn连接数
iptables–AINPUT–ieth0–ptcp--syn-mconnlimit--connlimit-above15-jDROP
防止DOS攻击
利用recent模块抵御DOS攻击

QQ客服