
新しい Web サーバーのファイアウォールを必要なだけ安全にしたいと思っています。iptables について調べた後、UFW (Uncomplicated FireWall) を見つけました。これは、Ubuntu Server 10 LTS でファイアウォールを設定するためのより良い方法のように思えますし、インストールの一部であることを考えると、理にかなっているように思えます。
私のサーバーにはNginx、FastCGI、MySQLが入っています。また、SSHアクセスも許可したいです(当然ですが)。そこで、UFWをどのように設定すればいいのか、他に考慮すべき点はあるか知りたいです。調査した結果、記事それは次のように説明しています:
# turn on ufw
ufw enable
# log all activity (you'll be glad you have this later)
ufw logging on
# allow port 80 for tcp (web stuff)
ufw allow 80/tcp
# allow our ssh port
ufw allow 5555
# deny everything else
ufw default deny
# open the ssh config file and edit the port number from 22 to 5555, ctrl-x to exit
nano /etc/ssh/sshd_config
# restart ssh (don't forget to ssh with port 5555, not 22 from now on)
/etc/init.d/ssh reload
私には、これはすべて理にかなっているように思えます。しかし、すべて正しいのでしょうか? これを他の意見やアドバイスで裏付け、自分のサーバーでこれを正しく実行できるようにしたいと思います。
どうもありがとう!
答え1
ブルートフォース攻撃を防ぐには、ufw allow [PORT] の代わりに ufw limit [PORT] を使用します。
ufw supports connection rate limiting, which is useful for protecting
against brute-force login attacks. ufw will deny connections if an IP
address has attempted to initiate 6 or more connections in the last 30
seconds.
以下は、ルールを使用して ufw ファイアウォールを設定する方法です。
まず、/etc/ssh/sshd_config で SSH ポートを変更します。
次に設定を再読み込みします: /etc/init.d/ssh reload
次に: ufw default deny
次に: ufw ログオン
次に: ufw limit 5555
次に: ufw allow 80/tcp
すべてのルールを設定したら、ufwを有効にします: ufw enable
答え2
何をしているのか正確にわからないまま SSH をファイアウォールで遮断するのは、非常に慎重に行う必要があります。まずは特定のネットワークで SSH を遮断してテストしてみる価値はあるかもしれません。LFW がどのくらいの速さで効果を発揮するか、確立された接続に影響するかどうかはわかりませんが、すぐに効果が出る場合は、現在接続に使用しているポートをファイアウォールで遮断する前に、SSH のポート番号を必ず変更する必要があります。