始めに
ワードプレスを使っていたら、ブログがハッキングされて乗っ取られそうになりました。注意喚起と対策まとめです。
コンテンツ
ワードプレスの危険性
デフォルト状態のWordPressではURLさえ分かれば誰でもログイン画面に到達できるのですが、このURLもデフォルトで一意に決まっているため、誰でも管理画面に入れます。
こうなると列挙式のハッキング攻撃などにより容易に管理画面に侵入されてしまい、サイトを乗っ取られたり改竄されてしまったりしてしまいます。
自分が被害に遭ったのはbotをつかったハッキング攻撃で、不正なユーザーに管理権限が与えられていました。対策を怠った自分の不始末ですが、幸いにも攻撃は自動的かつ網羅的にワードプレスのサイトに行われているもので、登録したきりでサイトに対する操作(締め出し、乗っ取り、改ざん)などはなされずに放置されたままでしたが、肝を冷やしました。
主な攻撃
さまざまなハッカーの攻撃方法があります。
たとえばSQLインジェクションは、攻撃者がデータベースに対するコマンドを不正に入力し実行させる攻撃です。防ぐためにデータベースへのアクセス権限の制限などの対策が必要です。
またクロスサイトスクリプティング(XSS)は、悪意のあるスクリプトをWebページに注入し、他ユーザーのブラウザでスクリプトが実行される攻撃です。こうなると乗っ取ったサイトが犯罪に利用されます。
私がやられたと思われるブルートフォース攻撃は、総当たりでパスワードを列挙してアカウントへの不正アクセスを試みるやり方です。
これらには対策が必要です。
対策
FTPの設定
FTPはクライアントとサーバー間でファイルを転送する通信プロトコルです。
FTPはワードプレスの管理者はパーミッションの設定をときどきプラグインなどの都合からいじる事があるのですが、ここでファイルの編集権限をオープンにしておくと致命的な攻撃を受けやすいため、編集したあとで推奨設定に戻すよう心がけましょう。
htaccessは「604」か「606」、wp-config.phpは「400」か「600」、その他のディレクトリは「705」その他のファイルは「604」になっていることを確認しましょう。
ファイルのオーナーのみが読み込むことが出来る「400」が最も安全な設定です。「777」「666」などに設定した場合、誰でも書き込めるようになってしまうので、もし必要があってもごく短い間にとどめましょう。
SSL
サイトの通信をSSL化(https化)で暗号化することで、通信データ保護することができます。
ワードプレスではプラグインの「Really Simple SSL」を使えば、サイトをSSL化できます。前提としてサーバー側でSSL証明書を取得しておくことが必要です。Google はランキング シグナルとして HTTPS を使用しており、SSL化の実装はSEO的にもマストです。
ぶっちゃけSSL化に関しては初心者でも怠ることはないでしょう。
ログイン画面の管理
我々初心者が怠りやすいのがログイン画面のセキュリティ対策です。デフォルト状態のWordPressではURLさえ分かれば誰でもログイン画面に到達できるのですが、このURLもデフォルトで一意に決まっているため、誰でも管理画面に入れます。ここで種々の対策が要請されます。
不正ログインを防ぐために、パスワードの複雑化、ログイン画面のURL変更、ログイン試行回数制限、画像認証、二段階認証、二要素認証の設定が必要です。
SiteGuard WP Pluginなどのプラグインを使えば、ログイン画面のURL変更、画像認証などが容易に設定できます。
ただ今はどんどんbot攻撃の精度が上がっているため、ログインURL変更や画像認証はかなり気休めレベルの対策です。それだけでは不十分な効果が得られません。とりわけ優先的に取り組むべきは二要素認証です。
二要素認証(2FA)は、2つの異なる認証方法を組み合わせて使用する手法です。導入を推奨するのがTwo Factorプラグインです。これはスマートフォンなどの別の端末を利用した、ワンタイムパスワードによる認証を追加することを可能としてくれます。
Two-Factor 設定ですが、ユーザー管理画面から操作できるのですが、ここでメインの方法を「認証アプリ」、サブの設定を「メール」にするのを推奨します。メールをメインにすると、なぜか認証メールが届かないことが数多くなり、サイトから締め出されてしまって、レンタルサーバーの方からデータベース上のファイルの名前を書き替えたりしてプラグインを無効化しなくてはいけなくなります(私以外にも多く報告されています)。
サーバーの設定
契約しているレンタルサーバー上でセキュリティの強化が可能です。レンタルサーバーにサービスに違いがあります。
自分が用いているロリポップでは、ロリポップの管理画面からWAF(ウェブアプリケーションファイアウォール)により、ウェブアプリケーションのやり取りにおける不正侵入を防ぐことができます。



コメント