如何設置iptables來阻止除SSH在Debian的Linux的所有流量?

檢查當前iptables配置
iptables -S

如下輸出應該是空的…

  -p輸入ACCEPT
  -P FORWARD ACCEPT
  -P OUTPUT ACCEPT

 

如果你的iptables是不是空的正上方,然後額外的端口可能是你的機器上開啟. 在這種情況下, 刷新表, 類型 iptables -F, 然後通過鍵入檢查iptables配置 iptables -S.

 

保證是根

su
 

一次輸入以下配置命令一行. 請確保輸入順序是一樣的下面, 否則,你可能會阻止SSH.

   iptables的INPUT -A -i LO -j ACCEPT
   iptables的INPUT -A -p tcp的-m TCP --dport 22 -ĴACCEPT
   iptables的-A OUTPUT -o LO -j ACCEPT
   iptables的-A OUTPUT -p tcp的--sport 22 -米狀態--state ESTABLISHED -j ACCEPT
   iptables的-P INPUT DROP
   iptables的-P OUTPUT DROP

在以上, Lo是這是由一些應用程序,沒有它的一些應用程序可能需要打破的環回適配器.

 

您也可以允許所有流量輸出. 因此, 以下規則將改為適用上述的…

   iptables的INPUT -A -i LO -j ACCEPT
   iptables的INPUT -A -p tcp的-m TCP --dport 22 -ĴACCEPT
   iptables的-P INPUT DROP

 

如果你想允許建立相關的數據包,然後下面的規則將適用. 如果沒有這個,你將無法使用apt-get和git請求. 改用以上的下列 2 規則集.

   iptables的INPUT -I -m狀態--state ESTABLISHED,相關-j ACCEPT
   iptables的INPUT -A -i LO -j ACCEPT
   iptables的INPUT -A -p tcp的-m TCP --dport 22 -ĴACCEPT
   iptables的-P INPUT DROP

一旦你決定最適合您的系統的規則, 你將需要保存的規則, 否則他們不會重啟後持續

保存規則文件

iptables-save > /etc/iptables.conf

上述保存您的規則文件. 然後,您將需要加載在每次重新啟動您的規則

nano /etc/rc.local

以下行添加到文件, 以上 exit 0

iptables-restore < /etc/iptables.conf
 

下面是一些含義的規則...

確定的含義,所述分組與已經看到分組在兩個方向上的連接相關聯

相關含義數據包開始新的連接, 但與現有連接相關聯, 如FTP數據傳送, 或者一個ICMP錯誤.