Jak zacząć pisać własną zaporę ogniową?


8

W tej sprawie niewiele było wcześniej w google, oprócz osób zadających to samo pytanie.

Jak zacząć pisać własną zaporę ogniową?

Szukam napisać jeden dla platformy Windows, ale chciałbym być także zainteresowany w tej informacji do innych systemów operacyjnych też.

8

dla Windows 2000/XP nie jest artykuł z przykładami na CodeProject Developing Firewalls for Windows 2000/XP

Vista Myślę, że trzeba będzie użyć Windows Filtering Platform


2

Zwykle podejście jest użycie API zaczepienia. Google może cię tego nauczyć. Po prostu podłącz wszystkie ważne elementy sieciowe, takie jak connect i listens i odmawiaj tego, czego chcesz.

  0

Zahaczanie API może być przydatne w przypadku tak zwanej "zapory aplikacji", ale w przypadku zapory sieciowej trzeba pracować na poziomie stosu sterowników sieciowych. 21 lis. 082008-11-21 23:48:06


6

To pytanie jest alarmująco podobne do pytania o napisanie algorytmu szyfrowania. Odpowiedzi na oba powinny zakończyć się w łagodnych przypomnień o standardowych rozwiązaniach branżowych, które już:

  • ucieleśnieniem letnie doświadczenie i ciągłe doskonalenie,
  • są prawdopodobnie znacznie bardziej bezpieczny niż rodzimych roztworu i
  • konto dla wymagań pomocniczych, takich jak efektywność.

Zapora musi sprawdzić każdy pakiet sprawnie i dokładnie, a zatem działa w jądrze systemu operacyjnego lub sieci stosów. Błędy lub nieskuteczność zagrażają bezpieczeństwu i wydajności całej maszyny i urządzeń końcowych.

Budowanie własnej zapory niskopoziomowej to doskonałe ćwiczenie, które zapewni wykształcenie w wielu technologiach. Jednak w przypadku prawdziwej aplikacji znacznie bezpieczniejsze i bardziej inteligentne jest budowanie powłoki wokół istniejącego interfejsu API zapory. W systemie Windows zrobi to komenda netsh; Linux używa netfilter i iptables. Googling, którykolwiek z nich, wskaże ci wiele teorii, przykładów i innych przydatnych informacji.

Na początek, odświeżyłem TCP/IP (w szczególności informacje o nagłówku: porty i protokoły), a następnie poznałem różne typy ataków i sposoby ich wykrywania. Dowiedz się o każdym interesującym systemie operacyjnym i jego interakcji ze stosami sieci. Na koniec pomyśl o administrowaniu i rejestrowaniu: w jaki sposób skonfigurujesz zaporę ogniową i śledzisz pakiety, aby upewnić się, że robi to, co chcesz?

Powodzenia!