OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap •...

38
OpenBSD www.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

Transcript of OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap •...

Page 1: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 2: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

• 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

Page 3: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

Literatura:

Ksiazka dostepna jest w bibliotece instytutowej (zakup na prosbenaszego Kola)

Page 4: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

Zagadnienia:

• Instalacja• Podstawowa konfiguracja• Przykladowa siec• Firewall – konfiguracja, filtrowanie

pakietów za pomoca systemu PF• Proces kolejkowania

Page 5: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 6: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

Partycje:/ (root)

• Partycja podstawowa, przechowuje pliki konfiguracyjne

• Umieszczona jako pierwsza(najszybszy dostep)

• Nie musi byc bardzo pojemna (np. 500MB)

Page 7: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

/swap

• Partycja wymiany• Przestrzen dyskowa traktowana jako

pamiec wirtualna• Pojemnosc – 2 x pojemnosc pamieci

fizycznej• Przenoszenie bezuzytecznych danych z

pamieci na dysk

Page 8: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

Pozostale partycje:

• /temp - systemowa przestrzen na pliki tymczasowe

• /var – zawiera czesto zmieniajace siedzienniki serwera www, kolejki poczty, tymczasowe pliki uruchamialne, domyslna strone www itd.

Page 9: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

Pozostale partycje:

• /usr – przechowywane sa programy systemu operacyjnego, systemowy kod zródlowy, kompilatory, biblioteki

• /home – prywatne pliki uzytkowników

Page 10: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 11: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 12: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

Konfiguracja sieci w pracowni:

Page 13: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 14: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 15: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 16: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 17: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

Funkcje pojawiajace sie w PF:

• Makra• Tabele• Opcje• Normalizacja ruchu• Sterowanie przepustowoscia• Translacja • Przekierowania• Filtracja pakietów

Page 18: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 19: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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)

Page 20: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 21: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 22: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 23: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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}

Page 24: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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)

Page 25: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 26: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 27: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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)

Page 28: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

Opcje kolejek• Default• Control• RED• ECN• Borrow

Obydwa systemy: PRIQ oraz CBQ wymagaja utworzenia kolejki nadrzednejdefiniujacej podstawowe parametry regulacji przeplywu danych

Page 29: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 30: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 31: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 32: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 33: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 34: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 35: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

Kolejkowanie – przyklad w laboratorium

• Przydzielenie przepustowosci dwu sieciom LAN

• Kolejkowanie oparte o klasy

Page 36: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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)

Page 37: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

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

Page 38: OpenBSD - aegis.et.put.poznan.plaegis.et.put.poznan.pl/old_site/pub/auto/96openBSD.pdf · /swap • Partycja wymiany ... przyklad dalszej cz esci: protokól – TCP, UDP from any

DZIEKUJE ZA UWAGE

Przygotowal:Lukasz Ogrodowczyk