Re: FreeBSD 7.0 pf problemer

From: Robert Jeppesen (none@robert--sermilik.dk.lh.bsd-dk.dk)
Date: Tue 23 Sep 2008 - 16:15:05 CEST


Date: Tue, 23 Sep 2008 16:15:05 +0200 (CEST)
Subject: Re: FreeBSD 7.0 pf problemer
From: "Robert Jeppesen" <none@robert--sermilik.dk.lh.bsd-dk.dk>
To: bsd-dk@bsd-dk.dk

Skriver i toppen da det er nemmere at læse...

Jeg kunne nok have givet en bedre forklaring, det prøver jeg så her. Noget
af det jeg skriver er blot til information til andre som måske søger en
løsning på et problem/setup:

Mailgateway'en kører spamd og postfix. Den fungerer ikke som NAT device
mellem internt lan og internet.
Gatewayen's spamd/postfix modtager eksternt mail og checker for spam/virus
og relayer videre til en intern exchange server. Ligeledes er den interne
exchange server sat op til at sende via gatewayen således at udgående mail
checkes for evt. virus. (Desuden er det nemmere at checke postfix logfiler
for at se om mailen er afleveret til modtageren!)
Gateway'en skal kunne tilgåes med ssh og http fra det interne lan. ssh for
administration og http for spamkarantæne mv.

Jeg checker dit forslag til regler senere.
/Robert

Thomas Rasmussen wrote:
> Robert Jeppesen wrote:
>> Har opsat en mailgateway der har det ene ben på public net a.b.c.d og
>> det
>> andet ben på private net f.g.h.i
>> Gatewayen kører spamd/pf samt maia-mailguard og skal relay'e til vores
>> interne mailserver. Udgående mail skal også gennem gatewayen.
>> Default gateway i public net og dns/ntp på private net
>>
>>
> Hejsa
>
> Jeg er ikke sikker på jeg helt forstår hvad du gerne vil. Mht. makroen
> tcp_int_services virker det (i dit regelsæt) som om at du vil bruge den
> til at åbne porte på gatewayens inderside interface, hvilket også er
> helt iorden. Men den anden makro der hedder udp_int_services virker det
> som om du bruger til at tillade udgående trafik (både tcp og udp) fra
> gatewayen til internt lan. Men hvis du vil tillade alt udgående trafik
> fra gateway til internt lan er den jo ikke nødvendig så det bliver lidt
> forvirrende. Ligeledes: hvis du kun skal tillade udgående http trafik
> fra gatewayen til internet, og gatewayen ikke skal fungere som webserver
> behøver du ingen regler ud over den som tillader alt udgående på det
> eksterne interface - den opretter state og retur trafikken bliver hermed
> tilladt.
>
> Du skal også huske at angive retningen på trafikken i dine regler (in
> eller out) og så skal du som sagt huske at der bliver oprettet states
> som default når reglen matcher, den state tillader også retur trafik. Så
> du skal altså matche trafikken i dine regler en gang per interface, når
> trafikken første gang rammer et givent interface (og da denne gateway jo
> ikke router trafik vil det sige éen gang). Jeg har prøvet at ordne dine
> regler i "interface, retning" sektioner for at gøre det mere
> overskueligt. Du skal også huske at bruge "quick" så den stopper med at
> læse regler når pakken har matched, så er der jo blevet oprettet en
> state og det er sjældent nødvendigt at læse videre i regelsættet (og det
> kan føre til uønsket opførsel hvis man glemmer det).
>
> Hvis jeg skal gætte lidt vil jeg tro at det samlede regelsæt skulle se
> cirka således ud (ikke testet, med forbehold for typos):
> ########### macros #############################################
> ext_if = "em1"
> int_if = "em0"
> internal_net = "{ f.g.h.0/24 }"
> lan_tcp_services = "{ smtp, ssh, domain, www }"
>
> ########### normalization #########################################
> scrub in
> antispoof for $ext_if
> antispoof for { lo0 $int_if }
>
> ########### filtering #############################################
> #block all traffic on all interfaces in both directions
> block log all
>
> ########## loopback interface
> #no filtering on loopback interface
> set skip on lo0
>
> ########## internal interface
> #internal interface, incoming traffic initiated from the lan, allow
> access to tcp services in the macro $lan_tcp_services
> pass in quick on $int_if proto tcp from $internal_net to ($int_if) port
> $lan_tcp_services
>
> #internal interface, outgoing traffic (traffic initiated by the
> firewall), allow everything
> pass out quick on $int_if from ($int_if) to $internal_net
>
> ########## external interface
> #external interface, incoming traffic (traffic initiated from the
> internet), allow smtp only
> pass in quick on $ext_if proto tcp from any to ($ext_if) port smtp
>
> #external interface, outgoing traffic (traffic initiated by the
> firewall, spampd downloads for instance), allow everything
> pass out quick on $ext_if from ($ext_if) to any
> ########### EOF ###############################################
>
> Jeg håber det er nogenlunde forståeligt det jeg har skrevet, det er lidt
> svært at forklare om retninger og states uden at det bliver en roman :)
> Hvis jeg har misforstået noget må du lige skrive så skal jeg se om jeg
> kan hjælpe.
>
> Mvh
>
> Thomas Rasmussen
>



This archive was generated by hypermail 2b30 : Tue 30 Sep 2008 - 23:00:01 CEST