• General question(s)

    4
    0 Votes
    4 Posts
    762 Views
    bmeeksB
    @JohnSCarter: Hello all, Recently I've had some time on my hands and I've been thinking about pfSense and have some questions and was hoping that someone could elaborate as I'm not quite getting my head around them. Question 1: Is there any way to mass-drop rule actions in Suricata / snort just because I don't have time to 100% be active on my network to see the alert telling me that malware has infected my system and also because manually changing the "alert" rules to "drop" (even with a AHK script) takes more time than I have in a day. Question 2: With IDS/IPS systems (for someone who doesn't have time to sit and monitor their constantly active network 24/7) why aren't most rules set to automatically drop, for example if there was a rule for a packet that's a known malicious packet that compromises a system and that packet triggered a rule but the action was "alert" wouldn't that be pointless? like a fire alarm with a 6 hour delay, wouldn't the damage already be done? Question 3: Obviously putting all the firewalls, IPS/IDS and additional content filtering systems in place is good however none of it means anything if pfSense itself is compromised, I was just wondering (from somewhat of a "lamens" perspective) what is done to keep pfSense secure, how difficult it would be to compromise and if there's any way to check / know if your pfSense is compromised (perhaps a tool or checklist of sorts?) Thanks for your time, John. Question #1 Answer: You don't have to change each rule action to DROP in order to get a block if you simply do these two things: (1)  Use Legacy Mode blocking (on the INTERFACE SETTINGS tab) and then; (2)  Uncheck the option for "Block on drops only". If you do those two things, then every single rule that raises an alert will result in a block.  Just be prepared for some frustration, though, since with all the sloppiness in web programming these days you can expect some rules to trigger that are enforcing various standards.  When those standards are not ahered to, the rules trigger.  You can mitigate this somewhat by being more selective in the rules you enable. Question #2 Answer: Because most security admins want to be notified of issues, evaluate the alert to weed out false positives, and only then enable blocking.  This is to prevent the "frustration problem" alluded to in answer #1 above.  Put yourself in the shoes of a network security admin in a Fortune 500 corporation who just turns on an IPS with all the rules enabled and all the rules set to drop traffic.  Just imagine how many times his phone would ring from users whose computers stopped working because of all the blocked traffic.  Would it not be better to run with everything in alert, analyze the received alerts, weed out and either disable or suppress false positive rules, and only then enable blocking? Question #3 Answer: Firewalls are incredibly hard to compromise unless they are horribly administered.  All the stuff you see on TV shows where the "good guy" hacks into the firewall to save the day is just BS.  Doesn't happen.  But if your firewall is compromised, then all bets are off.  If you are really paranoid, you could put Suricata inline between your firewall and your first LAN switch and run it on a separate physical box.  You would also need a NIC that fully supports Netmap and Inline IPS mode. Bill
  • Netmap and NIC Support

    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • Drilldown on egress alerts

    2
    0 Votes
    2 Posts
    423 Views
    bmeeksB
    The best place to run an IDS/IPS such as Snort or Suricata for home networks is on the LAN interface.  That way host IP addresses in alerts will be shown with their native addresses.  When you run the IDS on the WAN, all alerts will have the WAN IP as the "local host" address since the IDS sees traffic outbound on the WAN only after NAT rules have been applied. There are number of posts in this sub-forum by me and others that talk about this.  So move your configuration over to the LAN interface and your problem will be solved.  Internal hosts will show up in the alerts with their own IP address. Bill
  • No Alerts using Suricata inline mode.

    23
    0 Votes
    23 Posts
    5k Views
    bmeeksB
    @teamits: Never mind, I found the release notes at https://forum.pfsense.org/index.php?topic=145489.0 and even better https://forum.pfsense.org/index.php?topic=145257.msg790339 that discuss pass lists. You can use custom PASS rules to create a pass list, but just be careful as I warned in the posts you linked.  It is probably better to watch and either disable the bothersome rules, or use suppress lists and either of the "filter by IP" options that are available when you click the plus sign (+) beside the IP address columns on the ALERTS tab.  Doing it that way allows a rule-by-rule tuning and even limiting that to certain hosts (IP addresses).  Using a pass list is more like using a large hammer when what you really need is a jeweler's screwdriver.  With a PASS rule that filters only on an address, you are potentially exposing the whitelisted host to a lot of malicious stuff. Bill
  • Suricata: There were error(s) loading the rules

    3
    0 Votes
    3 Posts
    583 Views
    J
    Thank you for this. In this article (https://forum.pfsense.org/index.php?topic=50141.0), the problem is explained. I increased the value of System/Advanced/Firewall & NAT/Firewall Maximum Table Entries to 400000.The default value was 200000. The description for this field is: Maximum number of table entries for systems such as aliases, sshlockout, snort, etc, combined. Since it mentions snort, I assume using suricata also impacts the number of table entries. It is however a system setting, so Bill's remark is correct. The error didn't appear anymore after the value was increased.
  • Change max_client_bytes in SSH preprocessor

    2
    0 Votes
    2 Posts
    299 Views
    bmeeksB
    @alchemyx: Hi, How to change max_client_bytes in SSH preprocessor? If I put that in Advanced Configuration Pass-Through preprocessor ssh:         max_client_bytes 19600 Then SNORT won't start up. Probably because I have duplicated preprocessor ssh: with the one provided by pfsense. I tried disabling SSH altogether and putting it again but snort also refuses to come back up. pfsense version is 2.4.2-RELEASE-p1 and SNORT is 2.9.9.0 Thanks! Michał At the moment that is not a configurable parameter within the GUI.  And using the Advanced Passthrough feature doesn't work with preprocessors because of how the internal GUI code works for now. I will add this parameter to the next Snort GUI update.  I'm working on some other Snort updates and hope to get an updated package posted in a couple of weeks or so. Bill
  • SNORT keeps blocking FEDEX

    3
    0 Votes
    3 Posts
    1k Views
    M
    Thanks, Bill.  Probably just pushing down ads.
  • [SOLVED] Snort fails after OS update

    Moved
    7
    0 Votes
    7 Posts
    3k Views
    wgstarksW
    Thanks. Worked great.
  • Suricata v4.0.4_1 Release Notes (GUI package update)

    6
    0 Votes
    6 Posts
    730 Views
    N
    No worries, thanks
  • PfSense 2.4.2-RELEASE-p1

    2
    0 Votes
    2 Posts
    519 Views
    bmeeksB
    @zombietek: Hi, I have upgraded to 2.4.2-RELEASE-p1 and it is nice to have the addition of "Click to force a different action for this rule" option under Alerts on Suricata. Only comment I have so far, I hope they would add in the future that when a GID:SID is set to a specific action on an interface like WAN, there is an option at least that prompts or check boxes whether or not you want to apply it as well to other interfaces on your pfSense box. My question is, where could I check in pfSense the GID:SID that I have been setting to DROP through the option above? I used to manually copying GID:SID and pasting it to a dropsid configuration file under SID Mgmt and I don't see anything new that I have been setting lately to DROP. Thanks. When you "force" different rule actions on the ALERTS or RULES tabs, those changes are saved in a special section of the firewall configuration file, config.xml.  They are not written to any of the SID MGMT configurations.  Go check out this sticky post at the top of the forum:  https://forum.pfsense.org/index.php?topic=145467.0.  User overrides are the last actions processed as the rules are built for an interface.  If you want to see what rules you have user overrides for, go to the RULES tab and view using one of the new categories listed in the drop-down there.  There are categories for each class of applicable user overrides. The software version you quoted as upgrading to is for pfSense itself.  That is not the version of Suricata.  Suricata's version is currently 4.0.4. Bill
  • Suricata and vlans

    2
    0 Votes
    2 Posts
    2k Views
    bmeeksB
    @Actionhenk: Hi, On my pfsense box (hyperv vm) I have installed suricata on the lan interface. Suricata is dropping traffic like it should however I also have a guest network which im running on a vlan. When I assign the guest vlan to my lan interface suricata stops blocking/working. Im guessing it is because pfsense now has 2 interfaces assigned as 1 and suricata cant seperate them correctly, or only sniffs 1 of the 2 interfaces. I read about someone who also noticed suricata stopped working properly and he set the mtu of the suricata/lan interface from 1500 to 1502 and this solved it for him. I dont know what im doing with mtu sizes so I would like to know how this could negatively impact traffic flow? Will this cause congestion? Dropped packets ? Anyone else who noticed ? How did you resolve it ? Thanks! Make sure you have the latest version of the Suricata package.  If you are using Legacy Mode blocking, then you can increase the new snaplen parameter on the INTERFACE SETTINGS tab for the Suricata interface.  It defaults to 1518, but sometimes VLAN tagging operations need a larger snap length from the pcap library in order to process VLANs. Unfortunately, if you are using Inline IPS Mode, then a limitation within the Suricata binary makes using a non-default snaplen value impossible and you are stuck with the 1516 value.  This is sometimes not large enough for VLANs.  Additionally, Inline IPS Mode uses the netmap API and there may be some capatibility issues with netmap and VLANs in FreeBSD.  I know the traffic shaper does not support netmap at the moment. Bill
  • Suricata v4.0.4 - Release Notes

    3
    0 Votes
    3 Posts
    545 Views
    bmeeksB
    @NRgia: Although freshports is still pointing to 4.0.3 version, you made this possible. Thank you for keeping the Suricata package updated With a little help from Renato on the pfSense team, too.  Thanks! Bill
  • Suricata v4.0.3_2 – Release Notes

    3
    0 Votes
    3 Posts
    550 Views
    bmeeksB
    @Raffi.: Thanks Bill. Do the same installation instructions apply to the 4.0.4 update released today? I guess a better question would be, do those instructions only apply to 4.0.3_2 or is it generally advisable to do a complete uninstall/reinstall? I can do so anyway for good measures since it doesn't take much time, but I'm just curious about best practices and understanding why. Raffi No, the update released today was for the binary only.  The pfSense team went ahead and pulled in the 4.0.4 binary update. I'm working a small update for the GUI, but it's not ready yet.  Will be adding the capability to use custom URLs for rule archive downloads and the ability to use a rejectsid.conf configuration when using Inline IPS mode. That being said, it's not a bad idea to generally follow the "remove and then re-install" process.  By having "save settings" checked, you don't lose any configuration info.  I do make it point, though, of pointing out in the release notes when "remove and re-install" is necessary.  So if you don't see it specifically called out in the release notes, then you can consider it optional. Bill
  • Too many snort alerts - 119:4 BARE BYTE UNICODE ENCODING

    7
    0 Votes
    7 Posts
    12k Views
    bmeeksB
    @Noisette: Thank you for your reply. I thought there was a ready-made list. Apparently all 119 and 120 are false positives. If you search for the threads I referenced and then browse through them, you fill find a number of posts similar to @NogBadTheBad's post containing code you can copy and paste into your own list.  There is no place to just go download a ready-made file.  That's because suppressing alerts and tuning an IDS/IPS is network-specific.  Some users need rules that others do not depending on the types of "normal" traffic on their network. I keep repeating this mantra for the benefit of new IDS/IPS users – "using an IDS/IPS such as Snort or Suricata is not like installing an anti-virus client.  You can't just install, enable all the rules and live happily ever after.  If you do that, you will in fact live in constant frustration dealing with nuisance blocks.  Spend some time reading the posts on this forum and browsing the "school of Google" to learn about tuning an IDS/IPS. Bill
  • Snort configuration

    5
    0 Votes
    5 Posts
    850 Views
    N
    Thank you for your reply. My problem has been solved by updating snort rules. The scan appears in the LAN interface.
  • (portscan) UDP Portscan Blocking Google Music and Webcam updates

    3
    0 Votes
    3 Posts
    394 Views
    R
    Thanks, I've disabled it for udp and tcp.
  • Suricata inline - passlists and blocking - no alerts

    2
    0 Votes
    2 Posts
    618 Views
    bmeeksB
    @Greenhill: Hello, I recently reinstalled pfsense and also suricata. Had saved my enablesid/dropsid/disablesid files which were working fine on my previous pfsense installation. With the new installation something in my sid rule files keeps blocking internet. I would like to find out which sid is being blocked but there are no alerts appearing on the alerts page… how can I troubleshoot which alert is making suricata block traffic without seeing any alerts on the tab ? is there a log file somewhere i can download and browse through ? Also have a second questions, I added a passlist, and added the pfsense IP and my wan IP to the passlist. How does suricata blocking work, which side gets blocked ? For example someone send some malicious traffic from 48.235.223.23 to pfsense on public ip 45.43.54.212  , suricata detects, now I am wondering does suricata block both ips ? or just the 48.235.223.23 ? or 45.43.54.212 blocking my connections ? What happens when I add my ips to a pass list, does this mean the malicious sender from 48.235.223.23 also gets through because my wan/gw ip are on a passlist ? Thanks! Are you using Legacy Mode blocking or the Inline IPS Mode?  You should always be seeing alerts if you get blocks.  The only way that would not be the case is if your alerts log is very large and got rotated over into an archive and the new file is empty.  That would let a situation exist where the alert that caused a particular block is actually in the archived alert log and thus is not currently displayed on the ALERTS tab.  That tab pulls only from the currently active alert log. If using Legacy Mode, you can find any IP blocked by Suricata by going to DIAGNOSTICS > TABLES in pfSense and displaying the contents of the snort2c table.  Any IP addresses listed there were inserted by Suricata. Bill
  • Suricata log browser memory error

    7
    0 Votes
    7 Posts
    4k Views
    S
    Thanks Bill, that is probably my issue.
  • Surricata blocks wan ip after change - pppoe

    5
    0 Votes
    5 Posts
    463 Views
    bmeeksB
    @geronimobb: Thanks for your quick reply and suggestions. As for now, i followed your suggestions. it makes sense off course. I noticed allready that the blocks by surricata (on wan) were allready blocked by the firewall (deny all…). What could be the purpose of running suricata on wan? Kind regards. I found the bug in the custom blocking plugin for the binary that made it fail to recognize changes in firewall interface IP addresses.  A fix will be out soon. For home networks, and even many small business networks, there is no good case for running an IDS/IPS on the WAN.  If you don't host externally accessible services such as DNS, web, etc. (I mean public services, this does not apply to something like a VPN), then the firewall already will default deny all unsolicited inbound connections.  So having Suricata or Snort alert on something the firewall is going to deny anyway is not too helpful. The only exception would be if you as the admin just have a burning desire to know what hits your firewall's public interface. Even with a network where you hosted publically available hosts, they would likely be in a DMZ and you would be better off to run the IDS/IPS on the firewall's DMZ interface. Bill
  • Suricata rules refresh causes HA Carp VIP failover and back again

    7
    0 Votes
    7 Posts
    2k Views
    S
    @bmeeks: @adam65535: Changing Suricata config to live reload the rules stopped carp from failing over.  It does seem like Suricata was causing the issue.  I thought I didn't enable live reloading because of issues a few years ago but that was quite a few versions ago so maybe that isn't an issue anymore.  There is a note that if live reloading causes problems that you should disable live reloading.  Hopefully things keep going smoothly. Thanks for the help. Thanks for the follow-up.  Using Live Reload should be OK.  It is relatively mature now in Suricata. I still have no good explanation for why Suricata restarting woud cycle the network connection.  As I said earlier, the only thing it is doing with Legacy Mode blocking is starting up libpcap to get packet copies of traffic traversing the interface.  Maybe that causes something to hiccup in FreeBSD someplace and CARP sees the hiccup because maybe it disrupts traffic very briefly.  Strange issue. Bill Success! Looks like enabling "Live Swap" fixed the issue for me too. Only got past 1 "expected CARP failover event" thus far, but appears to be good. Thanks for the suggestion. All I did to fix it on my side is filled in the checkbox "Enable "Live Swap" reload of rules after downloading an update" on my pfsense routers and so far so good. Typically the routers appeared to fail back and forth a lot as the general system logs showed >5000 logs of CARP failover. Gladly CARP works very well, so actual impact was approx 2-5 lost pings, slight freeze on RDP sessions, but SSH sessions would continue to work as expected. Because I only just set this rule I have only gotten past one potential failure (update every 12 hours starting at 00:30. 00:30 did have failure, but at 11:40 I enabled the "Live Swap reload" in Suricata, and 12:30 typical CARP failover did NOT happen). In other words, I typically have two failures, one at 00:30 midnight, and a second at 12:30 noon. After changing this setting I have not had any failures. Crossing my fingers this was the solution :) PS. if helpful, my versions are: pfSense: 2.4.2-RELEASE Suricata: 4.0.3_1
Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.