10

これとまったく同じ質問をしている人々以外に、この件に関してグーグルにはこれまでほとんどありませんでした。

独自のファイアウォールの作成を開始するにはどうすればよいですか?

私は Windows プラットフォーム用に作成することを検討していますが、他のオペレーティング システムについてもこの情報に興味があります。

4

3 に答える 3

10

Windows 2000/XP については、CodeProject の例を含む記事があります Windows 2000/XP のファイアウォールの開発Vista については、 Windows Filtering Platform

を使用する必要があると思います

于 2008-08-20T17:30:31.470 に答える
8

この質問は、暗号化アルゴリズムの書き方を尋ねる質問と驚くほど似ています。両方への答えは、業界標準のソリューションについての穏やかなリマインダーで終わる必要があります。

  • 長年の経験と絶え間ない改善を体現し、
  • 自社開発のソリューションよりもはるかに安全であり、
  • 効率などの補助的な要件を考慮します。

ファイアウォールは、すべてのパケットを効率的かつ正確に検査する必要があるため、OS カーネルまたはネットワーク スタック内で実行されます。エラーや非効率性は、マシン全体と下流のセキュリティとパフォーマンスを危険にさらします。

独自の低レベル ファイアウォールを構築することは、多くのテクノロジに関する教育を提供する優れた演習です。しかし、実際のアプリケーションでは、既存のファイアウォール API を中心にシェルを構築する方がはるかに安全でスマートです。Windows では、netshコマンドがこれを行います。Linux はnetfilterとを使用しiptablesます。これらのいずれかをグーグルで検索すると、多くの理論、例、およびその他の役立つ情報が表示されます。

そのため、最初に TCP/IP (具体的には、ヘッダー情報: ポートとプロトコル) をブラッシュ アップし、さまざまな種類の攻撃とそれらを検出する方法について学びます。関心のある各オペレーティング システムと、それがネットワーク スタックとどのように相互作用するかについて学びます。最後に、管理とロギングについて考えてみましょう。ファイアウォールをどのように構成し、ファイアウォールを通過するパケットをトレースして、ファイアウォールが意図したとおりに動作していることを確認しますか?

幸運を!

于 2008-11-23T05:02:17.980 に答える
2

通常のアプローチは、API フックを使用することです。Google はそれを教えてくれます。connectや などのすべての重要なネットワーク関連のものをフックして、必要なものlistensを拒否するだけです。

于 2008-08-20T17:30:49.020 に答える