web-dev-qa-db-ja.com

.htaccessを無効にするとセキュリティが向上しますか?

新しいWordPress私が管理していないサーバーにインストールされたWebサイトがあります。その管理者は、セキュリティを強化するためにいくつかのルールを適用しています。完全に把握しているわけではありませんが、以下が含まれます:

  • Apacheのwwwフォルダーを別のnoexecパーティションに配置する
  • フォルダーに対する読み取り専用アクセス権を持つユーザーとしてのApacheの実行
  • open_basedir WPの構造より上のフォルダへのアクセスを無効にする
  • ほとんどのフォルダーとサブフォルダー(wp-content/uploads/と他のカップルを除く)に対するアクセス許可(正しく記憶されている場合は640または740)。新しいプラグインをインストールする必要がある場合、更新が適用される場合、またはファイルに変更が加えられる場合は常に、スクリプトが一時的に再帰的により緩やかなアクセス許可を適用します。
  • Apacheは.htaccessファイルを無視します。

私はそれらのポリシーを定義していませんし、その有効性を知りません。ただし、最後の項目(.htaccessを無効にする)により、少なくとも2つの問題が発生します。

  1. 「かなりのパーマリンク」が機能しないようにします(ユーザーフレンドリーなURLの書き換え)。
  2. BulletProofプラグイン が機能しないようにします(基本的には、XSS、RFI、CRLF、CSRF、Base64、コードインジェクションに対して、WordPress= SQLインジェクションハッキングの試み、およびWPのバージョンを提供する可能性のあるreadmeなどのファイル、他の構成ファイル、php .iniファイル、およびディレクトリリストへのアクセスを防止します。

私の質問は次のとおりです:.htaccessを無効にすると、セキュリティの観点からいくつかの利点が得られます上記を失うことを正当化する可能性がありますリストされたポイント?

7

.htaccessを無効にしても、それ自体はWebサイトに追加のセキュリティ上の利点をもたらしません。 @Xanderが.htaccessが無効になっていることを確認した主な理由について述べたように(パフォーマンスの向上は多くの場合無視できると思いますが)。

ただし、ホストの観点からは、ホスト(およびボックス上の他のユーザー)をあなたから保護するのに役立つという点で、いくつかのセキュリティ上の利点を提供できます。 「トレーニングを受けていない」ユーザーが.htaccessのディレクティブを誤って設定すると、ボックスで実行されている他の問題が発生する可能性があります。また、その意味で、自分のサイトを誤って危険にさらすことを防ぐのにも役立ちます。

これを処理するより良い方法があることを考えると、これが実際的な価値があるかどうかは、まったく別の問題です。

@gowenfawrが言及したオプションに加えて。 .htaccessで必要な構成ディレクティブをサイトのサーバー構成に直接追加するようにホストに要求できます。これにより、構成がセキュリティの侵害を引き起こさないことを確認できます。

7
matthew

htshells プロジェクトの作成者として、私はここでチャイムを鳴らすのが適切かもしれないと思いました。 .htaccessを無効にする必要があるのは、システム管理者と侵入テスターの両方としての私の専門家の意見ですが、セキュリティもパフォーマンスもこれの主な理由ではありません。

一部の応答は、既存の.htaccessファイルを上書きする機能に焦点を合わせているようですが、これには多少の欠陥があります。通常は、どこかに.htaccessファイルを作成するだけです。たとえば、Webサイトへのファイルのアップロードを許可し、アプリケーションがファイルタイプを正しくフィルタリングしたものの、.htaccessファイルが欠落しているとします。後でファイルをアップロードすると、リモートでコードが実行されます。これはPHPファイルのアップロードとわずかに異なるだけですが、Apacheの一部をオンザフライで再構成する機能は攻撃者にとって貴重です。

.htaccessディレクティブをApache構成に配置できない理由はないため、実稼働環境では.htaccessファイルは実際には必要ありません。 AllowOverrideディレクティブはどのようなものにする必要がありますか?」は、.htaccessファイル(つまり、 :共有ホスティング)。

2
wireghoul

.htaccessを無効にすると、いくつかの保護が提供されます。攻撃者がWebルートの.htaccessファイルを何らかの方法で変更できる場合、サーバー構成を変更できます。たとえば、ハンドラーを追加して、.txtファイルがPHPで処理されるようにすることができます。サーバーが.txtファイルのアップロードを許可し、.phpファイルのアップロードを許可しない場合、ブームは、bootstrap自身がコードを実行する方法を見つけただけです。

ホストの観点から見ると、もし彼が100人をホストしているなら、95人は.htaccessをまったく必要とせず、4人はきらきらと輝くものを使いたいと思っています。せいぜい100人のうち1人(あなた)は、セキュリティを向上させるために何かをしたいと思っています。 .htaccessを失うことは正当化されるのでしょうか?あなたのためではなく、数字によって、それはホストにとって理にかなっています。

したがって、3つのオプションがあります。

  1. あなたのために例外を作るようにあなたのホスティング業者を説得してください
  2. ホスティング業者が課している制限を受け入れる
  3. 新しいホストを見つけるか、独自のホストを実行します。どちらもおそらく現在のセットアップよりも高価です。

EDIT 6/3:

.htaccessを使用してcgi-binに侵入するという私の説明(下記のコメント)は「絶対にコンテンツがない」と説明されているため、この正確な攻撃ルートを具体化する実際のエクスプロイトへのリンクを以下に示します。

。htaccessを介したWebサーバーへの攻撃

htshellsプロジェクトページ

(実際には、少し巧妙に一歩先に進んでいます。htaccessファイル自体をcgi-bin実行用にマップし、書き換えられているファイル自体に悪意のあるコードを埋め込んで、悪意のあるコードを実行できるようにします。おいしくメタです!)

申し訳ありませんが、申し訳ありませんが、.htaccessは前述のように悪用される可能性があります。それがされている、それはされます。 Santayanaは、意地悪なギターを弾く老人だけではありません。 .htaccessを無効にするケースがさらに必要な場合は、見つけるのは難しくありません。

Google "htaccess hacked"

1
gowenfawr