WordPressのセキュリティ対策の基本のキ
「WordPressを使ってサイトを立ち上げたぞ!」と感動した後に、「でも、セキュリティ対策は大丈夫かな?」と心配になる人も多いのではないでしょうか。インターネットでWordPressのセキュリティ対策について調べると、多くの情報を手に入れることができます。情報が多すぎてどれが正解か分からなくなると思いますが安心してください。ほとんどが、有益な情報です。ですので、収集した情報の内で「これはやっておこう、真似してみよう」と思ったものは是非試してみてください。
話として、これで終わってしまっては面白くないため。今回は、悪意を持つユーザーが脆弱なサイトの有無の調査を行う段階で、どのようなアクセスを行ってくるかを考慮したセキュリティ対策をご紹介したいと思います。
今回ご紹介するのは「管理者ダッシュボードのログイン画面」のセキュリティ対策です。
WordPressにはサイトの設定やコンテンツ管理のために管理者ダッシュボードが用意されています。もし、悪意を持つユーザーがこの管理者ダッシュボードにアクセス出来てしまった場合、バックドアなどの不正なファイルをアップロードされる。サイトの管理者が知らない内にサイトを改ざんされる。など、結果的にサイトの信頼性が損なわれる、運用管理の責任が問われるといった被害が生じます。
だから、「管理者ダッシュボードは、アクセスすることを許可された人のみが、アクセスできる状態を維持する」ことが大切です。そこで、管理者ダッシュボードに入るためのログイン画面自体を、悪意を持つユーザーがアクセスできないようにするために対策をしていきます。
主に以下の対策が考えられます。
- IP制限をかける
- クライアント証明書を用いる
- BASIC認証をかける
- ログインページのURLを変更する
企業で運用するサイトであれば、固定IPの保有や費用という問題も解決できるため、IP制限をかけることやクライアント証明書を用いる対策を取ることは可能ですが、個人で運用している場合は難しいかもしれません。
なので、個人で運用している場合の対策としては、BASIC認証の設定とログインページURLの変更をお勧めします。
管理者ダッシュボードのログイン画面のURLはデフォルトで「https://サイトURL/wp-login.php」です。このURLにBASIC認証をかけるには、ファイル「.htpasswd」に認証情報を記載する。そして、ファイル「wp-login.php」が配置されているディレクトリにある、ファイル「.htaccess」に以下の内容を追記します。その後、ブラウザなどでアクセスしBASIC認証が要求されたら設定は成功です。
<Files wp-login.php>
AuthType Basic
AuthUserFile "ファイル「.htpasswd」のパス"
AuthGroupFile /dev/null
AuthName "Member Site"
require valid-user
</Files>
次に、「ログインページのURLを変更する」です。先述の通り、WordPressの管理者ダッシュボードのログイン画面のURLはデフォルトで「https://サイトURL/wp-login.php」です。これは、WordPressのことを少し触ったことがある人であれば、ほとんどの人が知っています。ましてや、悪意を持つユーザーであれば猶更知っている事実です。筆者の経験でもWordPressでサイトを立ち上げてから二日後には、海外IPから「wp-login.php」へのアクセス試行が複数回あり、「本当に攻撃してくるんだ」と結構驚きました。であれば、そもそも管理者ダッシュボードのログイン画面のURLをデフォルトから変更する、正確に言えば「https://サイトURL/wp-login.php」ではアクセスできないようにした方が良いです。
対応方法としては、該当の設定が可能なプラグインを利用することです。例えば、「SiteGuard WP Plugin(https://www.jp-secure.com/siteguard_wp_plugin/)」は国産のプラグインであり、日本語マニュアルがあるので使いやすいくておすすめです。
今回は、「WordPressの管理者ダッシュボードに不正アクセスされないか心配」という観点から、「ログイン画面へのアクセス」のセキュリティ対策についてお話しました。セキュリティ対策は最初から完璧を目指そうとすると大変です。小さいことから一歩ずつでも、対応していくことが大切です。