Linux
UFW/Iptables:允許響應 http(s) 請求但阻止其他一切
我想阻止從我的伺服器傳出的所有內容,同時仍允許響應傳入的 http/https 請求。
一些例子:
使用者使用他的瀏覽器( https://myserver.example.org/test.html )呼叫我的伺服器防火牆應該允許響應並且伺服器應該將 test.html 傳遞給使用者。
我伺服器上的應用程序嘗試連接到https://badguy.example.org/test.html 防火牆應該拒絕這個傳出請求,因為 badguy.example.org 沒有從我的伺服器請求任何內容。
我不希望它基於 IP 或 IP 範圍。只要從 ip 聯繫到伺服器,它就可以響應。如果之前沒有通過這個ip聯繫過他,就不允許在那裡發送任何東西。
這可能使用 ufw 或 iptables 嗎?我怎麼做?
關鍵是 OUTPUT 鏈中的標誌*
--state ESTABLISHED
*,它只允許 ESTABLISHED 連接而不是新連接。(可選)允許通過 SSH 登錄以執行管理任務,
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
允許 HTTP 流量
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
允許 HTTPS 流量
iptables -A INPUT -i eth0 -p tcp --dport 443-m state --state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp --sport 443-m state --state ESTABLISHED -j ACCEPT
阻止來自您的伺服器的傳出 http/https 請求。
iptables -A OUTPUT -o eth0 -p tcp --dport 80 -j DROP iptables -A OUTPUT -o eth0 -p tcp --dport 443 -j DROP