Linux
IPtables 鎖定網站,只允許 SSH
我已經編寫了我的第一個 IPtables 規則文件,以嘗試在除 SSH 和 Web 所需的埠之外的所有埠上保護我的伺服器。
這就是我想出的:
i=/sbin/iptables # Flush all rules $i -F $i -X # Setup default filter policy $i -P INPUT DROP $i -P OUTPUT DROP $i -P FORWARD DROP # Allow unlimited traffic on loopback $i -A INPUT -i lo -j ACCEPT $i -A OUTPUT -o lo -j ACCEPT # Open up ports for nginx $i -A INPUT -p tcp --dport 443 -j ACCEPT $i -A INPUT -p tcp --dport 80 -j ACCEPT $i -A INPUT -p tcp --dport 22 -j ACCEPT # Make sure nothing comes or goes out of this box $i -A INPUT -j DROP $i -A OUTPUT -j DROP
我知道在涉及 IP 表時有一些魔法,所以我想知道是否有人可以參與進來,看看這是否是保護 Web 伺服器的正確方法。
您可能不想丟棄所有傳出連接。
您可能希望儘早添加規則以允許 ESTABLISHED 連接,如果使用像 ftp 這樣的協議,您也可以將 RELATED 添加到規則中,例如
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
記住規則順序很重要 - 第一場比賽獲勝。
您可能應該看一下我們關於保護 Web 伺服器安全的問答保護 LAMP 伺服器的提示它有很多很好的資訊。
你在
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
某個地方失踪了。此外,我不會丟棄所有傳出數據包。