OpenBSD tulemüür PF: Difference between revisions
Line 143: | Line 143: | ||
Pärast vajalike failide paigaldamist/asendamist teha OpenBSD-d jooksutavale masinale restart. | Pärast vajalike failide paigaldamist/asendamist, teha OpenBSD-d jooksutavale masinale restart. | ||
==Kasutatud kirjandus== | ==Kasutatud kirjandus== |
Revision as of 15:59, 16 December 2011
Viimati muudetud: 16/12/2011
Versioon: 1.1
Sissejuhatus
Selles referaadis käsitletakse tulemüüri seadistamist OpenBSD 5.0. Tulemüürina kasutatakse Packet Filterit (PF), mis on olnud osa OpenBSD-st alates versioonist 3.0, mis ilmus 2001 aastal. Toodud näited eeldavad käsurea ja tekstiredaktor „vi“ kasutamise oskusi. Antud tulemüür eraldab välisvõrgust serveri, millel jookseb veebiserver ja samba ning antud serverit on võimalik seadistada välisvõrgust kasutades ssh ühendust. Näites kasutatud IP-d tuleb muuta vastavalt oma süsteemile.
OpenBSD paigaldamine
Antud töös on kasutatud OpenBSD 5.0 64 bitist operatsioonisüsteemi. OpenBSD sai paigaldatud vaikesätetega. Peale operatsioonisüsteemi paigaldust sai lisatud teine võrgukaart, milleks tuli lisada fail hostname.em1 kataloogi /etc.
Esimene võrgukaart
#vi /etc/hostname.em0
inet 192.168.6.157 255.255.255.0
Teine võrgukaart
#vi /etc/hostname.em1
inet 192.168.56.10 255.255.255.0
Samuti tuleb seadistada välisühenduseks gateway, milleks tuleb luua fail mygate kataloogi /etc.
#vi /etc/mygate
192.168.6.254
Packet Filter
PF käivitatakse OpenBSD alglaadimisel. Seda saab sisse ja välja lülitada muutes seadistust kataloogis /etc asuvas failis rc.conf.
#vi /etc/rc.conf
pf=YES # Packet filter / NAT
Teisi seadeid, mida soovitatakse käivitada, saab seadistada failis /etc/sysctl.conf. Antud näite puhul tuleb sisse kommenteerida IPv4 pakettide marsruutimiseks vajalik rida.
#vi /etc/sysctl.conf
net.inet.ip.forwarding=1 # 1=Permit forwarding (routing) of IPv4 packets
Tulemüüri seadistused teostatakse ning salvastatakse failis /etc/pf.conf ning laetakse süsteemi käsuga
pfctl -f /etc/pf.conf
Enne kui tulemüüri käsklused süsteemi laadida, on mõistlik neid kontrollida. Seda saab teha käsuga:
pfctl –nf /etc/pf.conf
PF on võimalik seadistada muutujaid, milleks võivad olla nii võrgu liidesed, IP aadressid kui ka pordid. Antud näites on määratud võrgu liidestele nimed ning serveri IP aadress. Muutujad lihtsustavad tulemüüri reeglite loetavust ja muutuste teostust.
ext_if="em0" int_if="em1" server="192.168.56.107"
Algselt keelame kõik liikluse välisvõrgust blokeerides võrgukaardi ext_if.
block in log on $ext_if all
Kuna on vaja serverist ligipääsu välisvõrgule, siis on seadistatud NAT kogu sisevõrgule.
match out on egress inet from !(egress) to any nat-to (egress:0)
Serveril jookseb veebi ja samba teenus. Nende kasutamiseks peab välisvõrgust ligipääsu lubama vastavatele portidele serveris. Selleks on teostatud portide ümbersuunamine. Kuna serveris olevale veebilehele tuleb ligi pääseda kasutades ka turvatud ühendust, tuleb lisaks pordile 80 ümbersuunamine teha ka pordile 443.
pass in on $ext_if proto tcp from any to $ext_if port 80 rdr-to $server port 80 pass in on $ext_if proto tcp from any to $ext_if port 443 rdr-to $server port 443
Samba kasutuseks tuleb tulemüürist suunata serverisse pordid 137, 138, 193 ja 445. Kaks esimest kasutavas TCP protokolli ja viimased UDP protokolli.
pass in on $ext_if proto tcp from any to $ext_if port 193 rdr-to $server port 193 pass in on $ext_if proto tcp from any to $ext_if port 445 rdr-to $server port 445 pass in on $ext_if proto udp from any to $ext_if port 137 rdr-to $server port 137 pass in on $ext_if proto udp from any to $ext_if port 138 rdr-to $server port 138
Serveri halduseks on võimaldatud ligipääs läbi tulemüüri SSH liiklusel. Selleks on ümbersuunatud TCP port 22 serveri IP aadressile.
pass in on $ext_if proto tcp from any to $ext_if port 22 rdr-to $server port 22
Peale vastavate reeglite sisestust on /etc/pf.conf fail järgmine:
# $OpenBSD: pf.conf,v 1.50 2011/04/28 00:19:42 mikeb Exp $ # # See pf.conf(5) for syntax and examples. # Remember to set net.inet.ip.forwarding=1 and/or net.inet6.ip6.forwarding=1 # in /etc/sysctl.conf if packets are to be forwarded between interfaces.
#set skip on lo
# filter rules and anchor for ftp-proxy(8) #anchor "ftp-proxy/*" #pass in quick inet proto tcp to port ftp divert-to 127.0.0.1 port 8021
# anchor for relayd(8) #anchor "relayd/*"
pass # to establish keep-state
# rules for spamd(8) #table <spamd-white> persist #table <nospamd> persist file "/etc/mail/nospamd" #pass in on egress proto tcp from any to any port smtp \ # rdr-to 127.0.0.1 port spamd #pass in on egress proto tcp from <nospamd> to any port smtp #pass in log on egress proto tcp from <spamd-white> to any port smtp #pass out log on egress proto tcp to any port smtp
#block in quick from urpf-failed to any # use with care
# By default, do not permit remote connections to X11
block in on ! lo0 proto tcp to port 6000:6010
### Macrod ### ext_if="em0" int_if="em1" server="192.168.56.107"
### Keelatud ### block in log on $ext_if all
### Match Rules ### match out on egress inet from !(egress) to any nat-to (egress:0)
### Redirection ###
# web # pass in on $ext_if proto tcp from any to $ext_if port 80 rdr-to $server port 80 pass in on $ext_if proto tcp from any to $ext_if port 443 rdr-to $server port 443
# samba # pass in on $ext_if proto tcp from any to $ext_if port 193 rdr-to $server port 193 pass in on $ext_if proto tcp from any to $ext_if port 445 rdr-to $server port 445 pass in on $ext_if proto udp from any to $ext_if port 137 rdr-to $server port 137 pass in on $ext_if proto udp from any to $ext_if port 138 rdr-to $server port 138
# ssh # pass in on $ext_if proto tcp from any to $ext_if port 22 rdr-to $server port 22
Peale muudatuste salvestamist faili /etc/pf.conf laetakse reeglid tulemüüri käsuga:
pfctl -f /etc/pf.conf
Varudandamine ja taastamine
Packet Filteri reegild on salvestatud pf.confi nimelisse faili, mis asub /etc kataloogis. Tulemüüri seadistuste taastamiseks, peab eelnevalt mainitud failist tegema varukoopia. Samuti tuleb dokumenteerida OpenBSD seadistused nagu näiteks võrguseadistused ja teenused, mis on antud süsteemis kasutusel. Toodud näites on võrguseadistused failides hostname.em0, hostname.em1 ja mygate, mis asuvad kataloogis /etc. Samuti vajavad varundamist failid /etc/rc.conf ja /etc/sysctl.conf, mis kirjeldavad alglaadimisel käivitatavaid süsteeme ja teenuseid. Tulemüüri taastamiseks tuleb peale vana süsteemi parandust või uue paigaldamist asendada vastavad failid varukoopiatega.'
Pärast vajalike failide paigaldamist/asendamist, teha OpenBSD-d jooksutavale masinale restart.
Kasutatud kirjandus
http://www.openbsd.org/faq/pf/index.html
http://kuutorvaja.eenet.ee/wiki/Packet_Filter
Autorid
Heigo Võsujalg
Toomas Rohumets