このときに設置した Crazy Bone ですが
あっという間に何万という不正アクセスの試みが記録されていました。
これはおそろしい。
放置してみた
ただ、
「これはおそろしい」より
「これはおもしろい」の方が大きかったので、
特に防止策はとらずに放置してログを積み重ねてみました。
それを集計してみたら、いろいろ面白いものが見えたので書いてみます。
不正ログインのアクセス元
アクセス元の国と地域上位10件です。
Russian Federation | 57.79% |
---|---|
Taiwan; Republic of China (ROC) | 4.08% |
Japan | 3.76% |
Ukraine | 2.64% |
Turkey | 2.13% |
Seychelles | 1.99% |
Thailand | 1.76% |
India | 1.61% |
United States | 1.54% |
Mexico | 1.42% |
もう圧倒的にロシア。全体の57.79%。おそロ(自粛)
日本も3位に入ってました。
これは日本のサーバに置かれた日本語のブログだからなのか
日本にある多くのサーバが攻撃者の手に堕ちているのか。
6位の Seychelles というのはセーシェル共和国ですね。
アフリカ大陸から1,300kmほど離れたインド洋に浮かぶ115の島々からなる国家
ここです。
地図をズームアウトしてみたんだけど、引いても引いても海。
ズームアウトボタンを7回押したらやっとソマリアの一部が見えてきました。
この島国でいったい何が起きているのか。
ユーザーエージェント
不正アクセスに使われたユーザーエージェントの上位5件。
Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0 | 43.35% |
---|---|
Mozilla/5.0 (Linux; U; Android 2.2) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 | 39.74% |
Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0 | 13.54% |
Mozilla/3.0 (compatible; Indy Library) | 1.13% |
Opera/9.80 (Windows NT 6.1; U; ru) Presto/2.8.131 Version/11.10 | 0.39% |
なんと2位までで83%、3位まで入れたら97%。
もうこの3つをブロックしておけば大半の攻撃は防げるんじゃないかな。
- Mozilla/5.0 (Windows NT 6.1; rv:19.0) Gecko/20100101 Firefox/19.0
- Mozilla/5.0 (Linux; U; Android 2.2) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
- Mozilla/5.0 (Windows NT 5.1; rv:11.0) Gecko Firefox/11.0
狙われたユーザー名
不正ログインの試みに使われたユーザー名上位5件。
admin | 71.36% |
---|---|
administrator | 10.48% |
support | 5.53% |
msng | 3.95% |
adminadmin | 3.76 |
やっぱり admin が圧倒的だったけど、他のものも狙われてますね。
msng があるのは、ドメイン名を見ているのか、
かつて使われていたユーザー名だからなのか。
狙われたパスワード
これは多岐にわたるので、順位や割合より
どんな型のものがあるか、を見た方がおもしろいと思います。
たくさん狙われているということは
攻撃者の辞書に載っているということで、
もちろん危険であると同時に
使われがちであると思われるものですね。
-
そのまんま型
もうそのまんまじゃないか、というやつ。
- admin
- password
- pass
- test
など。
仮にテストのつもりであっても、
ユーザー名が admin でパスワードが password
なんてことにしちゃってるサイトがあったら即死です。 -
そのまんま型(亜種)
そのまんま型から、ちょっとだけ工夫したやつ。
- password1
- adminadmin
- passw0rd
こんな小細工は通用しない、ということですね。
-
alphanumeric 型
アルファベット順とか数字順とか同じ英数字の繰り返しとか。
- 12345
- abcdefg
- 7777777
- abcd1234
まあもってのほかです。
-
qwerty 型
キーボードの並び順をつかったやつ。
よく使われているキーボードの配列はこうなってますよね。1234567890
QWERTYUIOP
ASDFGHJKL
ZXCVBNMこの並びをパスワードとしてつかっているやつ。
- qwerty
- 1qaz2wsx
- fghjm
-
一般名詞型
だから辞書に載ってる言葉はダメだとあれほど。
- monkey
- soccer
- shadow
- falcon
6文字の単語が多いのは
「パスワードは6文字以上で」と指定してるサービスが多いからかな。 -
ここには書けない型
- (アルファベット4文字)
- (アルファベット4文字)you
お察しください。
-
ちょいひねり型
少し捻った文字列になってるのもよく狙われてました。
- letmein
Let me in ですね。 - trustno1
Trust No.1 だと思いますけど、このパスワードで何を信頼 (trust) しろというのか。
これ “Trust no one” (誰も信じるな) だそうです。The X-Files に出てきたそうで。 - 4815162342
LOST というドラマに出てきた謎の数字だそうです。知らんけど。
- letmein
2つめのは縦並びのキー。
1234567890
QWERTYUIOP
ASDFGHJKL
ZXCVBNM
3つめのはちょっと工夫してて
最後に1段ずらしてるんだけど、
1234567890
QWERTYUIOP
ASDFGHJKL
ZXCVBNM
そんなことしても無駄だということがわかります。
まあ何にしても、
短いのや推測可能な文字列やそれをちょっとひねったようなやつでは
突破される可能性が高いということですね。
そして栄えある第1位は
- batman
なぜかバットマン。しかも断トツ。
何かそういうエピソードあったかなあ。
これ理由わかる人いたら教えてください。
集計につかったやつ
WordPress のデータを使うんだから本当はプラグインにした方がよさそうだし
そもそも Crazy Bone のデータ集計なんだから
Crazy Bone の プロジェクトにまぜていただけるといいんだけど、
これ PHPMatsuri というハッカソンで書いたやつで
その後発表が控えていたので単体のアプリケーションとして作りました。
サンプルはこちら。
GitHub に置いてるので、
自分のとこでもやってみよう、という方は
ご自身の責任に基づいてご自由にお使いください。
いやそんなことより、何かマズいとこあったら教えてください。
対策するなら
不正アクセスを防止するプラグインもありますし、
WordPress やウェブサーバの設定である程度防ぐこともできますし、
それについては @wokamoto さんのブログが参考になるのでこちらへ。
いや「対策するなら」じゃなくて、ぜひとも対策してください。
このブログは興味本位でログ取ってみましたけど、よい子はマネしないでね。