欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Iptables防火墻tcp-flags模塊擴展匹配規(guī)則詳解

 更新時間:2022年08月10日 14:14:13   作者:jiangxl  
這篇文章主要為大家介紹了Iptables防火墻tcp-flags模塊擴展匹配規(guī)則詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

Iptables防火墻tcp-flags模塊擴展匹配規(guī)則

tcp-flags模塊的作用是判斷TCP協(xié)議數(shù)據(jù)報文標志位的返回值的,在TCP的三次握手中,第一次握手客戶端向服務器發(fā)送syn=1的數(shù)據(jù)報文,第二次握手服務端向客戶端發(fā)送sync和ack=1的報文,第三次握手客戶端向服務端發(fā)送ack=1的報文。

tcp-flags模塊就是來判斷發(fā)送報文中指定的標志位是否等于1,并且該條報文中只包含指定的標志位,否則就拒絕通行,例如我們指定的標志位是SYN,那么該條報文中就只能包含SYNC,如果再包含ACK,那么就不放行,并且標志位的值要為1。

**案例:**

只允許其他客戶端發(fā)送TCP請求報文到本機,本機響應可以,但是本機不可向其他主機發(fā)送TCP請求報文。

  • 首先來分析,"只允許其他客戶端發(fā)送TCP請求到本機",根據(jù)這句話可以明確是在INPUT鏈添加相應的規(guī)則,客戶端發(fā)起請求一共需要發(fā)送2次TCP握手,分別是第一次握手和第三次握手,通過tcp-flags模塊確保客戶端發(fā)送的報文中標志位都是正確的,需要在INPUT鏈添加3條規(guī)則,第一條規(guī)則是匹配客戶端發(fā)送的報文中是否只包含syn標志位,并且值是否等于1,第二條規(guī)則是匹配客戶端發(fā)送的報文中是否只包含ack,并且值是否等于1,如果這兩條規(guī)則都滿足,那么就說明是客戶端向服務端發(fā)送的請求,最終的動作是允許,第三條規(guī)則是拒絕其他標志位的TCP連接請求。
  • 然后來分析"本機只可以響應客戶端發(fā)起的TCP請求,但是本機不可以向其他客戶端發(fā)送請求",根據(jù)這句話可以明確出規(guī)則是要添加在OUTPUT鏈的,我們只需要在OUTPUT鏈添加上第二次握手所包含的TCP標志位的規(guī)則,完成響應客戶端的TCP連接請求,最后在添加一條規(guī)則,禁止其他的TCP標志位從OUTPUT鏈發(fā)出,也就可以拒絕本機向其他的客戶端發(fā)起TCP請求。

tcp-flags模塊使用的命令格式:--tcp-flags {標志位集合} {要判斷哪個標志位等于1}

1)編寫具體的防火墻規(guī)則

1.添加允許客戶端向本機發(fā)起TCP請求的規(guī)則
#syn=1的標志位規(guī)則
[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的標志位規(guī)則
[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連接請求以及拒絕發(fā)起TCP請求的規(guī)則
#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)查看設置的防火墻規(guī)則

[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)查看效果

本機無法發(fā)起TCP連接請求。

其他主機可以向本機發(fā)起TCP連接。

以上就是Iptables防火墻tcp-flags模塊擴展匹配規(guī)則詳解的詳細內(nèi)容,更多關于Iptables防火墻tcp-flags的資料請關注腳本之家其它相關文章!

相關文章

最新評論