3ヶ月ほど前にサクラVPSで契約してうっかり放置したままのサーバを発見しました。
ちなみにこのサーバ、契約時のままの状態でWebサーバやDBサーバ等は一切起動していません。
IPアドレスのDNS登録もされていないので、インターネット上にポツンと放置された空き家のような存在です。
そんなサーバでも/etc/log/secureファイルをみるとありとあらゆる攻撃にさらされているんですね。
※幸い悪用されていませんでした、レンタルサーバ契約時は迅速にセキュリティ対策しましょう。

せっかくなのでこの1ヶ月の攻撃ログをまとめてみました。

1ヶ月の間に受けた攻撃回数は?

15239回!!

恐ろしい数字ですね、3秒に1回家がドロボーに狙われてるわけです。

どこのサーバから攻撃されてる?

一体どこから攻撃されてるのでしょう?
IPアドレスをもとに攻撃元の国ランキングを作成しました。以下がTop20の結果です。
※攻撃者はProxyサーバを経由したりするので厳密には攻撃元の国を判別するのは難しいですが、参考まで。

順位 国名 攻撃回数
1位 China 12322
2位 Bhutan 738
3位 Taiwan Province of China 604
4位 Not Found 337
5位 Japan 316
6位 Russian Federation 198
7位 Sweden 119
8位 Rwanda 91
9位 Italy 82
10位 Switzerland 72
11位 Republic of Korea 66
12位 United States 60
12位 Malaysia 60
14位 Argentina 41
15位 Hong Kong 30
16位 Brazil 28
17位 Netherlands 16
18位 France 14
19位 Viet Nam 11
19位 India 11

中国恐るべし、、、3秒に1回のサーバ攻撃の80%中国からのアクセスです。
2位がブータン、マイナーな国なので意外でした。
日本もなかなか健闘(?)してますね、第5位です。

どのアカウントが狙われてる?

ではサーバーはどのユーザで攻撃を仕掛けているのでしょうか?
こちらもTop20を出してみました。

順位 ユーザ名 攻撃回数
1位 root 12528
2位 postgres 161
3位 test 98
4位 oracle 89
5位 admin 86
6位 git 76
7位 teamspeak 66
8位 minecraft 53
9位 nagios 51
10位 ts 46
11位 ubnt 41
11位 teamspeak3 41
13位 guest 39
14位 ts3 37
14位 zabbix 37
16位 user 33
17位 deploy 30
18位 info 27
18位 ftpuser 27
20位 testuser 25

やはり圧倒的にrootユーザでのアクセスを狙われてますね、あとはDBインストール時に作成されるoracleやpostgres、一般的にありがちなtest、guest、user、infoあたりが狙われていますね。gitが6位に来てるのも興味深いです。独自でgitサーバを立てる人が多いということでしょう。

日本にあるサーバを攻撃するということで日本人の苗字や名前もよく使われていました。
攻撃に不正使用されたお名前Top20は以下の通りです。

順位 ユーザ名 攻撃回数
50位 kenji 6
71位 chihiro 5
71位 sato 5
94位 abe 4
94位 ogura 4
127位 tsuchiya 3
127位 kashima 3
184位 ai 2
184位 uehara 2
184位 ami 2
184位 eli 2
184位 aoi 2
184位 kojima 2
184位 arai 2
184位 ando 2
184位 akane 2
184位 miura 2
184位 aoki 2
184位 ayaka 2
184位 chiba 2

トップはkenjiさんでした!!苗字のトップはsatoです、日本の苗字を良くわかってますね、あとsuzuki、takahashiあたりが来ると完璧ですが。。
他に女性の名前も随分使われてますね、アカウントにこれらの名前のユーザを使っているサーバはお気をつけください。

どうやって攻撃をかわす?

では、これだけ頻繁に行われる攻撃にどう対処したら良いでしょう?CentOS6の設定例を少し紹介します。

まず圧倒的に狙われるrootユーザ、これはガッチリ守りましょう。

rootでのパスワードログインを禁止します。
/etc/ssh/sshd_configファイルに以下の設定をしてください。

PermitRootLogin no

設定後

# service sshd restart

で変更を反映させてください。
※rootユーザになるには一旦一般ユーザでログインしてからsuコマンドでrootになります。

可能ならばパスワードでのログインは全面的にブロックすることをお勧めします。
パスワード防御のみのサーバ運用は家の扉にナンバー鍵だけをぶら下げて防犯しているのと同じことです。
できればちゃんとした鍵をつけたいですよね。

公開鍵認証方式を使用して、パスワードによるログインを全面禁止します。
/etc/ssh/sshd_configファイルに以下の設定をしてください。

PasswordAuthentication no

設定後

# service sshd restart

で変更を反映させてください。

※公開鍵認証でログインできる事を確認してから行ってください。