Please enable JavaScript.
Coggle requires JavaScript to display documents.
Linux防火牆 (有什麼用? (NAT (Network Address Translation), 限制某些服務的存取來源,…
Linux防火牆
有什麼用?
NAT (Network Address Translation)
限制某些服務的存取來源
切割被信任(如子網域)與不被信任(如 Internet)的網段
劃分出可提供 Internet 的服務與必須受保護的服務
分析出可接受與不可接受的封包狀態
封包過濾的規則動作及分析流程
"順序"很重要
链(Chain)
每個Table可以包含多個Chain
內建Chain
INPUT
OUTPUT
FORWARD
PREROUTING
POSTROUTING
表(Table)
內建Table
filter (過濾器)
進入 Linux 本機的封包有關
Chain
INPUT:主要與想要進入我們 Linux 本機的封包有關
OUTPUT:主要與我們 Linux 本機所要送出的封包有關
FORWARD:可以『轉遞封包』到後端的電腦中
nat (位址轉換)
來源與目的之 IP 或 port 的轉換
Chain
PREROUTING:在進行路由判斷之前所要進行的規則(DNAT/REDIRECT)
POSTROUTING:在進行路由判斷之後所要進行的規則(SNAT/MASQUERADE)
OUTPUT:與發送出去的封包有關
mangle (破壞者)
與特殊的封包的路由旗標有關
Chain
PREROUTING
OUTPUT
INPUT
FORWARD
跟進入 Linux 本機的封包有關
與本機最有關的其實是 filter 這個表格內的 INPUT 與 OUTPUT 這兩條鏈
是什麼?
linux 里内核带有了防火墙的模块
内核级的功能,需要用的话要配合用户空间的管理软件
Netfilter
分析 OSI 七層協定當中的 2, 3, 4 層
防火墙
是一组规则
可以根据协议或基于目标的规则过滤请求
決定網路封包了行進方向
可以分為硬體防火牆與本機的軟體防火牆
Linux 系統上防火牆的主要類別
網域型控管
Netfilter 封包過濾
代理伺服器 (proxy server)
單一主機型控管
Netfilter 封包過濾型
TCP Wrappers 依據服務軟體程式作為分析
透過伺服器程式的外掛 (tcpd) 來處置
主要是分析誰對某程式進行存取,然後透過規則去分析該伺服器程式誰能夠連線
只與程式的名稱有關
透過 /etc/hosts.allow, /etc/hosts.deny來控管
由 super daemon (xinetd) 所管理的服務
有支援 libwrap.so 模組的服務
一般網路佈線示意
單一網域
內部網路包含安全性更高的子網路
在防火牆的後面架設網路伺服器主機
怎麼使用?
防火墙规则的工具
iptables
檢測是否支援 iptables
grep -i iptables /boot/config-3.10.0-862.el7.x86_64
firewalld
搭配ufw
firewall-cmd
firewalld 是 systemd 家族的一部分
可以安装在 Debian/Ubuntu
默认安装在 RedHat 和 CentOS
nftables
nft 命令行工具
建議利用 shell script 來撰寫的防火牆機制
對於規則的排序與彙整有比較好的觀察性
可以讓你的防火牆規則比較清晰一點