Community discussions

MikroTik App
 
MTusewk
newbie
Topic Author
Posts: 32
Joined: Sat Nov 15, 2014 1:12 pm

Feature Request: Application Level Firewall

Thu May 26, 2016 7:18 pm

I would like to request the addition of a functionality to detect and block applications through the firewall just like a lot of major players are offering it in their products, for example:

- Palo Alto Firewall's App-ID
- Fortinet's Application Control

I know some of this functionality is available under Firewall > L7 Protocols. I would like this to be improved to provide the capabilities these vendors are offering out there. For example, they can even detect applications' encrypted traffic and block it. As an example block encrypted bittorrent protocol traffic, which we cannot with MikroTik. With their offerings it is possible to ALLOW and BLOCK traffic at application level. I want this functionality to be added to MikroTik.
 
pe1chl
Forum Guru
Forum Guru
Posts: 10600
Joined: Mon Jun 08, 2015 12:09 pm

Re: Feature Request: Application Level Firewall

Thu May 26, 2016 7:59 pm

As a generic solution, it would be nice if there was a "snort" package that can be installed (given enough headroom
in CPU power, memory etc) on the router. It should at least be configurable for detection and possible generation
of address list, but it would of course be even nicer when it could be configured in the forwarding path.
 
User avatar
ZeroByte
Forum Guru
Forum Guru
Posts: 4047
Joined: Wed May 11, 2011 6:08 pm

Re: Feature Request: Application Level Firewall

Thu May 26, 2016 8:47 pm

I think a Mikrotik API plugin for snort would be a nice feature, so that if a snort box decides to blacklist some address, it can send it to Mikrotik routers using API calls for adding them to an address-list.

Ideally, the ability to place BGP -> address-list will be available in ROSv7, which will make a system-wide blacklist almost trivial to deploy.

But I think OP wants a deep packet inspection firewall so that he can pop up browser messages like "your requested website violates policy" or watches for users with Skype installed, etc....

Honestly, I'd rather use a dedicated box for such things because value-add features like this are rarely as good as purpose-built solutions. (Just look at the p2p match in iptables / ROS firewall.... it doesn't help at all for those who want to limit p2p, and that's not Mikrotik's fault... it's just a full-time job keeping up with that sector)
 
pe1chl
Forum Guru
Forum Guru
Posts: 10600
Joined: Mon Jun 08, 2015 12:09 pm

Re: Feature Request: Application Level Firewall

Thu May 26, 2016 10:28 pm

I think a Mikrotik API plugin for snort would be a nice feature, so that if a snort box decides to blacklist some address, it can send it to Mikrotik routers using API calls for adding them to an address-list.
It looks like someone has written a workaround for that, see the WiKi under IDS
However, I have a CCR-1009 of which most cores are sitting idle, it would be a cool idea to run snort on there.
Unfortunately there is no VM support (MetaROUTER) on that box, or I could try running a Linux VM.
 
vortex
Forum Guru
Forum Guru
Posts: 1130
Joined: Sat Feb 16, 2013 6:10 pm

Re: Feature Request: Application Level Firewall

Fri May 27, 2016 12:01 am

I want IDS on the router, not on a separate box.
 
MTusewk
newbie
Topic Author
Posts: 32
Joined: Sat Nov 15, 2014 1:12 pm

Re: Feature Request: Application Level Firewall

Sat May 28, 2016 4:47 pm

I think a Mikrotik API plugin for snort would be a nice feature, so that if a snort box decides to blacklist some address, it can send it to Mikrotik routers using API calls for adding them to an address-list.

Ideally, the ability to place BGP -> address-list will be available in ROSv7, which will make a system-wide blacklist almost trivial to deploy.

But I think OP wants a deep packet inspection firewall so that he can pop up browser messages like "your requested website violates policy" or watches for users with Skype installed, etc....

Honestly, I'd rather use a dedicated box for such things because value-add features like this are rarely as good as purpose-built solutions. (Just look at the p2p match in iptables / ROS firewall.... it doesn't help at all for those who want to limit p2p, and that's not Mikrotik's fault... it's just a full-time job keeping up with that sector)
What I requested is an "Application Level Firewall" where traffic of different applications can be detected and then blocked as per the defined rules. It is fine if MikroTik cannot release signatures for all the different applications out there or keep updating them, what we need this functionality to be available in MikroTik and let the community develop the signatures for whatever applications they want to detect and block. MikroTik community will happily do it.

The examples I gave of Palo Alto and Fortinet are firewalls with the application level detection built-in. It is not a dedicated device for just "application filtering".
 
pe1chl
Forum Guru
Forum Guru
Posts: 10600
Joined: Mon Jun 08, 2015 12:09 pm

Re: Feature Request: Application Level Firewall

Sat May 28, 2016 5:59 pm

What I requested is an "Application Level Firewall" where traffic of different applications can be detected and then blocked as per the defined rules. It is fine if MikroTik cannot release signatures for all the different applications out there or keep updating them, what we need this functionality to be available in MikroTik and let the community develop the signatures for whatever applications they want to detect and block. MikroTik community will happily do it.
But snort can do that I think.... that is why it would be nice to have a snort package that can run on the router.
Of course, snort is traditionally focussed on "network intrusion" rather than application detection, but it is basically
the same task.
 
User avatar
ZeroByte
Forum Guru
Forum Guru
Posts: 4047
Joined: Wed May 11, 2011 6:08 pm

Re: Feature Request: Application Level Firewall

Sun May 29, 2016 6:37 pm

What I requested is an "Application Level Firewall" where traffic of different applications can be detected and then blocked as per the defined rules. It is fine if MikroTik cannot release signatures for all the different applications out there or keep updating them, what we need this functionality to be available in MikroTik and let the community develop the signatures for whatever applications they want to detect and block. MikroTik community will happily do it.
I have to disagree. Poorly-maintained definitions can be worse than nothing at all. If users think they're covered when they aren't... And there are some sharp cookies in the ROS community but it's not nearly large enough to say with reasonable assurance that the community has all bases covered. There are many community-supplied recipes/howtos/etc for ROS that make me cringe. For example, there's a firewall recipe that includes blocking bogons, but the bogon list is YEARS out of date, and I still see people posting their firewall configs here which are copy/paste replicas of these rules.

An un-maintained signature database for this would be like your doctor working from the leading medical journals from 1997 or something.

If you argue that an app-level firewall be implemented as a module which can be activated/removed then I would say this is the way to go. I personally wouldn't use it because I see no signs that Mikrotik has the resources to dedicate to maintaining such a service on the level it needs. ROS is quite a wonderful system but it still requires much improvement in its core functionality. Bells and whistles would be too much distraction from this IMO.

Granted, I'm talking about security vs something that just dictates policy like "no Skype allowed" which you actually can do with L7 filters. (This is their original intent, not web site filtering) and you could even use recipes from the Linux/netfilters community since it's the same thing.
 
mpreissner
Member
Member
Posts: 357
Joined: Tue Mar 11, 2014 11:16 pm
Location: Columbia, MD

Re: Feature Request: Application Level Firewall

Tue May 31, 2016 10:22 pm

I agree that being able to run Snort or another IDS/IPS function on the router would make for a simplified deployment, but you also have to remember that it would necessitate stronger hardware to maintain a given throughput.

Personally, I run pfSense as an inline transparent firewall that sits between my MT router and my ISP. I leave the heavy duty firewalling to the pfSense, and run Snort inline so it functions as an IPS, and simply use the MT router for simple routing tasks within my internal network. The CCR's are great platforms, until you load them down with too many firewall rules, and then throughput starts to seriously suffer.
 
MTusewk
newbie
Topic Author
Posts: 32
Joined: Sat Nov 15, 2014 1:12 pm

Re: Feature Request: Application Level Firewall

Fri Jun 03, 2016 5:02 pm

What I requested is an "Application Level Firewall" where traffic of different applications can be detected and then blocked as per the defined rules. It is fine if MikroTik cannot release signatures for all the different applications out there or keep updating them, what we need this functionality to be available in MikroTik and let the community develop the signatures for whatever applications they want to detect and block. MikroTik community will happily do it.
I have to disagree. Poorly-maintained definitions can be worse than nothing at all. If users think they're covered when they aren't... And there are some sharp cookies in the ROS community but it's not nearly large enough to say with reasonable assurance that the community has all bases covered. There are many community-supplied recipes/howtos/etc for ROS that make me cringe. For example, there's a firewall recipe that includes blocking bogons, but the bogon list is YEARS out of date, and I still see people posting their firewall configs here which are copy/paste replicas of these rules.

An un-maintained signature database for this would be like your doctor working from the leading medical journals from 1997 or something.

If you argue that an app-level firewall be implemented as a module which can be activated/removed then I would say this is the way to go. I personally wouldn't use it because I see no signs that Mikrotik has the resources to dedicate to maintaining such a service on the level it needs. ROS is quite a wonderful system but it still requires much improvement in its core functionality. Bells and whistles would be too much distraction from this IMO.

Granted, I'm talking about security vs something that just dictates policy like "no Skype allowed" which you actually can do with L7 filters. (This is their original intent, not web site filtering) and you could even use recipes from the Linux/netfilters community since it's the same thing.
This functionality would need to be added at some point in time to stay relevant on the market. The routers/firewalls from almost all the major players out there have this app-level filtering functionality available in their products since quite some time.

I agree you can block some of the stuff with ROS, but that's not what we are talking about here in the first place when I am requesting an app-level filtering functionality as feature to be added in to ROS. Let me know how you would block encrypted bittorent traffic with the current feature set of ROS? Or how would you allow port 443 traffic but only for HTTPS and not let OpenVPN or SSTP traffic pass through it?
 
User avatar
ZeroByte
Forum Guru
Forum Guru
Posts: 4047
Joined: Wed May 11, 2011 6:08 pm

Re: Feature Request: Application Level Firewall

Fri Jun 03, 2016 5:48 pm

This functionality would need to be added at some point in time to stay relevant on the market. The routers/firewalls from almost all the major players out there have this app-level filtering functionality available in their products since quite some time.

I agree you can block some of the stuff with ROS, but that's not what we are talking about here in the first place when I am requesting an app-level filtering functionality as feature to be added in to ROS. Let me know how you would block encrypted bittorent traffic with the current feature set of ROS? Or how would you allow port 443 traffic but only for HTTPS and not let OpenVPN or SSTP traffic pass through it?
I know what you're saying, and I know the difference between port filtering and application filtering.
You're right - ROS can't easily or effectively inspect protocols, especially encrypted ones.

I prefer purpose-built appliances for such things, I guess. Cheap SOHO gear that does this sort of thing has always left a bad taste in my mouth. Whenever we had a customer with weird VoIP problems, for instance, you could bet they were using a SonicWall, and you could also bet that the guy at the controls of the SonicWall didn't know what the heck he was doing and that the configuration was going to be a tangled, horrible configuration that would've made Rube Goldberg proud.
 
User avatar
mrz
MikroTik Support
MikroTik Support
Posts: 7208
Joined: Wed Feb 07, 2007 12:45 pm
Location: Latvia
Contact:

Re: Feature Request: Application Level Firewall

Thu Jun 09, 2016 4:50 pm

You already can define your own signatures to filter application layer (layer 7):
http://wiki.mikrotik.com/wiki/Manual:IP/Firewall/L7
 
User avatar
bjohns
Member Candidate
Member Candidate
Posts: 271
Joined: Sat May 29, 2004 4:11 am
Location: Sippy Downs, Australia
Contact:

Re: Feature Request: Application Level Firewall

Fri Jun 17, 2016 10:43 am

Enterprise Next Generation Firewalls (NGFW) can't do a lot about encryption either - even 'man-in-the-middle' decryption is now problematic with modern browsers and clients. They're resorting to extra-firewall intelligence - cloud based threat analysis and mitigation, DNS monitoring, traffic patterns, etc.

Therefore if I were to ask for a new security feature for RouterOS it would be some kind of cloud based database of known threats/malicious traffic that can be referenced by the routers firewall.