Linux-C-高級-第6章-IPTable防火墻基礎(chǔ)


目錄(持續(xù)更新)


基礎(chǔ)-第0章-安裝
基礎(chǔ)-第1章-基本操作
基礎(chǔ)-第2章-磁盤及文件系統(tǒng)管理
基礎(chǔ)-第3章-獲得幫助
基礎(chǔ)-第4章-用戶及權(quán)限基礎(chǔ)
基礎(chǔ)-第5章-網(wǎng)絡(luò)基本配置
基礎(chǔ)-第6章-管道,重定向及文本處理
基礎(chǔ)-第7章-系統(tǒng)啟動詳解

進階-第1章-日志服務(wù)
進階-第2章-DNS域名服務(wù)器
進階-第3章-FTP文件共享服務(wù)
進階-第4章-NFS文件共享服務(wù)
進階-第5章-SMB文件共享服務(wù)
進階-第6章-WEB服務(wù)Apache篇
進階-第7章-電子郵件服務(wù)
進階-第8章-Linux服務(wù)基礎(chǔ)及管理

高級-第1章-LVM邏輯卷
高級-第2章-高級權(quán)限ACL
高級-第3章-RAID提升速度及冗余
高級-第4章-高級網(wǎng)絡(luò)-網(wǎng)卡綁定,子端口
高級-第5章-SELinux安全系統(tǒng)基礎(chǔ)
高級-第6章-IPTable防火墻基礎(chǔ)
高級-第7章-Linux遠程管理-SSH、VNC


第6章 IPTable防火墻基礎(chǔ)


第一節(jié)

網(wǎng)絡(luò)訪問控制

Linux作為服務(wù)器,對外提供一些基于網(wǎng)絡(luò)服務(wù)

通常需要網(wǎng)絡(luò)訪問控制,類似防火墻

廠家愛你訪問控制包括:哪些IP可訪問的服務(wù)器,協(xié)議,接口,數(shù)據(jù)包修改

如可能受到某個IP攻擊,這時就禁止所有來自IP的訪問

Linux 內(nèi)核集成了網(wǎng)絡(luò)訪問控制功能 通過netfilter模塊實現(xiàn)

IPTables

用戶層我們可以哦那個過iptables程序?qū)etfilter進行控制管理

netfilter可以對數(shù)據(jù)進行允許 丟棄 修改操作

netfilter支持通過以下方式對數(shù)據(jù)包進行分類

    源IP地址
    目標(biāo)IP地址
    使用接口
    使用協(xié)議  ( TCP UDP ICMP )
    端口號
    連接狀態(tài)    ( new ESTABLISHED RELATED INVALID)

過濾點

INPUT           出流量
FORWARD         轉(zhuǎn)發(fā)數(shù)據(jù)
OUTPUT          入流量
PREROUTING      路由前
POSTROUTING     路由后

過濾表

三種表:
filter (chain)用于對數(shù)據(jù)進行過濾 只用在 INPUT FORWARD OUTPUT 過濾點
nat用以多數(shù)據(jù)包的源,目標(biāo)IP地址進行修改 只用在 OUTPUT PREROUTING POSTROUTING過濾點
mangle用以對數(shù)據(jù)包進行高級修改 用于所有過濾點

常用功能

作為服務(wù)器
    過濾本地流量              
    過濾本地發(fā)出流量

作為路由
    過濾轉(zhuǎn)發(fā)流量
    修改轉(zhuǎn)發(fā)數(shù)據(jù)

規(guī)則

通過規(guī)則對數(shù)據(jù)進行訪問控制
一個規(guī)則使用一行配置
規(guī)則按順序排列
當(dāng)收到發(fā)出轉(zhuǎn)發(fā)數(shù)據(jù)包時,使用規(guī)則對數(shù)據(jù)包進行匹配,按規(guī)則順序進行逐條匹配

數(shù)據(jù)包按照第一個匹配上的規(guī)則執(zhí)行相關(guān)動作:丟棄,放行,修改

沒有匹配規(guī)則,則使用默認(rèn)動作(每個檢查點都有默認(rèn)動作)

通過命令 iptables -t filter -A INPUT -s 192.168.1.1 -j DROP
                    表           鏈           匹配屬性    動作

表:規(guī)定使用的表(filter nat mangle 不同表有不同功能)
鏈:規(guī)定過濾點 INPUT FORWARD  OUTPUT PREROUTING POSTROUTING
匹配屬性:規(guī)定匹配數(shù)據(jù)包的特征 
匹配后的動作:放行 丟棄 記錄  ACCEPT DROP REJECT

第二節(jié)

基礎(chǔ)配置

表:規(guī)定使用的表
    filter 
    nat 
    mangle

鏈:規(guī)定過濾點 
    INPUT 
    FORWARD  
    OUTPUT 
    PREROUTING 
    POSTROUTING
匹配屬性:
    規(guī)定匹配數(shù)據(jù)包的特征
    源,目標(biāo)地址 ,協(xié)議(TCP UDP ICMP )
    端口號
    接口
    TCP狀態(tài)

匹配后的動作:
    放行  ACCEPT
    丟棄  DROP
    記錄    REJECT (返回信息)

命令操作(臨時生效)

iptables status 查看默認(rèn)狀態(tài)

列出現(xiàn)有所有規(guī)則
    iptables -L 

插入一個規(guī)則
    iptables -I INPUT 3 -p tcp --dport 22 -j ACCEPT 
    插入到規(guī)則第3條 所有端口22的TCP數(shù)據(jù)全部允許進入

刪除一個iptables規(guī)則
    iptables -D INPUT 3 
    iptables -D INPUT -s 192.168.1.2 -j DROP

刪除所有規(guī)則
    iptables -F

參數(shù)匹配

基于IP地址
    -s 192.168.1.1      源地址
    -d 10.0.0.0/8       目標(biāo)地址

基于接口
    -i eth0     接收流量
    -o eth1     發(fā)出流量

排除參數(shù)
    -s '!' 192.168.1.0/24   !為取反操作

基于協(xié)議及端口
    -p tcp --dport 23
    -p udp --sport 23
    -l icmp

例:

檢測到來自192.168.1.100攻擊  屏蔽所有這個IP的流量
iptables -A INPUT -s 192.168.1.100 -j DROP  

屏蔽所有訪問80網(wǎng)頁服務(wù)的流量
iptables -A INPUT -s tcp --dport 80 -j DROP

屏蔽所有192.168.1.0到服務(wù)器的22端口ssh流量
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j DROP

iptables -A INPUT -i eth0 -j ACCEPT

FORWARD 路由設(shè)備使用

FORWARD 對所有數(shù)據(jù)轉(zhuǎn)發(fā)控制
如:禁止所有 從192.168.1.0/24 到目標(biāo)10.1.1.0/24 的流量
iptables -A FORWARD -s 192.168.1.0/24 -d 10.1.1.0/24 -j DROP

NAT

NAT 網(wǎng)絡(luò)地址轉(zhuǎn)換是用來對數(shù)據(jù)包的IP地址進行修改的機制,NAT分為兩種

    SNAT    源地址轉(zhuǎn)換 常用偽裝內(nèi)部地址
    DNAT    目標(biāo)地址轉(zhuǎn)換 通常用于跳轉(zhuǎn)

iptables 中實現(xiàn)的 NAT 功能是NAT 表 

常用NAT

通過NAT 進行跳轉(zhuǎn) 轉(zhuǎn)發(fā)到192.168.1.10
    iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-dest 192.168.1.10
    DNAT 只能用在PREROUTING上

通過NAT 進行出向數(shù)據(jù)跳轉(zhuǎn)
    iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-dest 192.168.1.100:8080

通過NAT對數(shù)據(jù)偽裝 一般意義的NAT 將內(nèi)部地址全部偽裝為一個外部公網(wǎng)IP
    iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    所有內(nèi)網(wǎng)地址偽裝成eth0個公網(wǎng)IP地址

通過NAT隱藏IP
    iptables -t nat -A POSTROUTING  -j SNAT --to-source 1.2.3.4

保存配置文件

通過iptables修改需要寫入/etc/sysconfig/iptables配置文件

可以通過命令將iptables規(guī)則寫入配置文件 保存后會覆蓋
    service iptables save

注意

遠程管理 修改iptables 
需要允許來自客戶端主機的SSH流量確保是第一條iptable規(guī)則
以免失誤將自己鎖在外面
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容