はじめに
WordPressの勉強に、AWSハンズオンのWordPressインスタンスをそのまま利用していました。その後、WordPressにログインすると、身に覚えのない英語の記事が増えていました。その後、放置していたら、AWSから、EC2の不正利用レポートが届きました。
使用していたインスタンスの詳細
- OS
- Amazon Linux AMI release 2016.09
- Apache(httpd)のバージョン
- 2.2.34
- MySQLのバージョン
- 5.5.62
- PHPのバージョン
- 5.3.29
- WordPressのバージョン
- 4.7.2
WordPressの乗っ取り
WordPressに1週間ぶりにログインすると、見慣れない記事が増えていました。
簡単なパスワードだったので急いで変更し、ログイン履歴の確認できるCrazy Boneをインストールし、ログイン履歴を確認すると、インストールして約20分ほどで8件のアタック履歴が出てきました。
上記の状況を見て、IP Geo Blockを使用してJPドメイン以外の閲覧と管理画面のログインを禁止しました。
その後、自分の元記事のページを見てみると、不正スクリプトや別のページにジャンプさせる命令が記述されていました。
身に覚えのないスクリプトを削除した後、一安心と思い放置していました。
Amazonから、不正利用のメールが届く
WordPress乗っ取りから、1週間が過ぎた頃、Amazonから、Your Amazon EC2 Abuse Report
という件名のメールが届きました。
自分が使用しているインスタンスのIPアドレスから、ブルートフォース攻撃とDoS攻撃をしている報告が来ました。
勉強用で消しても問題がないので、急いでインスタンスを削除し、このメールにI stopped and deleted the corresponding EC2.
(該当のEC2を停止&削除しました)と送信しました。
反省点
インスタンスのセキュリティグループ
勉強用で自分しか使わないのにSSHとHTTPが全世界に公開(0.0.0.0/0)していたので、マイIPに設定する。
改ざんされていた時点でインスタンスを停止する
WordPressの改ざんが確認された時点で該当のインスタンスを削除し、新しく作り直すことをしていれば不正利用メールが来なかったと思います。
ソフトウェアのアップデートをして最新バージョンにする
使用していたWordPressのバージョンが古く、脆弱性から踏み台にされたので、脆弱性を減らすためにも、ソフトウェアのアップデートは重要だと思いました。
WordPressのセキュリティプラグインを導入する
ダッシュボードにログインするアドレスを変更したり、ログイン時にCAPTCHA認証が必要にしてボット攻撃に抵抗する必要があります。
パスワードを簡単なものにしない
最初に指定されている複雑なパスワードをそのまま使用するほうが、セキュリティが高い気がします。
さいごに
定期的に自分のサイトやインスタンスを確認して、改ざんや脆弱性がないかを確認する事が重要だと思いました。アタックはボットで無差別に行われているので、常にソフトウェアを最新の状態にして、脆弱性を減らすことが重要です。