目錄(持續(xù)更新)
基礎(chǔ)-第0章-安裝
基礎(chǔ)-第1章-基本操作
基礎(chǔ)-第2章-磁盤(pán)及文件系統(tǒng)管理
基礎(chǔ)-第3章-獲得幫助
基礎(chǔ)-第4章-用戶(hù)及權(quán)限基礎(chǔ)
基礎(chǔ)-第5章-網(wǎng)絡(luò)基本配置
基礎(chǔ)-第6章-管道恢恼,重定向及文本處理
基礎(chǔ)-第7章-系統(tǒng)啟動(dòng)詳解
進(jìn)階-第1章-日志服務(wù)
進(jìn)階-第2章-DNS域名服務(wù)器
進(jìn)階-第3章-FTP文件共享服務(wù)
進(jìn)階-第4章-NFS文件共享服務(wù)
進(jìn)階-第5章-SMB文件共享服務(wù)
進(jìn)階-第6章-WEB服務(wù)Apache篇
進(jìn)階-第7章-電子郵件服務(wù)
進(jìn)階-第8章-Linux服務(wù)基礎(chǔ)及管理
高級(jí)-第1章-LVM邏輯卷
高級(jí)-第2章-高級(jí)權(quán)限ACL
高級(jí)-第3章-RAID提升速度及冗余
高級(jí)-第4章-高級(jí)網(wǎng)絡(luò)-網(wǎng)卡綁定场斑,子端口
高級(jí)-第5章-SELinux安全系統(tǒng)基礎(chǔ)
高級(jí)-第6章-IPTable防火墻基礎(chǔ)
高級(jí)-第7章-Linux遠(yuǎn)程管理-SSH牵署、VNC
第6章 IPTable防火墻基礎(chǔ)
第一節(jié)
網(wǎng)絡(luò)訪(fǎng)問(wèn)控制
Linux作為服務(wù)器,對(duì)外提供一些基于網(wǎng)絡(luò)服務(wù)
通常需要網(wǎng)絡(luò)訪(fǎng)問(wèn)控制碟刺,類(lèi)似防火墻
廠(chǎng)家愛(ài)你訪(fǎng)問(wèn)控制包括:哪些IP可訪(fǎng)問(wèn)的服務(wù)器半沽,協(xié)議,接口者填,數(shù)據(jù)包修改
如可能受到某個(gè)IP攻擊,這時(shí)就禁止所有來(lái)自IP的訪(fǎng)問(wèn)
Linux 內(nèi)核集成了網(wǎng)絡(luò)訪(fǎng)問(wèn)控制功能 通過(guò)netfilter模塊實(shí)現(xiàn)
IPTables
用戶(hù)層我們可以哦那個(gè)過(guò)iptables程序?qū)etfilter進(jìn)行控制管理
netfilter可以對(duì)數(shù)據(jù)進(jìn)行允許 丟棄 修改操作
netfilter支持通過(guò)以下方式對(duì)數(shù)據(jù)包進(jìn)行分類(lèi)
源IP地址
目標(biāo)IP地址
使用接口
使用協(xié)議 ( TCP UDP ICMP )
端口號(hào)
連接狀態(tài) ( new ESTABLISHED RELATED INVALID)
過(guò)濾點(diǎn)
INPUT 出流量
FORWARD 轉(zhuǎn)發(fā)數(shù)據(jù)
OUTPUT 入流量
PREROUTING 路由前
POSTROUTING 路由后
過(guò)濾表
三種表:
filter (chain)用于對(duì)數(shù)據(jù)進(jìn)行過(guò)濾 只用在 INPUT FORWARD OUTPUT 過(guò)濾點(diǎn)
nat用以多數(shù)據(jù)包的源占哟,目標(biāo)IP地址進(jìn)行修改 只用在 OUTPUT PREROUTING POSTROUTING過(guò)濾點(diǎn)
mangle用以對(duì)數(shù)據(jù)包進(jìn)行高級(jí)修改 用于所有過(guò)濾點(diǎn)
常用功能
作為服務(wù)器
過(guò)濾本地流量
過(guò)濾本地發(fā)出流量
作為路由
過(guò)濾轉(zhuǎn)發(fā)流量
修改轉(zhuǎn)發(fā)數(shù)據(jù)
規(guī)則
通過(guò)規(guī)則對(duì)數(shù)據(jù)進(jìn)行訪(fǎng)問(wèn)控制
一個(gè)規(guī)則使用一行配置
規(guī)則按順序排列
當(dāng)收到發(fā)出轉(zhuǎn)發(fā)數(shù)據(jù)包時(shí)酿矢,使用規(guī)則對(duì)數(shù)據(jù)包進(jìn)行匹配,按規(guī)則順序進(jìn)行逐條匹配
數(shù)據(jù)包按照第一個(gè)匹配上的規(guī)則執(zhí)行相關(guān)動(dòng)作:丟棄瘫筐,放行,修改
沒(méi)有匹配規(guī)則策肝,則使用默認(rèn)動(dòng)作(每個(gè)檢查點(diǎn)都有默認(rèn)動(dòng)作)
通過(guò)命令 iptables -t filter -A INPUT -s 192.168.1.1 -j DROP
表 鏈 匹配屬性 動(dòng)作
表:規(guī)定使用的表(filter nat mangle 不同表有不同功能)
鏈:規(guī)定過(guò)濾點(diǎn) INPUT FORWARD OUTPUT PREROUTING POSTROUTING
匹配屬性:規(guī)定匹配數(shù)據(jù)包的特征
匹配后的動(dòng)作:放行 丟棄 記錄 ACCEPT DROP REJECT
第二節(jié)
基礎(chǔ)配置
表:規(guī)定使用的表
filter
nat
mangle
鏈:規(guī)定過(guò)濾點(diǎn)
INPUT
FORWARD
OUTPUT
PREROUTING
POSTROUTING
匹配屬性:
規(guī)定匹配數(shù)據(jù)包的特征
源,目標(biāo)地址 之众,協(xié)議(TCP UDP ICMP )
端口號(hào)
接口
TCP狀態(tài)
匹配后的動(dòng)作:
放行 ACCEPT
丟棄 DROP
記錄 REJECT (返回信息)
命令操作(臨時(shí)生效)
iptables status 查看默認(rèn)狀態(tài)
列出現(xiàn)有所有規(guī)則
iptables -L
插入一個(gè)規(guī)則
iptables -I INPUT 3 -p tcp --dport 22 -j ACCEPT
插入到規(guī)則第3條 所有端口22的TCP數(shù)據(jù)全部允許進(jìn)入
刪除一個(gè)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
例:
檢測(cè)到來(lái)自192.168.1.100攻擊 屏蔽所有這個(gè)IP的流量
iptables -A INPUT -s 192.168.1.100 -j DROP
屏蔽所有訪(fǎng)問(wèn)80網(wǎng)頁(yè)服務(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 對(duì)所有數(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)換是用來(lái)對(duì)數(shù)據(jù)包的IP地址進(jìn)行修改的機(jī)制缀蹄,NAT分為兩種
SNAT 源地址轉(zhuǎn)換 常用偽裝內(nèi)部地址
DNAT 目標(biāo)地址轉(zhuǎn)換 通常用于跳轉(zhuǎn)
iptables 中實(shí)現(xiàn)的 NAT 功能是NAT 表
常用NAT
通過(guò)NAT 進(jìn)行跳轉(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上
通過(guò)NAT 進(jìn)行出向數(shù)據(jù)跳轉(zhuǎn)
iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-dest 192.168.1.100:8080
通過(guò)NAT對(duì)數(shù)據(jù)偽裝 一般意義的NAT 將內(nèi)部地址全部偽裝為一個(gè)外部公網(wǎng)IP
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
所有內(nèi)網(wǎng)地址偽裝成eth0個(gè)公網(wǎng)IP地址
通過(guò)NAT隱藏IP
iptables -t nat -A POSTROUTING -j SNAT --to-source 1.2.3.4
保存配置文件
通過(guò)iptables修改需要寫(xiě)入/etc/sysconfig/iptables配置文件
可以通過(guò)命令將iptables規(guī)則寫(xiě)入配置文件 保存后會(huì)覆蓋
service iptables save
注意
遠(yuǎn)程管理 修改iptables
需要允許來(lái)自客戶(hù)端主機(jī)的SSH流量確保是第一條iptable規(guī)則
以免失誤將自己鎖在外面