From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefan Schantl To: development@lists.ipfire.org Subject: Re: Security vulnerabilities in snort and Guardian Date: Mon, 30 Oct 2017 13:48:59 +0100 Message-ID: <1509367739.2273.26.camel@ipfire.org> In-Reply-To: <1509116791.4838.230.camel@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4704328437990195670==" List-Id: --===============4704328437990195670== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Hello Peter, Hello Michael, > Hi, > > Stefan is the maintainer of Guardian. > > On Thu, 2017-10-26 at 21:49 +0200, Peter Müller wrote: > > Hello, > > > > there are two security vulnerabilities in IPFire's IDS/IPS > > (snort/Guardian) which I consider quite critical: > > > > (a) Guardian does not malicious destination IP addresses > > As described in bug #11532, it is possible to access a "bad" > > IP address (C&C server, Spamhaus DROP, Dshield, and others) > > in the internet from a internal network behind IPFire. > > > > This is because Guardian only looks at the source IP of > > a snort alert, and in this case, it is the firewall's IP > > which should not be blocked for obvious reason. > > > > There is little change that an admin will notice that the IPS > > is only working in case of inbound attacks since snort > > triggers an alert correctly. > > > > Could someone (maintainer?) have a look at Guardian and > > fix this? Unfortunately, my programming skills are too little > > for this job. :-| > > I think this is a problem that could be solved. Probably the solution > is quite > simple even. > > However, I do not consider this a security issue that requires us to > send an > update immediately. Guardian has been designed to counter every single issue reported by snort based on its active ruleset. So if snort detects any incoming or outgoing (as you have pointed in (b)) malicious traffic, guardian will counter the source IP-address and will block it, if the configured block count has been reached. There is no difference if this machine is placed in the Internet (RED), your internal LAN (GREEN), a wireless device (BLUE) or even a server located in the DMZ (ORANGE). To prevent from blocking your own devices you can whitelist them adding their IP-addresses or the whole subnets to the ignore list - which of course will be against the idea of running an IPS. To prevent the system from blocking it self, there are a few addresses automatically added to the whitelist. This are, the addresses of localhost, the IP-addresses of each configured network device, the RED- address the address of the gateway and from the configured DNS-Servers. > > > (b) Snort does not detect internal attacks > > As described in bug #10273 (which has been reported back in > > 2012), the IDS is fully working on RED only. Although it > > can be turned on for GREEN, BLUE and ORANGE, too, it does not > > capture any attacks in internal networks. > > > > This can be hardly examined from the WebUI, too, since it > > shows snort being up and running on GREEN and others. > > > > Changing this also allows blocking an infected PC in a local > > network which is spreading malware. On RED, the internal IP > > is already NATted. > > > > Maybe Guardian can be configured so it shows a big warning in case > > of blocked local IPs (internal networks should be clean), but > > this is kind of a feature request. > > I think it blocks this now as I think it should be. > > Of course it won't be able to block the one machine attacking others > on the same > network because the firewall does not see that traffic, but Guardian > blocks > attacks from the internal network to the Internet if snort detects > it. > > Let's see if Stefan can clear this up for us. You are right, the posted bug ID, reports the issue, that snort is not capturing any packets from the "local" network zones (green, blue, orange) which are transmitted to the internet. If any bad packets directly will be send to the IPFire system, snort will detect them and pass the event to guardian. So guardian will do its job if snort detects the bad traffic correctly. This will lead us the main problem, that the configuration of snort has to be adjusted to monitor the traffic from the local network zones when the traffic will be passed to the internet. Best regards, -Stefan > > > See also: > > * https://bugzilla.ipfire.org/show_bug.cgi?id=10273 > > * https://bugzilla.ipfire.org/show_bug.cgi?id=11532 > > (Thanks again to Michael for enabling HTTPS with trusted > > certificates.) > > > > One question left: If there are attacks from a network connected > > via VPN, where are they captured by snort? On RED? > > They should show up on the RED interface. > > > I hate bringing up bugs like this - and hope I did not harm > > anybody :-) - but since this has a security impact, it seems okay > > to me. > > Well, we all hate bugs :) > > > > > Thanks and best regards, > > Peter Müller --===============4704328437990195670== Content-Type: application/pgp-signature Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="signature.asc" MIME-Version: 1.0 LS0tLS1CRUdJTiBQR1AgU0lHTkFUVVJFLS0tLS0KCmlRSXpCQUFCQ2dBZEZpRUVXTzBOWHRTcnZo YXN5dERuVHRkT0ZZK1RzdDRGQWxuM0g3c0FDZ2tRVHRkT0ZZK1QKc3Q2K0l3Ly9WM1JXMlJ4RXZR N1M1SW9OMFFlbEZya25mSnNXRHNOOGd3Vjg4a1k5WVhYTEdrNGcvSVlvbEw1Wgp2V1drTkZWT3h4 SVpDWlJzS0hFaDVZbU15K0g0S29BQWQwa2dtUUtKdEZXZVJCMnhXZVJ5aXJLZjNZM0x6cG9jCnVl UUZPMDlQcThsS3NYYTl4RnREYXhkOGxSZTZDayt1WWdIcUpMOWFTL1RuYmQ4V003Z3RTUGdpbXpv WkV6YzUKRll3QnJKTmZuMUV4WlNJL3BIZG5jVkJxR2Nxa2xNY29Vc2JSWExZdDdQZUxLUitqNGxD NkpubE5oYUxzR2JaSQpsbnNVMk5hZlZzY29SUVBTU0FUbEZVZmMxZDNzeWJSVlRUK0gwUEJUVVgz VXZ1U0ptZnJDUkZCc3p4N2lPaUl0CnpPNTVRT3gxTFM5eXFqRjBOVXhFcHBqcGtFdzg5TVRWOXN6 OWhUQlB3T0hRZ002RXg2TjFVUmdOZE15NlFWS3oKdzVSTnpmWHBWd01jY0hHNHlXekNRK3Rxb0tZ RzlBRXlBZXNWZGlvVWRSMk9JckRCdzFzVU5oNVlOY2ZjTWlTYgpyMnNSWDVNZTRIaDZzMG9UUStp ZEEvUVhqRytQRTdCemJsck1LZ1UvU1kvRGJIL0pZYnhFZEM3S3FDby9aZDhVCjhDRkRNRUxwc1NG bHZZeitYYnkwTEJLUGNBRVBDRHh0ZjRuR0ZSRjU1aC9waVkrNVZaQnZkUWpVUVhZd2dXSjYKdTBY R0FQblM5S2RVU1RXK2N0bTE4OVd2eVhZRkdsbDZjRkNBZXpzU1p0Y1I5ZVRwTHgwWUNaV0U0aDFH VWwySgpQeE5sSjZ2UDc0K3JxM1ZnUDc3SkxPVk56emV1ZTFnTGZucVNiNDkvTzBVYkJLMFFvWmc9 Cj1nVEYzCi0tLS0tRU5EIFBHUCBTSUdOQVRVUkUtLS0tLQo= --===============4704328437990195670==--