pfSense Gold Subscription

Author Topic: Default Permit: a Dumb idea  (Read 784 times)

0 Members and 1 Guest are viewing this topic.

Offline brolloks

  • Newbie
  • *
  • Posts: 14
  • Karma: +0/-0
    • View Profile
Default Permit: a Dumb idea
« on: February 16, 2017, 09:22:24 am »
Hi everyone,

I am in the process of replacing our current Pfsense firewall which runs on desktop hardware that was slapped together aeon ago with some nice new Netgate/Pfsense hardware.

I have also been going through our current setup and configuration and doing some research about best practices and came across the "The Six Dumbest Ideas in Computer Security" by Marcus Ranum. http://ranum.com/security/computer_security/editorials/dumb/index.html

He describes Default Permit and that it is a really dumb idea, which makes sense.

My question to you all:
How many of you are actually using your firewall with the default deny policy in place?
How did you go about implementing it in your environment in terms of knowing what to allow? I can imagine this will be a nightmare for organizations that don't have clear defined policy in place that governs which software is allowed.

Appreciate all your input.

Thanks.


Offline KOM

  • Hero Member
  • *****
  • Posts: 5159
  • Karma: +640/-17
    • View Profile
Re: Default Permit: a Dumb idea
« Reply #1 on: February 16, 2017, 10:01:31 am »
Quote
How many of you are actually using your firewall with the default deny policy in place?

I manage all of the equipment here and I know all of the users.  Default deny on WAN, default allow on LAN.  I don't have the time to be chasing firewall issues for my LAN clients.

Offline kpa

  • Hero Member
  • *****
  • Posts: 911
  • Karma: +93/-3
    • View Profile
Re: Default Permit: a Dumb idea
« Reply #2 on: February 16, 2017, 10:56:08 am »
I see no reason to change default deny for any reason, it is the sane default for a security device of any kind.


Application firewalls running on individual hosts may be a different case. You don't want to present a mostly computer illiterate user a system that uses a default deny application firewall that nags constantly about new and updated software if he/she wants to allow it access to internet.

Offline brolloks

  • Newbie
  • *
  • Posts: 14
  • Karma: +0/-0
    • View Profile
Re: Default Permit: a Dumb idea
« Reply #3 on: February 16, 2017, 03:30:42 pm »
Quote
How many of you are actually using your firewall with the default deny policy in place?

I manage all of the equipment here and I know all of the users.  Default deny on WAN, default allow on LAN.  I don't have the time to be chasing firewall issues for my LAN clients.

At the moment I am in the same boat. Have got deny on WAN and allow on LAN with the things I want to block added on top.

I am just curious to know how someone or team for that matter would manage a setup where they have got deny on LAN and only allow what is required.
I am a single person managing EVERYTHING at a medium sized organisation, so time is always against me. :P

Offline brolloks

  • Newbie
  • *
  • Posts: 14
  • Karma: +0/-0
    • View Profile
Re: Default Permit: a Dumb idea
« Reply #4 on: February 16, 2017, 03:37:44 pm »
I see no reason to change default deny for any reason, it is the sane default for a security device of any kind.


Application firewalls running on individual hosts may be a different case. You don't want to present a mostly computer illiterate user a system that uses a default deny application firewall that nags constantly about new and updated software if he/she wants to allow it access to internet.

Good point, but even the guys from Pfsense recommends using a default deny on your LAN for long term use as best practise. But I can understand how difficult this could be to implement for an organisation that has been using default allow.

Quote
A default deny strategy for firewall rules is the best practice (The Pfsense Book)

Offline JKnott

  • Sr. Member
  • ****
  • Posts: 340
  • Karma: +12/-0
    • View Profile
Re: Default Permit: a Dumb idea
« Reply #5 on: February 16, 2017, 03:46:52 pm »
Quote
How many of you are actually using your firewall with the default deny policy in place?

Every firewall I've worked on starts with the default deny all to which I add exceptions for the stuff I want.  That's the way a firewall should work, in my not so humble opinion.

Offline 6h057

  • Newbie
  • *
  • Posts: 3
  • Karma: +0/-0
    • View Profile
Re: Default Permit: a Dumb idea
« Reply #6 on: February 16, 2017, 04:50:50 pm »
Are you saying that the default firewall setting for LAN to WAN traffic is recommended to be set to deny?  That is an administration nightmare.  Block all inbound from the untrusted network (WAN > LAN), allow all outbound from the trusted network (LAN > WAN), add specific rules to allow inbound connections such as vpn and add specific rules to block outbound connections such as hosts restricted from accessing WAN.  Having to write specific rules to allow outbound traffic through a firewall when there are so many services running on systems that require access, such as update services, seems insane.

In regards to the article, which was written in 2005, the writer is criticizing the policy of default allow on a WAN > LAN connection, or a default allow on system execution (allowing any executable to run just because a user clicked on it).

Point is, if you trust it, allow it, and if you don't trust it, don't allow it, but don't make your job harder.

Online pfBasic

  • Hero Member
  • *****
  • Posts: 721
  • Karma: +95/-5
    • View Profile
Re: Default Permit: a Dumb idea
« Reply #7 on: February 16, 2017, 06:10:30 pm »
How many of you are actually using your firewall with the default deny policy in place?
How did you go about implementing it in your environment in terms of knowing what to allow? I can imagine this will be a nightmare for organizations that don't have clear defined policy in place that governs which software is allowed.

I thought everyone?
Why use a firewall if it is just allowing everything?

My network is just a home network so it's pretty easy to setup, I don't have a clue how complex a professional business network would be.

But for home setup, just write pass rules to allow the type of traffic you use on the ports you use and get rid of any allow any any rules. You probably know any special ports you need open for stuff beyond internet, email, ssh, etc. So something like this on your LAN should get a generic home network up and running.
Allow IPv4 TCP LAN any any $YOUR_PORTS_ALIAS
Allow IPv4 TCP/UDP any any 1024:65535
Allow IPv4 TCP/UDP LANnet any LANaddress $DNS_DHCP_NTP_ALIAS
Allow IPv4 TCP/UDP LANnet any LANaddress $SSH_WEBGUI

Offline Nullity

  • Hero Member
  • *****
  • Posts: 889
  • Karma: +83/-8
    • View Profile
Re: Default Permit: a Dumb idea
« Reply #8 on: February 17, 2017, 12:46:26 am »
As a learning exercise I setup a default deny on my LAN and discovering the ports that were required were much less numerous than I'd assumed.

I dunno if it's actually any safer or secure but it feels safer... At the least, I'm more aware of my network.
Please correct any obvious misinformation in my posts.
-Not a professional; an arrogant ignoramous.

Offline brolloks

  • Newbie
  • *
  • Posts: 14
  • Karma: +0/-0
    • View Profile
Re: Default Permit: a Dumb idea
« Reply #9 on: February 17, 2017, 04:51:37 am »
As a learning exercise I setup a default deny on my LAN and discovering the ports that were required were much less numerous than I'd assumed.

I dunno if it's actually any safer or secure but it feels safer... At the least, I'm more aware of my network.

That is what I thought as well. It would give you a broader perspective about what is going through your firewall.

Offline jimp

  • Administrator
  • Hero Member
  • *****
  • Posts: 19965
  • Karma: +1150/-8
    • View Profile
Re: Default Permit: a Dumb idea
« Reply #10 on: February 17, 2017, 08:06:06 am »
Default deny is the best practice overall, but it's not the best default practice out-of-the-box for a firewall distribution like this.

You can switch to a default deny on LAN strategy in a couple clicks if you want it, but the behavior most people expect is to be able to plug into a default install and be able to reach from LAN to WAN and beyond, Facebook and lolcats flowing freely.

I've been involved in networks setup both ways. It's all up to the needs and security level of the site. Default deny is more secure, but it can feel like playing whack-a-mole as you sort things out and inevitably you forgot to allow something that only happens once a week/month/year and you'll have to go back and tune it regularly when things mysteriously fail to work.
Need help fast? Commercial Support!

Co-Author of pfSense: The Definitive Guide. - Check the Doc Wiki for FAQs.

Do not PM for help!

Online pfBasic

  • Hero Member
  • *****
  • Posts: 721
  • Karma: +95/-5
    • View Profile
Re: Default Permit: a Dumb idea
« Reply #11 on: February 17, 2017, 10:37:34 am »
Agree with the above about it not being as complex as it seems and probably not needing as many ports as you think.

Here's an old post on firewalling that's still relevant and helpful to get you going.
Firewalling
Always whitelist, NEVER blacklist. In other words, start with everything disallowed (pfsense's default is exactly that) and only allow what is absolutely needed. The same applies for outgoing filtering. Head over to Firewall>aliases> and set up a ports alias. The ports you should allow outgoing are:
21FTP, if you have the need to access hosts over FTP
22SSH, if you remotely administer systems
25SMTP if planning to send email (technically your ISP should only allow outgoing 25 to its relay hosts)
80HTTP, if planning to access any website, essential for updating systems
123NTP, maybe not needed depending on your preferences
443HTTP/S, see HTTP note
465SMTP/S, see SMTP note
547DHCP, only needed on interfaces that pfsense will automatically provide IPs for
993IMAP/S, if you want to access a remote IMAP account
995POP3/S, if you want to access a remote POP3 account
1024 to 65535unprivileged ports, you don't have any control over these, make a note to remember what ports are privileged
Name the alias something that is easy to remember, like I don't know, how about "outgoing_ports"?

Create another alias, pfsense_ports
Xpfsense's webgui port. See note
Ypfsense's ssh port. See notes below

A note on the webgui and ssh port: The port chosen must be X , where 0 > X < 1024. Same goes for Y. The first allowed port is 1 and the last allowed port is 1023. Choose a port not in use by any other service (DHCP, NTP). These first 1024 ports are called privileged ports, and greatly help us in administering our systems. A relatively random port (eg not 0, not 81) will allow for some security through obsurity.

There's a ton of info on that thread if you're interested, https://forum.pfsense.org/index.php?topic=78062.0

Also, if you're ever wondering what port is used for something you need, or trying to find a privileged port to use that isn't already widely in use the wikipedia page on ports is great.
https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers

Offline kpa

  • Hero Member
  • *****
  • Posts: 911
  • Karma: +93/-3
    • View Profile
Re: Default Permit: a Dumb idea
« Reply #12 on: February 17, 2017, 10:41:47 am »
Agree with the above about it not being as complex as it seems and probably not needing as many ports as you think.

Here's an old post on firewalling that's still relevant and helpful to get you going.
Firewalling
Always whitelist, NEVER blacklist. In other words, start with everything disallowed (pfsense's default is exactly that) and only allow what is absolutely needed. The same applies for outgoing filtering. Head over to Firewall>aliases> and set up a ports alias. The ports you should allow outgoing are:
21FTP, if you have the need to access hosts over FTP
22SSH, if you remotely administer systems
25SMTP if planning to send email (technically your ISP should only allow outgoing 25 to its relay hosts)
80HTTP, if planning to access any website, essential for updating systems
123NTP, maybe not needed depending on your preferences
443HTTP/S, see HTTP note
465SMTP/S, see SMTP note
547DHCP, only needed on interfaces that pfsense will automatically provide IPs for
993IMAP/S, if you want to access a remote IMAP account
995POP3/S, if you want to access a remote POP3 account
1024 to 65535unprivileged ports, you don't have any control over these, make a note to remember what ports are privileged
Name the alias something that is easy to remember, like I don't know, how about "outgoing_ports"?

Create another alias, pfsense_ports
Xpfsense's webgui port. See note
Ypfsense's ssh port. See notes below

A note on the webgui and ssh port: The port chosen must be X , where 0 > X < 1024. Same goes for Y. The first allowed port is 1 and the last allowed port is 1023. Choose a port not in use by any other service (DHCP, NTP). These first 1024 ports are called privileged ports, and greatly help us in administering our systems. A relatively random port (eg not 0, not 81) will allow for some security through obsurity.

There's a ton of info on that thread if you're interested, https://forum.pfsense.org/index.php?topic=78062.0

Also, if you're ever wondering what port is used for something you need, or trying to find a privileged port to use that isn't already widely in use the wikipedia page on ports is great.
https://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers


Yeah... but in reality filtering outbound by protocol and port numbers doesn't work. It already breaks with passive FTP that requires a (from your point of view) randomly chosen data port at the remote end. And this is just a start of the issues you have when trying to keep a suitable set of ports open on the outgoing direction by protocol and port number, good luck setting up BitTorrent on such environment.

Online pfBasic

  • Hero Member
  • *****
  • Posts: 721
  • Karma: +95/-5
    • View Profile
Re: Default Permit: a Dumb idea
« Reply #13 on: February 17, 2017, 10:52:02 am »
I've never used FTP, but I'm pretty sure it would work that way.

Your traffic leaves through the FTP port and will be assigned an unprivileged port on the remote end.


Bit torrent has worked with no issues on my network just like that.

I think that people just view this as being way more complex than it is for a home network. When you scale it up to thousands of users doing different things in a production environment then I'm sure it would be something that would require a lot of time and effort and might not be worth doing at all.
On a home network, you can literally write a few aliases, a few rules and it will just work.

Offline doktornotor

  • Hero Member
  • *****
  • Posts: 8161
  • Karma: +842/-226
  • Not a pfSense employee, they cannot fire me...
    • View Profile
Re: Default Permit: a Dumb idea
« Reply #14 on: February 17, 2017, 11:07:17 am »
Your traffic leaves through the FTP port and will be assigned an unprivileged port on the remote end.

Hmmm... nope.
http://slacksite.com/other/ftp.html
Do NOT PM for help!