防火牆-簡單瞭解
最重要的是四表五鏈
windows和linux安全等級都屬於c2
防火牆分類:
基礎類防火牆:根據資料包文特徵進行資料包過濾模組
IDS 類防火牆:入侵檢測系統
IPS 類防火牆:入侵防禦系統
主動安全類防火牆
waf:外網{防禦http協議}
daf:資料庫應用防火牆
基礎類防火牆:iptables,firewalld
軟體
iptables
firewalld
硬體:大廠一般都有{惠普,聯想}
效能主要看吞吐量:每秒能過濾多大的資料流量
防火牆:工作在主機邊緣處或者網路邊緣處對進出的資料包文根據定義規則進行過濾的模組
使用者態:iptables firewalld
核心態:netfilter netfilter
規則
自定義規則:自己定義的規則
預設規則:預設值,如果匹配不到自定義,就匹配預設
鏈:承載規則
INPUT:對入站資料包文處理的介面
OUTPUT:對出站資料包文做處理的介面
FORWARD: 對轉發資料包文做處理的介面
POSTROUTING:路由後 SNAT
PREROUTING:路由前 DNAT
表:承載鏈
raw:資料包文跟蹤
mangle:資料包文修改
nat:資料包文轉換 nat
filter:資料包文過濾{最重要的功能}
規則順序:自上而下 依次匹配 匹配即停止 除了 LOG 動作
規則寫的順序,訪問高的放在上面,不常訪問的在下面
鏈順序
入站: PREROUTING > INPUT
出站: OUTPUT > POSTROUTING
轉發: PREROUTINGH > FORWARD > POSTROUTING
表順序
raw 》 mangle 》 nat 》 filter
資料流入方向
入站:raw{路由前跟蹤}、mangle{修改}、nat{PREROUTING}{地址轉換}到路由mangle{入站前修改}、filter{INPUT}{入站前過濾}到應用程式
出站:raw、mangle、nat、filter{OUTPUT}、mangle、nat{POSTROUTING}
轉發:raw{路由前跟蹤}、mangle{修改}、nat{PREROUTING}{地址轉換}、路由mangle{入站前修改}、filter{INPUT}{入站前過濾}、mangle、nat{POSTROUTING}
語法構成
iptables [-t 表名] 選項 [鏈名] [條件] [-j 控制型別]
幾個注意事項
不指定表名時,預設指filter表
iptables -L=iptables -t filter -L
不指定鏈名時,預設指表內的所有鏈
除非設定鏈的預設策略,否則必須指定匹配條件
選項、鏈名、控制型別使用大寫字母,其餘均為小寫
ACCEPT: 允許通過
DROP: 直接丟棄,不給出任何回應{預設規則}
REJECT: 拒絕通過,必要時會給出提示{如果想用,在自定義規則}
LOG: 記錄日誌資訊,然後傳給下一條規則繼續匹配
SNAT: 修改資料包源地址
DNAT: 修改資料包目的地址
REDIRECT: 重定向
新增新的規則
-A:在鏈的末尾追加一條規則
-I:在鏈的開頭(或指定序號)插入一條規則
# iptables -t filter -A INPUT -p tcp -j ACCEPT #只要是tcp的入站規則全部放行
# iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT #通過tcp協議,允許任何使用者訪問80埠去任何地方
# iptables -I INPUT -p udp -j ACCEPT #在開頭插入一條規則,允許UDP的所有入站報文
# iptables -I INPUT 2 -p icmp -j ACCEPT #在INPUT鏈的第二條插入一條規則{放行ICMP協議}
# iptables -A INPUT -j DROP #將所有的資料包文丟棄
檢視規則列表
-L:列出所有的規則條目
-n:以數字形式顯示地址、埠等資訊
-v:以更詳細的方式顯示規則資訊
–line-numbers:檢視規則時,顯示規則的序號
# iptables -L INPUT --line-numbers
# iptables -L -n -v
刪除、清空規則
-D:刪除鏈內指定序號(或內容)的一條規則
-F:清空所有的規則
清空所有表的所有鏈的所有規則
[root@www ~]# iptables -t mangle -F
[root@www ~]# echo “” > /etc/sysconfig/iptables #這樣更快,清空所有表
[root@www ~]# service iptables restart
# iptables -F #清除所有鏈的規則
# iptables -D INPUT 3 #刪除INPUT鏈的第三條規則
# iptables -t filter -F INPUT #刪除INPUT鏈的所有規則
# iptables -n -L INPUT
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp – 0.0.0.0/0 0.0.0.0/0
ACCEPT icmp – 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0
設定預設策略
-P:為指定的鏈設定預設規則
# iptables -t filter -P FORWARD DROP
# iptables -P OUTPUT ACCEPT
通用匹配
可直接使用,不依賴於其他條件或擴充套件
包括網路協議、IP地址、網路介面等條件
隱含匹配
要求以特定的協議匹配作為前提
包括埠、TCP標記、ICMP型別等條件
顯式匹配
要求以“-m 擴充套件模組”的形式明確指出型別
包括多埠、MAC地址、IP範圍、資料包狀態等條件
iptables -t filter -A INPUT -p tcp --dport 80 -j REJECT
常見的通用匹配條件
協議匹配:-p 協議名
地址匹配:-s 源地址、-d 目的地址
介面匹配:-i 入站網路卡、-o 出站網路卡
# iptables -A FORWARD -s 192.168.1.11 -j REJECT #當源地址是1.11的轉發請求拒絕
# iptables -I INPUT -s 10.20.30.0/24 -j DROP #當源地址是30.0/24網段時入站請求丟棄
# iptables -I INPUT -p icmp -j DROP #丟棄icmp的入站報文
# iptables -A FORWARD -p ! icmp -j ACCEPT #除了icmp的轉發請求我都同意
# iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP #當入站網路卡是eth0,當源地址是0.0/12網段的入站請求丟棄
常用的隱含匹配條件
埠匹配:–sport 源埠、–dport 目的埠
ICMP型別匹配:–icmp-type ICMP型別
# iptables -A FORWARD -s 192.168.4.0/24 -p udp --dport 53 -j ACCEPT
# iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
# iptables -A INPUT -p icmp --icmp-type 8 -j DROP #別人能正常訪問我
# iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT #我能訪問別人,別人不能訪問我
# iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT #目標未知
# iptables -A INPUT -p icmp -j DROP
常用的顯式匹配條件
多埠匹配:-m multiport --sport 源埠列表
-m multiport --dport 目的埠列表
IP範圍匹配:-m iprange --src-range IP範圍
MAC地址匹配:-m mac –mac-source MAC地址
狀態匹配:-m state --state 連線狀態
# iptables -A INPUT -p tcp -m multiport --dport 25,80,110,143 -j ACCEPT
# iptables -A FORWARD -p tcp -m iprange --src-range 192.168.4.21-192.168.4.28 -j ACCEPT
# iptables -A INPUT -m mac --mac-source 00:0c:29:c0:55:3f -j DROP
# iptables -P INPUT DROP
# iptables -I INPUT -p tcp -m multiport --dport 80-82,85 -j ACCEPT
# iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
RELATED 相關聯的
SNAT 策略的典型應用環境:區域網主機共享單個公網IP地址接入Internet
SNAT 策略的原理
源地址轉換,Source Network Address Translation
修改資料包的源地址
前提條件
區域網各主機正確設定IP地址/子網掩碼
區域網各主機正確設定預設閘道器地址
Linux閘道器支援IP路由轉發
實現方法:編寫SNAT轉換規則
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 218.29.30.31
MASQUERADE —— 地址偽裝
適用於外網 IP地址 非固定的情況
對於ADSL 撥號連線,介面通常為 ppp0、ppp1
將SNAT規則改為 MASQUERADE 即可
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
DNAT策略的典型應用環境
在 Internet 中釋出位於企業區域網內的伺服器
DNAT 策略的原理
目標地址轉換,Destination Network Address Translation
修改資料包的目標地址
前提條件
區域網的Web伺服器能夠訪問Internet
閘道器的外網IP地址有正確的DNS解析記錄
Linux閘道器支援IP路由轉發
實現方法,編寫 DNAT 轉換規則
# iptables -t nat -A PREROUTING -i eth0 -d 218.29.30.31 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.6
釋出時修改目標埠
在 DNAT 規則中以“IP:Port”的形式指定目標地址
# iptables -t nat -A PREROUTING -i eth0 -d 218.29.30.31 -p tcp --dport 2346 -j DNAT --to-destination 192.168.1.6:22
匯出(備份)規則:iptables-save 工具
可結合重定向輸出儲存到指定檔案
匯入(還原)規則:iptables-restore 工具
可結合重定向輸入指定規則來源
Iptables 服務
指令碼位置:/etc/init.d/iptables
規則檔案位置:/etc/sysconfig/iptables
centos7要想使用iptables
rpm -e --nodeps firewalld
yum -y install iptables-services
systemctl start iptables
systemctl enable iptables
相關文章
- CentOS 7 以上防火牆簡單配置CentOS防火牆
- CentOS 7 Docker 防火牆簡單配置CentOSDocker防火牆
- Linux中iptables防火牆的簡單配置Linux防火牆
- 簡單分析用SPI實現防火牆 (轉)防火牆
- 阿里雲Web應用防火牆知識,瞭解阿里雲Web應用防火牆阿里Web防火牆
- Radio Silence for mac簡單好用的防火牆Mac防火牆
- 簡單好用的防火牆:Radio Silence for Mac防火牆Mac
- 軟體防火牆與硬體防火牆詳解防火牆
- Juniper防火牆簡介(轉)防火牆
- 選用單防火牆DMZ還是雙防火牆DMZ(轉)防火牆
- WebSocket 簡單瞭解Web
- JWT簡單瞭解JWT
- 簡單瞭解procmailAI
- 防火牆模式工作模式簡介防火牆模式
- 讓你詳細的瞭解資料庫防火牆的功能資料庫防火牆
- 防火牆技術詳解防火牆
- Golang介面簡單瞭解Golang
- 簡單瞭解組策略
- WAb防火牆與傳統防火牆防火牆
- 防火牆防火牆
- 網路安全——防火牆詳解防火牆
- 開源防火牆解決方案防火牆
- Node.js簡單瞭解Node.js
- 簡單瞭解負載均衡負載
- 快應用簡單瞭解
- 防火牆(firewall)防火牆
- SQL防火牆SQL防火牆
- 防火牆IPTABLES防火牆
- RouterOS防火牆ROS防火牆
- iptables防火牆防火牆
- 防火牆配置防火牆
- 防火牆入侵於檢測——————3、思科 PIX 防火牆和 ASA 防火牆產品線防火牆
- AutoRun病毒防火牆如何使用 AutoRun病毒防火牆教程防火牆
- 全面分析防火牆及防火牆的滲透(轉)防火牆
- 簡單瞭解InnoDB底層原理
- 簡單瞭解 TiDB 架構TiDB架構
- 簡單瞭解Ruby與自學教程
- Web自動化—簡單瞭解Web