すべての送信元IPでポートがクラッシュした後のSSHアクセスを許可する

すべての送信元IPでポートがクラッシュした後のSSHアクセスを許可する

このチュートリアルでは、iptablesルールと「最近の」モジュールのみを使用して、LinuxでSSHの動作ポートノッキング設定を設定しました。https://wiki.archlinux.org/index.php/Port_knocking#Port_knoking_with_iptables_only

今私の問題は、私の作業ネットワークなどの複数のネットワークが22、80、443などの非標準ポートへのトラフィックをブロックするため、ノックパケットを送信できないことです。一方、私のモバイルインターネットでは許可されています。

解決策として、正しいタブ順序を送信しながらSSHポートを開きたいと思います。どのホスト、ただ同じホストではありません。

iptablesを使ってこれを達成する方法はありますか?たとえば、あるルールでオンになり、別のルールでチェックできる「ステータススイッチ」またはグローバル変数を想像できます。タイムアウト後、「オフ」状態に戻ります。

ベストアンサー1

ノックオンザノック(Knock-on-the-knock)ルートに行くことをお勧めします。この方法は簡単です。代わりにこのデフォルト設定を使用してください。

[openSSH]
        sequence    = 7000,8000,9000
        seq_timeout = 10
        tcpflags    = syn
        command     = /usr/sbin/iptables -A INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

  [closeSSH]
        sequence    = 9000,8000,7000
        seq_timeout = 10
        tcpflags    = syn
        command     = /usr/sbin/iptables -D INPUT -s %IP% -p tcp --dport 22 -j ACCEPT

これを使用します (注 -s %IP% が削除されました)。

[openSSH]
        sequence    = 7000,8000,9000
        seq_timeout = 10
        tcpflags    = syn
        command     = /usr/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT

  [closeSSH]
        sequence    = 9000,8000,7000
        seq_timeout = 10
        tcpflags    = syn
        command     = /usr/sbin/iptables -D INPUT -p tcp --dport 22 -j ACCEPT

おすすめ記事