Iptables防火墙tcp-flags模块扩展匹配规则详解_安全相关

来源:脚本之家  责任编辑:小易  
目录
Iptables防火墙tcp-flags模块扩展匹配规则**案例:**1)编写具体的防火墙规则2)查看设置的防火墙规则3)查看效果

Iptables防火墙tcp-flags模块扩展匹配规则

tcp-flags模块的作用是判断TCP协议数据报文标志位的返回值的,在TCP的三次握手中,第一次握手客户端向服务器发送syn=1的数据报文,第二次握手服务端向客户端发送sync和ack=1的报文,第三次握手客户端向服务端发送ack=1的报文。

tcp-flags模块就是来判断发送报文中指定的标志位是否等于1,并且该条报文中只包含指定的标志位,否则就拒绝通行,例如我们指定的标志位是SYN,那么该条报文中就只能包含SYNC,如果再包含ACK,那么就不放行,并且标志位的值要为1。

**案例:**

只允许其他客户端发送TCP请求报文到本机,本机响应可以,但是本机不可向其他主机发送TCP请求报文。

首先来分析,"只允许其他客户端发送TCP请求到本机",根据这句话可以明确是在INPUT链添加相应的规则,客户端发起请求一共需要发送2次TCP握手,分别是第一次握手和第三次握手,通过tcp-flags模块确保客户端发送的报文中标志位都是正确的,需要在INPUT链添加3条规则,第一条规则是匹配客户端发送的报文中是否只包含syn标志位,并且值是否等于1,第二条规则是匹配客户端发送的报文中是否只包含ack,并且值是否等于1,如果这两条规则都满足,那么就说明是客户端向服务端发送的请求,最终的动作是允许,第三条规则是拒绝其他标志位的TCP连接请求。然后来分析"本机只可以响应客户端发起的TCP请求,但是本机不可以向其他客户端发送请求",根据这句话可以明确出规则是要添加在OUTPUT链的,我们只需要在OUTPUT链添加上第二次握手所包含的TCP标志位的规则,完成响应客户端的TCP连接请求,最后在添加一条规则,禁止其他的TCP标志位从OUTPUT链发出,也就可以拒绝本机向其他的客户端发起TCP请求。

tcp-flags模块使用的命令格式:--tcp-flags {标志位集合} {要判断哪个标志位等于1}

1)编写具体的防火墙规则

1.添加允许客户端向本机发起TCP请求的规则
#syn=1的标志位规则
[root@jxl-1 ~]# iptables -t filter -I INPUT -p tcp -m tcp --dport 22 --tcp-flags SYN,ACK,FIN,RST SYN -j ACCEPT
#ack=1的标志位规则
[root@jxl-1 ~]# iptables -t filter -I INPUT -p tcp -m tcp --dport 22 --tcp-flags SYN,ACK,FIN,RST ACK -j ACCEPT
#其余的报文都拒绝
[root@jxl-1 ~]# iptables -t filter -A INPUT -j DROP
2.添加本机响应客户端TCP连接请求以及拒绝发起TCP请求的规则
#syn和ack都等于1
[root@jxl-1 ~]# iptables -t filter -I OUTPUT -p tcp --sport 22 -m tcp --tcp-flags SYN,ACK,FIN,RST SYN,ACK -j ACCEPT
#ack-1
[root@jxl-1 ~]# iptables -t filter -I OUTPUT -p tcp --sport 22 -m tcp --tcp-flags SYN,ACK,FIN,RST ACK -j ACCEPT
#其余的报文全部拒绝
[root@jxl-1 ~]# iptables -t filter -A OUTPUT -j DROP

2)查看设置的防火墙规则

[root@jxl-1 ~]# iptables -L -n -v --line-number
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1       82  6416 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22 flags:0x17/0x10
2        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22 flags:0x17/0x02
3     5169 1958K DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1       41  4348 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp spt:22 tcp flags:0x17/0x10
2        0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp spt:22 tcp flags:0x17/0x12
3      293 65316 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           

3)查看效果

本机无法发起TCP连接请求。

其他主机可以向本机发起TCP连接。

以上就是Iptables防火墙tcp-flags模块扩展匹配规则详解的详细内容,更多关于Iptables防火墙tcp-flags的资料请关注真格学网其它相关文章!

您可能感兴趣的文章:Iptables防火墙自定义链表实现方式Iptables防火墙基本匹配条件应用详解Iptables防火墙四表五链概念及使用技巧详解Iptables防火墙iprange模块扩展匹配规则详解Iptables防火墙string模块扩展匹配规则Iptables防火墙limit模块扩展匹配规则详解Iptables防火墙connlimit与time模块扩展匹配规则

  • 本文相关:
  • mysql5 注入漏洞
  • mac下使用mitmproxy抓包https数据方法详解
  • ip和mac捆绑的破解
  • 2004年十大网络安全漏洞
  • discuz! 4.x sql injection / admin credentials disclosure exp
  • 跨站脚本攻击xss(cross site script)的原理与常见场景分析
  • 阿d常用的一些注入命令整理小结
  • 角逐网络江湖—黑客兵器谱排名
  • win32 下病毒设计入门详细说明
  • 轻松设置让系统不受恶意代码攻击
  • 如何给iptables防火墙开放1521端口
  • 如何通过Linux系统下iptables防火墙开启/关闭指定端口方法
  • linux中iptables防火墙怎么设置
  • linux中iptables防火墙怎么设置
  • CentOS 7.2 里iptables防火墙怎么关闭
  • Linux下iptables防火墙放开相关端口拒绝相关端口及查看已放开...
  • CentOS 7.2 里iptables防火墙怎么关闭
  • 在linux上的iptables防火墙上怎么设置信任MAC地址访问端口
  • linux的防火墙功能IPtables详解之二
  • 如何配置Ubuntu 14.04中的IPTables防火墙
  • 防火墙 iptables检测是否有重复的规则
  • 在linux 下如何设置iptables 防火墙
  • 如果iptables防火墙不使用,fail2ban可以用吗
  • linux怎么关闭iptables linux如何关闭防火墙
  • 如何使用iptables防火墙拦截无效的UDP攻击数据
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全javascriptasp.netphp编程ajax相关正则表达式asp编程jsp编程编程10000问css/htmlflex脚本加解密web2.0xml/rss网页编辑器相关技巧安全相关网页播放器其它综合dart首页安全相关iptables防火墙自定义链表实现方式iptables防火墙基本匹配条件应用详解iptables防火墙四表五链概念及使用技巧详解iptables防火墙iprange模块扩展匹配规则详解iptables防火墙string模块扩展匹配规则iptables防火墙limit模块扩展匹配规则详解iptables防火墙connlimit与time模块扩展匹配规则mysql5 注入漏洞mac下使用mitmproxy抓包https数据方法详解ip和mac捆绑的破解2004年十大网络安全漏洞discuz! 4.x sql injection / admin credentials disclosure exp跨站脚本攻击xss(cross site script)的原理与常见场景分析阿d常用的一些注入命令整理小结角逐网络江湖—黑客兵器谱排名win32 下病毒设计入门详细说明轻松设置让系统不受恶意代码攻击看别人怎么查qq聊天记录 比较详细查询qq聊天记录的方法?怎么查qq聊天记录 怎样恢复删除的手机qq聊天记录技巧?qq聊天记录删除了怎么恢复简单方法密码破解全教程跨站式脚本(cross-sitescripting)xss攻跨站脚本攻击xss(cross site script)的原攻击方式学习之sql注入(sql injection)如何成为一名黑客全系列说明js和c#分别防注入代码防止电脑被他人控制win32 下病毒设计入门详细说明phpshell又出新东东啦!超初级的linux后门制作方法自己动手清除电脑中的木马程序2004年十大网络安全漏洞xss & sql注入asp,php与.net伪造http-referer方法及防止伪造refer怎样让别人中木马-木马常用骗术大观asp漏洞全接触-高级篇黑客避开检测的手段
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved