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

Allikas: Kuutõrvaja
(VPN - IPsec)
(Teemad)
 
(ei näidata 2 kasutaja 122 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
 
                      |
 
                      |  fxp0, 172.16.1.17/28
 
                    __|__ 
 
                  |    |
 
                  |    |------ rl0, 192.168.2.254/24, DMZ -----
 
                  |_____|
 
                    | |
 
  xl0, 10.0.1.254/24 | |  em0, 192.168.1.254/24
 
                    | |
 
                    | |
 
                    | |_______ wire - 192.168.1.0/24 _________
 
                    |
 
                    |_________ wifi - 10.0.1.0/24 __________
 
 
 
ning peavad olema täidetud sellised nõuded
 
 
 
# Kohtvõrgu osast, kus asuvad kasutajate töökohaarvutid ning mis jaguneb kaheks osaks, traadiga võrk ning wifi peab pääsema 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.
 
# Wifi võrgust ei pääse traadiga kohtvõrku, samuti mitte vastupidi.
 
 
 
===Võrguseadmete seadistamine===
 
 
 
Tulemüüri seadistamine algab võrguseadmete kasutuselevõtmisega
 
 
 
 
 
===VPN - IPsec===
 
 
 
Olgu kuskil internetis teine sarnane võrk ('TUVIKE') st OpenBSD tulemüür ning selle taga kohtvõrk ning olukord, et teise kohtvõrgu TUVIKE teenustele, nt failiserver, usaldatakse ligi esimese võrgu KALAKE kasutajaid.
 
 
 
                      _______ wire - 192.168.3.0/24 ________
 
                      |
 
                      | 
 
                    __|__ em0 192.168.3.254/24
 
                  |    |
 
        TUVIKE    |    |
 
                  |_____|
 
                      |  fxp0 172.16.2.1/28
 
                      |
 
                  internet             
 
                      | 
 
                    __|__ fxp0 172.16.1.17/28
 
                  |    |
 
        KALAKE    |    |
 
                  |_____|
 
                      |  em0 192.168.1.254/24
 
                      | 
 
                      |_______ wire - 192.168.1.0/24 _________
 
 
 
Failiserverile (ja võimalikele muudele TUVIKE võrgu teenustele) ligipääsu saaks korraldada võrgu KALAKE kasutajatele põhimõtteliselt kahel viisil
 
 
 
* TUVIKE kohtvõrgu tulemüüri välisel seadmel porte sobivalt suunates sisevõrgu serverile
 
* moodustades virtuaalse võrgu (VPN), näiteks IPsec tehnika abil
 
 
 
Järgnevalt kirjeldame kuidas toimub IPsec abil VPN võrgu moodustamine ning selle kasutamine.
 
 
 
IPsec abil moodustub üle avaliku interneti kahe tulemüüri vahel IP kihi tasemel tunnel, mis praktiliselt tähendab seda, et näib nagu KALAKE ja TUVIKE kohtvõrgud oleksid ühendatud sama tulemüüri külge. Nt, KALAKE võrgust saab otse pöörduda kasutades TUVIKE kohtvõrgu failiserveri aadressi TUVIKE kohtvõrgu failiserveri poole.
 
 
 
IPsec tunneli moodustamiseks tuleb KALAKE tulemüüris moodustada fail /etc/ipsec.conf sisuga
 
 
 
ike esp from 192.168.1.0/24 to 192.168.3.0/24 peer 172.16.2.1
 
  
ning TUVIKE tulemüüris fail /etc/ipsec.conf sisuga
+
Muude populaarsete tulemüürilahenduste seas paistab OpenBSD paketifilter (tulemüür) silma sellistes aspektides
  
ike passive esp from 192.168.3.0/24 to 192.168.1.0/24 peer 172.16.1.17
+
* 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
  
Ning kopeerida KALEKE tulemüüri failisüsteemist fail /etc/isakmpd/local.pub TUVIKE tulemüüri failiks
+
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
  
/etc/isakmpd/pubkeys/ipv4/172.16.1.17
+
Lisaks saab sõltuvalt vajadusest tulemüüril kasutada nt selliseid teenuseid, mis küll iseenesest ei tulemüürimisega seotud
  
ning kopeerida TUVIKE tulemüüri failisüsteemist fail /etc/isakmpd/local.pub KALAKE tulemüüri failiks
+
* dhcp server
 +
* nimeserver - bind
 +
* VPN - IPsec, OpenVPN
 +
* veebivahendaja - squid
 +
* greylisting tarkvara - spamd
 +
* tftp
 +
* ntp
  
/etc/isakmpd/pubkeys/ipv4/172.16.2.1
+
===Teemad===
  
Peale nimetatud failide moodustamist tuleb esmalt TUVIKE tulemüüris käivitada isamkpd ning anda anda ipsecctl käsk
+
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.
  
isakmpd -K
+
* [[:Tulemüüri kasutamise vajadus]]
ipsecctl -f /etc/ipsec.conf
+
* 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]]
  
ning seejärel KALAKE tulemüüris sama.
+
===Märkused===
  
Lisaks tuleb veenduda, et pf tulemüüri reeglid võimaldaksid IPsec tunneliga seotud andmevahetust. Selleks tuleb arvestada, et kaks IPsec osapoolt kasutavad suhtlemiseks esp protkolli ning udp protokolli puhul porti 500. Tulemüüris toimub tunnelisse liiklusse sisenemine seadme enc0 kaudu, samuti selle seadme kaudu väljub tulemüürist tunnelist liiklus, kusjuures vastavalt toimub andmete krüptimine ja dekrüptimine - enc0 seadet tcpdump programmiga pealt kuulates on võimalik jälgida krüptimata andmevahetust.
+
* Paketifiltri abil ei saa kirjutada ümber OpenBSD arvutis lokaalselt genereeritud paketi dst ip aadressi ja porti.
  
Selleks, et veenududa tunneli töötamises sobib kuulata tulemüüri välisel st füüsilisel seadmel võrku esp protokolli osas pealt
+
===Kasulikud lisamaterjalid===
  
# tcpdump -n -i fxp0 proto ESP
+
* http://home.nuug.no/~peter/pf/en/long-firewall.html
23:17:06.533589 esp 172.16.1.17 > 172.16.2.1 spi 0xA8A05056 seq 70 len 884 (DF)
+
* Pf ja iptables ning ipfilter testid
23:17:06.534239 esp 172.16.2.1 > 172.16.1.17 spi 0x45CFA056 seq 71 len 436 (DF)
+
* http://www.benzedrine.cx/pf-paper.html
23:17:06.559449 esp 172.16.1.17 > 172.16.2.1 spi 0xA8A05056 seq 71 len 884 (DF)
+
* http://undeadly.org/cgi?action=article&sid=20060927091645 (kolmeosalise artikli esimene osas, viited teistele seal)
23:17:06.560104 esp 172.16.2.1 > 172.16.1.17 spi 0x45CFA056 seq 72 len 452 (DF)
 
23:17:06.601676 esp 172.16.1.17 > 172.16.2.1 spi 0xA8A05056 seq 72 len 100 (DF)
 
23:17:06.638905 esp 172.16.1.17 > 172.16.2.1 spi 0xA8A05056 seq 73 len 100 (DF)
 

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