ksaitoの日記

日々試したことの覚え書き

SSHブルートフォース攻撃が増加、SANSが紹介した対策をやってみる

移転しました。

自動的にリダイレクトします。

SANSが紹介した対策を実際にやってみました。
試したのは、以下の環境です。

$ cat /etc/lsb-release | grep DESCRIPTION
DISTRIB_DESCRIPTION="Ubuntu 10.04 LTS"
$ ssh -V
OpenSSH_5.3p1 Debian-3ubuntu4, OpenSSL 0.9.8k 25 Mar 2009
$ 

TCP 22番以外のポートにSSHサーバを導入する

まずは、デフォルトポートと変更先ポートを確認します。
変更先ポートは、なるべく大きい番号で未使用で類推されにくい番号を使うのが良いでしょう。

$ nmap -p 22 localhost 2> /dev/null | grep 22
22/tcp open  ssh
$ nmap -p 60022 localhost 2> /dev/null | grep 22
60022/tcp closed unknown
$ 

Ubuntuでは、/etc/ssh/sshd_configを下記のように修正します。

$ sudo bzr diff
=== modified file 'ssh/sshd_config'
--- ssh/sshd_config	2010-05-15 10:00:46 +0000
+++ ssh/sshd_config	2010-07-06 12:26:58 +0000
@@ -2,7 +2,7 @@
 # See the sshd(8) manpage for details
 
 # What ports, IPs and protocols we listen for
-Port 22
+Port 60022
 # Use these options to restrict which interfaces/protocols sshd will bind to
 #ListenAddress ::
 #ListenAddress 0.0.0.0

$ 

sshdを再起動して、ポートを再確認し、新しいポートで接続してみます。

$ sudo /etc/init.d/ssh restart
 * Restarting OpenBSD Secure Shell server sshd
   ...done.
$ nmap -p 22,60022 localhost 2> /dev/null | grep 22
22/tcp    closed ssh
60022/tcp open   unknown
$ ssh -p 60022 localhost
user@localhost's password: 
$ 

考察

ポート変更は、簡単にできるところが良いところです。
デフォルトポート前提のシェルやプログラムをたくさん持っている場合は、そもそも選択できないですね。
また、ポート変更は、ポートスキャンでポートを特定されたらそれまでです。
IDSと組み合せることで攻撃を検知できるようになりますが、検知した攻撃に対応する管理者が常時対応できるようになっていないと意味がありませんし、ポートスキャン以外でもポートを特定する方法がない訳けではありません。

SANSが紹介した方法は、全部で八つあるので全部やってみようと思っていますが、一度に全部やるのは、ちょっとたいへんなので、残りは、また今度...