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!
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. – jdigital