主なポイントをリストします。 あなたがそれらに同意しない場合、あなたの時間を無駄にせず、これ以上読みません。
だから、主なポイント:
- 情報セキュリティ、Web管理、または関連する専門分野の研究に関心がある場合。
- 研究者のように感じるために費やすことができる、少しの欲求、時間、リソースがあります。
- すぐにスーパーの達人になることは期待していませんが、記事で提案されている特定のソリューションを開発すれば、興味のある問題を研究できます。
ハニーポットは、要するに、研究者が材料を収集するための一種のトラップです。 品種に関する情報、既存のソリューション、など OpenSourceはネットワーク上で簡単に見つけることができるため、それらについては詳しく説明しません。
ポイントに行きましょう:
- ホスティングを取ります。
- ドメインを取得します。
- スクリプトに対するすべての着信要求をラップします。
- 着信リクエストを分析し、統計を収集することに加えて、ゲームに参加します。
ホスティングを取ります
ハニーポットを配置するサイトを決定する必要があります。 エントリのしきい値を減らすために、共有ホスティングを選択します。 これにより、システム管理の問題(インストール、最適な構成、保護、更新)を迅速かつかなり安価に排除できます。 ホスティング会社のサーバー(IP Webサーバーの範囲)は知られており、ボットからの注意の欠如について不平を言うことはありません。
希望する人はすぐにVPS / VDSを使用できます。最も重要なことは、サーバーのセットアップ段階で動けなくなることです。
ドメインを取る
通常、新しいドメインはすぐにボットの注目を集めますが、「古い」ドメインも優れています。 有効なドメイン(サイト)を使用している場合、リダイレクトエラーまたは過度の負荷が原因で副作用が発生する可能性があります。
概算によると、2015年の初めに、新しいドメインと数か月のホスティングには1000ルーブルの費用がかかります。
スクリプトに対するすべての受信リクエストをラップします
使用するWebサーバーとサーバー設定への影響レベルに応じて、このタスクには多くのソリューションがあります。 提案されている最も単純なオプションは、新しいドメインに適しています。 これは主要なビジネスに干渉することはなく、私たちの意見では、最も興味深いものに素早く移動することができます。
最も単純な.htaccessオプション
すべてのリクエストはindex.phpでラップされます。
特に既存のサイトのリダイレクトをより細かく調整するには、怠modにならず、ドキュメントや記事を参照してください。たとえば、 「mod_rewriteの実際の仕組み。 続ける人のためのマニュアル 。 」
RewriteEngine On RewriteRule .* index.php [L]
すべてのリクエストはindex.phpでラップされます。
特に既存のサイトのリダイレクトをより細かく調整するには、怠modにならず、ドキュメントや記事を参照してください。たとえば、 「mod_rewriteの実際の仕組み。 続ける人のためのマニュアル 。 」
着信リクエストを分析し、統計を蓄積します
リクエストをラップするスクリプトで、次の機能を実装します。
- 統計を蓄積するために、 $ _SERVERからいくつかのデータを記録します。
- $ _SERVERからのデータ内のパターン(パターン)を検索する機能。
- 一部のテンプレートのハンドラーを接続するための効果的なメカニズム(効率性については、PHPでのプロジェクトの非標準最適化を参照)。
- (将来的に)簡素化された非リソース集約型のサーバー側セッションメカニズム。
ゲームに参加する
最後に、要点を説明します。 ゲームはどのようになりますか?
統計を分析した後、探索するボットを選択します。 さまざまな基準(IP範囲、スキャン時間、ユーザーエージェント、特定のURL要求など)によってボットを識別しようとすることができます。
その後、ボットの期待に偽装し、予想される情報とファイルを提供して、スキャン段階からエクスプロイトの使用、非標準の呼び出し、特定のファイルのダウンロードなどまでの動作を完全に説明します。
たとえば、ボットはいくつかのcssファイルを取得します-それを取得し、その後特定のファイルにアクセスしようとします-それについての情報をネットワークで検索して送信し、パラメーターを渡します-答えを偽造します。 これは、軽量セッションの実装が役立つ場所です。
もちろん、最初の呼び出しから回答のチェーン全体の構築までの間に、情報の推測と手動検索の要素を使用して、いくつかの反復を行うことができます。 しかし、これは心の戦い(あなた<->ボットアルゴリズム開発者)、本当のチェスです!
小さなヒント
ボットが分析を特定するのをより困難にするために、結果の出力にランダム性の要素を使用することを(合理的な範囲内で)推奨します。 つまり、アルゴリズムはまだボットの「正しい答え」を認識していないか、要求が以前に満たされていません-サーバーエラーまたは空のファイルをシミュレートするXX%メッセージの確率を与え、SQLインジェクションを試みます-もっともらしいDBMSまたはPHPエラーメッセージなどを与えます。 。
結論の代わりに
がんばれ! そして、あなたの仕事が善のためであるように。
完成したコードをすぐにレイアウトするよう提案する警告(これが行われない理由):
- 空想の飛行を妨げないように。
- 専門分野/学部の学生を「コピーアンドペーストしない」こと(TVSUのKBiMMUからの挨拶)。
- 記事コードで提案された(もしあれば)テストの過程で、初心者の研究者を即座に遮断するボトボダムのタスクを促進しないように。