Date: Mon, 15 Jun 2015 17:23:40 -0500 From: =?UTF-8?Q?Ermal_Lu=C3=A7i?= <eri@freebsd.org> To: Christopher Hilton <chris@vindaloo.com> Cc: "freebsd-questions@freebsd.org." <freebsd-questions@freebsd.org>, freebsd-net <freebsd-net@freebsd.org> Subject: Re: pf block policy for IPv6 and IPv4 Message-ID: <CAPBZQG0FREus9gAnLCHpuV7RwMSa%2BZLep-s2%2BoRWLgtXWW3zbw@mail.gmail.com> In-Reply-To: <553873FD-ABD5-46C2-9542-CA5FC0146A71@vindaloo.com> References: <20150610211226.GA35372@kessel.vindaloo.com> <553873FD-ABD5-46C2-9542-CA5FC0146A71@vindaloo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jun 15, 2015 at 5:13 PM, Christopher Hilton <chris@vindaloo.com> wrote: > > On Jun 10, 2015, at 5:12 PM, Christopher Sean Hilton <chris@vindaloo.com> > wrote: > > > Good afternoon and thank you in advance. > > > > I'm running FreeBSD 9.3-STABLE: > > > > FreeBSD anza.example.com 9.3-STABLE \ > > FreeBSD 9.3-STABLE #0 r269627: Wed Aug 6 13:48:46 EDT 2014 \ > > root@dagobah:/usr/obj/amd64/usr/src/sys/GENERIC amd64 > > > > on my imap mailserver. It's dual homed and has both A and AAAA records > > in DNS: > > > > $ host anza.example.com > > anza.example.com has address 10.17.53.96 > > anza.example.com has IPv6 address fe80::aaaa:bbbb:60:0 > > > > > > My pf.conf seems to be pretty standard... > > > > ext_if="em0" > > int_if="em1" > > > > set skip on { lo $int_if } > > > > table <my_network> persist const { em0:network } > > table <friends> persist file "/etc/pf/table/friends" > > > > table <blackhole> persist > > > > scrub in no-df > > > > ## Block inbound packets by default. Use return rather than drop > > ## to make debugging easier as this server is currently internal > > ## only. > > > > block return log > > block drop log quick from <blackhole> > > > > pass out > > > > antispoof quick for { lo $int_if } > > > > ## Pass ssh but treat jerks and a*holes accordingly. > > > > pass in on $ext_if proto tcp from <friends> to ($ext_if) port ssh \ > > keep state > > > > pass in on $ext_if proto tcp from !<friends> to ($ext_if) port ssh \ > > keep state \ > > (max-src-conn 5, max-src-conn-rate 5/30, \ > > overload <blackhole> flush global) > > > > ... > > > > Last night as I was testing the configuration of the imap server, I > > tripped over some unexpected behaviour. *** The issue was that I had > > forgotten to add rules for imap to my pf.conf. Testing failed because > > the service was firewalled off. This was simple to fix and is only > > ancilliary to my question. *** > > > > Here's what I got when I used telnet to connect directly to the > > service across my network: > > > > $ telnet anza.example.com 143 > > Trying 10.17.53.96... > > telnet: connect to address 10.17.53.96: Connection refused > > Trying fe80::aaaa:bbbb:60:0... > > telnet: connect to address fe80::aaaa:bbbb:60:0: Operation timed out > > telnet: Unable to connect to remote host > > > > The IPv4 connection died immediatly with "Connection refused". That's > > consistent with my firewall rules which say to return a TCP RST for > > unopened services. However, I expected the IPv6 connection attempt to > > do the same thing and it didn't. To be clear, I expected: > > > > block return log > > > > To return a TCP RST across both IPv4 and IPv6 connect attempts to > > firewalled ports. > > > > If I'm missing something simple here please feel free to pass the > > cluebat. > > > > Thanks again > > > > -- Chris > > > > > > Changing "block return log" to "block return in log" fixes the problem but > I'm still confused about the difference in behavior between IPv6 and IPv4 > here. > Its just a parser of your configuration doing that. IIRC it even should be documented behaviour. > > -- Chris > > -- Ermal
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPBZQG0FREus9gAnLCHpuV7RwMSa%2BZLep-s2%2BoRWLgtXWW3zbw>