On 2018-09-18, Tim Jones <b631093f-779b-4d67-9ffe-5f6d5b1d3...@protonmail.ch> 
wrote:
> Hi,
>
> I'm wracking my brains here.   I have just replaced <old commercial firewall> 
> with one based on OpenBSD 6.3 PF. Nothing else has changed on the network, 
> just the firewall.
>
> Lots of "stuff" that used to work (e.g. various nightly pushes of data to 
> "the cloud") have suddenly stopped working after the new firewall was put in 
> place.
>
> It seems to be down to some sort of weird handling of SSL by PF ?  I can't 
> see why it should be OpenBSD, and yet I also can't see why it cannot be 
> OpenBSD, given nothing else has changed.
>
> The reason I say this is because of what I see if I take troubleshooting down 
> to its most basic level :
>
> This:
> wget -O bp_linux.tar.gz 
> https://github.com/Azure/blobporter/releases/download/v0.6.15/bp_linux.tar.gz
> Fails with:
> OpenSSL: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
> Unable to establish SSL connection.
>
> And yet this (ironically !) :
> wget https://cdn.openbsd.org/pub/OpenBSD/6.3/amd64/install63.iso
> Works fine.
>
> Similarly, this :
> openssl s_client -connect 
> github-production-release-asset-2e65be.s3.amazonaws.com:443 -servername 
> github-production-release-asset-2e65be.s3.amazonaws.
> com
> Returns:
> no peer certificate available
> No client certificate CA names sent
>
> And yet this :
> openssl s_client -connect google.com:443 -servername google.com
> Shows SSL certs OK  !
>
> My PF is simple as follows (there is no NAT here, its fully routable) :
> match in all scrub (no-df random-id)
> block drop
> set block-policy drop
> set syncookies always
> pass from <my_admin_net> to any flags S/SA modulate state (pflow)
>
> DNS and everything else is working fine.
>
>

This feels like it might be an MTU related problem, especially likely
if the connection is going via pppoe or a tunnel - you may need "scrub
(max-mss ##)".

The way Google's TLS server handshake is setup, it fits in pppoe without
fragmentation, most other sites do not this.

Otherwise try simplifying pf.conf (one change at a time and test):
disable syncookies and change "modulate state" to "keep state", maybe
also the random-id scrub. ("syncookies always" in PF doesn't make a
lot of sense to me except for testing, especially if only allowing
inside->outside traffic, I think "adaptive" would be more usual if
using this feature).


Reply via email to