Some services run really good behind a reverse proxy on 443, but some others can really become an hassle… And sometimes just opening other ports would be easier than to try configuring everything to work through 443.
An example that comes to my mind is SSH, yeah you can use SSLH to forward requests coming from 443 to 22, but it’s so much easier to just leave 22 open…
Now, for SSH, if you have certificate authentication or a strong password, I think you can feel quite safe, but what about other random ports? What risks I’m exposing my server to if I open some of them when needed for a service? Is the effort of trying to pass everything through 443/80 worth it?
Opening ports essentially allows other computers on the internet to initiate a connection with yours.
It’s only dangerous if a service running on those ports can be exploited.
to reduce attack-surface, if there’s no reason for the port to be open, don’t open it.
“If” is not the correct word choice. It’s only dangerous when a service on the port gets exploited.
Driving a car is only dangerous when you die in a traffic accident.
your logic doesn’t check out.
If it’s exposed to the internet it’s a matter of when, not if, it is compromised.
This, coupled with the fact that firewalls are protocol-agnostic. You can, for instance, use ‘port https’ in your Packet Filter config instead of ‘port 443’, but that simply means that PF will block/pass traffic to whatever service is bound to that particular port, and NOT https connections in general.