On 09/19/18 09:02, Tim Jones 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.
(Not an expert, just suggesting some things that might provoke
inspiration. Hopefully. But probably stuff already tried/eliminated.)
Are you sure it's pf? If you disable pf (if that's an option here) -
any difference?
If you take the rules out and then introduce them one-by-one - is there
one that seems to break things?
What do the pf logs show?
Are you trying the commands on the firewall or an (OpenBSD?) machine
behind the firewall?
[OpenBSD machine]---[OpenBSD firewall]---[the internet]
(Anything to do with LibreSSL versus OpenSSL?)
If you try those commands on another OpenBSD machine at a different
location, do they work?
They work here (on a snapshot), so that does suggest they should work in
general so yes, maybe the ruleset or pf.
I've not got wget installed, but can achieve the same request with ftp e.g.
$ ftp
https://github.com/Azure/blobporter/releases/download/v0.6.15/bp_linux.tar.gz
Trying 192.30.255.112...
Requesting
https://github.com/Azure/blobporter/releases/download/v0.6.15/bp_linux.tar.gz
Redirected to
https://github-production-release-asset-2e65be.s3.amazonaws.com/74929278/e5e4422c-58f2-11e8-9582-3447e8bc9081?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20180919%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180919T043531Z&X-Amz-Expires=300&X-Amz-Signature=d99e4c16a020810445620a2dc532f53e192ea382bff9785059d2f886981defb7&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dbp_linux.tar.gz&response-content-type=application%2Foctet-stream
Trying 54.231.81.40...
Requesting
https://github-production-release-asset-2e65be.s3.amazonaws.com/74929278/e5e4422c-58f2-11e8-9582-3...
What do you get if you try ftp instead of wget?
$ openssl s_client -connect
github-production-release-asset-2e65be.s3.amazonaws.com:443 -servername
github-production-release-asset-2e65be.s3.amazonaws.com
CONNECTED(00000003)
depth=2 C = IE, O = Baltimore, OU = CyberTrust, CN = Baltimore
CyberTrust Root
...