WP Cerber と NGINX で WordPress を強化する
これら2つを連携させることで、あらゆるサイトの防御を劇的に向上させることができます。
English version: Hardening WordPress with WP Cerber and NGINX
NGINXは、無料のオープンソースの高性能 HTTP サーバーです。WP Cerber は、WordPress で動作するサイトを侵入者やハッカーから保護する、無料のオープンソースのセキュリティ プラグインです。
WP Cerber と NGINX を併用して WordPress を強化する方法
まず、カスタム ログイン URLを設定し、 wp-login.php への直接アクセスをブロックして 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 { 404 を返します; }
最後に、攻撃者の試みや愚かなボットによる自動的な試みによってサイトとサーバーが過負荷になるのを防ぎます。NGINX の機能を使用して、受信リクエストのレートを制限しましょう。レート制限により、特定のしきい値を超える受信リクエストのレートを遅くすることができます。
メイン設定ファイルnginx.confを開き、 http セクションを見つけます。その中に次の行を追加します。
limit_req_zone $binary_remote_addr ゾーン=メイン:10m レート=60r/m;
次に、サイトのサーバーセクションに戻り、次の行を見つけます。
位置 / {
開き中括弧の後に次の行を追加します。
limit_req ゾーン=メイン バースト=10 ノードレイ;
設定ファイルに加えた変更は、設定を再読み込みするコマンドがnginxに送信されるか、nginx が再起動されるまで適用されません。新しい設定を読み込むには、サーバーのコマンド ラインで次のコマンドを実行します。
サービス nginx 再読み込み
終わり!
これで、あなたとバックエンド サーバー (おそらく Apache で稼働) は安心できます。これらの簡単な手順により、「不正なリクエスト」からの受信トラフィックをクリーンアップし、サーバーのリソースが「正しいリクエスト」に対応できるようになります。