iptables:DPT範囲内のすべてのSSH接続

iptables:DPT範囲内のすべてのSSH接続

iptablesルールは、許可する必要があるサーバーの接続を拒否します。接続を許可する必要があるSSHクライアント。

システムログには以下が表示されます。

Dec  3 16:22:49 server kernel: [4125974.777012] iptables denied: IN=eth0 OUT= MAC=<...> SRC=<...> DST=11.22.33.44 LEN=60 TOS=0x00 PREC=0x00 TTL=56 ID=327 DF PROTO=TCP SPT=42962 DPT=CLIENTPORT WINDOW=64240 RES=0x00 SYN URGP=0
  • DST = 11.22.33.44はサーバーのIPアドレスです。
  • MAC = <...>はサーバーのeth0 MACアドレスです(編集済み)。
  • SRC = <...>はクライアントの場所の任意のIPアドレスです(編集済み)
  • DPT = CLIENTPORTは私が指定したポートのリストから来ます。各クライアントには使用するポート番号があります。もちろん、実際のポート番号はシステムログに表示されます。

クライアントに提供されるポート番号はセキュリティのためではありません。sshd_config強化され、パスワードログインなどを許可しません。クライアントはキーペアを使用して接続します。

これらの接続を許可するiptablesルールの助けが必要です。DPTに許可されるポート範囲を指定できますか?

現在のルールは次のとおりです。

    # iptables -L
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination
    ACCEPT     all  --  anywhere             anywhere
    REJECT     all  --  anywhere             127.0.0.0/8         reject-with icmp-port-unreachable
    ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
    ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:80
    ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:443
    ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:22
    ACCEPT     icmp --  anywhere             anywhere            icmp echo-request
    LOG        all  --  anywhere             anywhere            limit: avg 5/min burst 5 LOG level debug prefix `iptables denied: '
    REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable

    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination
    REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable

    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    ACCEPT     all  --  anywhere             anywhere

必要な唯一の着信接続は、WebサーバーとSSHです。既存のiptablesルールを全面的にチェックする必要があると思います。感謝の例を見てください。

答え1

あなたが探しているマルチポート iptables 拡張だから:

iptables -A INPUT -p tcp -m multiport --dports <port1>:<portn> -j ACCEPT

ファイアウォールスクリプトの規則3次のどこかにあります。

コメント:ルール2(localhostに対するパケット拒否)が異常です。多くのローカルプロセスがインターフェイスを介して通信しますlo。通常、反対のルールを使用します。

iptables -A INPUT -i lo -j ACCEPT

関連情報