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

Allikas: Kuutõrvaja
(Paketifiltri seadistamine)
(Eesmärk)
 
(ei näidata sama kasutaja 34 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
29. rida: 29. rida:
 
   - nimeteenus, 53/udp,tcp
 
   - nimeteenus, 53/udp,tcp
 
   - süsteemsed teated smtp, 25/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
55. rida: 56. rida:
 
Esitatud ülesande täitmiseks sobib kasutada sellist paketifiltri seadistusfaili /etc/pf.conf
 
Esitatud ülesande täitmiseks sobib kasutada sellist paketifiltri seadistusfaili /etc/pf.conf
  
   # MACROS and LISTS
+
   ######### MACROS and LISTS #########
 
   #
 
   #
 
   if_ext = "em0"    # 172.16.1.17
 
   if_ext = "em0"    # 172.16.1.17
 
   if_int = "em1"    # 192.168.100.254
 
   if_int = "em1"    # 192.168.100.254
 
    
 
    
 +
  dns        = "10.0.1.13"        # dns server
 
   ntp        = "10.0.1.14"        # ntp server
 
   ntp        = "10.0.1.14"        # ntp server
 
   ftp        = "10.0.1.15"        # ftp server
 
   ftp        = "10.0.1.15"        # ftp server
72. rida: 74. rida:
 
   udpopts        = "keep state"
 
   udpopts        = "keep state"
 
    
 
    
   ######## TABLES #########
+
   ######### TABLES ##########
 
   #   
 
   #   
 
   # 10.0.1.18        - loomaaia tulemüüri ühe halduri töökohaarvuti ip aadress
 
   # 10.0.1.18        - loomaaia tulemüüri ühe halduri töökohaarvuti ip aadress
86. rida: 88. rida:
 
   # Blacklist
 
   # Blacklist
 
   table <blacklist> persist file "/etc/pf.tbl/blacklist"
 
   table <blacklist> persist file "/etc/pf.tbl/blacklist"
  # Whitelist
 
  table <whitelist> persist file "/etc/pf.tbl/whitelist"
 
  # Eesti
 
  table <eesti> persist file "/etc/pf.tbl/eesti"
 
 
    
 
    
 
   ######### OPTIONS #########
 
   ######### OPTIONS #########
   set loginterface $ext_if
+
  #
 +
   set loginterface $if_ext
 
   set optimization aggressive
 
   set optimization aggressive
 
   set timeout tcp.established 300
 
   set timeout tcp.established 300
102. rida: 101. rida:
 
   set timeout tcp.closed 50
 
   set timeout tcp.closed 50
 
    
 
    
 +
  ######### FILTER ##########
 
   #
 
   #
 
   # HALDUSLIGIPÄÄS AVALIKUST VÕRGUST TULEMÜÜRI
 
   # HALDUSLIGIPÄÄS AVALIKUST VÕRGUST TULEMÜÜRI
 
   #
 
   #
 
   # ssh kaugligipaas haldusest
 
   # 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_kontor"
+
   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 LIIKLUSE KEELD
+
   # VAIKIMISI ON LIIKLUS KEELATUD
 
   #
 
   #
 
   # Igasugune liiklus läbi tulemüüri võrguseadmete on vaikimisi 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
 
   # keelatud on sissepääs, väljapääs ja igas suunas läbipääs
   block in on $if_ext label "ESext_vaikimisi"
+
   block in     on $if_ext label "ESext_vaikimisi"
   block out on $if_ext label "EVext_vaikimisi"
+
   block out log on $if_ext label "EVext_vaikimisi"
   block in  on $if_int label "ESint_vaikimisi"
+
   block in  log on $if_int label "ESint_vaikimisi"
   block out on $if_int label "EVint_vaikimisi"
+
   block out log on $if_int label "EVint_vaikimisi"
 
+
 
 
   #
 
   #
   # BLACKLISTI RAKENDAMINE
+
   # BLACKLISTITUD, SPOOFITUD ja RESERVED LIIKLUSE KEELAMINE
 
   #
 
   #
   # Avalikust võrgust tulemüüri taha läbivale liiklusele blacklisti rakendamine
+
   # Avalikust võrgust tulemüüri taha läbivale liiklusele keelu
   block in quick on $ext_if from <blacklist> label "ESe_blacklist"
+
   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"
 
   #
 
   #
   # NORMAALSE LIIKLUSE LÄBIPÄÄSU LUBAMINE AVALIKUST VÕRGUST TULEMÜÜRI TAHA
+
   # LÄBIPÄÄSU LUBAMINE AVALIKUST VÕRGUST TULEMÜÜRI TAHA
 
   #  
 
   #  
   # Avalikust võrgust tulemüüri taha läbiv liikluse sisenemise lubamine
+
   # Avalikust võrgust tulemüüri taha läbipääseva liikluse sisenemise lubamine
   pass in quick on $ext_if inet proto tcp to $serv_HTTP port { 80, 443 } tag TO_HTTP $synopts label "JSext_http"
+
   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 $ext_if inet proto tcp to $serv_SMTP port 25 tag TO_SMTP $synopts label "JSext_smtp"
+
   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 ja TO_SMTP liikluse väljumise lubamine
+
   # Läbipääseva TO_HTTP_SERVERID ja TO_SMTP_SERVERID liikluse väljumise lubamine
   pass out quick on $if_int tagged TO_HTTP label "JVint_http"
+
   pass out quick on $if_int tagged TO_HTTP_SERVERID label "JVint_to_http_serverid"
   pass out quick on $if_int tagged TO_SMTP label "JVint_smtp"
+
   pass out quick on $if_int tagged TO_SMTP_SERVERID label "JVint_to_smtp_serverid"
 
    
 
    
 
   #  
 
   #  
   # LÄBIPÄÄSU LUBAMINE TULEMUURI TAGANT AVALIKKU VÕRKU
+
   # LÄBIPÄÄSU LUBAMINE TULEMÜÜRI TAGANT AVALIKKU VÕRKU
 
   # et teenusserverite kellaaeg oleks õige
 
   # et teenusserverite kellaaeg oleks õige
   pass in quick on $if_int inet proto tcp from { $serv_HTTP, $serv_SMTP } to $ntp port 123 tag TO_NTP $tcpopts label "JSint_ntp"
+
   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
 
   # et veebiserver saaks kontrollida kliendisertifikaatide kehtivust
   pass in quick on $if_int inet proto udp from $serv_HTTP to $ocsp port 80 tag TO_OCSP $tcpopts label "JSint_ocsp"
+
   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"
 
    
 
    
   pass out quick on $ext_if tagged TO_OCSP label "JVext_ocsp"
+
  # et tagitud liiklus saaks tulemüürist välja
   pass out quick on $ext_if tagged TO_NTP label "JVext_ntp"
+
  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"
 
    
 
    
 
   #
 
   #
149. rida: 164. rida:
 
   #
 
   #
 
   # et tulemüüri kellaaeg oleks õige
 
   # et tulemüüri kellaaeg oleks õige
   pass out on $if_ext inet proto udp to $ntp port 123 label "JVext_ntp"
+
   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
 
   # et tulemüüri sees nimelahendus töötaks
   pass out on $if_ext inet proto { tcp, udp } to $dns port 53 label "JVext_to_dns"
+
   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
 
   # et haldusteated saaksid välja
   pass out on $if_ext inet proto tcp to $smtp port 25 $tcpopts label "JVext_to_smtp"
+
   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
 
   # et tulemüüri saaks tarkvara lisada
   pass out on $if_ext inet proto tcp to $ftp port 80 $tcpopts label "JVext_to_ftp"
+
   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

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