ポートノッキング

 ポートノッキングとは、サーバの閉じたポートにあらかじめ定められた順番でアクセスした場合のみ、サーバにアクセスできるという仕組みです。いわば玄関の鍵を「2重鍵」にすることに相当します。これを用いることで、sshのようなブルーとフォース攻撃を受けやすいポートの秘匿性を増すことができます。

 下の例ではTCPの9999番ポートにアクセスした後に、sshに接続を試みると成功するという設定です。TCPの9999番も22番も両方閉じていますが、定められた順番でアクセスした場合のみ、sshの接続が完了します。

 下と同様の設定を繰り返すことで、ノックの数を3重、4重といくらでも多重化できます。セキュリティは増しますが、アクセスの手間は余分にかかってしまいます。

[root@new-host pide]# iptables -N STATE
[root@new-host pide]# iptables -F

[root@new-host pide]# iptables -P INPUT DROP
[root@new-host pide]# iptables -A INPUT -p tcp --dport 9999 -m recent --name KNOCK --set -j DROP
[root@new-host pide]# iptables -A INPUT -m recent --name KNOCK --rcheck -j STATE
[root@new-host pide]# iptables -A STATE -p tcp --dport 22 -j ACCEPT