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

Allikas: Kuutõrvaja
(Võrguseadmete seadistamine)
(Liikluse ruutimine)
65. rida: 65. rida:
 
Tavaliselt on lisaks võrguseadmete seadistamisele vajalik öelda ka vaikelüüsi aadress
 
Tavaliselt on lisaks võrguseadmete seadistamisele vajalik öelda ka vaikelüüsi aadress
  
  # route add default 192.168.1.
+
  # route add default 192.168.1.31
 +
 
 +
IPv4 ruutingutabelit näeb öeldes
 +
 
 +
# route -n show -inet
 +
 
 +
Kontrollimaks, et ruutimine iseenesest toimib tasub vajadusel paketifilter välja lülitada käsuga 'pfctl -d' ning nt pingimise abil veenduda, et liiklus tulimüüri läbib.
  
 
===VPN - IPsec===
 
===VPN - IPsec===

Redaktsioon: 30. juuli 2007, kell 00:51

Sissejuhatus

OpenBSD operatsioonisüsteemi kasutamine võrgusõlmes on tema üheks oluliseks kasutusalaks. OpenBSD tulemüüril (ruuteril) on muu hulgas sellised omadused

  • liikluse filtreerimine - pf, mitmesugustele tingimustele põhinevate piirangute seadmine sh automaatselt täituvad ja tühjenevad blacklistid, synproxy
  • liikluse prioritiseerimine - altq
  • koormusjaotur - pf
  • statistika ja andmete analüüsiks kogumise vahendid (pfctl, pftop, pfstat, pflogd, tcpdump)
  • VPN - IPsec, stunnel
  • redundantse tulemüüri klustri võimalus - pfsync (koos sessioonide edasiandmisega)

Ü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

  1. 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.
  2. Avalikust internetist peab pääsema ainult DMZ võrgus töötava veebiserveri juurde.
  3. DMZ võrgust ei saa algatada ühendusti kuskil suunas.
  4. Wifi võrgust ei pääse traadiga kohtvõrku, samuti mitte vastupidi.

Võrguseadmete seadistamine

Reeglina ei ole kombeks OpenBSD kasutamisel operatsioonisüsteemi tuuma ümber kompileerida eesmärkiga lülitada sisse vajalike võrgukaartide tuge - OpenBSD poolt toetatud seadmete tugi on olemas ning riistvara tuntakse automaatselt ära või siis parasjagu kasutada olevate seadmete tugi puudub ja tõenäoliselt on sel juhul lihtsam leida riistvara, mis on toetatud.

Võrguseadmed esinevad tootjale iseloomulike nimedega, täpsemat infot saab vastavast võrguseadme draiveri manuaalist, nt 'man em'

  • em - Inteli Gbit kaardid
  • bge - Broadcomi Gbit kaardid
  • fxp - Inteli 100 Mbit kaardid
  • xl - 3Com 100 Mbit kaardid

Võrguseadme seadistamiseks tuleb öelda

# ifconfig em0 192.168.1.254 netmask 255.255.255.0

Soovides, et bootimise järgselt omandaks seade samad väärtused, tuleb tekitada fail /etc/hostname.em0 sisuga

inet 192.168.1.254 255.255.255.0 NONE

Liikluse ruutimine

Selleks, et OpenBSD hakkas liiklust ruutima tuleb tulemüüri võrguseadmed sobivalt seadistada, ühendada kaablid teiste arvutitega ning öelda

# sysctl -w net.inet.ip.forwarding=1

Selleks, et bootimse järgselt omandaks see tuuma parameeter sama väärtused, tuleb redigeerida faili /etc/sysctl.conf.

Tavaliselt on lisaks võrguseadmete seadistamisele vajalik öelda ka vaikelüüsi aadress

# route add default 192.168.1.31

IPv4 ruutingutabelit näeb öeldes

# route -n show -inet

Kontrollimaks, et ruutimine iseenesest toimib tasub vajadusel paketifilter välja lülitada käsuga 'pfctl -d' ning nt pingimise abil veenduda, et liiklus tulimüüri läbib.

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 failiserverile mis asub aadressil 192.168.3.22, 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

ike passive esp from 192.168.3.0/24 to 192.168.1.0/24 peer 172.16.1.17

Ning kopeerida KALEKE tulemüüri failisüsteemist fail /etc/isakmpd/local.pub TUVIKE tulemüüri failiks

/etc/isakmpd/pubkeys/ipv4/172.16.1.17

ning kopeerida TUVIKE tulemüüri failisüsteemist fail /etc/isakmpd/local.pub KALAKE tulemüüri failiks

/etc/isakmpd/pubkeys/ipv4/172.16.2.1

Peale nimetatud failide moodustamist tuleb esmalt TUVIKE tulemüüris käivitada isamkpd ning anda anda ipsecctl käsk

# isakmpd -K
# ipsecctl -f /etc/ipsec.conf

ning seejärel KALAKE tulemüüris sama.

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.

Selleks, et veenududa tunneli töötamises sobib kuulata tulemüüri välisel st füüsilisel seadmel võrku esp protokolli osas pealt

# tcpdump -n -i fxp0 proto ESP
23:17:06.533589 esp 172.16.1.17 > 172.16.2.1 spi 0xA8A05056 seq 70 len 884 (DF)
23:17:06.534239 esp 172.16.2.1 > 172.16.1.17 spi 0x45CFA056 seq 71 len 436 (DF)
23:17:06.559449 esp 172.16.1.17 > 172.16.2.1 spi 0xA8A05056 seq 71 len 884 (DF)
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)

TUVIKE failiserveri kasutamine KALAKE võrgus paiknevast Solaris kliendist toimuks tavapärasel moel

bash# mount -F nfs -o vers=3 192.168.3.22:/data /data

Lisaks IPsec reeglite kehtestamisele saab ipsecctl utiliidi abil vaadata, millised on parasjagu kehtivad nn flow'd, KALAKE tulemüüris avaneb nt selline pilt

# ipsecctl -sf                                                                                                                 
flow esp in from 192.168.3.0/28 to 192.168.1.0/24 peer 172.16.2.1 srcid 172.16.1.17/32 dstid /172.16.2.132 type use 
flow esp in from 192.168.1.0/28 to 192.168.3.0/24 peer 172.16.2.1 srcid 172.16.1.17/32 dstid /172.16.2.132 type require