- 2014-8-19
- Update 2018-5-7
- Wordpress
ブルートフォースアタックに備える。
みなさんこんにちは!ミュンヘンのWeb担当mak utsunomiya(@munchen_stil)です!今回の記事は、サイトへのテロ攻撃とも呼べる、ブルートフォースアタックの防御方法です!
総当たり攻撃とは、暗号や暗証番号などで理論的にありうるパターン全てを入力し解読する暗号解読法。人間による操作ではとても気が遠くなるほどの時間と肉体的・精神的な負荷がかかるような回数の計算をコンピュータにまかせ、時間の許す限りパスワードの検証等を行う行為がコンピュータセキュリティ分野で良く知られている。時間的制約が無い限りは、確実にパスワードをクラックする方法である。
ブルートフォースアタック Wiki
2013年に起こったロリポップ利用者のWordPressサイトに大規模なブルートフォースアタックがあったのはあまりにも有名な話です。この時には多くのWordPressサイトが改ざんされ、沢山の被害が出ました。
私はロリポップさんでは、あまり利用していないサイトが一つあるくらいだったので実害は無かったのですが、大きな衝撃を受けたものです。
手塩にかけたサイトが飛んでしまったらと考えると・・・怖いですよね。
そんな事件も忘却のかなたに消えかけていたある日、趣味で運営しているブログに不正アクセスの形跡がありました。実害はなかったもののあまり気持ちの良いものではありません。
当サイトはログイン試行制限が自動付与されているエックスサーバーで運営しているので、必要ないかと思いますが、趣味サイトの方で導入してみたいと思います。
対策法
adminユーザーは危険
ブルートフォースアタックは、adminユーザーに対して行われていたようです、基本的にここを触る人が少ないという事なんでしょう。adminにしたままの方はすぐに変更しておいた方が良いかも知れませんね。
ログイン試行回数制限
また、ブルートフォースアタックは、複数回にわたってログインしようと試みるので、今回はログインに回数制限をかけるプラグインを試してみる事にしました。
Login Security Solution
ログインに制限をかけるプラグインは沢山出ていますが、長い間更新されていないものも多いです。セキュリティをかける為に導入しようとしているプラグインの脆弱性をつかれてしまうなどもってのほかなので、現時点で更新されているこのプラグインを導入する事にしました。
プラグインをインストールする前に、サイトのバックアップをとっておきましょう。
導入方法
- プラグイン新規追加
- Login Security Solution 検索
- インストール > 有効化
- 設定 > Login Security Solution
導入後に上部に“パスワードを変更して下さい”的なメッセージが表れます。
パスワードを変更する場合は、上段のConfirm that you~にチェックを入れRequire All~ボタンをクリックして下さい。
すぐに変更しない場合は、下段のNo thanks~にチェックを入れ、Do not remind~ボタンをクリックして下さい。私はすぐにパスワードを変更しなかったので下段の方にチェックを入れました。これでメッセージが表示されなくなります。
設定方法
当サイトではすべてデフォルトで設定していますが、自サイトの運用方法により適宜変更してみて下さい。
Login Failure Policies
Match Timeログイン失敗データとのマッチングを何分前までのものとマッチさせるかの設定を行います。デフォルトでは120分になっていますが、設定時間以前のものは履歴は残りません。
Delay Tier 2
1個目のログイン失敗フィルターです。デフォルトでは5回になっていますが、指定回数失敗すると次にログインできるようになるまでに4~30秒程度時間がかかります。
Delay Tier 3
2個目のログイン失敗フィルターです。「Delay Tier 2」より大きい数字を入力しなければなりません。デフォルトでは10になっていますが、指定回数失敗すると「Delay Tier 2」より長い25~60秒間ログインできません。
Notifications To
ログイン失敗時にここで指定したメールアドレスに通知が来ます。何も指定していなければ、管理者用のメールアドレスに通知が来ます。
複数個指定したい場合にこちらでメールアドレスを記入して下さい。さらに複数のメアドに送信する場合は半角コンマで区切ってアドレスを記入して下さい。
Failure Notification
ここで指定された回数ログインに失敗するとメールが送信されます。0にすると通知はされないようになります。ブルートフォースアタックは短時間に複数回試行されるので、設定しておいた方が良いでしょう。デフォルトでOKです。
Multiple Failure Notifications
指定された回数のログイン失敗通知を、最初だけ送信するのか、その都度送信するのかの設定を行います。デフォルトでは最初の一回のみの送信となっていますが、こちらは自サイトに合わせて選択して下さい。
Breach Notification
最終的なログイン成功に拘わらず、ここで指定した回数ログインを失敗するとメールが送信されます。0にするとメール送信は行われません。
Breach Email Confirm
最終的なログイン成功に拘わらず、ここで指定した回数ログインに失敗するとパスワードを初期化するようになります。0にするとこの機能は無効になります。
Password Policies
Complexity Exemption
パスワードの複雑さ要件設定項目です。
Aging
パスワード変更出来るようになるまでの日数を設定します。設定をおすすめしないと書いてあります。
Grace Period
古くなったパスワードを変更するまでの時間を設定します。
History
過去のパスワードを保存するかの設定をします。
Miscellaneous Policies
Idle Timeout
ここで設定した時間何もしなければ自動でログアウトします。デフォルトでは15分になっています。
Maintenance Mode
管理者以外のログインを無効にします。デフォルトではすべてのユーザーがログイン可能になっています。
Deactivation
このプラグインを削除する場合はこちらでYes, delete the damn dataを選択して下さい。
まとめ
エックスサーバーはログイン試行回数制限がありますので、このようなプラグインは必要ないかもしれません。しかし、まだまだ多くのレンタルサーバーでセキュリティが万全でないのも現実です。
利用料金の安さだけでなくセキュリティにも気を配りながらサーバーを選ぶ必要があると思います。あわせて自衛での対策を施しておきましょう。
サイトが改ざんされるだけならまだしも、自サイトがスパムの温床になり他のネット利用者に迷惑をかける事の無いように、最低限できる事はやっておくようにしましょう。