如果处于半开放状态的连接绑定服务器上的资源,则可能通过向服务器大量发送SYN消息来占用所有这些资源。Syn flood是常见的攻击,可以通过以下iptables规则进行阻挡:
所有进入的连接是允许的,直到达到极限:
-limit 1/s:以秒为单位的最大平均匹配率
-limit-burst 3:要匹配的包的最大初始数量
举例1:限制 ssh连接数
假设您需要限制到ssh服务器(端口22)的传入连接在10分钟内不超过10个连接:
举例2:防范DoS攻击
上面的iptables规则将帮助您防止拒绝服务(DoS)攻击您的web服务器。
在上面的例子中:
-m limit:它使用limit iptables扩展名
–limit 25/minute:这限制了每分钟最多25个连接。根据您的具体需求更改此值
-limit-burst 100:这个值表示只有当连接总数达到了limit-burst级别时才会执行limit/min。
举例3:限制每个IP /主机的SSH连接
每个客户端主机只允许3个ssh连接:
举例4:限制每个IP /主机的HTTP连接
如果IP在100秒内尝试了10次以上的80端口连接(将规则添加到iptables shell脚本中),下面的示例将删除传入的连接
如何测试防火墙规则
使用下面的shell脚本连接到202.1.2.3托管的web服务器:
nc命令是一个功能强大的网络工具,通过它不仅可以探测端口,还能作为客户端连接服务。
所谓防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障。是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet与Intranet之间建立起一个安全。
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。在开启了防火墙时,做如下设置,开启相关端口,修改/etc/sysconfig/iptables文件,添加以下内容:-ARH-Firewall-1-INPUT-mstate——stateNEW-mtcp-ptcp——dport80-jACCEPT-ARH-Firewall-1-INPUT-mstate——stateNEW-mtcp-ptcp——dport22-jACCEPT或者:/etc/init.d/iptablesstatus会得到一系列信息,说明防火墙开着。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)