Erinevus lehekülje "OpenBSD tulemüür" redaktsioonide vahel

Allikas: Kuutõrvaja
(Teemad)
 
(ei näidata 2 kasutaja 109 vahepealset redaktsiooni)
1. rida: 1. rida:
===Sissejuhatus===
+
===OpenBSD tulemüür===
  
OpenBSD operatsioonisüsteemi kasutamine võrgusõlmes on tema üheks oluliseks kasutusalaks. OpenBSD tulemüüril (ruuteril) on muu hulgas sellised omadused
+
Järgnevad tekstid eeldavad, et ollakse tuttav OpenBSD kui operatsioonisüsteemi kasutamisega ning on olemas mõõdukas ettekujutus TCP/IP protokollist.
 +
 
 +
OpenBSD operatsioonisüsteemi kasutamine võrgusõlmes on tema üheks oluliseks kasutusalaks. Sõltuvalt konkreetsetest vajadustest võib OpenBSD tulemüüril olla realiseeritud selliseid funktsioone
  
 
* liikluse filtreerimine - pf, mitmesugustele tingimustele põhinevate piirangute seadmine sh automaatselt täituvad ja tühjenevad blacklistid, synproxy
 
* liikluse filtreerimine - pf, mitmesugustele tingimustele põhinevate piirangute seadmine sh automaatselt täituvad ja tühjenevad blacklistid, synproxy
 +
* NAT - mitte-avalike aadressidega arvutite interneti ühendamine
 
* liikluse prioritiseerimine - altq
 
* liikluse prioritiseerimine - altq
* koormusjaotur - pf
+
* koormusjaotur - pf, relayd
* statistika ja andmete analüüsiks kogumise vahendid (pfctl, pftop, pfstat, pflogd, tcpdump)
+
* tulemüüri kluster - mitmest erinevast füüsilisest arvutist koosnev üks loogiline tulemüür (nn active/passive või active/active režiimis; carp, pfsync)
* VPN - IPsec, stunnel
+
* statistika ja andmete analüüsiks kogumine (pfctl, pftop, tcpstat, pflogd, tcpdump, symon, syweb, netflow)
* redundantse tulemüüri klustri võimalus - pfsync (koos sessioonide edasiandmisega)
+
* Sild (ingl. k. bridge)
 
+
* ruutinguprotokollide bgp ja ospf kasutamine
===Ülesandepüstitus===
 
 
 
Tulemüüri seadistamine algab sellest, et võimalikult täpselt ette kujutada, millist tulemust saavutada soovitakse. Olgu käesoleva pala kontekstis tegu sellise ülesandepüstitusega, mida iseloomustab skeem
 
 
 
                  internet
 
                      |  default gw, 172.16.1.18
 
                      |
 
                      |  fxp0, 172.16.1.17/28
 
                    __|__ 
 
                  |    |  rl0, 10.0.1.254/24
 
                  |    |------ DMZ 10.0.1.0/24 -----
 
                  |_____|
 
                      |
 
                      |  em0, 192.168.1.254/24
 
                      |
 
                      |
 
                      |_______ KALAKE - 192.168.1.0/24 _________
 
 
 
ning peavad olema täidetud sellised nõuded
 
 
 
# Kohtvõrgu osast KALAKE, kus asuvad kasutajate töökohaarvutid pääseb piiramatult avalikku internetti ning DMZ võrku.
 
# Avalikust internetist peab pääsema ainult DMZ võrgus töötava veebiserveri juurde.
 
# DMZ võrgust ei saa algatada ühendusti kuskil suunas.
 
# Tulemüüri kohtvõrgu ja DMZ võrguliidestel töötab nimeserveri teenus.
 
# Tulemüüris tehakse NAT'i DMZ ning KALAKE võrgus paiknevatele arvutitele.
 
# DMZ ja KALAKE võrgu arvutite vaikelüüsiks ning nimeserveriks on vastavalt 10.0.1.254 ja 192.168.1.254.
 
 
 
===Tulemüüri võrgu seadistamine===
 
 
 
Peale tulemüüri paigaldamist, tuleks tulemüür füüsiliselt internetist lahti ühendada, seadistada käsitsi võrguseadmetele joonisel toodud aadressid, veel parem, veenduda, et eksisteerivad sellise sisuga järgnevad failid (et failidesse kirjutatud seadistused oleksid tänu nendele failidele kehtestatud, peaks peale failide muutmist arvutile tegema alglaadimise)
 
  
# cat /etc/hostname.fxp0
+
Muude populaarsete tulemüürilahenduste seas paistab OpenBSD paketifilter (tulemüür) silma sellistes aspektides
inet 172.16.1.17 255.255.255.240 NONE
 
# cat /etc/hostname.rl0
 
inet 10.0.1.254 255.255.255.0 NONE
 
# cat /etc/hostname.em0
 
inet 192.168.1.254 255.255.255.0 NONE
 
# cat /etc/mygate
 
172.16.1.18
 
# cat /etc/resolv.conf
 
lookup file bind
 
127.0.0.1
 
# cat /etc/sysctl.conf | grep net.inet.ip.forward
 
net.inet.ip.forwarding=1        # 1=Permit forwarding (routing) of IPv4 packets
 
  
Seejärel ühendada külge DMZ ja KALAKE kohtvõrgust mõni arvuti ning veenduda, et kui paketifilter on välja lülitatud
+
* reeglite kirjutamise efektiivsus - mitme pordi või aadressi näitamine ühes reeglis, tabeli konstruktsioon, include'id ja ankrud mitmete failide vahel jaotatud seadistuste kasutamiseks
 +
* tulemüüri oleku jälgimise võimalus - pfctl utiliidi abil saab suvalisel ajahetkel täpselt kontrollida, millised ühendused tulemüürist läbi käivad ja millised paketifiltri reeglid on ühendusega seotud
 +
* tulemüüri paketifiltri tegevuste logimine - saab täpselt logida, millised pakette on lubatud läbi või milliseid on takistatud, label'ite kasutamine
 +
* synproxy - tulemüür tekitab tulemüüri taga töötava serveri eest ära 3-way tcp handshake, et kaitsta serverit syn-floodi eest
 +
* tcpcookies kasutamise võimalus puudub
 +
* aktiivne/passiivne kluster - kahest arvutist saab moodustada ühe loogilise tulemüüri, igal ajahetkel pakub teenust vaid üks klustri komponent, kusjuures ümberlülitumisel võetakse üle ka ühendused, st olemasolevad tcp ühendused ei katke
 +
* aktiivne/aktiivne kluster - kahest arvutist saab moodustada ühe loogilise tulemüüri, nt src ip aadressi alusel käib kliendi ühendus tulemüüri taga oleva serveriga kas läbi ühe või teise tulemüüri
 +
* automaatne blacklistimine - sõltuvalt allika iseloomust (nt kui palju ühendusi tehakse ajaühikus) saab korraldada allika ip aadressi täpsusega automaatse blacklistimise (sh blacklistist väljatoomise)
 +
* tcp/ip protokolli nö fundamentaalsete omaduste kasutamine tulemüüri seadistamisel - nt saab kontrollida tcp ühenduse pidamisega seotud timeout väärtuste alusel tulemüüri olekuid (nt unustatakse ära olekud, mis on tekkinud syn pakettidest, millele ei järgnenud kliendi poolset ack'i ettenäidatud aja jooksul; või unustatakse ära olekud, millega seoses ei ole toimunud reaalset andmevahtust etteantud aja vältel)
 +
* siltide (ingl. k. tag) kasutamine - tulemüüris on võimalik ühest seadmest sisenenud paketile lisada silt ning selle alusel teha otsustusi kui ta teisest seadmest väljub; tundub, et see ongi ainuvõimalik moodus turvalise (kontrollitakse sisenevat ja väljuvat liiklust), efektiivselt töötava ja efektiivselt hallatava tulemüüri moodustamiseks
  
# pfctl -d
+
OpenBSD pf on seejuures täies mahus porditud ka FreeBSD peale seega töötab 99% siin palas leiduvast süntaksist ja näitematerjalist
 +
erinevad on peamiselt vaid rajad ning mõned konkreetse süsteemi utiliidid
  
siis ruuting töötab. Seda võiks kontrollida nt ping programmi abil.
+
Lisaks saab sõltuvalt vajadusest tulemüüril kasutada nt selliseid teenuseid, mis küll iseenesest ei tulemüürimisega seotud
  
===PF paketifiltri seadistamine===
+
* dhcp server
 +
* nimeserver - bind
 +
* VPN - IPsec, OpenVPN
 +
* veebivahendaja - squid
 +
* greylisting tarkvara - spamd
 +
* tftp
 +
* ntp
  
PF paketifiltri tööd juhitakse programmiga pfctl, mille abil saab lisaks paketifiltri sisse ja välja lülitamisele laadida tekstifailis kirjas olevad paketifiltri reeglid, tavaliselt pfctl seadistusfailiks /etc/pf.conf, põhjalik PF paketifiltri juhend asub aadressil http://www.openbsd.org/faq/pf/index.html.
+
===Teemad===
  
Selleks, et liiklus läbiks tulemüüri võiks kõige lihtsamal olla süntaksiliselt korrektse /etc/pf.conf faili sisu
+
Käesolev käsitlus esineb pigem reaalselt tõenäoliselt esinevatele probleemidele sobivate lahenduste väljapakkumisena kui keskendub tähestikulises järjekorras erinevate programmide manuaalide (ingl. k. manpages) ümberjutustamisele.
  
pass all
+
* [[:Tulemüüri kasutamise vajadus]]
 +
* Tulemüüri ettevalmistamiseks vajalik riistvara ja tarkvara
 +
* [[Packet Filter]] - OpenBSD tulemüüritarkvara PF süntaksi tutvustus
 +
* [[OpenBSD v. 4.7 paketifilter]]
 +
* [[:Kahe võrgukaardiga ruutiv tulemüür]]
 +
* [[:Kahe võrgukaardiga aadressteisendav tulemüür]]
 +
* [[:Enam kui kahe võrgukaardiga aadressteisendav tulemüür]]
 +
* [[:Liikluse prioritiseerimine tulemüüris]]
 +
* [[:Mitme välisühendusega tulemüür]]
 +
* Passive-active tulemüürikluster
 +
* Active-active tulemüürikluster
 +
* Sild
 +
* [[:Ruuting domeenid]]
 +
* [[:FTP kasutamine OpenBSD paketifiltriga]]
  
Reeglite laadimine toimub käsuga
+
===Märkused===
  
# pfctl -f /etc/pf.conf
+
* Paketifiltri abil ei saa kirjutada ümber OpenBSD arvutis lokaalselt genereeritud paketi dst ip aadressi ja porti.
  
Ning vajadusel reeglite kehtestamine ehk sisselülitamine ning väljalülitamine vastavalt käskudega
+
===Kasulikud lisamaterjalid===
  
# pfctl -e
+
* http://home.nuug.no/~peter/pf/en/long-firewall.html
# pfctl -d
+
* Pf ja iptables ning ipfilter testid
 +
* http://www.benzedrine.cx/pf-paper.html
 +
* http://undeadly.org/cgi?action=article&sid=20060927091645 (kolmeosalise artikli esimene osas, viited teistele seal)

Viimane redaktsioon: 20. mai 2010, kell 20:23

OpenBSD tulemüür

Järgnevad tekstid eeldavad, et ollakse tuttav OpenBSD kui operatsioonisüsteemi kasutamisega ning on olemas mõõdukas ettekujutus TCP/IP protokollist.

OpenBSD operatsioonisüsteemi kasutamine võrgusõlmes on tema üheks oluliseks kasutusalaks. Sõltuvalt konkreetsetest vajadustest võib OpenBSD tulemüüril olla realiseeritud selliseid funktsioone

  • liikluse filtreerimine - pf, mitmesugustele tingimustele põhinevate piirangute seadmine sh automaatselt täituvad ja tühjenevad blacklistid, synproxy
  • NAT - mitte-avalike aadressidega arvutite interneti ühendamine
  • liikluse prioritiseerimine - altq
  • koormusjaotur - pf, relayd
  • tulemüüri kluster - mitmest erinevast füüsilisest arvutist koosnev üks loogiline tulemüür (nn active/passive või active/active režiimis; carp, pfsync)
  • statistika ja andmete analüüsiks kogumine (pfctl, pftop, tcpstat, pflogd, tcpdump, symon, syweb, netflow)
  • Sild (ingl. k. bridge)
  • ruutinguprotokollide bgp ja ospf kasutamine

Muude populaarsete tulemüürilahenduste seas paistab OpenBSD paketifilter (tulemüür) silma sellistes aspektides

  • reeglite kirjutamise efektiivsus - mitme pordi või aadressi näitamine ühes reeglis, tabeli konstruktsioon, include'id ja ankrud mitmete failide vahel jaotatud seadistuste kasutamiseks
  • tulemüüri oleku jälgimise võimalus - pfctl utiliidi abil saab suvalisel ajahetkel täpselt kontrollida, millised ühendused tulemüürist läbi käivad ja millised paketifiltri reeglid on ühendusega seotud
  • tulemüüri paketifiltri tegevuste logimine - saab täpselt logida, millised pakette on lubatud läbi või milliseid on takistatud, label'ite kasutamine
  • synproxy - tulemüür tekitab tulemüüri taga töötava serveri eest ära 3-way tcp handshake, et kaitsta serverit syn-floodi eest
  • tcpcookies kasutamise võimalus puudub
  • aktiivne/passiivne kluster - kahest arvutist saab moodustada ühe loogilise tulemüüri, igal ajahetkel pakub teenust vaid üks klustri komponent, kusjuures ümberlülitumisel võetakse üle ka ühendused, st olemasolevad tcp ühendused ei katke
  • aktiivne/aktiivne kluster - kahest arvutist saab moodustada ühe loogilise tulemüüri, nt src ip aadressi alusel käib kliendi ühendus tulemüüri taga oleva serveriga kas läbi ühe või teise tulemüüri
  • automaatne blacklistimine - sõltuvalt allika iseloomust (nt kui palju ühendusi tehakse ajaühikus) saab korraldada allika ip aadressi täpsusega automaatse blacklistimise (sh blacklistist väljatoomise)
  • tcp/ip protokolli nö fundamentaalsete omaduste kasutamine tulemüüri seadistamisel - nt saab kontrollida tcp ühenduse pidamisega seotud timeout väärtuste alusel tulemüüri olekuid (nt unustatakse ära olekud, mis on tekkinud syn pakettidest, millele ei järgnenud kliendi poolset ack'i ettenäidatud aja jooksul; või unustatakse ära olekud, millega seoses ei ole toimunud reaalset andmevahtust etteantud aja vältel)
  • siltide (ingl. k. tag) kasutamine - tulemüüris on võimalik ühest seadmest sisenenud paketile lisada silt ning selle alusel teha otsustusi kui ta teisest seadmest väljub; tundub, et see ongi ainuvõimalik moodus turvalise (kontrollitakse sisenevat ja väljuvat liiklust), efektiivselt töötava ja efektiivselt hallatava tulemüüri moodustamiseks

OpenBSD pf on seejuures täies mahus porditud ka FreeBSD peale seega töötab 99% siin palas leiduvast süntaksist ja näitematerjalist erinevad on peamiselt vaid rajad ning mõned konkreetse süsteemi utiliidid

Lisaks saab sõltuvalt vajadusest tulemüüril kasutada nt selliseid teenuseid, mis küll iseenesest ei tulemüürimisega seotud

  • dhcp server
  • nimeserver - bind
  • VPN - IPsec, OpenVPN
  • veebivahendaja - squid
  • greylisting tarkvara - spamd
  • tftp
  • ntp

Teemad

Käesolev käsitlus esineb pigem reaalselt tõenäoliselt esinevatele probleemidele sobivate lahenduste väljapakkumisena kui keskendub tähestikulises järjekorras erinevate programmide manuaalide (ingl. k. manpages) ümberjutustamisele.

Märkused

  • Paketifiltri abil ei saa kirjutada ümber OpenBSD arvutis lokaalselt genereeritud paketi dst ip aadressi ja porti.

Kasulikud lisamaterjalid