IPTableを使用してSSHとSMTPを許可するには?

IPTableを使用してSSHとSMTPを許可するには?

定期的にEメールを送信するようにRaspberry Piを設定しました。 24時間インターネットに接続しているため、IPTablesを正しく設定する必要があります。

SSHの受信を許可し、ポート587でSMTP経由で電子メールを送信できるようにしたいと思います。このIPTablesスクリプトを思いついたのですか?そうでなければ、理由を教えてもらえますか?ありがとうございます。

sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT DROP

sudo iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

sudo iptables -A OUTPUT -p tcp --dport 587 -j ACCEPT
sudo iptables -A INPUT -p tcp --sport 587 -j ACCEPT

答え1

このようなiptablesルールはうまく機能します。

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1:156]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT  -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT  -p tcp -m state --state NEW -m tcp --dport 587 -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited 
COMMIT

最初のルールはデフォルトですべての着信接続を削除し、2番目のルールはデフォルトですべての転送を削除し、3番目のルールは出力を受け入れます。なぜ許可されますか? IMHO、出力接続を開くことはあまり安全ではなく、閉じるとファイアウォール構成が少し難しいことがあります。

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 

関連および設定状態の接続を許可します。

残りは簡単です。

    -A INPUT  -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
    -A INPUT  -p tcp -m state --state NEW -m tcp --dport 587 -j ACCEPT 
    -A INPUT -j REJECT --reject-with icmp-host-prohibited 
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited 
    COMMIT

22 tcpを許可し、587 tcpを許可し、他のすべての接続を許可しない場合は、ファイルに保存して実行できます

iptables-restore < firewall.file

nmap -sSそしてホストに確認してください

答え2

これらのコマンドを使用するのが不便な場合は、他のコマンドを使用することもiptablesできます。UFWUFWはSimple Firewallの略でiptablesより使いやすいツールです。

ufwRaspberry Piにインストールします。

sudo apt-get install ufw

ufwをインストールしたら、次のコマンドを使用してデフォルト値を設定できます。

sudo ufw default deny incoming && sudo ufw default deny outgoing

これにより、接続を試みるすべての要求が拒否され、すべての発信要求も拒否されます。これはもう少し制限がある場合に最適です。

許可するssh 存在するする:

sudo ufw allow in 22

許可する587 出るする:

sudo ufw allow out 587

詳細については、man ufwより多くの例とよく説明されているものをご覧ください。

関連情報