セキュリティとは何ですか?

基本的に、セキュリティは完全に安全なシステムについてではありません。そのようなものは実用的でないか、見つけることや維持することが不可能かもしれません。しかし、セキュリティとはリスクの削減であり、リスクの排除ではありません。これは、あなたがターゲットになり、次にハッキングされる可能性を減らすために、合理的な範囲内で利用可能なすべての適切なコントロールを使用することに関するものです。

ウェブサイトホスト

ウェブサイトのセキュリティに関して始めるのに良い場所は、ホスティング環境です。今日、あなたには多くの選択肢があり、ホストはある程度のセキュリティを提供しますが、彼らの責任がどこで終わり、あなたの責任がどこから始まるのかを理解することが重要です。ここに、ウェブホストとあなたのウェブサイトのセキュリティの複雑なダイナミクスを説明する良い記事があります。安全なサーバーは、サーバー管理者の管理下にあるリソースのプライバシー、完全性、および可用性を保護します。

信頼できるウェブホストの特性には以下が含まれるかもしれません:

  • あなたのセキュリティの懸念や、彼らのホスティングで提供するセキュリティ機能やプロセスについて率直に話し合う。
  • すべてのサーバーソフトウェアの最新の安定版を提供する。
  • バックアップとリカバリのための信頼できる方法を提供する。

サーバー上で必要なセキュリティを決定するには、保護する必要があるソフトウェアとデータを特定します。このガイドの残りの部分がこれを助けます。

ウェブサイトアプリケーション

ウェブホストを見て、セキュリティの責任を彼らに押し付けるのは簡単ですが、ウェブサイトの所有者にも多くのセキュリティがかかっています。ウェブホストは、あなたのウェブサイトが存在するインフラストラクチャに対して責任がありますが、あなたがインストールすることを選択したアプリケーションには責任を負いません。

なぜこれが重要なのかを理解するには、ウェブサイトがどのようにハッキングされるかを理解する必要があります。これは、インフラストラクチャに起因することはまれであり、ほとんどの場合、アプリケーション自体(つまり、あなたが責任を持つ環境)に起因します。

セキュリティテーマ

システムの各側面のセキュリティを考慮する際に、いくつかの一般的なアイデアを念頭に置いてください:

アクセスの制限

悪意のある人物が利用できる可能性のある侵入ポイントを減らす賢い選択をすること。

封じ込め

システムは、侵害された場合に被害を最小限に抑えるように構成されるべきです。

準備と知識

バックアップを保持し、定期的にWordPressインストールの状態を把握すること。災害が発生した場合にインストールをバックアップおよび復元する計画を持つことは、問題が発生した場合に迅速にオンラインに戻るのに役立ちます。

信頼できるソース

信頼できないソースからプラグインやテーマを取得しないでください。WordPress.orgリポジトリまたはよく知られた企業に制限してください。外部からプラグインやテーマを取得しようとすると、問題が発生する可能性があります

コンピュータの脆弱性

使用するコンピュータがスパイウェア、マルウェア、ウイルス感染から解放されていることを確認してください。WordPressやウェブサーバーのセキュリティがどれだけ強固でも、コンピュータにキーロガーがある場合は、まったく意味がありません。

オペレーティングシステムとその上のソフトウェア、特にウェブブラウザを常に最新の状態に保ち、セキュリティの脆弱性から保護してください。信頼できないサイトを閲覧している場合は、ブラウザでno-script(またはJavaScript/Flash/Javaを無効にする)などのツールを使用することをお勧めします。

WordPressの脆弱性

多くの現代のソフトウェアパッケージと同様に、WordPressは新たに発生するセキュリティ問題に対処するために定期的に更新されています。ソフトウェアのセキュリティを向上させることは常に継続的な懸念であり、そのために常に最新のWordPressバージョンを維持するべきです。古いバージョンのWordPressは、セキュリティ更新が行われません。

WordPressの更新

主な記事:WordPressの更新

最新のWordPressバージョンは、https://wordpress.orgのメインWordPressウェブサイトから常に入手可能です。公式リリースは他のサイトからは入手できません決して https://wordpress.org以外のウェブサイトからWordPressをダウンロードまたはインストールしないでください。

バージョン3.7以降、WordPressには自動更新機能が搭載されています。この機能を使用して、最新の状態を維持するプロセスを簡素化してください。また、WordPressダッシュボードを使用して更新情報を把握することもできます。ダッシュボードのエントリやWordPress開発者ブログを読んで、更新を行い、安全を保つために必要な手順を確認してください。

WordPressに脆弱性が発見され、新しいバージョンがその問題に対処するためにリリースされると、脆弱性を悪用するために必要な情報はほぼ確実に公開されます。これにより、古いバージョンは攻撃に対してより脆弱になり、常にWordPressを最新の状態に保つべき主な理由の1つです。

複数のWordPressインストールを管理している管理者の場合は、管理を容易にするためにSubversionの使用を検討してください。

セキュリティ問題の報告

WordPressにセキュリティの欠陥を見つけたと思う場合は、その問題を報告することで助けることができます。セキュリティ問題を報告する方法については、セキュリティFAQを参照してください。

バグを見つけたと思う場合は、それを報告してください。バグの提出を参照して、これを行う方法を確認してください。あなたは脆弱性を発見したか、脆弱性につながる可能性のあるバグを発見したかもしれません。

ウェブサーバーの脆弱性

WordPressを実行しているウェブサーバーやその上のソフトウェアには脆弱性がある可能性があります。したがって、ウェブサーバーとその上のソフトウェアの安全で安定したバージョンを実行していることを確認するか、これらのことをあなたのために処理する信頼できるホストを使用していることを確認してください。

共有サーバー(他のウェブサイトもホストしているサーバー)にいる場合、同じサーバー上のウェブサイトが侵害されると、あなたのウェブサイトも潜在的に侵害される可能性があります。このガイドのすべてを守っていてもです。あなたのウェブホストに、どのようなセキュリティ対策を講じているかを必ず尋ねてください。

ネットワークの脆弱性

WordPressサーバー側とクライアントネットワーク側の両方のネットワークは信頼できるものであるべきです。つまり、自宅のルーターのファイアウォールルールを更新し、作業するネットワークに注意を払う必要があります。暗号化されていない接続でパスワードを送信しているインターネットカフェは、信頼できるネットワークではありません

あなたのウェブホストは、彼らのネットワークが攻撃者によって侵害されていないことを確認する必要があり、あなたも同様です。ネットワークの脆弱性は、パスワードやその他の機密情報が傍受される可能性を許可します。

パスワード

多くの潜在的な脆弱性は、良好なセキュリティ習慣によって回避できます。強力なパスワードはその重要な側面です。

パスワードの目標は、他の人が推測するのが難しく、ブルートフォース攻撃が成功するのが難しいことです。多くの自動パスワード生成ツールがあり、安全なパスワードを作成するために使用できます。

WordPressには、パスワードを変更する際に表示されるパスワード強度メーターもあります。パスワードを変更する際には、これを使用してその強度が十分であることを確認してください。

パスワードを選択する際に避けるべきこと:

  • 自分の本名、ユーザー名、会社名、またはウェブサイト名の任意の順列。
  • 辞書の単語、どの言語でも。
  • 短いパスワード。
  • 数字のみまたはアルファベットのみのパスワード(両方の混合が最適です)。

強力なパスワードは、ブログのコンテンツを保護するためだけでなく必要です。管理者アカウントにアクセスできるハッカーは、あなたのサーバー全体を危険にさらす可能性のある悪意のあるスクリプトをインストールできます。

強力なパスワードを使用することに加えて、二段階認証を追加のセキュリティ対策として有効にすることも良いアイデアです。

FTP

サーバーに接続する際は、ウェブホストが提供している場合はSFTP暗号化を使用するべきです。ウェブホストがSFTPを提供しているかどうかわからない場合は、単に尋ねてください。

SFTPを使用することはFTPと同じですが、パスワードやその他のデータは、コンピュータとウェブサイトの間で送信される際に暗号化されます。これにより、パスワードはクリアで送信されず、攻撃者によって傍受されることはありません。

ファイルの権限

WordPressのいくつかの便利な機能は、さまざまなファイルがウェブサーバーによって書き込み可能であることから来ています。しかし、ファイルへの書き込みアクセスを許可することは、特に共有ホスティング環境では潜在的に危険です。

ファイルの権限を可能な限り制限し、書き込みアクセスを許可する必要がある場合にはその制限を緩和するのが最善です。また、ファイルをアップロードするなどの目的のために、制限の少ない特定のフォルダーを作成することもできます。

以下は、1つの可能な権限スキームです。

すべてのファイルはあなたのユーザーアカウントに属し、あなたによって書き込み可能であるべきです。WordPressから書き込みアクセスが必要なファイルは、ホスティングの設定が必要な場合、ウェブサーバープロセスによって使用されるユーザーアカウントによってグループ所有される必要があるかもしれません。

/

ルートWordPressディレクトリ:すべてのファイルはあなたのユーザーアカウントによってのみ書き込み可能であるべきで、.htaccessがある場合は、WordPressが自動的に書き換えルールを生成できるようにします。

/wp-admin/

WordPress管理エリア:すべてのファイルはあなたのユーザーアカウントによってのみ書き込み可能であるべきです。

/wp-includes/

WordPressアプリケーションロジックの大部分:すべてのファイルはあなたのユーザーアカウントによってのみ書き込み可能であるべきです。

/wp-content/

ユーザー提供コンテンツ:あなたのユーザーアカウントとウェブサーバープロセスによって書き込み可能であることを意図しています。

  1. **`````/wp-content/themes/`````**
  2. テーマファイル。組み込みのテーマエディタを使用したい場合は、すべてのファイルがウェブサーバープロセスによって書き込み可能である必要があります。組み込みのテーマエディタを使用したくない場合は、すべてのファイルがあなたのユーザーアカウントによってのみ書き込み可能であることができます。
  3. **`````/wp-content/plugins/`````**
  4. プラグインファイル:すべてのファイルはあなたのユーザーアカウントによってのみ書き込み可能であるべきです。
  5. `````/wp-content/`````が存在する可能性のある他のディレクトリは、それを必要とするプラグインまたはテーマによって文書化されるべきです。権限は異なる場合があります。
  6. <a name="changing-file-permissions"></a>
  7. #### ファイル権限の変更
  8. サーバーにシェルアクセスがある場合、次のコマンドを使用してファイル権限を再帰的に変更できます:
  9. ディレクトリの場合:
  10. ``````bash
  11. find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;
  12. `

ファイルの場合:

  1. find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;

自動更新について

WordPressに自動更新を実行するように指示すると、すべてのファイル操作はファイルを所有するユーザーとして実行され、ウェブサーバーのユーザーとしては実行されません。すべてのファイルは0644に設定され、すべてのディレクトリは0755に設定され、ユーザーのみが書き込み可能で、他のすべての人(ウェブサーバーを含む)が読み取り可能です。

データベースのセキュリティ

同じサーバーで複数のブログを運営している場合は、それぞれ異なるユーザーによって管理される別々のデータベースに保持することを検討するのが賢明です。これは、初期のWordPressインストールを実行する際に最もよく実現されます。これは封じ込め戦略です:侵入者が1つのWordPressインストールを成功裏に破ることができた場合、他のブログを変更するのがそれだけ難しくなります。

MySQLを自分で管理している場合は、MySQLの設定を理解し、不要な機能(リモートTCP接続を受け入れるなど)が無効になっていることを確認してください。安全なMySQLデータベース設計を参照して、良い紹介を得てください。

データベースユーザー権限の制限

ブログ投稿、メディアファイルのアップロード、コメントの投稿、新しいWordPressユーザーの作成、WordPressプラグインのインストールなど、通常のWordPress操作には、MySQLデータベースユーザーはデータの読み取りおよび書き込み権限のみが必要です。SELECT、INSERT、UPDATE、DELETE。

したがって、DROP、ALTER、GRANTなどの他のデータベース構造および管理権限は取り消すことができます。このような権限を取り消すことで、封じ込めポリシーも改善されます。

注意: 一部のプラグイン、テーマ、および主要なWordPressの更新は、新しいテーブルを追加したり、スキーマを変更したりするなど、データベースの構造変更を必要とする場合があります。その場合、プラグインをインストールしたりソフトウェアを更新したりする前に、データベースユーザーに必要な権限を一時的に許可する必要があります。

警告: これらの権限がない状態で更新を試みると、データベーススキーマの変更が発生した場合に問題が発生する可能性があります。したがって、これらの権限を取り消すことは推奨されません。セキュリティ上の理由でこれを行う必要がある場合は、まず堅実なバックアッププランを用意し、定期的に全データベースのバックアップを行い、それが有効であり、簡単に復元できることを確認してください。データベースのアップグレードに失敗した場合は、通常、データベースを古いバージョンに戻し、適切な権限を付与し、WordPressに再度データベースの更新を試みさせることで解決できます。データベースを復元すると、古いバージョンに戻り、WordPress管理画面は古いバージョンを検出し、必要なSQLコマンドを実行できるようになります。ほとんどのWordPressのアップグレードはスキーマを変更しませんが、一部は変更します。主要なポイントアップグレード(例えば、3.7から3.8)はスキーマを変更します。マイナーアップグレード(3.8から3.8.1)は一般的に変更しません。それでも、定期的なバックアップを保持してください

wp-adminのセキュリティ

サーバー側のパスワード保護(BasicAuthなど)を/wp-admin/に追加すると、ブログの管理エリア、ログイン画面、およびファイルの周りに第2の保護層が追加されます。これにより、攻撃者やボットは実際の管理ファイルではなく、この第2の保護層を攻撃することを強いられます。多くのWordPress攻撃は、悪意のあるソフトウェアボットによって自動的に実行されます。

単にwp-admin/ディレクトリを保護するだけでは、wp-admin/admin-ajax.phpでのAJAXハンドラーなど、いくつかのWordPress機能が壊れる可能性があります。リソースセクションを参照して、wp-admin/ディレクトリを適切にパスワード保護する方法についての詳細な文書を確認してください。

WordPressブログに対する最も一般的な攻撃は、通常2つのカテゴリに分類されます。

  • 1. 特定の脆弱性に対する特定のエクスプロイトペイロードを含む特別に作成されたHTTPリクエストをサーバーに送信します。これには、古い/古くなったプラグインやソフトウェアが含まれます。
  • 2. 「ブルートフォース」パスワード推測を使用してブログにアクセスしようとします。

この「第2の層」パスワード保護の最終的な実装は、管理のためにHTTPS SSL暗号化接続を要求することです。これにより、すべての通信と機密データが暗号化されます。* SSL経由の管理を参照してください。

wp-includesのセキュリティ

スクリプトが一般的にユーザーによってアクセスされることを意図していない場所に第2の保護層を追加できます。その方法の1つは、.htaccessファイルのmod_rewriteを使用してそれらのスクリプトをブロックすることです。注意: 以下のコードがWordPressによって上書きされないようにするために、.htaccessファイルの# BEGIN WordPressおよび# END WordPressタグの外に配置してください。WordPressはこれらのタグの間のすべてを上書きできます。

  1. # インクルード専用ファイルをブロックする。
  2. <IfModule mod_rewrite.c>
  3. RewriteEngine On
  4. RewriteBase /
  5. RewriteRule ^wp-admin/includes/ - [F,L]
  6. RewriteRule !^wp-includes/ - [S=3]
  7. RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
  8. RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
  9. RewriteRule ^wp-includes/theme-compat/ - [F,L]
  10. </IfModule>
  11. # BEGIN WordPress

このコードはマルチサイトではうまく機能しません。RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]はms-files.phpファイルが画像を生成するのを防ぐからです。その行を省略すると、コードは機能しますが、セキュリティは低下します。

wp-config.phpのセキュリティ

  1. **注意:** 一部の人々は、[wp-config.phpを移動することには最小限のセキュリティ上の利点がある](https://wordpress.stackexchange.com/questions/58391/is-moving-wp-config-outside-the-web-root-really-beneficial)と主張し、注意深く行わないと、実際に深刻な脆弱性を引き起こす可能性があると主張しています。[他の人は反対します](https://wordpress.stackexchange.com/questions/58391/is-moving-wp-config-outside-the-web-root-really-beneficial/74972#74972)。
  2. `````wp-config.php`````は、WordPresswp-includesが存在する場所)インストールの1つ上のディレクトリに保存できます。また、このファイルはあなた(およびウェブサーバー)だけが読み取れることを確認してください(通常は400または440の権限を意味します)。
  3. .htaccessを使用しているサーバーを使用している場合は、これをそのファイルに(最上部に)追加して、誰もそれを探してアクセスできないようにします:
  4. ``````bash
  5. <Files "wp-config.php">
  6. Require all denied
  7. </Files>
  8. `

ファイル編集の無効化

WordPressダッシュボードはデフォルトで管理者がPHPファイル(プラグインやテーマファイルなど)を編集できるようにします。これは、攻撃者がログインできる場合に最初に使用するツールであることが多く、コードの実行を許可します。WordPressには、ダッシュボードからの編集を無効にする定数があります。この行をwp-config.phpに配置することは、すべてのユーザーの「edit_themes」、「edit_plugins」、「edit_files」機能を削除することに相当します:

  1. define( 'DISALLOW_FILE_EDIT', true );

これは、攻撃者があなたのサイトに悪意のあるファイルをアップロードするのを防ぐことはありませんが、一部の攻撃を防ぐかもしれません。

プラグイン

まず第一に、プラグインが常に更新されていることを確認してください。また、特定のプラグインを使用していない場合は、システムから削除してください。

ファイアウォール

ウェブサイトのファイアウォールとして機能できるプラグインやサービスが多数あります。それらのいくつかは、.htaccessファイルを変更し、WordPressによって処理される前にApacheレベルでいくつかのアクセスを制限することによって機能します。良い例は、iThemes SecurityAll in One WP Securityです。一部のファイアウォールプラグインは、WordFenceShieldのようにWordPressレベルで機能し、WordPressが読み込まれるときに攻撃をフィルタリングしようとしますが、完全に処理される前にです。

プラグインに加えて、ウェブサーバーにWAF(ウェブファイアウォール)をインストールして、WordPressによって処理される前にコンテンツをフィルタリングすることもできます。最も人気のあるオープンソースのWAFはModSecurityです。

ウェブサイトファイアウォールは、インターネットからのトラフィックとホスティングサーバーの間に中間者として追加することもできます。これらのサービスはすべてリバースプロキシとして機能し、最初のリクエストを受け入れ、それをサーバーに再ルーティングし、すべての悪意のあるリクエストを削除します。これを実現するために、Aレコードまたは完全なDNSスワップを介してDNSレコードを変更し、すべてのトラフィックが最初に新しいネットワークを通過するようにします。これにより、すべてのトラフィックがサイトに到達する前にファイアウォールによってフィルタリングされます。このようなサービスを提供する企業はいくつかあります。たとえば、CloudFlareSucuriIncapsulaなどです。

さらに、これらの第三者サービスプロバイダーは、デフォルトでコンテンツ配信ネットワーク(CDN)として機能し、パフォーマンスの最適化とグローバルなリーチを提供します。

書き込みアクセスが必要なプラグイン

プラグインがWordPressファイルやディレクトリへの書き込みアクセスを要求する場合は、そのコードを読み、正当であることを確認してください。または、信頼できる誰かに確認してください。確認する可能性のある場所は、サポートフォーラムIRCチャンネルです。

コード実行プラグイン

前述のように、WordPressを強化する目的の一部は、成功した攻撃が行われた場合の損害を封じ込めることです。データベースのエントリから任意のPHPまたは他のコードを実行できるプラグインは、成功した攻撃が行われた場合の損害の可能性を効果的に拡大します。

そのようなプラグインを使用しない方法の1つは、関数を呼び出すカスタムページテンプレートを使用することです。これにより、WordPress内でのファイル編集を無効にする場合にのみ、提供されるセキュリティの一部がアクティブになります。

不明瞭さによるセキュリティ

不明瞭さによるセキュリティは、一般的に健全な主要戦略ではありません。しかし、WordPressには情報を隠すことでセキュリティに役立つかもしれない領域があります:

  • 1. 管理アカウントの名前を変更する: 管理アカウントを作成する際は、adminwebmasterのような簡単に推測できる用語をユーザー名として避けてください。これらは通常、最初に攻撃の対象となります。既存のWordPressインストールでは、MySQLコマンドラインクライアントで次のようなコマンドを使用して既存のアカウントの名前を変更できます:
  1. UPDATE wp_users SET user_login = 'newuser' WHERE user_login = 'admin';

または、phpMyAdminのようなMySQLフロントエンドを使用して変更できます。

  1. table_prefixを変更する: 多くの公開されたWordPress特有のSQLインジェクション攻撃は、tableprefixが`````wp`````、デフォルトであると仮定しています。これを変更することで、少なくとも一部のSQLインジェクション攻撃をブロックできます。

データバックアップ

データを定期的にバックアップし、MySQLデータベースも含めます。主な記事を参照してください:データベースのバックアップ

データの整合性は、信頼できるバックアップにとって重要です。バックアップを暗号化し、各バックアップファイルのMD5ハッシュの独立した記録を保持し、またはバックアップを読み取り専用メディアに配置することで、データが改ざんされていないことへの信頼を高めます。

堅実なバックアップ戦略には、信頼できる場所にWordPressインストール全体(WordPressコアファイルとデータベースを含む)の定期的なスナップショットを保持することが含まれる可能性があります。毎週スナップショットを作成するサイトを想像してください。このような戦略は、サイトが5月1日に侵害され、5月12日までその侵害が検出されなかった場合、サイト所有者が事前の侵害バックアップを持ち、サイトの再構築に役立つ可能性があることを意味します。

ログ記録

ログは、特にフォレンジックを実行しようとしている場合、ウェブサイトで何が起こっているかを理解するための最良の友です。一般的な信念に反して、ログは何が行われ、誰がいつ行ったかを見ることを可能にします。残念ながら、ログは誰が、ユーザー名がログインしたかを教えてくれませんが、IPアドレスや時間、そして重要なことに、攻撃者が取った可能性のある行動を特定することができます。これらの攻撃のいずれかをログで確認できます – クロスサイトスクリプティング(XSS)、リモートファイルインクルージョン(RFI)、ローカルファイルインクルージョン(LFI)、およびディレクトリトラバーサルの試み。ブルートフォース攻撃の試みも確認できます。さまざまな例やチュートリアルがあり、あなたの生のログを解析し分析するプロセスをガイドするのに役立ちます。

ログに慣れてくると、テーマやプラグインエディタが使用されているとき、誰かがウィジェットを更新しているとき、投稿やページが追加されているときなどを見ることができるようになります。これは、ウェブサーバーでフォレンジック作業を行う際の重要な要素です。この点に関しても、Sucuri監査ツール監査トレイルプラグインなど、これを支援するいくつかのWordPressセキュリティプラグインがあります。

セキュリティの観点から、ウェブサーバーに必要な2つの主要なオープンソースソリューションがあります。これは、セキュリティへの層状アプローチです。

OSSECは、任意のNIXディストリビューションで実行でき、Windowsでも実行されます。正しく構成されると非常に強力です。アイデアは、すべてのログを相関させ、集約することです。すべてのaccess_logsとerror_logsをキャプチャするように構成する必要があります。また、サーバーに複数のウェブサイトがある場合は、それに対応する必要があります。ノイズをフィルタリングすることも重要です。デフォルトでは、多くのノイズが表示されるため、非常に効果的にするように構成する必要があります。

監視

時には予防だけでは不十分で、ハッキングされる可能性があります。だからこそ、侵入検知/監視が非常に重要です。これにより、迅速に反応し、何が起こったのかを把握し、サイトを回復することができます。

ログの監視

専用または仮想プライベートサーバーにいる場合、ルートアクセスの特権があるため、何が起こっているかを見るために簡単に構成できます。OSSECはこれを簡単に実現し、あなたを助けるかもしれない小さな記事があります。ウェブサイトセキュリティのためのOSSEC – パートI

ファイルの変更を監視する

攻撃が発生すると、常に痕跡が残ります。ログまたはファイルシステム上の(新しいファイル、変更されたファイルなど)。たとえば、OSSECを使用している場合、ファイルを監視し、変更があったときに警告します。

目標

ファイルシステムの追跡の目標には以下が含まれます:

  • 変更されたファイルと追加されたファイルを監視する
  • 変更と追加をログに記録する
  • 細かい変更を元に戻す能力
  • 自動アラート
一般的なアプローチ

管理者は、一般的な技術を使用してファイルシステムを監視できます:

  • システムユーティリティ
  • リビジョン管理
  • OS/カーネルレベルの監視
特定のツール

ファイルシステム監視のオプションには以下が含まれます:

  • diff – サイトのクリーンなテストコピーを作成し、プロダクションと比較する
  • Git – ソースコード管理
  • inotifyおよびincron – ファイルシステムイベントでコマンドを実行できるOSカーネルレベルのファイル監視サービス
  • Watcher – Python inotifyライブラリ
  • OSSEC – ログ分析、ファイル整合性チェック、ポリシー監視、ルートキット検出、リアルタイムアラート、アクティブレスポンスを実行するオープンソースのホストベースの侵入検知システム。
考慮事項

ファイルベースの監視戦略を構成する際には、多くの考慮事項があります。

監視スクリプト/サービスをrootとして実行する

これにより、攻撃者がファイルシステム監視ソリューションを無効にしたり変更したりするのが難しくなります。

定期メンテナンス/アップグレード中の監視を無効にする

これにより、サイトの定期メンテナンスを行っているときに不必要な通知を防ぐことができます。

実行可能なファイルタイプのみを監視する

.phpファイルなどの実行可能なファイルタイプのみを監視することは、合理的に安全かもしれません。非実行可能なファイルをフィルタリングすることで、不必要なログエントリやアラートを減らすことができます。

厳格なファイルシステム権限を使用する

ファイルの権限と所有権を保護する方法について学んでください。一般的に、実行および書き込み権限を可能な限り避けてください。

ウェブサーバーの外部監視

攻撃者があなたのサイトを改ざんしたりマルウェアを追加したりしようとした場合、ウェブベースの整合性監視ソリューションを使用してこれらの変更を検出することもできます。これは今日、さまざまな形で提供されており、お気に入りの検索エンジンを使用してウェブマルウェア検出と修復を探すと、サービスプロバイダーの長いリストが得られるでしょう。

公式WordPressリソース

関連項目

変更履歴