Wprowadzenie do systemu OpenBSD

Transkrypt

Wprowadzenie do systemu OpenBSD
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
•
•
•
•
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 prosbe
naszego 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 wielkosc
plikó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 sie
dzienniki 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, /swap
zostal zamontowany na odzielnej
partycji
• 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=YES
pf_rules=/etc/pf.conf
Wszystkie funkcje PF konfiguruje sie
w 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 przechodza
pakiety (np. rl0, xl0)
przyklad dalszej czesci:
protokól – TCP, UDP
from any to 192.168.1.1
port 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ów
np.:ssh 22
telnet 23
smtp 25
www 80
pop3 110
•
Zaladowanie regul z pliku /etc/pf.conf
poleceniem:
#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 przepuszczal
pakiety 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><6000
regula zezwala na przesylanie pakietów TCP do
dowolnego portu powyzej 5000, ale ponizej 6000.
•
Nawiasy klamrowe
sluza do laczenia wpisów w jeden
np. 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 miejscu
Przyklad:
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ódel
spamu)
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 nadrzednej
definiujacej 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 byc
pomijane
ECN jest uzupelnieniem RED jest
mechanizmem jawnego powiadomienia o
przeciazeniu; wysylanie do urzadzen
znajdujacych 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 bandwidth
pasmo qlimit limit tbrsize rozmiar_tbr
queue {kolejka2, kolejka3}
altq on – slowo kluczowe
bandwidth – calkowita przepustowosc kolejki
nadrzednej
qlimit – liczba pakietów przetrzymywanych w
kolejce (domyslnie 50)
tbrsize (opcjonalnie) – jak szybko pakiety maja byc
usuwane 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_b
Pass in proto tcp from any to 192.168.0.3 keep state
queue lab_h
DZIEKUJE ZA UWAGE
Przygotowal:
Lukasz
Ogrodowczyk

Podobne dokumenty