Erinevus lehekülje "Kahe võrgukaardiga ruutiv tulemüür" redaktsioonide vahel

Allikas: Kuutõrvaja
(Uus lehekülg: ===Eesmärk=== Olgu eesmärgiks ühendada tulemüüri abil internetiga avalikke aadresse kasutatav serverite võrgusegment internet 2 Mbit/s download | def...)
 
(Eesmärk)
 
(ei näidata sama kasutaja 43 vahepealset redaktsiooni)
1. rida: 1. rida:
 
===Eesmärk===
 
===Eesmärk===
  
Olgu eesmärgiks ühendada tulemüüri abil internetiga avalikke aadresse kasutatav serverite võrgusegment
+
Olgu eesmärgiks ühendada tulemüüri abil internetiga avalikke aadresse kasutav serverite võrgusegment 192.168.100.0/24
  
 
                   internet
 
                   internet
 
+
                    ...
    2 Mbit/s download |  default gw, 172.16.1.18
+
                      .
    768 kbit/s upload |
+
                      |
 
                       |  em0, 172.16.1.17/30
 
                       |  em0, 172.16.1.17/30
 
                     __|__   
 
                     __|__   
16. rida: 16. rida:
 
                       |
 
                       |
 
                       |
 
                       |
                      |_______ SERVERID - 192.168.100.0/24 _________
+
                    --|------- serverid - 192.168.100.0/24 -------
  
 
ning peavad olema täidetud sellised nõuded
 
ning peavad olema täidetud sellised nõuded
22. rida: 22. rida:
 
* Sissepääs tulemüüri
 
* Sissepääs tulemüüri
  
   - halduseks
+
   - haldusligipääs ssh, 22/tcp
  - teenused portide 25, 80, 443
 
  
 
* Väljapääs tulemüürist
 
* Väljapääs tulemüürist
  
   - ntp
+
   - kellaaeg ntp, 123/udp
   - dns
+
   - nimeteenus, 53/udp,tcp
 +
  - süsteemsed teated smtp, 25/tcp
 +
  - tarkvara paigaldamine ftp serverist, 80/tcp
  
 
* Läbipääs avalikust võrgust SERVERID võrku
 
* Läbipääs avalikust võrgust SERVERID võrku
  
   - smtp
+
   - eposti teenus smtp, 25/tcp
   - www
+
   - veebiteenus, http, 80,443/tcp
  
 
* Läbipaas SERVERID võrgust avalikku võrku
 
* Läbipaas SERVERID võrgust avalikku võrku
  
   - ntp, ocsp, dns
+
   - kellaaeg ntp, 123/udp
 +
  - nimeteenus, 53/udp,tcp
 +
  - süsteemsed teated smtp, 25/tcp
 +
  - ocsp, 80/tcp
 +
 
 +
===Tulemüüri seadistamine===
 +
 
 +
Esitatud ülesande täitmiseks peab tulemüüris
 +
 
 +
* seadistamine sobivalt võrguseadmed
 +
* lülitama sisse ip pakettide ruutimise
 +
* käivitama ssh serveri
 +
* käivitama ntp serveri (mida kasutatakse lokaalselt)
 +
 
 +
===Paketifiltri seadistamine===
 +
 
 +
Esitatud ülesande täitmiseks sobib kasutada sellist paketifiltri seadistusfaili /etc/pf.conf
 +
 
 +
  ######### MACROS and LISTS #########
 +
  #
 +
  if_ext = "em0"    # 172.16.1.17
 +
  if_int = "em1"    # 192.168.100.254
 +
 
 +
  dns         = "10.0.1.13"        # dns server
 +
  ntp        = "10.0.1.14"        # ntp server
 +
  ftp        = "10.0.1.15"        # ftp server
 +
  ocsp        = "10.0.1.16"        # ocsp server
 +
  smtp        = "10.0.1.17"        # smtp server
 +
  serv_SMTP            = "192.168.100.25"    # smtp server, teenus
 +
  serv_HTTP            = "192.168.100.80"    # http server, teenus
 +
 
 +
  icmp_types      = "echoreq"
 +
  tcpopts        = "flags S/SA modulate state"
 +
  synopts        = "flags S/SAFR synproxy state"
 +
  udpopts        = "keep state"
 +
 
 +
  ######### TABLES ##########
 +
  # 
 +
  # 10.0.1.18        - loomaaia tulemüüri ühe halduri töökohaarvuti ip aadress
 +
  # 10.50.1.19      - loomaaia tulemüüri teise halduri töökohaarvuti ip aadress
 +
  table <kontor> const { 10.0.1.18, 10.50.1.19 }
 +
 
 +
  # Reserveeritud. http://www.iana.org/assignments/ipv4-address-space
 +
  table <reserved> const file "/etc/pf.tbl/reserved"
 +
 
 +
  # Valetatud aadressid.
 +
  table <spoofed> const { 10.0.0.0/8 169.254.0.0/16 172.16.0.0/12 \
 +
                        192.0.2.0/24 192.168.0.0/16 224.0.0.0/4 }
 +
  # Blacklist
 +
  table <blacklist> persist file "/etc/pf.tbl/blacklist"
 +
 
 +
  ######### OPTIONS #########
 +
  #
 +
  set loginterface $if_ext
 +
  set optimization aggressive
 +
  set timeout tcp.established 300
 +
  set limit states 500000
 +
  set limit frags 100
 +
  set timeout tcp.first 15
 +
  set skip on lo
 +
  # set skip on $if_int
 +
  set timeout tcp.closed 50
 +
 
 +
  ######### FILTER ##########
 +
  #
 +
  # HALDUSLIGIPÄÄS AVALIKUST VÕRGUST TULEMÜÜRI
 +
  #
 +
  # ssh kaugligipaas haldusest
 +
  pass in quick on $if_ext inet proto tcp from <kontor> to $if_ext port 22 $tcpopts (tcp.established 1064000) label "JSext_from_kontor_to_tm"
 +
 
 +
  #
 +
  # VAIKIMISI ON LIIKLUS KEELATUD
 +
  #
 +
  # Igasugune liiklus läbi tulemüüri võrguseadmete on vaikimisi keelatud
 +
  # keelatud on sissepääs, väljapääs ja igas suunas läbipääs
 +
  block in      on $if_ext label "ESext_vaikimisi"
 +
  block out log on $if_ext label "EVext_vaikimisi"
 +
  block in  log on $if_int label "ESint_vaikimisi"
 +
  block out log on $if_int label "EVint_vaikimisi"
 +
 
 +
  #
 +
  # BLACKLISTITUD, SPOOFITUD ja RESERVED LIIKLUSE KEELAMINE
 +
  #
 +
  # Avalikust võrgust tulemüüri taha läbivale liiklusele keelu
 +
  block in quick on $if_ext from <blacklist> label "ESext_blacklist"
 +
  block in quick on $if_ext from <spoofed> label "ESext_spoofed"
 +
  block in quick on $if_ext from <reserved> label "ESext_reserved"
 +
  #
 +
  # LÄBIPÄÄSU LUBAMINE AVALIKUST VÕRGUST TULEMÜÜRI TAHA
 +
  #
 +
  # Avalikust võrgust tulemüüri taha läbipääseva liikluse sisenemise lubamine
 +
  pass in quick on $if_ext inet proto tcp to $serv_HTTP port { 80, 443 } tag TO_HTTP_SERVERID $synopts label "JSext_to_http_serverid"
 +
  pass in quick on $if_ext inet proto tcp to $serv_SMTP port 25 tag TO_SMTP_SERVERID $synopts label "JSext_to_smtp_serverid"
 +
 
 +
  # Läbipääseva TO_HTTP_SERVERID ja TO_SMTP_SERVERID liikluse väljumise lubamine
 +
  pass out quick on $if_int tagged TO_HTTP_SERVERID  label "JVint_to_http_serverid"
 +
  pass out quick on $if_int tagged TO_SMTP_SERVERID  label "JVint_to_smtp_serverid"
 +
 
 +
  #
 +
  # LÄBIPÄÄSU LUBAMINE TULEMÜÜRI TAGANT AVALIKKU VÕRKU
 +
  # et teenusserverite kellaaeg oleks õige
 +
  pass in quick on $if_int inet proto udp from { $serv_HTTP, $serv_SMTP } to $ntp port 123 tag TO_NTP_AVALIK $udpopts \
 +
    label "JSint_from_serverid_to_ntp_avalik"
 +
  # et teenusserveid saaks nimesid lahendada
 +
  pass in quick on $if_int inet proto { tcp, udp } from { $serv_HTTP, $serv_SMTP } to $dns port 53 tag TO_DNS_AVALIK $udpopts \
 +
    label "JSint_from_serverid_to_dns_avalik"
 +
  # et veebiserver saaks kontrollida kliendisertifikaatide kehtivust
 +
  pass in quick on $if_int inet proto tcp from $serv_HTTP to $ocsp port 80 tag TO_OCSP_AVALIK $tcpopts \
 +
    label "JSint_from_serverid_to_ocsp_avalik"
 +
  # et veebiserver saaks saata süsteemseid teateid 
 +
  pass in quick on $if_int inet proto tcp from $serv_HTTP to $smtp port 25 tag TO_SMTP_AVALIK $tcpopts \
 +
    label "JSint_from_serverid_to_smtp_avalik"
 +
  # et postimasin saaks kirju valja saata
 +
  pass in quick on $if_int inet proto tcp from $serv_SMTP to any port 25 tag TO_SMTP_AVALIK $tcpopts \
 +
    label "JSint_from_serverid_to_smtp_avalik"
 +
 
 +
  # et tagitud liiklus saaks tulemüürist välja
 +
  pass out quick on $if_ext tagged TO_OCSP_AVALIK label "JVext_from_serverid_to_ocsp_avalik"
 +
  pass out quick on $if_ext tagged TO_NTP_AVALIK label "JVext_from_serverid_to_ntp_avalik"
 +
  pass out quick on $if_ext tagged TO_SMTP_AVALIK label "JVext_from_serverid_to_stmp_avalik"
 +
  pass out quick on $if_ext tagged TO_DNS_AVALIK label "JVext_from_serverid_dns_avalik"
 +
 
 +
  #
 +
  # TULEMÜÜRIST ENDAST VÄLJAPÄÄS
 +
  #
 +
  # et tulemüüri kellaaeg oleks õige
 +
  pass out on $if_ext inet proto udp to $ntp port 123 label "JVext_from_tm_to_ntp_avalik"
 +
  # et tulemüüri sees nimelahendus töötaks
 +
  pass out on $if_ext inet proto { tcp, udp } to $dns port 53 label "JVext_from_tm_to_dns_avalik"
 +
  # et haldusteated saaksid välja
 +
  pass out on $if_ext inet proto tcp to $smtp port 25 $tcpopts label "JVext_from_tm_to_smtp_avalik"
 +
  # et tulemüüri saaks tarkvara lisada
 +
  pass out on $if_ext inet proto tcp to $ftp port 80 $tcpopts label "JVext_from_to_ftp_avalik"
 +
 
 +
===Kaalutlused reeglite kirjutamisel===
 +
 
 +
Reeglite kirjutamisel sh järjestamisel on kasutatud selliseid kaalutlusi
 +
 
 +
* järjestada paketifiltri sisu sektsioonide kaupa ja kasutada kommentaare, et reeglid oleksid loetavamad
 +
* kasutada muutujaid selleks, et kirjutatud reeglid oleksid üldisemad ja loetavamad
 +
* on püütud eristada erinevaid liiklusi, tulemüüri endasse suunatud liikluse sissepääs, tulemüürist endast lähtuva liikluse väljapääs, tulemüürist läbipääs
 +
* kõige algul kehtestada halduseks vajalik ligipääs, quick (kuigi tulemüüri reeglite töötamise mõttes vähendab see põhimõtteliselt efektiivsust)
 +
* suhteliselt alul kehtestatakse nö vaikimisi poliitika (ingl. k. default policy) - igasugune liiklus on keelatud, ilma quick'ita
 +
* võimalikult algul blokeerida ilmselt sobimatud paketid, quick (valetatud, mitte kasutuses olevad ja blacklistis olevad aadressid); kuna paketifiltri reegleid kontrollitakse järjest, siis sobimatute pakettide osas tehakse nii otsus suhteliselt vara
 +
* kasutatakse TAG'isid, et tulemüüri läbivat liiklust hõlpsamini ja paremini kontrollida ja et vastavaid reegleid oleks vähem
 +
* pass ja block reeglite juures on reeglina kasutatud labeleid, et seadistusfaili loetavus oleks parem ning parem oleks orienteerud pfctl, systat ja pftop väljundis; label on sellise struktuuriga, nt
 +
 
 +
  JSext_http - J (jah) S (sisse) ext (väline seade) http (liikluse iseloomustus)
 +
 
 +
* tulemüüri taga olevatele serveritele juurdepääsuks kasutataks synproxit
 +
* välisseadmelt sisenevat blokeeritud liiklust ei logita tulemüüri töötamise efektiivsust silmas pidades
 +
* logitakse väljuvat blokeeritud liiklust mõlemal seadmel ning serverite poolt sisenevat blokeeritud liiklust, et anomaaliaid avastada (nt serverist pöördub pahalane isanda poole vms)
 +
* kasutatud tabelitele vastavaid faile hoitakse koos kataloogis /etc/pf.tbl, et /etc kataloogi mitte risustada ebastandardsete failidega
 +
 
 +
===Paketifiltri töö jälgimine===
 +
 
 +
* Paketifiltri töö abstraktsel tasemel jälgimiseks sobib kasutada systat ning pftop programme, tähelepanu tuleks pöörata nt sellele kui palju pakette või baite liigub mingite reeglite (labelite) alusel tulemüürist läbi.
 +
* Peale paketifiltri seadistuse kehtestamist on mõttekas jälgida mida paketifilter logib öeldes nt
  
# SERVERID võrgist peab saam liidestel töötab nimeteenus.
+
  # tcpdump -nei pflog0
# KALAKE ja DMZ võrgu arvutite vaikelüüsiks ning nimeserveriks on vastavalt 192.168.100.254 ja 10.0.100.254.
 
# Kohtvõrgu osast KALAKE, kus asuvad kasutajate töökohaarvutid pääseb piiramatult avalikku internetti ning DMZ võrku.
 
# Tulemüüris tehakse NAT-teisendust DMZ ning KALAKE võrgus paiknevatele arvutitele.
 
# Avalikust internetist pääseb ainult DMZ võrgus aadressil 10.0.100.1 portidel 80 ja 443 töötava veebiserveri juurde. Isegi juhul kui sellel veebiserveri arvutil ei pakuta muudel portidel teenuseid ei ole mingit põhjust lasta tulemüürist läbi asjasse mittepuutuvaid pakette tulemüüri tagust ethernetti risustama.
 
# DMZ võrgust ei saa algatada ühendusti kuskil suunas va tulemüüri liidesel töötav nimeserver.
 
# Välisühendusest võib DMZ kasutada kuni 256 kbit/s download'iks ning 384 kbit/s upload'iks (up on tulemüürist eemale ning down tulemüüri suunal, asudes antud juhul mõtteliselt välisseadmel; st 384 kbit/s kiirusega saavad kasutajad veebiserverist andmeid kopeerida ning 256 kbit/s veebiserverisse üles laadida)
 
# Välisühendus kasutamine ei ole KALAKE võrgu jaoks praktiliselt piiratud.
 

Viimane redaktsioon: 25. detsember 2009, kell 21:02

Eesmärk

Olgu eesmärgiks ühendada tulemüüri abil internetiga avalikke aadresse kasutav serverite võrgusegment 192.168.100.0/24

                  internet
                    ...
                     .
                     |
                     |   em0, 172.16.1.17/30
                   __|__  
                  |     | 
                  |     |
                  |_____|
                     |
                     |   em1, 192.168.100.254/24
                     |
                     |
                   --|------- serverid - 192.168.100.0/24 -------

ning peavad olema täidetud sellised nõuded

  • Sissepääs tulemüüri
 - haldusligipääs ssh, 22/tcp
  • Väljapääs tulemüürist
 - kellaaeg ntp, 123/udp
 - nimeteenus, 53/udp,tcp
 - süsteemsed teated smtp, 25/tcp
 - tarkvara paigaldamine ftp serverist, 80/tcp
  • Läbipääs avalikust võrgust SERVERID võrku
 - eposti teenus smtp, 25/tcp
 - veebiteenus, http, 80,443/tcp
  • Läbipaas SERVERID võrgust avalikku võrku
 - kellaaeg ntp, 123/udp
 - nimeteenus, 53/udp,tcp
 - süsteemsed teated smtp, 25/tcp
 - ocsp, 80/tcp

Tulemüüri seadistamine

Esitatud ülesande täitmiseks peab tulemüüris

  • seadistamine sobivalt võrguseadmed
  • lülitama sisse ip pakettide ruutimise
  • käivitama ssh serveri
  • käivitama ntp serveri (mida kasutatakse lokaalselt)

Paketifiltri seadistamine

Esitatud ülesande täitmiseks sobib kasutada sellist paketifiltri seadistusfaili /etc/pf.conf

 ######### MACROS and LISTS #########
 #
 if_ext = "em0"     # 172.16.1.17
 if_int = "em1"     # 192.168.100.254
 
 dns         = "10.0.1.13"         # dns server
 ntp         = "10.0.1.14"         # ntp server
 ftp         = "10.0.1.15"         # ftp server
 ocsp        = "10.0.1.16"         # ocsp server
 smtp        = "10.0.1.17"         # smtp server
 serv_SMTP            = "192.168.100.25"    # smtp server, teenus
 serv_HTTP            = "192.168.100.80"    # http server, teenus
 
 icmp_types      = "echoreq"
 tcpopts         = "flags S/SA modulate state"
 synopts         = "flags S/SAFR synproxy state"
 udpopts         = "keep state"
 
 ######### TABLES ##########
 #   
 # 10.0.1.18        - loomaaia tulemüüri ühe halduri töökohaarvuti ip aadress
 # 10.50.1.19       - loomaaia tulemüüri teise halduri töökohaarvuti ip aadress
 table <kontor> const { 10.0.1.18, 10.50.1.19 }
 
 # Reserveeritud. http://www.iana.org/assignments/ipv4-address-space
 table <reserved> const file "/etc/pf.tbl/reserved"
 
 # Valetatud aadressid.
 table <spoofed> const { 10.0.0.0/8 169.254.0.0/16 172.16.0.0/12 \
                       192.0.2.0/24 192.168.0.0/16 224.0.0.0/4 }
 # Blacklist
 table <blacklist> persist file "/etc/pf.tbl/blacklist"
 
 ######### OPTIONS #########
 #
 set loginterface $if_ext
 set optimization aggressive
 set timeout tcp.established 300
 set limit states 500000
 set limit frags 100
 set timeout tcp.first 15
 set skip on lo
 # set skip on $if_int
 set timeout tcp.closed 50
 
 ######### FILTER ##########
 #
 # HALDUSLIGIPÄÄS AVALIKUST VÕRGUST TULEMÜÜRI
 #
 # ssh kaugligipaas haldusest
 pass in quick on $if_ext inet proto tcp from <kontor> to $if_ext port 22 $tcpopts (tcp.established 1064000) label "JSext_from_kontor_to_tm"
 
 #
 # VAIKIMISI ON LIIKLUS KEELATUD
 #
 # Igasugune liiklus läbi tulemüüri võrguseadmete on vaikimisi keelatud
 # keelatud on sissepääs, väljapääs ja igas suunas läbipääs
 block in      on $if_ext label "ESext_vaikimisi"
 block out log on $if_ext label "EVext_vaikimisi"
 block in  log on $if_int label "ESint_vaikimisi"
 block out log on $if_int label "EVint_vaikimisi"
 
 #
 # BLACKLISTITUD, SPOOFITUD ja RESERVED LIIKLUSE KEELAMINE
 #
 # Avalikust võrgust tulemüüri taha läbivale liiklusele keelu
 block in quick on $if_ext from <blacklist> label "ESext_blacklist"
 block in quick on $if_ext from <spoofed> label "ESext_spoofed"
 block in quick on $if_ext from <reserved> label "ESext_reserved"
 #
 # LÄBIPÄÄSU LUBAMINE AVALIKUST VÕRGUST TULEMÜÜRI TAHA
 # 
 # Avalikust võrgust tulemüüri taha läbipääseva liikluse sisenemise lubamine
 pass in quick on $if_ext inet proto tcp to $serv_HTTP port { 80, 443 } tag TO_HTTP_SERVERID $synopts label "JSext_to_http_serverid"
 pass in quick on $if_ext inet proto tcp to $serv_SMTP port 25 tag TO_SMTP_SERVERID $synopts label "JSext_to_smtp_serverid"
 
 # Läbipääseva TO_HTTP_SERVERID ja TO_SMTP_SERVERID liikluse väljumise lubamine
 pass out quick on $if_int tagged TO_HTTP_SERVERID  label "JVint_to_http_serverid"
 pass out quick on $if_int tagged TO_SMTP_SERVERID  label "JVint_to_smtp_serverid"
 
 # 
 # LÄBIPÄÄSU LUBAMINE TULEMÜÜRI TAGANT AVALIKKU VÕRKU
 # et teenusserverite kellaaeg oleks õige
 pass in quick on $if_int inet proto udp from { $serv_HTTP, $serv_SMTP } to $ntp port 123 tag TO_NTP_AVALIK $udpopts \
   label "JSint_from_serverid_to_ntp_avalik"
 # et teenusserveid saaks nimesid lahendada
 pass in quick on $if_int inet proto { tcp, udp } from { $serv_HTTP, $serv_SMTP } to $dns port 53 tag TO_DNS_AVALIK $udpopts \
   label "JSint_from_serverid_to_dns_avalik"
 # et veebiserver saaks kontrollida kliendisertifikaatide kehtivust
 pass in quick on $if_int inet proto tcp from $serv_HTTP to $ocsp port 80 tag TO_OCSP_AVALIK $tcpopts \
   label "JSint_from_serverid_to_ocsp_avalik"
 # et veebiserver saaks saata süsteemseid teateid  
 pass in quick on $if_int inet proto tcp from $serv_HTTP to $smtp port 25 tag TO_SMTP_AVALIK $tcpopts \
   label "JSint_from_serverid_to_smtp_avalik"
 # et postimasin saaks kirju valja saata 
 pass in quick on $if_int inet proto tcp from $serv_SMTP to any port 25 tag TO_SMTP_AVALIK $tcpopts \
   label "JSint_from_serverid_to_smtp_avalik"
 
 # et tagitud liiklus saaks tulemüürist välja
 pass out quick on $if_ext tagged TO_OCSP_AVALIK label "JVext_from_serverid_to_ocsp_avalik"
 pass out quick on $if_ext tagged TO_NTP_AVALIK label "JVext_from_serverid_to_ntp_avalik"
 pass out quick on $if_ext tagged TO_SMTP_AVALIK label "JVext_from_serverid_to_stmp_avalik"
 pass out quick on $if_ext tagged TO_DNS_AVALIK label "JVext_from_serverid_dns_avalik"
 
 #
 # TULEMÜÜRIST ENDAST VÄLJAPÄÄS
 #
 # et tulemüüri kellaaeg oleks õige
 pass out on $if_ext inet proto udp to $ntp port 123 label "JVext_from_tm_to_ntp_avalik"
 # et tulemüüri sees nimelahendus töötaks
 pass out on $if_ext inet proto { tcp, udp } to $dns port 53 label "JVext_from_tm_to_dns_avalik"
 # et haldusteated saaksid välja
 pass out on $if_ext inet proto tcp to $smtp port 25 $tcpopts label "JVext_from_tm_to_smtp_avalik"
 # et tulemüüri saaks tarkvara lisada
 pass out on $if_ext inet proto tcp to $ftp port 80 $tcpopts label "JVext_from_to_ftp_avalik"

Kaalutlused reeglite kirjutamisel

Reeglite kirjutamisel sh järjestamisel on kasutatud selliseid kaalutlusi

  • järjestada paketifiltri sisu sektsioonide kaupa ja kasutada kommentaare, et reeglid oleksid loetavamad
  • kasutada muutujaid selleks, et kirjutatud reeglid oleksid üldisemad ja loetavamad
  • on püütud eristada erinevaid liiklusi, tulemüüri endasse suunatud liikluse sissepääs, tulemüürist endast lähtuva liikluse väljapääs, tulemüürist läbipääs
  • kõige algul kehtestada halduseks vajalik ligipääs, quick (kuigi tulemüüri reeglite töötamise mõttes vähendab see põhimõtteliselt efektiivsust)
  • suhteliselt alul kehtestatakse nö vaikimisi poliitika (ingl. k. default policy) - igasugune liiklus on keelatud, ilma quick'ita
  • võimalikult algul blokeerida ilmselt sobimatud paketid, quick (valetatud, mitte kasutuses olevad ja blacklistis olevad aadressid); kuna paketifiltri reegleid kontrollitakse järjest, siis sobimatute pakettide osas tehakse nii otsus suhteliselt vara
  • kasutatakse TAG'isid, et tulemüüri läbivat liiklust hõlpsamini ja paremini kontrollida ja et vastavaid reegleid oleks vähem
  • pass ja block reeglite juures on reeglina kasutatud labeleid, et seadistusfaili loetavus oleks parem ning parem oleks orienteerud pfctl, systat ja pftop väljundis; label on sellise struktuuriga, nt
 JSext_http - J (jah) S (sisse) ext (väline seade) http (liikluse iseloomustus)
  • tulemüüri taga olevatele serveritele juurdepääsuks kasutataks synproxit
  • välisseadmelt sisenevat blokeeritud liiklust ei logita tulemüüri töötamise efektiivsust silmas pidades
  • logitakse väljuvat blokeeritud liiklust mõlemal seadmel ning serverite poolt sisenevat blokeeritud liiklust, et anomaaliaid avastada (nt serverist pöördub pahalane isanda poole vms)
  • kasutatud tabelitele vastavaid faile hoitakse koos kataloogis /etc/pf.tbl, et /etc kataloogi mitte risustada ebastandardsete failidega

Paketifiltri töö jälgimine

  • Paketifiltri töö abstraktsel tasemel jälgimiseks sobib kasutada systat ning pftop programme, tähelepanu tuleks pöörata nt sellele kui palju pakette või baite liigub mingite reeglite (labelite) alusel tulemüürist läbi.
  • Peale paketifiltri seadistuse kehtestamist on mõttekas jälgida mida paketifilter logib öeldes nt
 # tcpdump -nei pflog0