iT邦幫忙

1

Day 7:防火牆配置與流量過濾(Firewall Configuration and Traffic Filtering)

o 2025-10-27 12:23:19294 瀏覽
  • 分享至 

  • xImage
  •  

一、防火牆基礎知識

1.1 防火牆的角色

防火牆作為網絡安全的第一道防線,其主要作用是:

  • 監控進出網絡的所有流量;
  • 根據設置的規則決定哪些流量允許通過,哪些流量應被阻擋;
  • 防止未經授權的訪問,保護內部網絡免受外部攻擊。

1.2 防火牆的工作原理

防火牆通過檢查每個數據包的頭部信息(如源 IP、目標 IP、端口、協議等)來做出決策,常見的檢查方式有:

  • 基於包過濾(Packet Filtering):根據包的內容進行允許或阻止。
  • 狀態檢查(Stateful Inspection):跟蹤每個連接的狀態,並決定是否允許流量。
  • 代理防火牆(Proxy Firewall):在內外網之間建立一個代理,來完全控制數據包的傳遞。

二、防火牆配置步驟

2.1 安裝與配置防火牆軟件

我們將使用 iptables 作為防火牆工具,它是 Linux 系統中最常用的防火牆管理工具之一。

安裝 iptables(對於 Ubuntu 系統)

sudo apt-get update
sudo apt-get install iptables
2.2 配置基本規則
在開始設置防火牆規則之前,我們需要清除現有的規則,並設置基礎的防火牆規則。

清除所有現有規則
bash
複製程式碼
sudo iptables -F
設置預設策略(DROP 所有流量,並只允許特定流量)
bash
複製程式碼
sudo iptables -P INPUT DROP   # 阻止所有進來的流量
sudo iptables -P FORWARD DROP  # 阻止轉發流量
sudo iptables -P OUTPUT ACCEPT # 允許所有出站流量
允許進行 SSH 連接
bash
複製程式碼
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
允許 HTTP 和 HTTPS 流量
bash
複製程式碼
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
保存規則
bash
複製程式碼
sudo iptables-save > /etc/iptables/rules.v4
三、流量過濾策略設計
3.1 基於 IP 地址過濾
防火牆可以根據源 IP 或目標 IP 進行過濾,這在防止來自某些 IP 的攻擊時非常有用。

允許來自某個 IP 的流量
bash
複製程式碼
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
阻止來自某個 IP 的流量
bash
複製程式碼
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
3.2 基於端口過濾
可以根據端口來決定是否允許流量進入。例如,只允許某些服務端口的流量(如 HTTP 或 SSH)。

只允許端口 22(SSH)和端口 80(HTTP)的流量
bash
複製程式碼
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
3.3 基於協議過濾
除了基於端口過濾,防火牆還可以根據協議(如 TCP、UDP、ICMP)進行過濾。

允許 ICMP 流量(ping 命令)
bash
複製程式碼
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
阻止 UDP 流量
bash
複製程式碼
sudo iptables -A INPUT -p udp -j DROP
四、防火牆監控與日志設置
4.1 設置日志
防火牆可以生成日志來記錄進行過濾的流量,這對於追蹤攻擊和問題排查至關重要。

設置日志規則
bash
複製程式碼
sudo iptables -A INPUT -j LOG --log-prefix "INPUT DROP: " --log-level 4
查看防火牆日志
bash
複製程式碼
sudo tail -f /var/log/syslog
4.2 設置流量限制
防火牆也可以設置流量限制,避免某些特定服務或 IP 被濫用。

限制每秒最多 5 次連接
bash
複製程式碼
sudo iptables -A INPUT -p tcp --dport 80 -m limit --limit 5/s --limit-burst 10 -j ACCEPT
五、防火牆的高級配置
5.1 反向代理(Reverse Proxy)
反向代理可以將來自互聯網的請求轉發到內部服務器,這樣可以在防火牆和內部網絡之間增加一層安全保護。

常見的反向代理工具包括 Nginx 和 Apache HTTP Server。

安裝 Nginx
bash
複製程式碼
sudo apt-get install nginx
配置反向代理
nginx
複製程式碼
server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;  # 將流量轉發到內部服務器
    }
}
5.2 VPN 配置
為了進一步保護內部網絡,可以通過設置 VPN(虛擬專用網絡)來加密內部通信,確保外部用戶和內部系統之間的通信是安全的。

常見的 VPN 工具包括 OpenVPN 和 WireGuard。

圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言