Linux iptables:丟棄所有 Apache 請求,但來自單個 IP 地址的請求除外
我目前正在 Debian 10 伺服器上使用 Apache 建構網站。我想阻止除單個 IP 地址(我的家庭網路的公共 IP 地址)之外的所有流量到我的網站,以便我可以在建構網站時建構我的網站,而其他使用者不會訪問該站點。我想使用帶有 iptables 的伺服器防火牆來解決這個問題。我創建了以下規則:
sudo iptables --policy INPUT DROP sudo iptables --policy OUTPUT DROP sudo iptables --policy FORWARD DROP iptables -A INPUT -p tcp -m multiport --dports 80,443 -s 1.2.3.4 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT iptables -A OUTPUT -p tcp -m multiport --sports 80,443 -s 1.2.3.4 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
經過幾天的測試,我得出結論,問題一定出在我的 OUTPUT 鏈上。任何見解或想法將不勝感激,謝謝!
更新:為每個請求添加 iptables-save 的輸出。
此外,經過更多測試後,似乎當我嘗試從我的作業網路以外的網路通過伺服器的 IP 地址訪問我的網站時,請求被丟棄。每當我嘗試通過域名訪問我的網站時,請求都不會被丟棄。我可能會遺漏 DNS 的某些內容嗎?
謝謝大家的幫助!
# Generated by xtables-save v1.8.2 on Sun Oct 25 00:48:27 2020 *filter :INPUT DROP [304:18242] :FORWARD DROP [0:0] :OUTPUT DROP [79:6999] -A INPUT -s 1.2.3.4 -p tcp -m multiport --dports 80,443 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT -A INPUT -i lo -j ACCEPT -A OUTPUT -d 1.2.3.4 -p tcp -m multiport --sports 80,443 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT -A OUTPUT -o lo -j ACCEPT COMMIT # Completed on Sun Oct 25 00:48:27 2020 # Generated by xtables-save v1.8.2 on Sun Oct 25 00:48:27 2020 *nat :PREROUTING ACCEPT [255:14541] :INPUT ACCEPT [4:240] :POSTROUTING ACCEPT [1:67] :OUTPUT ACCEPT [49:3523] COMMIT # Completed on Sun Oct 25 00:48:27 2020 # Generated by xtables-save v1.8.2 on Sun Oct 25 00:48:27 2020 *mangle :PREROUTING ACCEPT [343:22686] :INPUT ACCEPT [342:22646] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [102:10858] :POSTROUTING ACCEPT [53:7350] COMMIT # Completed on Sun Oct 25 00:48:27 2020
更新:現在可以確認問題是無論我的防火牆規則如何,我仍然可以通過我的域名訪問該網站
我假設您的網路伺服器不是您家庭網路的一部分。
我假設為了設置您的 Web 伺服器,您可以通過某種類型的控制台訪問您的 Web 伺服器。我做出這個假設是因為您將 iptables 過濾器表的所有鏈(INPUT、OUTPUT、FORWARD)的預設策略更改為 DROP,這將導致與 Web 伺服器的任何遠端連接(例如 ssh)失敗。事實上,即使使用該配置,您也無法訪問環回介面。
我假設當您使用 1.2.3.4 時,您指的是您的家庭網路公共 IP。
我會通過評論要求澄清,但我在伺服器故障中還沒有足夠的聲譽。如果您願意,請隨時澄清。如果我的假設是正確的,那麼在 OUTPUT 鍊式規則中將“-s”更改為“-d”可能會解決問題。即您的 Web 伺服器從源(-s 源)1.2.3.4 接收(在 INPUT 鏈上),而您的 Web 伺服器(在 OUTPUT 鏈上)發送到(-d 目標)1.2.3.4。