OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap •...
Transcript of OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap •...
OpenBSDwww.OpenBSD.org
• Uniksopodobny system operacyjny• Opracowany na Uniwersytecie
kalifornijskim w Berkley• Bazuje na BSD (Berkley Software
Distribution) z lat ’80• Wieloplatformowy (PC, Macintosh,
Sun Sparc, Compaq Alpha)• System dostepny nieodplatnie
• System mozna uruchomic na komputerach klasy 386 jak i na nowoczesnych serwerach
• Przez wielu uznawany za najbezpieczniejszy system operacyjny
• Twórcy stawiaja na niezawodnosc, stabilnosc, bezpieczenstwo
• Inne systemy BSD: NetBSD, FreeBSD, Mac OS X, BSD/OX
Literatura:
Ksiazka dostepna jest w bibliotece instytutowej (zakup na prosbenaszego Kola)
Zagadnienia:
• Instalacja• Podstawowa konfiguracja• Przykladowa siec• Firewall – konfiguracja, filtrowanie
pakietów za pomoca systemu PF• Proces kolejkowania
powody stosowanie kilku partycji:
• Partycja bezpiecznie ogranicza wielkoscplików dziennika
• Uniemozliwienie zapelnienia calego dysku
• Zapelnienie jednej partycji umozliwia latwe rozwiazanie problemu
• Partycje izoluja obszary z uszkodzonym systemem plików
Partycje:/ (root)
• Partycja podstawowa, przechowuje pliki konfiguracyjne
• Umieszczona jako pierwsza(najszybszy dostep)
• Nie musi byc bardzo pojemna (np. 500MB)
/swap
• Partycja wymiany• Przestrzen dyskowa traktowana jako
pamiec wirtualna• Pojemnosc – 2 x pojemnosc pamieci
fizycznej• Przenoszenie bezuzytecznych danych z
pamieci na dysk
Pozostale partycje:
• /temp - systemowa przestrzen na pliki tymczasowe
• /var – zawiera czesto zmieniajace siedzienniki serwera www, kolejki poczty, tymczasowe pliki uruchamialne, domyslna strone www itd.
Pozostale partycje:
• /usr – przechowywane sa programy systemu operacyjnego, systemowy kod zródlowy, kompilatory, biblioteki
• /home – prywatne pliki uzytkowników
Instalacja
• Kazdy z wymienionych katalogów tj. /root, /home, /tmp, /var, /usr, /swapzostal zamontowany na odzielnejpartycji
• Caly system zaintalowany na odzielnej rozszerzonej partycji dysku
• Program GAG umozliwial nam wybór systemu operacyjnego
Konfiguracja interfejsu Ethernet:
• Z kazda z kart sieciowych zwiazany jest osobny plik konfiguracyjny:/etc/hostname.nazwa_interfejsu
• Komputer LAB_C z zainstalowanym OpenBSD posiadal 2 karty:xl0 oraz rl0, tak wiec pliki konfiguracyjne:/etc/hostname.xl0/etc/hostname.rl0
Konfiguracja sieci w pracowni:
Konfiguracja interfejsu Ethernet:
Wpis do/etc/hostname.nazwa_interfejsu:inet adres_ip maska_sieci adres_rozgloszeniowy
opcje
/etc/hostname.rl0:inet 192.168.0.1 255.255.255.0 NONE NONE
etc/hostname.xl0:inet 192.168.1.1 255.255.255.0 NONE NONE
Konfiguracja interfejsu Ethernet:
• Wpisanie NONE w miejsce adresu rozgloszeniowego oznacza, ze system wyznaczy adres rozgloszeniowy na podstawie podanego adresu IP oraz maski
• Jesli komputer ma dzialac jako klient DHCP to w pliku /etc/hostname.rl0:nalezy wpisac slowo dhcp
Konfiguracja interfejsu Ethernet:
• Adres bramy domyslnej mozna podac w jednym wierszu w pliku /etc/mygate
• Konfiguracja DNS:edytujemy plik: etc/resolv.conf
wpis:domain nazwa_domeny_do_której_podlaczony_jest_komputer
nameserver adres_serwera_nazw
Filtrowanie pakietów–firewall:
• system PF• PF uruchamiany po starcie systemu
po ustawieniu 2 zmiennych w pliku /etc/rf.conf:pf=YESpf_rules=/etc/pf.conf
• Wszystkie funkcje PF konfiguruje siew pliku /etc/pf.conf
Funkcje pojawiajace sie w PF:
• Makra• Tabele• Opcje• Normalizacja ruchu• Sterowanie przepustowoscia• Translacja • Przekierowania• Filtracja pakietów
Firewall –format wprowadzanej reguly:pass in on nazwa_interfejsu proto protokól from any to adres port numer_portu keep state
pass/block- slowo kluczowe, filtracja pakietów (przepusc, zablokuj)in/out – kierunek przeplywu pakietów (in oznacza ruch wchodzacy do chronionej sieci)on nazwa_interfejsu – wskazuje interfejs przez który przechodzapakiety (np. rl0, xl0)
przyklad dalszej czesci:protokól – TCP, UDPfrom any to 192.168.1.1port 22 keep state – wskazanie iz nalezy przechowywac informacje o stanie tego polaczenia
Konfiguracja firewalla:• W pliku /etc/services mamy zawarty spis
uslug wraz z numerami portównp.:ssh 22
telnet 23smtp 25www 80pop3 110
• Zaladowanie regul z pliku /etc/pf.confpoleceniem:#pfctl –f /etc/pf.conf(control the packet filter and network address translation)
Przykladowy wpis do PF:pass in on xl0 proto tcp from 192.168.1.2 to any port 22
Powyzszy zapis oznacza, ze firewall bedzie przepuszczalpakiety do routera (z Lab_D) zwiazane z protokolem ssh, przez interfejs xl0 (192.168.1.1) na porcie 22
PF
• Operatory logiczne: =, !=, <,<=,>,<=,<>,><
np. pass in proto tcp from any to any port 5000><6000regula zezwala na przesylanie pakietów TCP do dowolnego portu powyzej 5000, ale ponizej 6000.
• Nawiasy klamrowesluza do laczenia wpisów w jedennp. pass in proto {tcp, udp} from any to any port 53
PF – makra• To zmienne , które mozna definiowac na
potrzeby regul• Korzystajac z makra ewentualne zmiany
wprowadzamy tylko w jednym miejscuPrzyklad:External_if=„xl0”Internal_ip=„rl0”Block in on $External_if from $Internal_ip
PF – tabele:• Przechowuja dlugie listy adresów
sieciowych (np. róznych zródelspamu)
• Dzialaja szybciej niz wpisy w nawiasach klamrowych
• Mozna je uruchamiac takze podczas pracy systemu
• Definicja tabeli:table <nazwa_tabeli> {adresy}
PF – tabele:
• Przyklad:table <spam> {234.32.3.4/16, 243.45.23.2/24}
• Liste adresów do umieszczenia w tabeli mozna zapisac w pliku zewnetrznym; pobranie listy z pliku:table<spam> file „/etc/plik1”(w pliku kazdy adres zapisujemy w oddzielnej linii, znaki # oznaczaja komentarz)
Regulacja przepustowoscia
• Jedna z funkcji zapór sieciowych• Udostepnianie czesc pasma dla
okreslonego zadania• Rezerwowanie miejsca dla
szczególnie waznych funkcji• System PF zawiera system
zarzadzania przepustowoscia ALTQ
Kolejki• ALTQ zarzadza dostepnym pasmem za pomoca
kolejek• Kolejka jest jakby lista pakietów oczekujacych na
przetworzenie• Caly ruch sieciowy mozna podzielic na rózne
kolejki, które reguluja przepustowosc serwera• Korzystaja z algorytmu FIFO• Mozliwosc kolejkowania opartego o priorytety
(PRIQ) lub kolejkowania opartego o klasy (CBQ)• PRIQ i CBQ wzajemnie sie wykluczaja i nie mozna
ich jednoczesnie uaktywnic na jednym interfejsie
Kolejkowanie oparte o klasy• W przypadkach, kiedy trzeba wplywac na
dostepnosc pasma• Alokowanie okreslonych przedzialów pasma dla
pakietów róznego typu poprzez system hierarchicznych klas
• Kazda klasa ma swoja wlasna kolejke o niezaleznej charakterystyce
• Róznego rodzaju ruch sieciowy mozna przypisywac do róznych klas (np. ruch zwiazany z ssh do jednej klasy, z http do innej klasy)
• Mozliwosc pozyczania pasma od klas znajdujacych sie wyzej w hierarchii (jesli jest dostepne)
Opcje kolejek• Default• Control• RED• ECN• Borrow
Obydwa systemy: PRIQ oraz CBQ wymagaja utworzenia kolejki nadrzednejdefiniujacej podstawowe parametry regulacji przeplywu danych
Opcje kolejek –Default i Control
• Kolejka nadrzedna moze miec tylko jedna kolejke podrzedna default –funkcja domyslnej kolejki, gdy dany pakiet nie jest przydzielony do zadnej innej kolejki
• Kolejka typu Control uzywana jest przez pakiety kontrolne jak ICMP, IGMP
Opcje kolejek –RED oraz ECN
• RED jest mechanizmem wczesnego wykrywania przepelnienia kolejki; gdy kolejka sie zapelni, pakiety zaczna bycpomijane
• ECN jest uzupelnieniem RED jest mechanizmem jawnego powiadomienia o przeciazeniu; wysylanie do urzadzenznajdujacych sie na drodze pomiedzy serwerem a klientem informacji o przeciazeniach wystepujacych w sieci i koniecznosci zmniejszenia ilosci przesylanych miedzy nimi pakietów
Opcje kolejek –Borrow
• Tylko w powiazaniu z CBQ, dzieki tej opcji kolejka moze „pozyczyc” pasmo z kolejki nadrzednej (jesli dostepne)
• Pozyczona nadwyzka jest zwracana w momencie ponownego zwiekszenia natezenia ruch w kolejce nadrzednej
Konfiguracja kolejki nadrzednej
altq on nazwa_intrerfejsu typ_kolejki bandwidthpasmo qlimit limit tbrsize rozmiar_tbrqueue {kolejka2, kolejka3}
altq on – slowo kluczowebandwidth – calkowita przepustowosc kolejkinadrzednejqlimit – liczba pakietów przetrzymywanych w kolejce (domyslnie 50)tbrsize (opcjonalnie) – jak szybko pakiety maja bycusuwane z kolejki queue – lista kolejek podrzednych
Definiowanie kolejek priorytetowych PRIQ
Przyklad:Kolejka nadrzedna:altq on rl0 priq bandwidth 100Mb queue {ssh, other}
Definicje kolejek podrzednych:queue nazwa_kolejki priority priorytet priq (opcje)
priority – od 0 do 15 (0-brak priorytetu, 15 max. priorytet)opcje – np. RED, default
Definiowanie kolejek opartych na klasach
Przyklad:Kolejka nadrzedna:altq on rl0 cbq bandwidth 100Mb queue {kolejka, kolejka2}
Definicje kolejek podrzednych:queue nazwa_kolejki bandwidth pasmo priority priorytet cbq (opcje) {kolejka_podrzedna4, kolejka_podrzedna5}
queue kolejka_podrzedna_4 bandwidth 5% prioryty 7 cbq(borrow)
Priority(opcjonalnie) – od 0 do 7 (0-brak priorytetu, 7 max. priorytet)Opcje(opcjonalnie) – np. RED, default
Kolejkowanie – przyklad w laboratorium
• Przydzielenie przepustowosci dwu sieciom LAN
• Kolejkowanie oparte o klasy
Kolejkowanie – przyklad w laboratorium – zawartosc PF
Definicje kolejek:altq on rl0 cbq bandwidth 896Kb queue {lab_b, lab_h}queue lab_b bandwidth 768Kb cbq (red ecn)queue lab_h bandwidth 128Kb cbq (default red ecn)
Kolejkowanie – przyklad w laboratorium – zawartosc PF
Przypisanie ruchu do kolejek:Pass in proto tcp from any to 192.168.0.2 keep state queue lab_bPass in proto tcp from any to 192.168.0.3 keep state queue lab_h
DZIEKUJE ZA UWAGE
Przygotowal:Lukasz Ogrodowczyk