7脆弱性WordPressセキュリティプラグインはあなたから保護できません(そしてそれらを手動で修正する方法)
公開: 2025-01-27あなたがほとんどのWordPressユーザーと同じなら、おそらくあなたのウェブサイトを安全に保つのに役立つセキュリティプラグインをインストールしたでしょう。これは優れた最初のステップであり、特に2要素認証を有効にした場合、保護の多くを処理します。
しかし、私が最初のステップを強調したことに注意してください。多くの人がそれが彼らがとる必要がある唯一のステップだと思うので、私は故意にそれをしました。しかし、あなたがあなたのサイトのセキュリティを本当に気にかけているなら、それはそうすべきではありません。
良いニュースは、いくつかの軽い手動構成を使用すると、サーバーレベルでWordPressセキュリティを強化し、サイトを攻撃に対して大幅に耐性にすることができることです。追加のボーナスとして、あなたはそれをしている間、WordPressのセキュリティの専門家のように感じるでしょう - 間違いなくプロセス全体の最も重要な部分です。 😉
したがって、カジュアルなWordPressユーザーからProに変身し、Webサイトを防弾にする準備ができている場合は、始めましょう。
ツールボックス
信じられないかもしれませんが、これをやってのけるためには、3つの(おそらく4つの)ツールだけが必要になります。
- Sucuriサイトチェック:最初のスキャンを実行し、変更を確認するための無料ツール。
- セキュリティヘッダー:ウェブサイトのセキュリティ構成に関する詳細なフィードバックを提供する別の無料ツール。
- ホスティングコントロールパネルへのアクセス:私はCPANELを使用していますが、他の何かがある場合は何をすべきかについて説明します。
- テキストエディター(たぶん):ホスティングコントロールパネルにはおそらく組み込まれているため、これは必要ないかもしれませんが、念のためここにリストしています。
上記のリストから最も複雑なことは、CPANELにアクセスすることです。難しいことではありませんが、すべてのホスティング会社には独自の方法があります。これまでに行ったことがない場合は、それを理解する必要があります。
それにアプローチする最も簡単な方法(不確かな場合)は、ホスティング会社のウェブサイトの知識ベースにアクセスして「cpanel」を検索することです。それがあなたをどこにも連れて行かないなら、彼らのカスタマーサポートに手を差し伸べます。
最初のセキュリティチェックを実行します
サイトのコードをいじくり回す前に、まず、現在セキュリティを処理する方法を確認します。私があなたにあなたが非常に具体的であることを示すようにする変更は、あなたがあなたのサイトに実際に必要であることを確認したいです。
ほとんどの場合 - 特に共有ホスティングに依存している場合は、それらを作る必要があります。ただし、いくつかの高レベルのマネージドワードプレスホスティングプランでは、ホストがお客様に代わって調整を行う可能性があります。したがって、なぜこれらのスキャンを事前に実行することが重要です。
Sucuriサイトチェック
開始するには、Sucuriのサイトチェックツールにアクセスして、Webサイトアドレスをスキャナーに貼り付けてください。
[送信]をクリックして、Sucuriに魔法をかけさせます。
このチュートリアルの目的のために、標準のWordPress構成がどのように見えるかを(編集する前に)、個人的なサイトを意図的に保護していません。
ご覧のとおり、スキャンでは、典型的なWordPressセットアップで表示される5つのセキュリティギャップが明らかになりました。それらがすぐに何を意味するのかを説明します。
セキュリティヘッダー
Sucuriは私たちに良い鳥瞰図を与えてくれましたが、しばらくオタクになり、セキュリティヘッダーが言っていることを確認しましょう。最初のステップはSucuriとまったく同じです。ウェブサイトのアドレスをツールに入力または貼り付けて、スキャンをクリックします。
サイトの大きさに応じて、結果は1秒から…まあ、長いものまでのどこかにかかる可能性があります。 😅私の最初の結果は次のように見えました:
すべての赤い色と巨大なFは少し威圧的に見えるかもしれませんが、実際に非常に有用な情報を提供しています。これらの赤いマークはそれぞれ、あなたのサイトをより脆弱にするセキュリティヘッダーの欠落を指摘しています。
また、Wordfenceや他のセキュリティプラグインがサイトにインストールされている場合でも、これらの結果が表示されることを強調したいと思います。例外は、ホスティング会社または他の誰かがあなたの前に編集を行う場合です。
すべての赤い旗を理解する
次に、スキャンが見つけたすべてのものを整理しましょう。ツールの間にはいくつかの重複がありますが、それぞれがいくつかのユニークな問題をキャッチしました。
キャッチされた両方のツールを発行します
- Content-Security-Policyは完全に欠落しています。つまり、サイトにどのスクリプトやコンテンツがロードできるかを制御するものは何もありません。 ℹ️ これらのコントロールがなければ、悪意のあるコードを挿入してページに実行し、サイトや訪問者を損なう可能性があります。
- X-Frame-Optionsが欠落しているため、不正な埋め込みを介してサイトをクリックジャックの試みに対して脆弱にします。 ℹ️ ClickJackingは、攻撃者がユーザーをトリックして、目に見えないコンテンツの下で合法的なサイトを目立たせてレイヤー化することによって、見られるものとは異なるものをクリックするときです。
- Content-Type-Optionsは設定されておらず、MIMEタイプの混乱攻撃を可能にする可能性があります。 ℹ️ MIMEタイプの混乱は、ブラウザがあるタイプのファイルを別のタイプのファイルとして扱い、潜在的に有害なコードを実行するようにだまされたときに発生します。
Sucuriのユニークな発見🔍
- PHPバージョンはHTTPヘッダーに表示されます。 ℹ️ 攻撃者があなたのPHPバージョンを見ることができるとき、彼らはあなたのサイトに対してどの脆弱性が機能するかを正確に知っています - あなたのセキュリティシステムの青写真を持っているように。
セキュリティヘッダーの追加の洞察🔬
- リファラーポリシーはありません。 ℹ️ このポリシーがなければ、サイトは他のWebサイトにユーザーの閲覧パターンに関する機密情報をリークする可能性があります。
- 許可ポリシーは構成されていません。 ℹ️ これは、サイト上の任意のページが、訪問者のカメラ、マイク、または制限なしにロケーションデータへのアクセスを要求できる可能性があることを意味します。
- 厳格な輸送セキュリティがありません。 ℹ️ このヘッダーがなければ、サイトへの接続はHTTPSからHTTPに格下げされ、インターセプトに対して脆弱になります。
これらの問題を修正することの美しさは、すべての技術的な詳細を理解する必要がないことです。ソリューションを正しく実装するだけです。便利なことに、まさに私たちがやろうとしていることです。
サーバーファイルへの道を見つける
私のようにcpanelがあると仮定すると、ダッシュボードのファイルマネージャーをクリックしてください。
CPANEL以外のものを使用している場合は、FileZillaをダウンロードできます(無料で、使用方法に関するクイックガイドがあります)。インストールしたら、ホスティングダッシュボードからFTPの詳細を使用してサーバーに接続します。
- ホスト:
ftp.yoursite.com
- それがcpanelのFTPセクションの正しいアドレスであるかどうかを再確認してください - ユーザー名:
your-username
- パスワード:
your-password
- ポート:
21
- これがセットアップが使用しているポートであるかどうかを確認します(cpanelでFTP)
一部のホストは、同様に機能する可能性のある独自のCPANELの代替品を提供します。言い換えれば、Filezillaを絶対に使用する必要はないかもしれません。わからない場合は、カスタマーサポートに尋ねてください。
.htaccessファイルの検索
ログインすると、コンピューターのファイルブラウザのように見えるものが表示されます。 .htaccess
と呼ばれる特定のファイルを見つける必要があります。サーバーがさまざまなセキュリティ設定を処理する方法を制御します。それを見つける最も簡単な方法は、右上のCPANELファイルマネージャー検索機能を使用することです。 Filezillaユーザーは、同様の機能に頼ることができます。
ウィンドウに.htaccess
入力し、 [Go]をクリックします。
ホスティングアカウントにリンクされているWebサイトが1つしかない場合、これはかなり簡単です。複数のサイトがある場合は、これらの編集を作成するサイトに関連付けられている.htaccess
ファイルをクリックしていることを確認してください。
注意すべきもう1つの潜在的なTripwireの詳細は、単一のサイトのセットアップでも、他の.htaccess
-ishファイルがまだあるという事実です。基本的に、名前に.htaccess
があるが、他の単語や文字もあるファイル。
あなたはそれらのどれも欲しくありません。 .htaccess
と呼ばれるものだけが必要です。
セキュリティの問題を修正するために.htaccessファイルにコードを追加する
ファイルを見つけたら、編集する前にダウンロードする必要があります。このようにして、何かがうまくいかない場合は、フォルダーにアップロードできるバックアップがあります。
何もうまくいかないはずですが、あなたが知っているよりも安全である方が良いです。
バックアップが安全にダウンロードされたら、 .htaccess
ファイルの編集を続行できます。 CPANELのファイルマネージャーで、ファイルを右クリックして編集を選択します。 Filezillaを使用している場合は、右クリックしてビュー/編集を選択します。これにより、デフォルトのテキストエディターでファイルが開きます。
次の部分は、このミッション全体の頂点です。これは、少しの間、WordPressのセキュリティの専門家のように感じることができる場所です。それが続く間それを楽しんでください。
.htaccess
ファイルにコードをどこに配置しますか👨🏻💻
WordPressのインストールには、通常、 # BEGIN
と# END
で始まるコメントでマークされたいくつかのセクションがあります。
これを言う行を探してください:
# END WordPress
最も安全なアプローチは、この後すぐにセキュリティヘッダーを追加することです。正確な行が表示されない場合、または不確かな場合は、ファイルの最後にヘッダーを追加できます。既存のコードと新しい追加の間に空白の行を残してください。
これがコードです:
# BEGIN Security Headers Header unset X-Powered-By php_flag expose_php Off Header set X-Frame-Options "SAMEORIGIN" Header set X-Content-Type-Options "nosniff" Header set Strict-Transport-Security "max-age=31536000; includeSubDomains" Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval' *; script-src 'self' 'unsafe-inline' 'unsafe-eval' * data: blob:; style-src 'self' 'unsafe-inline' *; img-src 'self' data: *; frame-src 'self' *; font-src 'self' data: *; media-src 'self' *;" Header set Referrer-Policy "strict-origin-when-cross-origin" Header set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=()" # END Security Headers
完了したら、右上の変更をクリックしてください。非CPANELユーザーの場合、独自のインターフェイスにあるボタンが何であれ、何でも見つけてください。
それが邪魔にならないと、セキュリティスキャンを再度実行して、変更の影響を確認できます。
再実行セキュリティチェック
まず、セキュリティヘッダーを確認してください。
それほど悪くないね?
FからAに行きました。
グローアップについて話してください!
構成したすべてのセキュリティヘッダーは、適切に実装されていると表示されています。
次に、Sucuriを確認しましょう:
はるかに優れていますが、奇妙なことに、まだ2つの警告があります。
最初のものは、私のサイトにWordfenceが実行されていることを知っているため、実際には偽陽性です。おそらく、Sucuriが何らかの理由でWordfenceを認識していないこと以外に、これについて説明はありません。同じ警告が表示され、WAFがインストールされていることもわかっている場合は、それを無視してください。
ただし、 2番目のメッセージは少し異なります。また、セキュリティヘッダーの結果にも表示されます。
ここにあります:
両方のツールによって「危険」としてフラグが付けられているにもかかわらず、安全でないインラインの使用は実際には完全に大丈夫です。
WordPressは、特にブロックエディターとプラグインでは、特定のJavaScriptとCSS機能を機能させる必要があります。したがって、これを処理するための技術的に厳しい方法がありますが(それがこれらのNoncesの参照の目的です)、そうすることでサイトが壊れます。文字通り。
ここで最高の類推は、家を考えることです。技術的には、すべての窓とドアをセメントで密封することで「より安全」にすることができますが、それはあなたの家を非機能的にするでしょう。これは同じ考えです。
まとめます
WordPressセキュリティプラグインは、優れたセキュリティ戦略の基盤ですが、特定の重要な保護を設定する必要があるサーバーレベルに到達することはできません。
あなたが見たセキュリティスキャンからのスクリーンショットの前後に、この証拠があります。
そして、このチュートリアルを読んだので、WordPressのセキュリティを「プラグイン」から「サーバーレベルのセキュリティで保護されている」まで取得することもできます。
最後のメモとして、セキュリティベストプラクティスとして、次のことをすることもお勧めします。
- これらのセキュリティスキャンを毎月実行します。
- セキュリティ構成のドキュメントを保管してください。
- 主要なWordPressの更新後にテストして、すべてが意図したとおりに機能していることを確認します。
- ログインページアドレスを変更します。
- ログインの試行を制限します。
- 2要素認証(または略して2FA)をアクティブにします。
- プラグインとテーマを更新し、使用しないものを削除します。
…そしてもっと。 WordPressのセキュリティは、深いウサギの穴を降ろすことができますが、ここで学んだことは、あなたを始めさせるのに十分であり、ほとんどの攻撃からあなたのサイトを保護します。
質問はありますか?コメントで教えてください。私はあなたを助けさせてうれしいです。