WP Cerber と NGINX による WordPress の強化
この 2 つを組み合わせることで、あらゆるサイトの防御を劇的に向上させることができます
English version: Hardening WordPress with WP Cerber and NGINX
NGINXは無料のオープンソースの高性能 HTTP サーバーです。 WP Cerber は、WordPress を利用したサイトを侵入者やハッカーから保護する無料のオープンソース セキュリティ プラグインです。
WP Cerber と NGINX を併用して WordPress を強化する方法
まず、カスタム ログイン URLを設定し、 Block direct access to wp-login.php and return HTTP 404 Not Found Errorをチェックする必要があります。ここで詳細を確認してください: wp-login.php の名前を変更する方法。セキュリティ上の理由から、カスタム ログイン URL を「login」または「wp-admin」として設定しないでください。
次に、NGINX 構成ファイルで wp-login.php ファイルへのアクセスをブロックする必要があります。デフォルトでは、このファイルはディレクトリ /etc/nginx、/usr/local/nginx/conf、または /usr/local/etc/nginx に配置されます。
サイトの NGINX 構成ファイルのサーバー セクションに次の行を追加します。
場所 /wp-login.php { return 404; }
サイトで XML RPC を使用していない場合は、次の行も追加することを強くお勧めします。
場所 /xmlrpc.php { return 404; }
最後に、攻撃者の試みや愚かなボットによる自動化された試みによって、サイトとサーバーが過負荷になるのを防ぎます。インバウンド リクエストのレートを制限する NGINX の機能を使用して実行してみましょう。レート制限を使用すると、特定のしきい値を超えてインバウンド リクエストのレートを下げることができます。
メイン構成ファイルnginx.confを開き、 http セクションを見つけます。その中に次の行を追加します。
limit_req_zone $binary_remote_addr zone=main:10m rate=60r/m;
次に、サイトのサーバー セクションに戻り、次の行を見つけます。
位置 / {
中括弧を開いた後に次の行を追加します。
limit_req zone=main burst=10 nodelay;
構成ファイルで行った変更は、構成をリロードするコマンドがnginxに送信されるか、再起動されるまで適用されません。新しい構成をロードするには、サーバーのコマンドラインで次を実行します。
サービス nginx リロード
終わり!
これで、バックエンド サーバー (おそらく Apache を使用) はリラックスできます。これらのいくつかの簡単な手順により、「悪い要求」からインバウンド トラフィックをクリーンアップし、サーバーのリソースが「正しい要求」を処理できるようになります。