独自のファイアウォールの作成を開始するにはどうすればよいですか?
-
09-06-2019 - |
質問
これとまったく同じ質問をしている人以外に、この件に関してグーグルで検索した情報はほとんどありません。
独自のファイアウォールの作成を開始するにはどうすればよいですか?
Windows プラットフォーム用に作成しようとしていますが、他のオペレーティング システム用の情報にも興味があります。
解決
Windows 2000/XP については、CodeProject に例が記載された記事があります。 Windows 2000/XP 用ファイアウォールの開発
Vistaの場合は、使用する必要があると思います Windows フィルタリング プラットフォーム
他のヒント
この質問は、暗号化アルゴリズムの作成方法を尋ねる質問と驚くほど似ています。両方に対する答えは、すでに次のような業界標準ソリューションについての穏やかな注意喚起で終わるはずです。
- 長年の経験と絶え間ない改善を体現し、
- おそらく、どの自家製ソリューションよりもはるかに安全です。
- 効率などの付随的な要件を考慮します。
ファイアウォールは検査する必要があります 毎 パケットを効率的かつ正確に処理するため、OS カーネルまたはネットワーク スタック内で実行されます。エラーや非効率性は、マシン全体と下流のマシンのセキュリティとパフォーマンスを危険にさらします。
独自の低レベル ファイアウォールを構築することは、多くのテクノロジーにわたる教育を提供する優れた演習です。しかし、実際のアプリケーションでは、既存のファイアウォール API の周囲にシェルを構築する方がはるかに安全かつ賢明です。Windows では、 netsh
コマンドがこれを行います。Linuxの用途 netfilter
そして iptables
. 。これらのいずれかをグーグルで検索すると、理論、例、その他の役立つ情報がたくさん見つかります。
それで、始めるには、 TCP/IP (特にヘッダー情報) についてブラッシュアップしたいと思います。ポートとプロトコル)、さまざまな種類の攻撃とその検出方法について学びます。対象となる各オペレーティング システムと、それがネットワーク スタックとどのように相互作用するかについて学びます。最後に、管理とログについて考えてみましょう。ファイアウォールを構成し、ファイアウォールを通過するパケットを追跡して、ファイアウォールが希望どおりに動作していることを確認するにはどうすればよいでしょうか?
幸運を!
通常のアプローチは、API フックを使用することです。Google がそれを教えてくれます。重要なネットワーク関連のものをすべてフックするだけです。 connect
'砂 listens
と自分の望むものを拒否します。