新しいWordPress私が管理していないサーバーにインストールされたWebサイトがあります。その管理者は、セキュリティを強化するためにいくつかのルールを適用しています。完全に把握しているわけではありませんが、以下が含まれます:
www
フォルダーを別のnoexec
パーティションに配置するopen_basedir
WPの構造より上のフォルダへのアクセスを無効にするwp-content/uploads/
と他のカップルを除く)に対するアクセス許可(正しく記憶されている場合は640または740)。新しいプラグインをインストールする必要がある場合、更新が適用される場合、またはファイルに変更が加えられる場合は常に、スクリプトが一時的に再帰的により緩やかなアクセス許可を適用します。.htaccess
ファイルを無視します。私はそれらのポリシーを定義していませんし、その有効性を知りません。ただし、最後の項目(.htaccessを無効にする)により、少なくとも2つの問題が発生します。
私の質問は次のとおりです:.htaccessを無効にすると、セキュリティの観点からいくつかの利点が得られます上記を失うことを正当化する可能性がありますリストされたポイント?
.htaccess
を無効にしても、それ自体はWebサイトに追加のセキュリティ上の利点をもたらしません。 @Xanderが.htaccess
が無効になっていることを確認した主な理由について述べたように(パフォーマンスの向上は多くの場合無視できると思いますが)。
ただし、ホストの観点からは、ホスト(およびボックス上の他のユーザー)をあなたから保護するのに役立つという点で、いくつかのセキュリティ上の利点を提供できます。 「トレーニングを受けていない」ユーザーが.htaccess
のディレクティブを誤って設定すると、ボックスで実行されている他の問題が発生する可能性があります。また、その意味で、自分のサイトを誤って危険にさらすことを防ぐのにも役立ちます。
これを処理するより良い方法があることを考えると、これが実際的な価値があるかどうかは、まったく別の問題です。
@gowenfawrが言及したオプションに加えて。 .htaccess
で必要な構成ディレクティブをサイトのサーバー構成に直接追加するようにホストに要求できます。これにより、構成がセキュリティの侵害を引き起こさないことを確認できます。
htshells プロジェクトの作成者として、私はここでチャイムを鳴らすのが適切かもしれないと思いました。 .htaccess
を無効にする必要があるのは、システム管理者と侵入テスターの両方としての私の専門家の意見ですが、セキュリティもパフォーマンスもこれの主な理由ではありません。
一部の応答は、既存の.htaccess
ファイルを上書きする機能に焦点を合わせているようですが、これには多少の欠陥があります。通常は、どこかに.htaccess
ファイルを作成するだけです。たとえば、Webサイトへのファイルのアップロードを許可し、アプリケーションがファイルタイプを正しくフィルタリングしたものの、.htaccess
ファイルが欠落しているとします。後でファイルをアップロードすると、リモートでコードが実行されます。これはPHP
ファイルのアップロードとわずかに異なるだけですが、Apacheの一部をオンザフライで再構成する機能は攻撃者にとって貴重です。
.htaccess
ディレクティブをApache構成に配置できない理由はないため、実稼働環境では.htaccess
ファイルは実際には必要ありません。 「AllowOverride
ディレクティブはどのようなものにする必要がありますか?」は、.htaccess
ファイル(つまり、 :共有ホスティング)。
.htaccessを無効にすると、いくつかの保護が提供されます。攻撃者がWebルートの.htaccessファイルを何らかの方法で変更できる場合、サーバー構成を変更できます。たとえば、ハンドラーを追加して、.txtファイルがPHPで処理されるようにすることができます。サーバーが.txtファイルのアップロードを許可し、.phpファイルのアップロードを許可しない場合、ブームは、bootstrap自身がコードを実行する方法を見つけただけです。
ホストの観点から見ると、もし彼が100人をホストしているなら、95人は.htaccessをまったく必要とせず、4人はきらきらと輝くものを使いたいと思っています。せいぜい100人のうち1人(あなた)は、セキュリティを向上させるために何かをしたいと思っています。 .htaccessを失うことは正当化されるのでしょうか?あなたのためではなく、数字によって、それはホストにとって理にかなっています。
したがって、3つのオプションがあります。
EDIT 6/3:
.htaccessを使用してcgi-binに侵入するという私の説明(下記のコメント)は「絶対にコンテンツがない」と説明されているため、この正確な攻撃ルートを具体化する実際のエクスプロイトへのリンクを以下に示します。
(実際には、少し巧妙に一歩先に進んでいます。htaccessファイル自体をcgi-bin実行用にマップし、書き換えられているファイル自体に悪意のあるコードを埋め込んで、悪意のあるコードを実行できるようにします。おいしくメタです!)
申し訳ありませんが、申し訳ありませんが、.htaccessは前述のように悪用される可能性があります。それがされている、それはされます。 Santayanaは、意地悪なギターを弾く老人だけではありません。 .htaccessを無効にするケースがさらに必要な場合は、見つけるのは難しくありません。