Poprzez zaporę ogniowa rozumiemy program który filtruje pakiety, wychwytuje te niepożądane. Dzieje się to wszystko na zasadzie reguł które musimy wprowadzić do zapory. Zapora może też być dedykowanym sprzętem. Najbardziej popularną zaporą jest iptables. Mechanizm ten posiadają jądra Linuksa począwszy od wersji 2.4. Program ten działa między stosem sieciowym a warstwą gniazdek. To jej bezpośrednio używają programy użytkowe. Filtruje on pakiety wychodzące i przychodzące do serwera. Za pomocą polecenia netstat –t zobaczymy aktywne połączenia typu TCP. Do używania tej zapory potrzebujemy narzędzi userspace.. Przystępujemy do instalacji będzie to polecenie: apitude install iptables. Firewall ten działa na zasadzie łańcuchów, sa ich trzy rodzaje INPUT, OUTPUT, FORWARD. Pierwsze dwa filtrują pakiety przychodzące, wchodzące i wychodzące a ostatni analizuje pakiety które nie są do niego adresowane tylko na przykład przesyłane do innej podsieci. Konfigurację iptables można przeprowadzić za pomocą odpowiednich komend z linni poleceń. Przykładowa reguła:

sudo iptables –A OUTPUT –d 207.46.197.32 –j DROP

Polecenie to zabrania dostępu do komputera 207.46.197.32

Iptables może usuwać pakiety ale i logować je do LOG. Oprócz rozpoznawania pakietów iptables posiada wiele dodatkowych modułów używa się je w następujący sposób:

Iptables ... –m moduł –moduł-parametry_modułu ...

Liczba modółow jest bardzo duża postaram się przedstawić kilka najbardziej przydatnych. Pierwszym niech będzie addrtype rozpoznaje on pakiet po typie adresu może to być np. LOCAL. Kolejny moduł to connbytes, rozpoznaje on pakiet po ilości danych przesłanych w jednej sesji protokołu TCP. Można w ten sposób określić reguły dla pobierania dużych plików. Moduł odpowiadający za rozpoznanie pakietów tego samego typu a właściwie ich ilości to connlimit. Jeśli moduł wykryje za dużo połączeń to może je przekserować.
NAT czyli Network Address Translation jest technologią powszechnie używaną a odpowiada za to brak możliwości połączenia z komputerem (który jest w wewnętrznej sieci) oraz ograniczenie malejącej póli adresów Ipv4. Można użyć tej technologii posługując się iptables. Kolejnym sposobem na ochronę jest port knocking. Każdy serwer ma uruchomiony kilka portów, minimum jeden który służy do jego administracji np. SSh czy telnet. Aby zminimalizować ryzyko ataku można zastosować właśnie port knocking

Najpierw musimy zacząć od zrozumienia działania sieci komputerowej, ponieważ wszystko w niej tzn. przepływ danych odbywa się za pomocą protokołu Ipv4. Każda sieć komputerowa składa się oprócz kabli, routerów itp. z hostów. Na wstępie możemy przyjąć że host to komputer, ale jest to duże uproszczenie. Każdy host posiada swój adres czyli numer IP, dzięki temu mogą się wzajemnie komunikować i przesyłać między sobą dane. Odbywa się to za pomocą protokołów IP. Jest też coś takiego jak TCP i UDP, to także sa protokoły na wyższej warstwie, odpowiadają one za przekazywanie numerów portów. Dzięki temu pod jednym numerem IP może być uruchomionych wiele usług. Każdy z tych pakietów jest klasyfikowany i tak przyjęło się że portowi 80 odpowiada usługa HTTP itd. Pierwszy z protokołów jest protokołem strumieniowym, polega to na tym że jeśli mają być przesłane jakieś dane to najpierw musi nastąpić połączenie, gwarantuje też on odbiór danych w takiej kolejności w jakiej zostały one wysłane. TCP odpowiada także za ponowne wysłanie pakietu jeśli poprzedni został utracony. UDP jest zupełnie innym pakietem, nie ma pewności że pakiety dojdą w takiej kolejności w jakiej zostały wysłane a w ogóle nie wiadomo czy dojdą. dla celów komunikacji stworzono dwa rodzaje akcji jest to nasłuch i działanie logiczne.

Wszystkie ataki dzielimy na kilka grup. Pierwszą jest atak typu trojan. Jest on prosty do zrealizowania, na szczęście równie łatwo można się przed nim obronić. Atak ten polega na wgraniu odpowiedniego oprogramowania na komputer który ma zostać zaatakowany. Taki program pozwala na zdalną kontrolę nad serwerem. Kolejną grupę stanowią ataki typu DoS, polegają one najprościej mówiąc na zapychaniu łącza prze kilka komputerów tzw. zombie. Często są to zdalnie sterowane komputery za pomocą Trojana, właściciel często nie wie że jego komputer pomógł w ataku. Można to wytłumaczyć jako zalewanie komputera ofiary przez olbrzymia liczbę pakietów wysyłanych z kilku a nawet kilkudziesięciu maszyn. Kolejna grupa to tzw Exploity – to nic innego jak wykorzystanie dziur w oprogramowaniu znajdującym się na komputerze ofiary. Często dziura taka pozwala na wgranie swojego kodu który da dostęp do komputera. Ataki tego typu sa niebezpieczne. Znalezienie takiej dziury w oprogramowaniu jest bardzo trudne. Jeśli już tak się zdaży to w niedługim czasie wychodzi uaktualnienie które pozbędzie się problemu. Kolejny rodzaj to Phishing atak ten nie polega na wywołaniu szkód w komputerze, jest to podszycie się pod ten komputer i preparowanie odpowiednich pakietów. Przy tym wyglądają one jak by zostały wysłane z komputera ofiary. Komputer pod który podszywa się atakujący może gać role atakowanego lub umożliwić dostęp do innego hosta. Ostatnim rodzajem ataku jest Sniffing to nic innego jak kradzież pakietów przez agresora, po prostu są one przechwytywane. W ten sposób mogą zostać przechwycone hasła lub inne ważne dane.

Intel jak zwykle nie daje za wygrana, choć mówi się, że firma ta Ne najlepiej przędzie ostatnimi czasy. Mam tu na myśli procesory mobilne.