SSHを除くすべての発信ネットワーク要求をブロックします。

SSHを除くすべての発信ネットワーク要求をブロックします。

SSH経由で他のコンピュータに接続するために使用したいLinuxがあります。自動更新、ウイルスなどを防ぐためにアウトバウンドトラフィックをブロックしようとしています。

これを使用して、ループバックインターフェイスからlocalhostに返されるトラフィックを除くすべてのトラフィックをブロックできます。

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

このインターフェイスでSSHトラフィックのみを許可するにはどうすればよいですか?ポート22を開いたままにします(SSHプロトコルに限定されません)。

リモートコンピュータでXサーバーを使用できますか?

ベストアンサー1

以下は最小 iptables 構成です。

iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -P OUTPUT DROP
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT

これにより、IPアドレスを介してのみ接続が許可されます。

DNS 解決を有効にするには、次の 2 つのルールを追加します。

iptables -A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT

IPアドレスがわかっている場合にのみDNSサーバーへの接続を許可するのは妥当です。-d DNS_IP_ADDRESSたとえば、上記の2つのコマンドに追加します。iptables -A OUTPUT -d 1.2.3.4 -p tcp -m tcp --dport 53 -j ACCEPT

おすすめ記事