Snort 2.9.4.6 pkg v2.6.1
-
@BBcan17:
Hello Bill,
If I block both the SRC and DST wont that kill the ability for the alerted LAN address to access the Net?
If you need any further details please let me know.
No, the auto-whitelist will keep it from actually blocking the LAN addresses. This is because locally attached networks like the LAN are automatically added to the whitelist. By choosing BOTH for the block parameter, this catches an offending IP no matter which way the traffic is flowing. However, this setting is only for blocking. The alerting in the logs is not dependent on that setting.
Bill
-
@BBcan17:
Screen shot didnt attach. Please see attached jpg file.
Looking at the attached images (the JPG was cut off a bit in my browser window), it appears the traffic was alerted and blocked by Snort. Or least an entry was put in the pf table (snort2c). That's all Snort can do. After that it is up to the packet filter engine in FreeBSD to do the rest. Where exactly is the Security Onion appliance in the network traffic path as compared to Snort on the pfSense firewall? Could it be they are both seeing the traffic in parallel? I'm asking how exactly the Onion appliance is wired into the network such that it is seeing WAN traffic.
Bill
-
Thanks Bill,
I will try to block/kill the SRC/DST and see if that fixes the issue.
The Lan side of pfSense goes to a Switch which span/mirrors the traffic to Security Onions sensor port.
On another note - Would it be possible to Add a comment line to the Suppression process when we select "Add this alert to the suppress list" or "Add this alert to the suppress list .. DST/SRC" This way you can record the reasoning behind some of the Suppressions?
Thanks
-
@BBcan17:
I will try to block/kill the SRC/DST and see if that fixes the issue.
The Lan side of pfSense goes to a Switch which span/mirrors the traffic to Security Onions sensor port.
I don't think this will necessarily fix the issue, but it's worth a try. Can I assume from your reply about the sensor location that one of those IP addresses is in your LAN and you are not using NAT?
@BBcan17:
On another note - Would it be possible to Add a comment line to the Suppression process when we select "Add this alert to the suppress list" or "Add this alert to the suppress list .. DST/SRC" This way you can record the reasoning behind some of the Suppressions?
That might be possible. I will file it away for some future feature adds. The next big release is already packaged (version 3.0.0) and it's too late to add more features. That version, when released, will add support in the GUI for multiple target engine configurations for five of the preprocessors (frag3, stream5, http_inspect, ftp_server and ftp_client).
Bill
-
Great stuff. I dont know what i would do without pfsense and snort.
I also notice that when I am viewing the alert list and select the "+" or "x' buttons for suppression that the refresh of the screen brings me to another snort interface alert list.
Yes the alert was for an IP on the same network (10.1.xx.xxx) as the pfsense LAN port.
-
Hello Bill,
I changed the Blocking to both SRC/DST but I noticed that this one alert was blocked in pfSense but Security Onion picked it up.
See the jpg attached.
-
@BBcan17:
Hello Bill,
I changed the Blocking to both SRC/DST but I noticed that this one alert was blocked in pfSense but Security Onion picked it up.
See the jpg attached.
Is this routine or more random? What I mean by that is does it seem to leak all the packets that should have been blocked, or is it more like randomly it does this? I'm asking to see if this might be tied in any way to the random clearing of the block table. I doubt it is, but just checking all possibilities.
It certainly does appear from your captures that the packet is supposedly "blocked", but it leaks by anyway to the LAN. I do notice a 5 hour time discrepancy in the Snort log entry versus the Security Onion entry. The times match on the minute and second, but the hour is off. I'm assuming this maybe is a time zone issue with one of the devices.
This is obviously not supposed to happen, so I would like to get to the bottom of it. Unfortunately this is likely to require some pfSense uber-geek magic to figure out. The packet filter and all the network stack stuff in pfSense is not my area of expertise. Perhaps we can get one of the Core Team developers to take a look. I will ping them with a link to this thread to see if one will weigh in.
Bill
-
Hi Bill,
Activity has been fairly low today, but I would say that most alerts are passing thru unblocked. The things that I dont see in Security Onion are the DROP/DShield/ET RBN's alerts in snort but that activity could also be drooped by the router.
I am in EST and Security Onion is configured in UTC time so that is your time difference.
I have three NICs installed on this router. I have two WAN addresses but only one GW. I have been trying to get Multiwan to work without success.
http://forum.pfsense.org/index.php/topic,64682.msg374930.html#msg374930I have the second WAN Disabled for several weeks and I also had disabled the Snort Interface for this 2nd Wan port. However, today i noticed activity in this disabled Wan2 port Snort interface. It didnt match the snort alerts from Wan1.
So this afternoon, I deleted the WAN2 interface and also deleted the snort interface and Rebooted pfSense.
This didnt fix the issue but I thought I would share that with you just in case,
-
Bill,
The router is set for Automatic Outbound Nat but there were 4 entries from the Manual Outbound NAT that I was working with a few weeks ago. I have since cleared the Manual rules and restarted pfSense.
-
@BBcan17:
Bill,
The router is set for Automatic Outbound Nat but there were 4 entries from the Manual Outbound NAT that I was working with a few weeks ago. I have since cleared the Manual rules and restarted pfSense.
I sent a request via e-mail to the pfSense Core Team asking for one of them to take a look at this thread and see if they had any thoughts about what might be going on. It's weird that the blocks are getting set in the packet filter table, but yet some traffic still seems to get through.
Bill
-
@BBcan17:
Hi Bill,
…The things that I dont see in Security Onion are the DROP/DShield/ET RBN's alerts in snort but that activity could also be drooped by the router.
Can you elaborate a bit more on this statement. Are you saying you have some of the ET RBN and ET CIARMY rules enabled on the WAN side of pfSense in Snort, and those are all getting blocked but traffic matching other rules is not being reliably blocked?
Bill
-
Yes It was blocking DROP/Dshield/ET RBNs/CINS but i didnt see any CIARMY.
There were also blocked port scan sweeps and ET SCAN Sipvicious.
I didnt see any of that in Security Onion. I dont think I have ever seen one of those alerts.
https://code.google.com/p/security-onion/wiki/ManagingAlerts (They do have them as part of the rulesets.)
-
Hi Bill,
I removed all of my suppression lists to try to get something to come in and get an alert and I got an alert and a block but Security Onion still picked the blocked packets up even after my changes. Could there be some other setup/config issue that I could check?
The blocked ip is in the snort2c table.
I also found this interesting. I set a block on sig 1:2013504 (ET POLICY GNU/Linux APT User-Agent Outbound likely related to package management)
I requested apt-get updates on the Security Onion Box and part of the updates came thru before pfSense/Snort kicked in and blocked the remaining.
See attached Jpg.
-
Without reading the previous replies to this thread (just glanced at the above couple of posts tbh), you are seeing the intended behaviour of snort. Snort in pfsense is not running drop rules, but alert rules. The reason you might see traffic behind the snort box is that (as I said in the past) snort doesn't actually block any packets. I'll reuse a previous analogy I used:
Snort in pfsense (an IDS):guy sitting in a room, watching the CCTV feeds. He picks up the radio and radios to a security person "hey, guy in the red jacket, pick him up". The downside is that while the guy is watching the guy in the red jacket, the one in the blue jacket gets through. They later decide that no jacket guys are allowed, which prevends this from happening again (until pfsense decides to flush the block table,out of nowhere, of course).
Snort running drop rules (or any IPS): You wall off part of the corridor, and set up a metal detector, a security guard padding you down, full body search and all that. Everyone has to go through this to be let through.Summary: Snort will allow some packets through until the whole analyze/alert/ban cycle completes.
If I missed something, or I'm not making any sense, please do ignore me. It's too early in the morning and I haven't had the mandatory cafeine boost yet. Or the sleep.
-
Not if the one in the blue jacket gets blocked as well due to the "ET no jacket in the building" rule ;)
-
Not if the one in the blue jacket gets blocked as well due to the "ET no jacket in the building" rule ;)
What if the person observing them has a monitor in front of him, on which he watches the guy in the red jacket, while at the same time, the person in the blue jacket shows up on the monitor behind him? ;-)
What I was getting at is that some packets "leak through", I've seen it more than enough times by now. Sometimes, depending on the processing the snort box has to do, less packets get through before the eventual ban.
-
Snort strips him naked and scan his clothes without him noticing that… while stripping him naked, Snort discovers his jacket...and blocks him. ;)
-
So, to be perfectly clear, are you arguing that snort (as running in pfsense) should block packets (act as an IPS), or are you saying that snort should allow some packets through, while scanning them (act as an IDS)?
Because from what I've seen in multiple production environments, snort (as running in pfsense) acts as an IDS. Packets leak through, as I've said. -
What logs can I look at to see if Snorts performance ie-dropping packets or CPU/Memory issues?
From the main pfsense:Dashboard I never see any performance issues that would cause any concerns.
I have Snort blocking on the WAN SRC/DST and killing states. I also have Security Onion running immediately after pfSense performing Full Packet Capture and I am seeing every blocked alert from pfSenses Snort in my Security Onion Alert System. Both Running the same rulesets (Snort and ET)
-
Dropping packets in snort terms means blocking the packet. The reason that we say that they are being dropped it's that the rules actually start with drop instead of alert.
I'm guessing that you actually get alerts behind pfsense, because by the time that snort is finished with analysing the packet and sets up the ban, the packet is not actually stopped from going through the network. Imagine the packet getting copied on the fly, a copy is sent down the network, and the other copy is sent for analysis (overly simplified, gets the point across though). I'm willing to bet money that if you trigger a rule a second time, with some time between the triggers (let's say a couple of minutes just to be sure) you will not get the alert/lights/fireworks on the box behind pfsense for the second time.
A single host network (pfsense running snort, protecting 1 server/pc behind it) doesn't actually make a lot of sense. Sure you get alerts, but by the time the alerts are generated, the packets have already reached their destination. A multi-host network (pfsense running snort, protecting a dozen servers/pcs) makes a lot more sense.
Let's take this scenario (which is actually what I described in the past, about detecting network scans on multiple hosts): pfsense 192.168.1.1, host a 192.168.1.2, host b 192.168.1.3 and so on and so forth, until host xyz 192.168.1.100
An attacker sets up a network scan for an open port 22, pressumably because he forgot that this is 2013 and password based ssh logins are forbidden by international law and treaties (SET UP KEY BASED LOGINS NOW!). The scan (actually the program generating the scan) starts sending packets asking for a connection to port 22 (let's say simple syn packets for argument's sake). There are a total of 100 packets that should reach our network of 192.168.1.1-192.168.1.100. The packets start arriving at the pfsense host and start going through it (assuming that there is a port forward for port 22, just play along and stop arguing :p ). At this point, let's say that hosts 192.168.1.2-192.168.1.5 saw the packets and actually answered. Snort already picked up that this is a network scan for an open port, since it has a rule that says: "if x packets destined for y hosts arrive in z seconds, assume that a network scan is in progress and raise an alert". The process of banning a host has started, since the alert was raised. Packets are still flowing up to this point through the pfsense box, and hosts behind it are still answering those connection requests. By now hosts 192.168.1.1 up to 192.168.1.50 have actually answered those connections. The banning process is complete, and the firewall states are killed. This interrupts the flow of those suspicious packets through the network. It might sound futile, but you have actually protected the other 50 hosts just by using the 50 hosts that answered as a "decoy". The second time round, this time the attacker decides to scan for open port 25, the ban is already in place (assuming that you have snort fine tuned to the point of being called a psychiatrically unstable person and have the max ban time set at 28 days, hint hint). No packets are allowed through the firewall, and the entire network is protected. The bonus thing is, since snort actually raised an alert the second time round (imagine it as if snort is running in front of pf, it's extremely close to how it actually works in reality) since the packets get analyzed before being dropped (blocked) by pf, the "last time this host was bad" gets updated, and the remaining days to unban gets reset.That was a long post, but I tried my best to explain why you see packets flowing through the snort/pfsense box. If something is not along those lines ie. the alert is already raised, the banned hosts table is not automatically cleared, and the ban in other words should be effective but it's not, something is wrong with the pfsense rule blocking(dropping) those packets. By the time snort stands up and shouts "IT'S HIM, I'VE SEEN HIM!", the suspect is already identified and flagged as "most wanted". The second time round, no packets should be allowed through, and this actually has nothing to do with snort, it's all pf from there on.
Troubleshooting:
Start your packet capture behind pfsense. Manage to trigger an alert using an outside host (a host not part of your home network). Make sure that the alert is raised, and the host is added to the blocked tab (MAKE A NOTE OF THE TIME SHOWN HERE). Go into Diagnostics>tables>snort2c (off the top of my head, could be wrong) and verify the host is there. This completes snort's part. If the host is there, snort is working as expected. If the host is not there, snort is not adding it to the blocked table. The packet capture should show packets arriving behind pfsense, since this is the first time round.
Leave the packet capture running, and trigger the alert after a couple of minutes (to account for table refresh, updates to rules, cosmic events, etc etc) This time you should see an alert generated by snort, The blocked tab should by updated by the new time (since technically this is a new alert). The packet capture should NOT show any packets arriving behind pfsense. If it shows packets arriving behind it, then there is something wrong with the rule that pfsense uses to block hosts (using the snort2c table).Short summary for the impatient: First time round, you will see packets flowing through (a typical IDS). Second time round no packets should flow through.
Edit: fixing typos