私はWordPressで構築された、大企業やグローバル企業のサイト保守を担っている。
特にグローバル企業の担当直後は、DDos攻撃が多々しかけられたりして、サーバーが高負荷でアクセスできなくなったりして原因追及と対策を打ったりしていた。
私は担当していなかったが、知り合いのサイトのプログラムが改竄され、WordPress自体が破壊される状況も見てきた。
それもあって、セキュリティに関して改めて気を引き締めるとともに、最低限、これをすると良いと考える対策をまとめておく。
セキュリティの3要素
国際規格であるISO/IEC27000は、情報セキュリティという言葉を「情報の機密性、完全性、および可用性を維持すること」と定義しています。
機密性は、「必要な人だけが、必要な情報にアクセスできること」
完全性は、「正しいデータを担保すること、許可のない変更や改竄から守られていること」
可用性は、「必要とされる時に、しっかりとサービスにアクセスができ、利用できること」
これらを守ることがセキュリティの概念になります。
サイバーセキュリティのフレームワーク
NIST(米国立標準技術研究所)は、「NIST サイバーセキュリティフレームワーク(NIST Cybersecurity Framework:NIST CSF)」を公開し、サイバーセキュリティに関するガイドラインを整備してきた。
統治(GV)で戦略と方針を整え、どの対策を優先的に取り組むべきかの下記の意思決定をサポートすることになる。
事前対策
特定(Identify) : リスクの特定
防御(Protect) : リスクからの防御対策
検知(Detect) : 発生したリスクの検知
事後対策
対応(Respond) : 検知されたリスクの対応
復旧(Recover) : 元の状態への速やかな対応
WordPressのセキュリティプラグイン
WordPressでは主に2つのプラグインが人気だ。
これらは、事前対策(Identify, Protect, Detect)と事後対策(Respond, Recover)をほぼ全部を網羅してくれている。
Wordfence Securityと、
Solid Security です。
Active installations を比較する限りでは、Wordfence Securityが良さそうではある。
共通の必須機能
ほとんどのWordPressサイトは、脆弱なプラグイン、テーマ、WordPressコアファイルによって感染したり侵入されたりします。
セキュリティプラグインに必須ともいうべき機能は、下記などが挙げられる。
・マルウェアスキャン
・ファイアウォール
・IPブロック
・ブルートフォース攻撃防御
・2FA認証
・アクティビティログレポート
・バックアップ機能
Wordfence SecurityとSolid Securityの比較
この二つのプラグインで機能的な大きな違いはないが、細かい点を整理していく。
マルウェアスキャン
どちらも機能を備えています。
Wordfence にはマルウェア スキャナーがありますが、無料バージョンの有効性は 60% になります。マルウェア シグネチャも30日遅れで提供されるため、リアルタイムで取得するにはアップグレードする必要があります。
Solid Security は、プラグイン、テーマ、WordPress Core、Google セーフ ブラウジング、パスワードをスキャンします。設定で自動スキャンされます。ただし、スキャン時間は指定できないため、負荷タイミングが制御できないと可用性の担保がしづらくはなります。
マルウェア除去
Solid Securityはこの機能を有していません。
Wordfence には感染したファイルを削除または修復するオプションがありますが、有料プランに入らなければならず、なかなか悩ましいところです。
ファイアウォール
Wordfenceには、学習モードと保護モードの2つのモードを備えた優れたファイアウォールがあります。Wordfenceをインストールすると、ファイアウォールはまず学習モードで起動します。このモードでは、Wordfenceファイアウォールが、ウェブサイトの通常のトラフィックや訪問者がファイアウォールを通過する方法を理解します。これにより、不要なトラフィックをブロックし、脅威を効果的に防ぐことができます。
Solid Securityでは、独自のファイアウォールルールを作成するオプションが提供されています。このルールを利用して、特定の条件に基づき攻撃者をブロックすることができます。IP管理や設定の自動化など、ファイアウォール設定を細かく制御できるオプションも備わっています。
iptablesを操作するようなイメージで使えるのでLinuxユーザーには優しいかもしれないです。
Summary
結論として、Solid Securityの方がおすすめです。個人的ですが。
理由は、Wordfenceに比べてUIが分かりやすくヒューマンミスが起きにくい点、軽量なプラグインである点が挙げられます。
Wordfenceはたびたびサイト速度の低下が議題にあがってきますが、もし大量のトラフィックがこない、または耐えうるサーバースペックがあるなら、選択しても良いかなと考えます。
セキュリティ対策はプラグイン設定はもちろんのこと、特に脆弱性を叩かれたりもするので、定期的にウォッチする仕組みとアップデートがより重要です。