Linux
允許 DNS 的傳出連接
我是 IPtables 的新手,但我正在嘗試設置一個安全伺服器來託管一個網站並允許 SSH。這是我到目前為止所擁有的:
#!/bin/sh 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 # Respond to ping requests $i -A INPUT -p icmp --icmp-type any -j ACCEPT # Force SYN checks $i -A INPUT -p tcp ! --syn -m state --state NEW -j DROP # Drop all fragments $i -A INPUT -f -j DROP # Drop XMAS packets $i -A INPUT -p tcp --tcp-flags ALL ALL -j DROP # Drop NULL packets $i -A INPUT -p tcp --tcp-flags ALL NONE -j DROP # Stateful inspection $i -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT # Allow established connections $i -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Allow unlimited traffic on loopback $i -A INPUT -i lo -j ACCEPT $i -A OUTPUT -o lo -j ACCEPT # Open nginx $i -A INPUT -p tcp --dport 443 -j ACCEPT $i -A INPUT -p tcp --dport 80 -j ACCEPT # Open SSH $i -A INPUT -p tcp --dport 22 -j ACCEPT
但是我已經鎖定了我的傳出連接,這意味著我無法解析任何 DNS。我怎麼允許呢?此外,任何其他回饋表示讚賞。
詹姆士
使用 UDP 協議在埠 53 上與遠端主機建立 DNS 連接,如果答案對於 UDP 數據報來說太大,則回退到 TCP。
您應該允許目標埠為 UDP:53 或 TCP:53 的傳出連接。