BSI Projekt Pacholek Niziol Surdyka PDF

Title BSI Projekt Pacholek Niziol Surdyka
Author Natalia Pernak
Course Bezpieczeństwo sygnałów informacyjnych
Institution Politechnika Rzeszowska im. Ignacego Lukasiewicza
Pages 16
File Size 693 KB
File Type PDF
Total Downloads 68
Total Views 137

Summary

Download BSI Projekt Pacholek Niziol Surdyka PDF


Description

Rzeszów, 1.06.2017

BEZPIECZEŃSTWO SYSTEMÓW INFORMACYJNYCH

PROJEKT KONFIGUROWANIE FIREWALL’A W SYSTEMIE LINUX

ET-DU-1 NIZIOŁ Magdalena PACHOŁEK Tomasz SURDYKA Edyta

SPIS TREŚCI LINUX................................................................................................................................................... 3 FIREWALL.......................................................................................................................................... 3 NETFILTER......................................................................................................................................... 4 IPTABLES............................................................................................................................................ 4 KONFIGURACJA – IPTABLES......................................................................................................... 6 Instrukcja podstawowej konfiguracji – krok po kroku..........................................................................................6 Uncomplicated Firewall (ufw).............................................................................................................................10 Gufw....................................................................................................................................................................11 Dodatek...............................................................................................................................................................13 Zadanie do przeanalizowania.............................................................................................................................14

LITERATURA:................................................................................................................................. 16

LINUX Linux – system operacyjny oparty na rodzinie Unix. Jest to wolne oprogramowanie, tj. możliwe jest jego swobodne rekonfigurowanie (adekwatnie do własnych potrzeb), wykonywanie dowolnej ilości kopii, rozpowszechnianie kodu innym itd. [1, 1] Rozróżnić należy terminologię. W rzeczywistości hasło Linux oznacza jądro systemu. Powszechnie jednak uważa się to za całą dystrybucję (jądro + zestaw niezbędnego oprogramowania). [1, 1] Dystrybucji Linuxa może być nawet kilkaset. Najbardziej popularne to Debian, Ubuntu, Fedora. Każda z dystrybucji ma wstępnie skonfigurowane środowisko graficzne. Jednak w celu zminimalizowania wykorzystania zasobów systemowych można z niego zrezygnować. Wówczas jako jedyny interfejs funkcjonuje wiersz poleceń (CLI). [1, 1, 2, 2] Linux ma bardzo szerokie zastosowanie. Jest stosowany jako podstawowy system operacyjny serwerów, zapór sieciowych, routerów oraz w systemach osadzonych, a niekiedy także w odtwarzaczach DVD czy tunerach DVB. [2, 2]

FIREWALL Firewall – z ang. ściana przeciwogniowa. [3, 3] Firewall (zapora sieciowa) jest jednym ze sposobów zabezpieczania sieci i systemów przed intruzami. [3, 3] Najprościej można opisać zaporę jako urządzenie zabezpieczające, które monitoruje ruch sieciowy i decyduje o zezwalaniu na ten ruch lub jego blokowaniu na podstawie określonego zestawu reguł bezpieczeństwa. Firewall może być sprzętowy, programowy lub stanowić połączenie sprzętu i oprogramowania. [4, 4] Rodzaje firewalli: 1)

Proxy – firewall pośredniczący. Umożliwia filtrowanie pakietów, a także zapobiega bezpośrednim połączeniom spoza sieci. Stanowi bramę pomiędzy sieciami. W sesji wychodzącej lub przychodzącej najpierw wykonywane jest połączenie z zaporą, a następnie z systemem docelowym.

2)

Stateful Packet Inspection (Stateful Firewall) – umożliwia lub blokuje ruch w oparciu o stan, port i protokół. Jest to ulepszona forma filtrowania pakietów. Sprawdza, czy dany pakiet jest częścią ustalonej sesji TCP. Monitoruje ruch od momentu rozpoczęcia połączenia, aż do jego zakończenia.

3)

Unified threat management (UTM) firewall – zapora wielofunkcyjna. Łączy funkcje zapory kontrolnej

(Stateful Packet

Inspection) z wykrywaniem

włamań

i oprogramowaniem antywirusowym. Może obejmować dodatkowe usługi (np. filtr antyspamowy). 4)

Translacja adresów sieciowych – NAT (network address translation) – zamiana adresu IP hosta wewnętrznego w celu ukrycia go przed zewnętrznym monitorowaniem.

5)

Firewall następnej generacji – NGFW (Next-generation firewall) – zapora tego typu powinna łączyć w sobie filtrowanie pakietów, translację adresów sieciowych i obsługę wirtualnych sieci prywatnych z systemem wykrywania zagrożeń, kontrolą aplikacji oraz inspekcją ruchu szyfrowanego. [3, 3, 4, 4, 5, 5, 6, 6]

NETFILTER „Netfilter jest frameworkiem w jądrze Linuksa, służącym do przechwytywania i zmieniania ruchu sieciowego. Netfilter składa się z szeregu punktów w kodzie obsługi sieci, w których można umieszczać funkcje odpowiedzialne za analizę i zmianę pakietów sieciowych. Punkty te są pogrupowane w tablice, a funkcje przyłączone w danym punkcie nazywane są łańcuchami. Netfilter jest także nazwą projektu dostarczającego aplikacje do obsługi tego frameworka.” [7, 7] Podstawową aplikacją z tego pakietu jest iptables – aplikacja przestrzeni użytkownika, która służący do obsługi części netfilter pracującej w warstwie IP. Ponadto dostępne są ebtables – konfiguracja netfilter dla mostów sieciowych oraz arptables – zarządzanie komponentami odpowiedzialnymi za filtrowanie ARP (Address Resolution Protocol). [7, 7]

IPTABLES Iptables to aplikacja, która pozwala użytkownikowi na konfigurowanie określonych reguł filtrowania pakietów, które będą egzekwowane przez framework Netfilter. Oprócz konfiguracji służy także do konserwacji i sprawdzania tabel reguł filtrowania. Każda tabela zawiera wiele wbudowanych łańcuchów, a także może zawierać łańcuchy zdefiniowane przez użytkownika. Iptables wymaga uprawnień roota (pełna kontrola) [8, 8, 9, 9] Każdy łańcuch jest listą reguł, która może pasować do zestawu pakietów. Każda reguła określa co zrobić z pakietem, który „pasuje”. Nazywa się to „celem”, który może być przeskokiem do łańcucha zdefiniowanego przez użytkownika w tej samej tabeli. [9, 9]

Reguła zapory określa kryteria pakietu i celu. Jeśli pakiet jest odrzucony, badana jest następna reguła w łańcuchu. Jeśli pakiet jest zgodny – kolejna reguła jest określona przez wartość celu. Wartość ta może być nazwą łańcucha zdefiniowanego przez użytkownika lub jedną z wartości specjalnych (ACCEPT, DROP, QUEUE, RETURN). ACCEPT oznacza zaakceptowanie pakietu, DROP – odrzucenie, QUEUE – przekazanie pakietu do przestrzeni użytkownika, RETURN – zatrzymanie łańcucha i powrót do poprzedniego, zaraz po regule która spowodowała skok do tego łańcucha. [9, 9] Iptables mogą używać pakietów rozszerzeń. Rozszerzenia mogą należeć do jednego z dwóch typów: nowych celów, lub nowych testów. Mogą być ładowane na dwa sposoby – domyślnie lub z opcjami. Do każdego rozszerzenia można uzyskać pomoc wywoływaną odpowiednią komendą. [9, 9, 10, 10]

KONFIGURACJA – IPTABLES Instrukcja podstawowej konfiguracji – krok po kroku Należy uruchomić z menu terminal, lub przejść do konsoli systemowej skrótem CTRL+F1. Aby wrócić do powłoki graficznej – CTRL+F7 lub CTRL+F8 (zależnie od wersji systemu i pakietów). Zalogować się do użytkownika o wyższych uprawnieniach: sudo su Podać hasło  enter. Jeżeli wyświetlił się znak zachęty rozpoczynający się "root@" to wpis był poprawny. Prostą komendą sprawdzić czy jest dostęp do Internetu: ping onet.pl Skrót CTRL+C przerywa komendę ping. Sprawdzić czas odpowiedzi do serwera dns Google: ping 8.8.8.8 Wyświetlenie flag możliwych do użycia: iptables –h Jeżeli uzyskane informacje nie są wystarczające, można otworzyć podręcznik do programu iptables. Po skończonej lekturze podręcznik zamyka się literą Q. man iptables Rozpoczęcie właściwej konfiguracji. Wypisanie aktualnych reguł pakietu iptables: iptables –L

Rysunek 1 Konsola – logowanie i wyświetlenie aktualnych reguł

Rysunek 2 Konsola - fragment podręcznika iptables

Jeżeli reguły są satysfakcjonujące – proces konfiguracji się kończy. Jeżeli użytkownik oczekuje czegoś innego, należy przejść do kolejnych kroków. Reguły można wprowadzać wprost do terminala, wpisując nazwę "iptables", a następnie flagi.

Aby łatwiej skonfigurować wszystko na raz, utworzony zostanie plik tekstowy, który następnie zostanie wykonany. Sposób ten umożliwi dodawanie komentarzy, aby osoba postronna mogła zorientować się o co chodzi w danym skrypcie. Utworzyć nowy plik w folderze ustawień /etc/ o nazwie iptables1, Wykorzystać przy tym prosty edytor plików nano: nano /etc/iptables W tym momencie powinien pokazać się bogaty w funkcje edytor plików, do którego zostanie wpisana podstawowa konfiguracja. Na początek usunięte zostaną działające reguły i zablokowany ruch wejściowy, wyjściowy i przekazujący (routing). echo "Uruchamiam firewalla..."

iptables -F iptables -t nat -F

#DROP - blokuj ruch #ACCEPT - pozwalaj na ruch

iptables -P INPUT DROP

#ruch wejściowy

iptables -P OUTPUT DROP

#ruch wyjściowy

iptables -P FORWARD DROP #ruch przekazujący(routujący)

echo "Wszystko dziala poprawnie"

Rysunek 3 Konsola - plik konfiguracyjny

Zapisać plik skrótem CTRL+O. Następnie zamknąć edytor skrótem CTRL+X i uruchomić plik: sh /etc/iptables Wyświetlić aktywne reguły: iptables -L Sprawdzić czy jest dostęp do Internetu: ping onet.pl Jeżeli nie ma odpowiedzi – tak właśnie miało być, wszystko zostało wykonane poprawnie. Skrót CTRL+C przerywa komendę ping. Teraz sprawdzić czas odpowiedzi do serwera dns Google: ping 8.8.8.8 Skrót CTRL+C przerywa komendę ping.

Rysunek 4 Konsola - sprawdzenie konfiguracji

Uncomplicated Firewall (ufw) Zalogować się jako użytkownik root: sudo su  podać hasło Sprawdzić czy ufw jest w systemie: ufw –help Powinna ukazać się lista argumentów, jeżeli jej nie ma należy uruchomić instalację: apt-get install ufw Aby włączyć ufw wpisać polecenie: ufw enable Wyłączenie ufw następuje poleceniem ufw disable, ale w tej chwili nie należy tego robić. Sprawdzić status zapory: ufw status Powinien pojawić się komunikat, że ufw jest aktywny. Aby uzyskać szczegółowe informacje:

ufw status verbose Wyświetlenie użytych reguł uzyskuje się wpisując: ufw status numbered Ustawić reguły: ufw default deny incoming ufw default deny outgoing ufw allow 80 ufw allow 80/udp Wyświetlić i sprawdzić komendą ping lub poprzez przeglądarkę działanie konfiguracji.

Gufw Istnieje możliwość skonfigurowania zapory z poziomu graficznego interfejsu użytkownika – wykorzystuje się do tego celu nakładkę graficzną. Aby konfigurować graficznie ufw należy uruchomić gui ufw: gufw Proces konfiguracji jest opisany w obszernym wstępie nakładki graficznej na ufw. Jeżeli gufw nie działa, należy go zainstalować: apt-get install ufw

Rysunek 5 Konsola – ufw

Rysunek 6 Graficzna nakładka ufw

Dodatek Aby testować odpowiedź na danym porcie można używać programu nmap. Instalacja:

apt-get install nmap Przetestować odpowiedź do witryny prz.edu.pl na porcie 80 (przeglądarkowym): nmap -p 80 prz.edu.pl Odpowiedź: PORT STATE SERVICE 80/tcp open

http

Teraz test na porcie do terminalowego połączenia ssh: nmap -p22

prz.edu.pl

Odpowiedź: PORT STATE SERVICE 22/tcp open ssh Port jest otwarty, więc administrator może się zalogować z każdego miejsca terminalowo. Skanowanie ogólne portów: nmap -v prz.edu.pl

Zadanie do przeanalizowania Korzystając z pomocy systemowej i dostępnych źródeł internetowych należy przeanalizować działanie poniższej konfiguracji. Następnie należy ją przetestować oraz poprawić ewentualne błędy. #iptables -A INPUT -p tcp --destination-port https -j ACCEPT #iptables -A INPUT -p udp --destination-port https -j ACCEPT iptables -A INPUT -p tcp --destination-port smtp -j ACCEPT #Pozwalamy na ruch http/https iptables -A INPUT -p tcp --destination-port www -j ACCEPT

iptables -A INPUT -p udp --destination-port www -j ACCEPT iptables -A INPUT -p tcp --destination-port https -j ACCEPT iptables -A INPUT -p udp --destination-port https -j ACCEPT iptables -A INPUT -p tcp --destination-port http -j ACCEPT iptables -A INPUT -p udp --destination-port http -j ACCEPT iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT iptables -A INPUT -p udp --destination-port 80 -j ACCEPT iptables -A INPUT -p tcp --destination-port 8080 -j ACCEPT iptables -A INPUT -p udp --destination-port 8080 -j ACCEPT #iptables -A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT echo "Wszystko dziala poprawnie"

LITERATURA: [1] https://www.linux.pl/publikacje/artykuly/87-podstawy-linuksa/118-wstep-do-linuksa [2] https://pl.wikipedia.org/wiki/Linux [3] https://pl.wikipedia.org/wiki/Zapora_sieciowa [4] http://www.cisco.com/c/en/us/products/security/firewalls/what-is-a-firewall.html [5] http://searchsecurity.techtarget.com/feature/The-five-different-types-of-firewalls [6] http://www.it-professional.pl/bezpieczenstwo/artykul,4897,firewalle-nowej-generacji.html [7] https://pl.wikipedia.org/wiki/Netfilter [8] https://www.linode.com/docs/security/firewalls/control-network-traffic-with-iptables [9] https://linux.die.net/man/8/iptables [10] https://www.netfilter.org/documentation/HOWTO/pl/packet-filtering-HOWTO-7.html...


Similar Free PDFs