サイトの実行に使用しているものを隠すにはどうすればよいですか?


72

フロントページのソースコードを見て、誰かが私のサイトがDrupalを使用していることを知らないようにするためにできることはありますか?私は、既知の弱点を使用して攻撃できるようにWebサイトを実行するために使用されるソフトウェアを検出するソフトウェアを使用してサイトをスキャンする人々に言及しています。

サイトがDrupalを使用しているという事実を完全に隠すことができない場合、それらを混同することは少なくとも可能http://example.com/servlets/<node-id>.jspですか?


76
Drupalを非表示にしたくありません。Drupalは素晴らしいです。
ダミアントゥルヌード

4
CHANGELOG.txtファイルをルートディレクトリから削除して始めましょう!いいえ、まじめに-私にとっては時間の無駄です。セキュリティ更新プログラムを最新の状態に保ち、Drupalであるという事実を隠す必要はありません。ホワイトハウスは、彼らがDrupalを使用しているという事実を隠していますか?いいえ、彼らは屋上からそれを叫ぶ:)
トムカークパトリック

10
この場合、あいまいさによるセキュリティはそれ以上のセキュリティを提供しません。
ブライアンキャスラー

3
Cacking Drupal:a drop in the bucket」を読むことをお勧めします。これは、Drupalサイトの保護に関する優れた論文です。
-Mawg

2
セキュリティユースケースが追加されないと思われる場合は、ここに代替手段があります:商業的機密性。企業は、競合他社がサイトの構築元を簡単に把握できるようにしたくない場合があります。または、代理店またはコンサルタントは、競合他社が現在使用しているツールの範囲を暗くしておくこともできます。
user568458

回答:


53

これは古くて既に回答済みの質問ですが、最近、変更する必要があるすべての事項の説明を作成するためにいくつかの努力をしました。

  • Drupal 7のメタジェネレーターを削除する
  • CHANGELOG.txtのようなtell-tale-textを削除します
  • Expiresヘッダーを確認します
  • HTTP 200/404/403ステータスコードのウォーキングディレクトリ
  • デフォルトのテキストメッセージを探す-すべてのユーザー向けメッセージを調整します
  • HTMLを見てください-コアとモジュールからのデフォルトのHTMLは明確なサインです

基本的に:あなたのサイトがDrupalを実行しているという事実を技術的に隠すことは可能かもしれませんが、それに時間をかけすぎて価値がないのです。代わりに、セキュリティの確保と安全な操作(更新プログラムの迅速な展開、ログの監視など)に重点を置く必要があります。


Drupal名前を変更する必要があるJavaScriptオブジェクトを忘れました。
モウォ2013年

@Molotの良い点。それは可能ですか?それを行う方法に関するポインタはありますか?私のポイントは、それを行うことは時間の価値がないということですので、それを行う方法についてさらにアドバイスを追加することは、それがそのポイントを促進する場合にのみ有用です。あなたが言ったことをするのが本当に難しいことを願っています:)
greggles

まあ、私はDrupalディレクトリ上で大量の正規表現置換でテストし、機能しました...しかし、本当に良いとは思いません。もちろん、すべてのモジュールが更新されるたびにf * @#アップします。
モウォ

正しい。あなたの時間の価値はありません。より重要なことに集中してください:)
しわ

101

完全に隠すことはできません。それを行うために必要なもののほとんどは、ハッキングコアを必要とします。最もDrupal重要なことは、フロントページ、またはそれに関するページから読み取り可能なJavaScript変数です。

Drupalサイトであることを隠してサイトのセキュリティを改善したい場合、サイトがDrupalで作られているという事実を隠そうとするよりも、コードレビューに費やす方が効果的です。


7
同意した。もう1つの完全なプレゼントは、CSS / JS / imageパスの構造です。
ファジー76

2
また/node/1、何が表示されるかを参照したり、HTTPヘッダーを確認したりすることもできます
ポールジョーンズ

39
あいまいさによってセキュリティでサイトを隠そうとすると、時間を浪費することになります。
デイブリード

6
上記すべてに同意しました。さらに、CMSの比較を行う人々にとって、Drupalを実行している素晴らしいサイトの数を確認するのは難しいでしょう
;

私たちがここに持っていた議論だった何を言っているかgeerlingguyに関連する:groups.drupal.org/node/113024#comments
coderintherye

42

簡単すぎるよ、キアム!

  • リバースプロキシを使用するか、httpデーモンをカスタマイズして、迷惑なDrupal httpヘッダーをフィルタリングします
  • Drupalのデフォルトフォルダーへのhttpアクセスを拒否する
  • PHP出力バッファリングを使用して、HTMLソースを書き換えて不明瞭にし、不要なデータを削除します
  • urlエイリアスまたはcustom_url_rewrite_in / outboundを使用して、URLを混乱させる
  • デフォルトの404エラーを変更し、update.phpを削除/変更します
  • 誰かが見つけたら他の変更を加えます

最後に大事なことを言い忘れましたが、サイトが非常にシンプルで、通常の動作にJSやCSSを必要としないこと(ビューやCtoolsを使用しないでください...)、ユーザー認証などをサポートしていないことを確認してください。静的なhtmlサイトのように単純である。

OK、あなたのサイトがDrupalを実行していないと人々に信じさせるために。とにかく、あいまいさによるセキュリティは役に立たない。


@jcisio "とにかく、あいまいさによるセキュリティは役に立たない。"、あなたのコメントの上にこれを追加する必要があります:P
アーピター

@arpitr他の誰もがそれを行うので、私はする必要はないと思う;)
jcisio

34

同じに関する公式の記事と議論があります。

できません。しないでください

  • 自動化された攻撃(最も一般的な攻撃)は、エクスプロイトを試みる前にサーバーを検査することさえしません
    注目度の高いサイトのログを調べると/AspBB/db/betaboard.mdb _private/cmd.asp /scripts/../../winnt/system32/cmd.exe /wp-login/ /administrator/components/com_wmtgallery/admin.wmtgal/cgi-bin/ip.cgi... に対する無益なリクエストが何千 もあり、関連のないシステムでの歴史的なエクスプロイトの試行がいくつもあります。
    OSまたはCMSにエクスプロイトが存在しない場合でも、エクスプロイトに対する攻撃が発生します。あなたのサイトを誤認するためにあなたがすることは何でもアマチュアハッカーによって無視されます。
  • あなたが隠せると思うものは何でも、どんなシステムにも他の手がかりがあります。
    「drupal」を含むすべての文字列の一部を単純に削除しても、サイトを合理的なreasonable索好きに偽装することはありません。あなたのページを提供しているものを推測するために使用できる多数の方法があり、Drupalを実行しているサイトであることを伝える専用のサービスもあります。あなたが認識し、脅威だと思うキーワードだけ が、実際の指標の小さなサブセットです。
    index.php /?q = userを要求します。次に、サイトを損なうことなく、その応答を無効にしてみてください。
  • あいまいさによるセキュリティはセキュリティではありません。煙幕の背後にある脆弱性を隠しているだけで、実際の脅威を引き起こした攻撃者が透けて見える「安全」であるという誤った印象を与えます。
  • Drupalのほとんどの痕跡がHTMLソースから隠されるまでコードをハックすることは完全に不可能ではありませんが、(それは結局オープンソースです)そうするために必要なステップは、コードのハッキングされたブランチを必然的に壊してしまうでしょうパッチを当てることができなかっ実際のセキュリティ更新とは互換性がなく、セキュリティチームによって特定された実際の将来の脅威に完全に開放されます。これは、システムの脆弱性への真のルートです。
  • 最も重要なモジュールまたは有用なモジュールには、大幅な書き換えなしで隠すのが難しい独自のコード「署名」があります。「views」、「cck」、「ad」、「imagecache」、「jquery」、css-aggregation、寄稿されたテーマ、またはサイトで役立つものを使用している場合- 誰かが伝えることができます。それを完全に隠すには、通常少なくともテーマ機能の完全な変換が必要になります。それでも、難読化は おそらく機能しません
  • Drupalライブラリを使用して動作する可能性のあるGoogleアナリティクスの簡単なインストールなど、多くの高度な機能の識別を削除するには、それらの機能を完全に放棄するか、Drupalインフラストラクチャを利用しない方法でそれらを書き換える必要があります。時々これは可能ですが、すべての場合において逆効果です。

あなたは読書に興味がある可能性があり、あなたのサイトを確保すぎ。

コアをハッキングしないでください


私はこれに同意しますが、防御の最初の行としても、PHPとDrupalを参照するヘッダーを削除することは良いことであり、インデックス以外のphpスクリプトへのアクセスを許可しないと思います。いいえ、もちろん、人々はあなたがDrupalを実行していることを見つける方法を常に見つけます、そしてあなたがそれを隠すことができると思うことはばかげています。しかし、最も目の肥えたハッカーにとって生活を少し難しくしても害はありません。
マットフレッチャー

1

サイトがDrupalを実行していることを隠すことは意味がありません。Webサイトの開発を見るのは間違った方法です。注目すべきはセキュリティです。必ずすべての証券対策を実装してください。すべてが正常になります。特定のcmsまたは他のソフトウェアを使用していることを隠す理由は、世界には1つもありません。WappalyzerのようなFFアドオンを使用すると、サイトでDrupalが使用されているかどうかをすぐに知ることができるため、問題はかなり無意味です。


1

追加の操作として、ファイルエイリアスモジュールを使用してデフォルトのファイル構造を変更することもできます。

ファイル別名モジュールは、あなたのクリーン探してパスを提供しながら、通常通りに編成ファイルシステム(すなわち、これ以上/サイト/デフォルト/ファイル/)を保持する能力を与え、あなたのアップロードしたファイルのためのトークンカスタマイズ可能な別名を使用することができます。


1
そして?これにより、プロセスのごく一部が修正され、おそらく最も重要な部分でさえ修正されません。
グレグル

1
上記の人々の正しい答えをもう一度繰り返したくありませんでした。もう1つだけヒントを追加します。はい、これは非常に重要です。これは、これまで行うことが最も困難であったためです。通常、サイトを理解する唯一の方法はdrupalです。そして、はい、このファイル構造/フォルダー構成のために、それがdrupalサイトであることを理解することは非常に簡単です。
ジョン

1

私はあなたがそれを完全に隠すことはできないと他の人々に同意します。HTMLソースを見ると、CSSファイルとJavaScriptファイルが何度も集約されていないことに気付くでしょう。CSSとJavaScriptの集約を有効にする必要があります。


0

その過去に、私は自分のフォントをLucida Sansのような典型的なRubyプロジェクトのフォントに交換しました。また、すべてのヒップな子供たちがするように入力サイズを増やしました。

別のプレゼントは、オートコンプリートフィールドの「スロバ」グラフィックです。また、入力サイズを大きくしても機能しません。盗むことができるものは次のとおりです:http : //beta.seattlebedandbreakfast.com/misc/throbber.gif

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.