WordPressのセキュリティ対策について
![セキュリティ鍵マーク](https://ac-as.net/wp-content/uploads/2019/05/hacker-1944688_1280.jpg)
このアカスブログはWordPressというブログシステムを利用しています。
しかしWordPressは有名なブログシステムのため常に外(主に海外)から不正なアクセスがあります。
WordPressを導入したシステムに必要最低限なセキュリティ対策を書いていこうと思います。
WordPressへの対策
![ノートパソコンで作業](https://ac-as.net/wp-content/uploads/2019/02/goriIMGL9697_TP_V.jpg)
WEBサーバのアクセス制限
wp-login.php
ブログシステムにログインする際にアクセスされるファイルです。
このファイルへのアクセスはIPアドレスなどでアクセス制限をかけておいた方がいいでしょう。
もしくは『WPS Hide Login』などのプラグインを導入してログインページのURLをランダムなものに変更して分かりにくくしておきましょう。
Nginxで制限をかける場合はlocationの評価順位と
location ~ \.php$ {
...
}
などのphpスクリプト起動用のlocation設定の評価順位を考慮して下さい。
場合によってはアクセス制限用location設定の中に、追加でphpスクリプト起動用の設定が必要になるかもしれません。
# location = での評価なのでマッチしたら他は評価されない
location = /wp-login.php {
allow xxx.xxx.xxx.xxx;
deny all;
fastcgi_pass unix:/var/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
# 評価順位的にwp-login.php以外はこっちが評価されるはず
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
wp-config.php
WordPressの設定ファイルです。
通常直接アクセスされて実行されても問題は起こりませんが、設定ミスなどでphpスクリプトが実行されない場合、中身がそのまま表示されてしまいます。
いずれにしても直接外部からアクセスできてしまうのは好ましくないのでアクセスは禁止しておきましょう。
以下はNginxの例です。
location = /wp-config.php {
deny all;
}
xmlrpc.php
WordPressの記事を外部ツールなどを使用して投稿する時に必要となるファイルです。
wp-login.phpと同じように頻繁に不正アタックを受けますので、必要ないのであればアクセスを禁止しておきましょう。
xmlrpc機能を使用している方はIPなどでアクセス制限をかけておくのが望ましいと思います。
色々な場所からツールで記事を投稿しているのでxmlrpc.phpファイルへのアクセスは必要でありIPでのアクセス制限が難しい方はセキュリティ的にかなり危険だと思います。
wp-adminディレクトリ以下
ブログのシステムにログインした後に使用されるファイル群です。
基本的にこのディレクトリ以下に対してはIPアドレスなどでアクセス制限をかけておいた方が良いと思います。
Nginxで制限をかける方はlocationの優先順位に気を付けて設定を行って下さい。
location ~ /wp-admin {
allow xxx.xxx.xxx.xxx;
deny all;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/www.sock;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
}
WordPressの更新
脆弱性が発見されて対応されることがありますので、WordPress本体やプラグイン、テーマなどは常に更新しておくことをおすすめします。
脆弱性をそのままにしておくとWordPressを乗っ取られてしまう危険性が非常に高くなります。
サーバOSへの対策
![シェルのコマンドライン](https://ac-as.net/wp-content/uploads/2019/04/bash-148836_1280.png)
ポートへのアクセス制限
サーバで動いているサービスが使用しているポートへのアクセス制限をかけておきましょう。
ロードバランサーを通してWEBサーバへアクセスする構成になっているのであれば、WEBサーバへの通常アクセスはロードバランサーからのアクセスに制限するのが良いでしょう。
また、サーバへのSSHポートへのアクセスもIP制限するか、最低限ポート番号を変更しておきましょう。
クラウド上のサーバであればサーバのサービスごとにアクセス制限をかけなくても、インスタンスへの通信を制限する機能(AWSでいうとセキュリティグループの設定)がありますので、そちらでまとめてアクセス制限をかけるのが楽だと思います。
システムの更新
常にシステムは最新のものに更新しておきましょう。
ほとんどの方はパッケージ管理システムを用いて必要なサービスを導入していると思いますので、導入したパッケージに更新がないか定期的にチェックするのが良いと思います。
システム導入時のままシステムを放置することのないように気を付けましょう。
まとめ
![セキュリティ鍵マーク](https://ac-as.net/wp-content/uploads/2019/05/hacker-1944688_1280.jpg)
システムを乗っ取られてからでは遅いですので、セキュリティ対策は最初から意識しておきましょう。
また脆弱性対策のためシステムのメンテナンスは怠らないようにしましょう。
関連記事
![シェルのコマンドライン](https://ac-as.net/wp-content/uploads/2019/04/bash-148836_1280-100x100.png)
【Linux】Postfixへの不正なアクセスログを監視し自動的にiptablesで遮断する
Postfixを立ち上げていると結構な数の不正な接続が頻繁にログに記録されていま ...
![サイバー犯罪](https://ac-as.net/wp-content/uploads/2019/05/hack-813290_1280-100x100.jpg)
アカマイが不正ログイン攻撃に関する調査結果を公表
アカマイ(Akamai)は動画や音楽などのストリーミングサービスへの不正ログイン ...
![セキュリティ鍵マーク](https://ac-as.net/wp-content/uploads/2019/05/hacker-1944688_1280-100x100.jpg)
7payに学ぶセキュリティを意識した設計の大切さ
7payの不正利用のニュースが世間で話題になっています。 7payの事件からセキ ...
![ブロガー ブログ 執筆 パソコン ワードプレス](https://ac-as.net/wp-content/uploads/2019/08/wordpress-923188_1920-100x100.jpg)
【5000円~】WordPress開設作業や保守業務等のサーバ関連作業を代行致します
※現在は新規依頼を受付けておりません。受付再開時期は未定です。 ブログを始めたい ...
![WordPressロゴ](https://ac-as.net/wp-content/uploads/2019/06/wordpress-1810479_1280-100x100.jpg)
FlamingoとPing Optimizerの併用は注意が必要
Ping Optimizerは記事投稿時だけpingを送信してくれる便利なWor ...