※ この記事は 2024/04/05 に投稿され、 2024/04/05 に内容が更新されています
Web サイトのセキュリティは非常に重要です。
特に WordPress のような人気のある CMS を使用している場合、攻撃者のターゲットになる可能性が高くなります。
そのため、セキュリティ対策は必須です。
ModSecurity は、WordPress を運用している Apache など Web サーバにおけるセキュリティ強化のための優れたソフトウェアです。
本記事では、 ModSecurity を使って Apache で運用している WordPress のセキュリティを強化する方法と、その効果について詳しく説明します。
利用環境は Ubuntu Server 22.04 / Apache 環境となります。
ModSecurity を使って Web サーバのセキュリティ強化を
ModSecurity は WAF として知られるツールで、 Apache をはじめとした Web サーバ上で動作します。
このソフトウェアは、攻撃を検知してブロックすることができるため、 WordPress のセキュリティを強化するのに非常に役立ちます。
ModSecurity は、 SQL インジェクション、クロスサイトスクリプティング (XSS)、リモートコード実行などのよく知られた攻撃パターンを検出し、ブロックすることができます。
WAF には「ソフトウェア型」「アプライアンス型」「クラウド型」と種類がありますが、 ModSecurity は「ソフトウェア型」であり、なおかつ OSS のため無料で利用することができます。
当サイトは Cloudflare の無料版 WAF を利用しているのですが、残念ながらそれをもってしても、攻撃的なアクセスがあるという状況です。
そのため ModSecurity を導入することにしました。
※ 「IP アドレスは隠すべし」という批判はありましょうが、明らかに攻撃的意図があるアクセス元なので、そのまま晒しています
Apache 上の WordPress に ModSecurity を導入する手順
ModSecurity を Apache に導入するためには、まずはじめに ModSecurity をインストールする必要があります。
次に Apache の設定ファイルで ModSecurity を有効化し、ルールを追加します。
これにより、ModSecurity が WordPress のリクエストを監視し、検出した攻撃をブロックすることができます。
また、ModSecurity のログ機能を有効にして、攻撃の詳細情報を確認することも重要です。
ただ、私はインフラエンジニアということもあり、脆弱性が発見されたら即パッチをあてるやバージョンアップの対応したいので、 Apache をソースからインストールしています。
なので、 ModSecurity もソースからインストールすることになります。
ModSecurity の導入による WordPress セキュリティ向上の効果
ModSecurity を導入することで、WordPress のセキュリティと防御力を大幅に向上させることができます。
ModSecurity は攻撃の検出とブロックを自動的に行うため、攻撃者の害悪なリクエストを阻止することができます。
これにより、WordPress の脆弱性を悪用した攻撃やデータ漏洩を防ぐことができます。ModSecurity のルールセットを適切に設定することで、独自のセキュリティポリシーを実装し、WordPress のセキュリティを最適化することも可能です。
ですが、誤検出も多いです、、というのが実情です。
ModSecurity の恩恵を受けるための WordPress の最適な設定
誤検知が多いと述べましたが、そのまま CRS を WorsPress に適用するとどうなるか見てみましょう。
記事を投稿あるいは編集してみます。
攻撃と思われるアクセスを検出すると、ログに以下のようなルールセットの名前と ID が刻まれます。
この場合のルールセットは RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf で ID が 949110 になります。
ルールセット自体の読込みをやめる or ルールを除外するユーザ設定を追加しましょう。
ルールセットを読み込まない方法が確実ですが、その分セキュリティも下がるため、可能であれば ID を特定してルールだけを除外する方が良いです。
まとめ
ModSecurity を活用するためには、 WordPress の設定も最適化する必要があります。
まず、常に最新のWordPress バージョンを使用し、セキュリティパッチを定期的に適用することが重要です。
また、不要なプラグインやテーマを削除し、セキュリティの脆弱性を減らすことも必要です。さらに、強力なパスワードポリシーを設定し、二要素認証を有効化することも推奨されます。
これらの設定は、ModSecurity との相乗効果を生み出し、WordPress のセキュリティをより強固にします。
ModSecurity を使って Apache 上の WordPress のセキュリティを強化することは、ウェブサイトの安全性を向上させるために重要です。
本記事では、ModSecurity の導入手順やその効果、WordPress の適切な設定について説明しました。
Apache 上で WordPress を運営している場合は、是非 ModSecurity を導入してセキュリティを強化してください。
ユーザ設定が面倒なところもありますが、ウェブサイトへの攻撃から保護するために、 ModSecurity は重要なソフトウェアとなるでしょう。
コメント