Kahe võrgukaardiga ruutiv tulemüür

Allikas: Kuutõrvaja
Redaktsioon seisuga 2. mai 2009, kell 14:10 kasutajalt Imre (arutelu | kaastöö) (Paketifiltri seadistamine)

Eesmärk

Olgu eesmärgiks ühendada tulemüüri abil internetiga avalikke aadresse kasutatav serverite võrgusegment

                  internet
 
   2 Mbit/s download |   default gw, 172.16.1.18
   768 kbit/s upload |
                     |   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
  • 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
 
 ntp_loomaaed         = "10.0.1.15"         # ntp server
 ftp_loomaaed         = "10.0.1.16"         # ftp server
 ocsp_loomaaed        = "10.0.1.17"         # ocsp server
 serv_SMTP            = "192.168.100.25"    # smtp server
 serv_HTTP            = "192.168.100.80"    # http server
 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"
 # Whitelist
 table <whitelist> persist file "/etc/pf.tbl/whitelist"
 # Eesti
 table <eesti> persist file "/etc/pf.tbl/eesti"
 
 ######### OPTIONS #########
 set loginterface $ext_if
 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