CentOS

借りているVPSのログを見ているとSSHへのブルートフォースアタックが多いことに気がついた。

対象のログファイルは
[code]/var/log/secure[/code]
このファイルのサイズが大きい場合、ブルートフォースアタックを疑った方が良い。

実際の中身はこんな感じ。
[code]Dec 24 15:20:03 softkoubou.com sshd[29811]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=*.*.*.* user=root
Dec 24 15:20:06 softkoubou.com sshd[29811]: Failed password for root from *.*.*.* port 43119 ssh2
Dec 24 15:20:06 softkoubou.com sshd[29812]: Received disconnect from *.*.*.*: Bye Bye[/code]
※アタック元のIPは念の為*表示


ファイルの中のログを確認すると、あらゆるユーザー名を使ってログイン仕様としている事がわかる。
rootだけではなく、bash gmps admin などの別ユーザー名でもログインを試行しているみたい。


数秒おきに繰り返されているので、これらのアタックの対策を考える事にする。


対策として思いつくのは
1.rootでのログイン禁止
2.SSHポート番号の変更
3.SSHログインに認証鍵の導入
4.アタックホストの拒否(Denyhosts)
位かな。


取りあえずrootでのログインを禁止しておく。

以下、設定方法。

(1)ログイン用のユーザー作成
ユーザーはrootにsu出来るようにwheelグループに所属させる。

[code]# useradd hogehoge -G wheel
# passwd hogehoge
Changing password for user hogehoge
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.[/code]

(2)SSHの設定でrootのログインを不可
[code]# vi /etc/ssh/sshd_config
PermitRootLogin yes → no[/code]
でSSHのサービスを再起動する。
[code]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ][/code]

以上でrootのログインを拒否出来るの。
SSHを利用する場合は、(1)で作成したユーザーでログイン後、rootにsuすればOK


他の方法はまた今度時間のある時に書く!