溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

iptables管理防火墻以及各個區(qū)域

發(fā)布時間:2020-06-16 09:20:18 來源:網(wǎng)絡(luò) 閱讀:385 作者:mb5d03569e7eb16 欄目:系統(tǒng)運維

一、Linux防火墻基礎(chǔ)

  • 不管是Linux系統(tǒng)、Windows系統(tǒng)的防火墻或者是硬件防火墻都是設(shè)置不同網(wǎng)絡(luò)與網(wǎng)絡(luò)安全之間的一系列部件的組合,也是不同安全域之間信息的唯一出(入)口。通過檢測、限制并更改跨越防火墻的數(shù)據(jù)流。盡可能地對外屏蔽網(wǎng)絡(luò)內(nèi)部的信息、結(jié)構(gòu)和運行狀態(tài),且可以有選擇的接受外部外部網(wǎng)絡(luò)的訪問。在內(nèi)外網(wǎng)之間架起一道安全的屏障,以避免發(fā)生不知情的情況下進入內(nèi)部網(wǎng)絡(luò),對我們內(nèi)部網(wǎng)絡(luò)產(chǎn)生一定的緊急。
  • 從傳統(tǒng)意義上來說防火墻分為三類:包過濾、應(yīng)用代理、狀態(tài)檢測。無論一個防火墻的實現(xiàn)過程有多復(fù)雜,說到底都是在這三種技術(shù)的基礎(chǔ)上進行擴展的

  • 概述
    firewalld提供了支持網(wǎng)絡(luò)區(qū)域所定義的網(wǎng)絡(luò)鏈接以及接口安全等級的動態(tài)防火墻管理工具,支持ipv4、ipv6防火墻以及以太網(wǎng)橋,并且擁有兩種配置模式:運行時配置與永久配置。它還支持服務(wù)或應(yīng)用程序直接添加防火墻規(guī)則。

  • 區(qū)域
firewalld數(shù)據(jù)處理流程:
首先檢查的就是其源地址。

若源地址關(guān)聯(lián)到特定的區(qū)域,則執(zhí)行該區(qū)域所制定的規(guī)則;
若源地址未關(guān)聯(lián)到特定的區(qū)域,則使用傳入網(wǎng)絡(luò)接口的區(qū)域并執(zhí)行該區(qū)域所制定的規(guī)則;
若網(wǎng)絡(luò)接口未關(guān)聯(lián)到特定的區(qū)域,則使用默認區(qū)域并執(zhí)行該區(qū)域所制定的規(guī)則;

iptables管理防火墻以及各個區(qū)域

  • 防火墻的配置方法
firewall-config圖形工具;
firewall-cmd命令行工具;
/etc/firewalld/中的配置文件;

二.iptables概述

  • 操作順序

從上倒下,如沒有匹配則執(zhí)行默認(放行或阻止)

  • 四表五鏈

鏈(chains)是數(shù)據(jù)包傳播的路徑,每一條鏈其實就是眾多規(guī)則中的一個檢查清單,每一條鏈中可以有一 條或數(shù)條規(guī)則。當一個數(shù)據(jù)包到達一個鏈時,iptables就會從鏈中第一條規(guī)則開始檢查,看該數(shù)據(jù)包是否滿足規(guī)則所定義的條件。如果滿足,系統(tǒng)就會根據(jù) 該條規(guī)則所定義的方法處理該數(shù)據(jù)包;否則iptables將繼續(xù)檢查下一條規(guī)則,如果該數(shù)據(jù)包不符合鏈中任一條規(guī)則,iptables就會根據(jù)該鏈預(yù)先定 義的默認策
iptables管理防火墻以及各個區(qū)域

規(guī)則鏈(五鏈)
在進行路由選擇前處理數(shù)據(jù)包(PREROUTING);
處理流入的數(shù)據(jù)包(INPUT);
處理流出的數(shù)據(jù)包(OUTPUT);
處理轉(zhuǎn)發(fā)的數(shù)據(jù)包(FORWARD);
在進行路由選擇后處理數(shù)據(jù)包(POSTROUTING)。

表提供特定的功能,iptables里面有4個表: filter表、nat表、mangle表和raw表,分別用于實現(xiàn)包過濾、網(wǎng)絡(luò)地址轉(zhuǎn)換、包重構(gòu)和數(shù)據(jù)追蹤處理。
每個表里包含多個鏈。

四表
ACCEPT(允許流量通過)、REJECT(拒絕流量通過)、LOG(記錄日志信息)、DROP(拒絕流量通過)
  • 執(zhí)行的動作分別是
accept:接收數(shù)據(jù)包;
DROP:丟棄數(shù)據(jù)包;
REDIRECT:重定向、映射、透明代理;
SNAT:源地址轉(zhuǎn)換;
DNAT:目標地址轉(zhuǎn)換;
MASQUERADE:IP偽裝(NAT),用于ADSL;
LOG:日志記錄;
  • 常用選項
-P      設(shè)置默認策略
-F      清空規(guī)則鏈
-L      查看規(guī)則鏈
-A      在規(guī)則鏈的末尾加入新規(guī)則
-I num      在規(guī)則鏈的頭部加入新規(guī)則
-D num  刪除某一條規(guī)則
-s      匹配來源地址IP/MASK,加嘆號“!”表示除這個IP外
-d      匹配目標地址
-i      網(wǎng)卡名稱 匹配從這塊網(wǎng)卡流入的數(shù)據(jù)
-o      網(wǎng)卡名稱 匹配從這塊網(wǎng)卡流出的數(shù)據(jù)
-p      匹配協(xié)議,如TCP、UDP、ICMP
--dport num     匹配目標端口號
--sport num     匹配來源端口號
  • TCP與UDP的區(qū)別
1、TCP是面向連接的(在客戶端和服務(wù)器之間傳輸數(shù)據(jù)之前要先建立連接),UDP是無連接的(發(fā)送數(shù)據(jù)之前不需要先建立連接)
2、TCP提供可靠的服務(wù)(通過TCP傳輸?shù)臄?shù)據(jù)。無差錯,不丟失,不重復(fù),且按序到達);UDP提供面向事務(wù)的簡單的不可靠的傳輸。
3、UDP具有較好的實時性,工作效率比TCP高,適用于對高速傳輸和實時性比較高的通訊或廣播通信。隨著網(wǎng)速的提高,UDP使用越來越多。
4、每一條TCP連接只能是點到點的,UDP支持一對一,一對多和多對多的交互通信。
5、TCP對系統(tǒng)資源要去比較多,UDP對系統(tǒng)資源要求比較少
6、UDP程序結(jié)構(gòu)更加簡單
7、TCP是流模式,UDP是數(shù)據(jù)報模式
區(qū)域      默認規(guī)則策略
drop:丟棄所有進入的包,而不給出任何回應(yīng)
block:拒絕所有外部發(fā)起的鏈接,允許內(nèi)部發(fā)起的鏈接
public:允許指定的進入鏈接      (默認區(qū)域)
external:通public,處理偽裝的進入鏈接,一般用于路由轉(zhuǎn)發(fā)
dmz:允許受限制的進入鏈接
work:允許受信任的計算機被限制的進入鏈接
home:同work,如果流量和ssh,dhcpv6-client等服務(wù)相關(guān),則允許
internal:同work,范圍針對所有互聯(lián)網(wǎng)用戶
trusted:信任所有鏈接
  • iptables的基本語法格式
iptables [-t 表名] 命令選項 [鏈名] [條件匹配] [-j 目標動作或跳轉(zhuǎn)
說明:表名、鏈名用于指定 iptables命令所操作的表和鏈,命令選項用于指定管理iptables規(guī)則的方式(比如:插入、增加、刪除、查看等;條件匹配用于指定對符合什么樣 條件的數(shù)據(jù)包進行處理;目標動作或跳轉(zhuǎn)用于指定數(shù)據(jù)包的處理方式(比如允許通過、拒絕、丟棄、跳轉(zhuǎn)(Jump)給其它鏈處理。
  • 案例
[root@localhost ~]#iptables -F               // 清空所有的防火墻規(guī)則
[root@localhost ~]#iptables -F INPUT    //清空指定鏈 INPUT 上面的所有規(guī)則
[root@localhost ~]#iptables -X               // 刪除用戶自定義的空鏈
[root@localhost ~]#iptables -Z               //清空計數(shù)
[root@localhost ~]#iptables -P INPUT DROP              //配置默認的不讓進
[root@localhost ~]#iptables -P FORWARD DROP        //默認的不允許轉(zhuǎn)發(fā)
[root@localhost ~]#iptables -P OUTPUT ACCEPT        //默認的可以出去
將INPUT規(guī)則鏈設(shè)置為只允許指定網(wǎng)段的主機訪問本機的22端口,拒絕來自其他所有主機的流量:
[root@localhost ~]# iptables -I INPUT -s 192.168.1.0/24 -p tcp  --dport 22 -j ACCEPT
[root@localhost ~]# iptables -A INPUT -p tcp --dport 22 -j REJECT
[root@localhost ~]# iptables-save                //保存配置
如果我只允許192.168.1.100和192.168.1.110 的PING命令,應(yīng)該怎么添加
[root@localhost ~]# iptables -I INPUT -s 192.168.1.110 -p icmp -j ACCEPT
[root@localhost ~]# iptables -I INPUT -s 192.168.1.100 -p icmp -j ACCEPT
[root@localhost ~]# iptables -A INPUT -p icmp -j DROP
如果我只允許192.168.1.0/24網(wǎng)段的,但拒絕192.168.1.100和192.168.1.110 的PING命令,應(yīng)該怎么添加
[root@localhost ~]# iptables -I INPUT -s 192.168.1.0/24 -p icmp -j ACCEPT
[root@localhost ~]# iptables -I INPUT -s 192.168.1.100 -p icmp -j DROP 
[root@localhost ~]# iptables -I INPUT -s 192.168.1.110 -p icmp -j DROP
向INPUT規(guī)則鏈中添加拒絕所有人訪問本機12345端口的策略規(guī)則
[root@localhost ~]# iptables -I INPUT -p tcp --dport 12345  -j REJECT
[root@localhost ~]# iptables -I INPUT -p UDP --dport 12345  -j REJECT
向INPUT規(guī)則鏈中添加拒絕所有主機訪問本機1000~1024端口的策略規(guī)則
[root@localhost ~]# iptables -A INPUT -p tcp --dport 1000:1024 -j REJECT
[root@localhost ~]# iptables -A INPUT -p UDp --dport 1000:1024 -j REJECT
向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI