OPNsense Forum

International Forums => German - Deutsch => Topic started by: Marcel_75 on March 14, 2018, 12:09:46 am

Title: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: Marcel_75 on March 14, 2018, 12:09:46 am
Hallo zusammen,

bin gerade durch Zufall darauf gestoßen, warum mein 400er-Kabelanschluss (PYUR) seit Wochen nur knapp 100 MBit statt der versprochenen "bis zu 400 MBit" liefert:

Es liegt am aktivierten Intrusion Detection (suricata)!

Aufgefallen ist es mir nur dadurch, dass der Zack-Speedtest von AVM direkt nach einem Neustart des Routers (AMD GX-416RA SOC mit 4 cores und SSD) für ca. 30 Sekunden stattliche ~360 MBit/s down schaffte - aber nur so lange, bis suricata (Intrusion Detection) aktiv wurde – dann fällt die Geschwindigkeit relativ zeitnah auf unter 100 MBit.

http://avm.de/nc/service/zack-der-speedtest-fuer-ihre-breitbandverbindung/

Wann suricata aktiv wird, kann man ja recht einfach im Dashboard sehen.

Nach dem Neustart von OPNsense war es bei mir schon immer so, dass sowohl der ntpd (Network Time Daemon) immer einige Zeit brauchte, bis er auch wirklich aktiv ist (grün statt rot) - und auch suricata benötigt eben einige Sekunden, bis es aktiv ist.

Und jetzt habe ich das mehrmals durchgespielt, es liegt defintiv am suricata:

Sobald ich es aktiviere, komme ich auf knapp 92 bis maximal 98 MBit/s beim Download.

Ist suricata dagegen deaktiviert, schafft der Anschluss problemlos, was PYUR verspricht – in meinem Fall also 396,159 MBit/s (49,520 MByte/s) down (gerade noch einmal getestet).

Die Frage ist für mich jetzt: Warum ist das so?

Suricata hatte ich auch schon mit meinem alten 120er-Anschluss genutzt, dort dann aber auch immer die knapp 120 MBit/s im Download erreicht – wie gesagt mit aktiviertem suricata.

Und seit der Umstellung auf den 400er-Anschluss kam ich nie über 100 MBit/s im Download, obwohl ich an den Einstellungen nichts geändert hatte (also sowohl beim Intrusion Detection als auch in anderen Bereichen).

Ich hatte das Modem tauschen lassen, sämtliche Netzwerk-Kabel geprüft, alle meine Switche etc. – und am Ende lag es scheinbar an irgend einer "verkorksten" Einstellung beim "Intrusion Detection"?

Bin gespannt, ob das anderen auch schon mal passiert ist?

Meine suricata-settings liefere ich gleich nach …
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: Marcel_75 on March 14, 2018, 12:17:57 am
Bei "Settings" ist das hier eingestellt:

Enabled: YES
IPS mode: YES (Hardware CRC, Hardware TSO und Hardware LRO sind wie empfohlen deaktiviert)
Promiscuous mode: NO
Enable sylog: NO
Pattern matcher: Aho-Corasick
Interfaces: WAN
Rotate log: Weekly
Save logs: 4

Und im Bereich "Download" sind folgende Filter aktiviert (drop):

abuse.ch/Dyre SSL IPBL   
abuse.ch/Feodo Tracker   
abuse.ch/SSL Fingerprint Blacklist   
abuse.ch/SSL IP Blacklist
ET open/botcc   
ET open/botcc.portgrouped   
ET open/ciarmy   
ET open/compromised
ET open/drop
ET open/dshield
ET open/emerging-activex

Vermutlich sind das einfach "zu viele" für ihn?

Oder liegt es an einer anderen (falschen) Einstellung?

Bei der CPU- und RAM-Auslastung war mir bisher aber nicht aufgefallen, dass da irgend etwas "am Limit" läuft.

Danke im Voraus für Eure Unterstützung!  :D
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: Marcel_75 on March 14, 2018, 12:34:37 am
PS: Dank dieses Thread

https://forum.opnsense.org/index.php?topic=5165.0

habe ich jetzt mal folgende Drop-Filter deaktiviert:

abuse.ch/Dyre SSL IPBL
ET open/botcc   
ET open/botcc.portgrouped   
ET open/ciarmy   
ET open/compromised   
ET open/drop   
ET open/dshield   
ET open/emerging-activex

Aktiviert sind jetzt also nur noch:

abuse.ch/Feodo Tracker
abuse.ch/SSL Fingerprint Blacklist
abuse.ch/SSL IP Blacklist

So komme ich auch bei aktiviertem Suricata auf knapp 390 MBit/s down.

Könnt ihr eventuell Empfehlungen geben, was die sinnvollsten Einstellungen sind?

Alles "an" war ja scheinbar eher kontraproduktiv wie ich nun sehe …  ;)

PS: Nein - Kommando zurück - ein zweiter Speedtest schaffte jetzt auch wieder nur 97 MBit/s down, verdammt.

Also lasse ich Suricata vorerst mal deaktiviert und warte ab, was ihr dazu sagt.
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: BeNe on March 14, 2018, 08:34:55 am
Quote
Bin gespannt, ob das anderen auch schon mal passiert ist?
Natürlich!  ;)
Quote
Die Frage ist für mich jetzt: Warum ist das so?
Weil Du hier sicherlich an eine Hardwaregrenze kommst. Jedes Packet welches durchs Netz geht schau Suricata an.
Umsomehr Traffic, umso mehr muss suricata leisten. Wenn Dir mal die CPU Auslastung anschaust ist Suricata sicher auf Platz 1.
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: Marcel_75 on March 14, 2018, 10:46:38 am
Ok, verstehe - 400 MBit/s ist ja auch nicht gerade wenig, das kann ich durchaus nachvollziehen.

Meine CPU ist diese hier:

http://www.cpu-world.com/CPUs/Jaguar/AMD-G-Series%20GX-416RA%20-%20GE416RIBJ44HM.html

Steckt in diesem Router:

https://www.deciso.com/product-catalog/OPN20078B/

Und das Teil war auch nicht gerade günstig (ca. 750,- €):

http://varia-store.com/Ready-Systems/OPNSense/Deciso-Systems/Desktop-Solutions/OPNsense-OPN20078B-A10-Quad-Core-Desktop-SSD::28755.html

Hatte eigentlich gehofft, dass das ausreichen würde – aber scheinbar ist das dann doch zu schwachbrüstig, sobald man mehr als 100 MBit/s Durchsatz möchte bei aktiviertem IPS?

Allerdings habe ich auch schon im Netz gelesen, dass das selbst mit "dickeren" Systemen (Xeon?) ein Problem ist?

Man wird doch dafür nicht etwa so etwas hier benötigen (ca. 2.000,- €)?

http://varia-store.com/Ready-Systems/OPNSense/Deciso-Systems/Rack-Solutions/OPNsense-OPN19004R-Quad-Core-Gen3-SSD-Rack::28762.html

Meine Frage ist: Ab welcher Gerätekategorie wird das denn zuverlässig auch bei 400 MBit/s klappen?

Habt ihr da Erfahrungswerte?
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: Marcel_75 on March 14, 2018, 12:12:56 pm
Hatte übrigens auch mal Deciso angeschrieben wegen des Themas und möchte Euch die Antwort nicht vorenthalten:

As far as throughput considers, Suricata certainly takes a lot of CPU cycles as it needs to evaluate every package.
Depending on what else is running on the device, the number of active rules and how you test it the results will vary a lot.
 
On a clean system running the latest OPNsense version it can perform up to 327Mbps. The test conditions for the lab test involves a simulation with 150 simultaneous users and packages varying in size from 400-800 bytes send and 1K-8K receive, while having 21000 rules enabled but doing nothing else.

In practice while running other things and just one thread I would expect something between 100-200Mbps for speedtest.net.
 
For the kind of throughput that you are looking for and taking into account time consuming ip packages like Netflix streaming, you will need a much faster CPU.
 
Alternatively, you can put Suricata in IDS mode, that will only alert, but does not limit your available bandwidth that much.


Ok, es gibt also IPS (Intrusion Prevention System) und IDS (Intrusion Detection System), und wenn ich IDS statt IPS nutzen würde, wäre es wohl schneller? Aber dann wird auch nur noch gewarnt aber nichts mehr abgewehrt, verstehe ich das richtig?

Und mehr als 327 Mbps sind scheinbar sowieso nicht drin (zumindest nicht mit meiner Hardware)?
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: mar_becker on March 14, 2018, 02:13:28 pm
Hallo,

deine HW ist gar nicht so schlecht.  ;)
Ich hatte das gleiche Problem und auch einige Lösungsansätze in die Board gefunden.
Probier das mal:
https://forum.opnsense.org/index.php?topic=6855.0
Das ist auch eine gute Seite:
https://calomel.org/freebsd_network_tuning.html
Du kannst also gerade beim Netzwerk noch ein wenig tunen und mehr Performance rausholen.
Ich habe bei aktiviertem IDS/IPS auf eine 400er Leitung noch 360 - 380 Mbit.
Probier es aus.

Gruß
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: Marcel_75 on March 14, 2018, 02:54:38 pm
Danke Dir. Beim ersten Link kam ja leider auch nur raus, dass man den "Promiscuous mode" deaktivieren soll, was bei mir ja so ist.

Aber am Ende des Threads wird hierauf verlinkt:

https://forum.opnsense.org/index.php?topic=6590.0

Das scheint dann unter Umständen zu helfen, ich verstehe es aber leider nicht ...  :-\

Und wenn ich die Kommentare zu dem Thema allgemein richtig verstanden habe (und das würde sich auch mit meinen bisherigen Erfahrungen decken), existiert das Problem auch wieder erst seit dem Umstieg von der 17.x Serie auf die 18.x Serie?

Also, dass das IPS plötzlich so langsam ist bzw. die Verbindung dadurch so stark belastet wird?

Und auch Dein zweiter Link sieht spannend aus:

https://calomel.org/freebsd_network_tuning.html

Auch da soll ich ja Hardware-Treiber anpassen, eventuell den Kernel neu kompilieren etc. – das traue ich mir nicht zu, leider.

Aber eine einfachere Lösung gibt es wahrscheinlich gar nicht?
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: mimugmail on March 14, 2018, 03:01:53 pm
IPS und dummynet sind leider sehr treiber- und hardwarelastig. Ich hatte da auch ziemliche Probleme mit 10G Bereicht mit einer X710 Karte von Intel. Da hat dann die NIC im IPS Modus einfach den Dienst quittiert. Man könnte mal mit einer Compatibility List anfangen :D
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: Marcel_75 on March 14, 2018, 03:20:37 pm
Habe jetzt mal versucht, dem zweiten Link zu folgen – folgendes habe ich gemacht:

https://calomel.org/freebsd_network_tuning.html

1) /boot/loader.conf

Habe /boot/loader.conf.local neu angelegt und befüllt wie empfohlen, denn in /boot/loader.conf gibt es folgenden Hinweis (da mein Router nur 4 GB RAM hat, habe ich die Zeile mit der vfs.zfs.dirty_data_max_max="12884901888" Angabe mal komplett auskommentiert):

Code: [Select]
##############################################################
# This file was auto-generated using the rc.loader facility. #
# In order to deploy a custom change to this installation,   #
# please use /boot/loader.conf.local as it is not rewritten. #
##############################################################

Frage: Wie und wo sage ich dem System jetzt, dass es statt /boot/loader.conf zukünftig /boot/loader.conf.local benutzen soll?

2) Die Datei /etc/sysctl.conf enthält ja nur folgende, komplett auskommentierten Einträge:

Code: [Select]
# $FreeBSD$
#
#  This file is read when going to multi-user and its contents piped thru
#  ``sysctl'' to adjust kernel values.  ``man 5 sysctl.conf'' for details.
#

# Uncomment this to prevent users from seeing information about processes that
# are being run under another UID.
#security.bsd.see_other_uids=0

Habe dies ebenfalls um die empfohlenen Einträge ergänzt.

3) Als dritten Schritt soll man ja /etc/rc.conf anpassen, diese Datei finde ich bei mir aber nicht in /etc, sondern nur:

rc
rc.bsdextended
rc.conf.d
rc.d
rc.firewall
rc.initdiskless
rc.resume
rc.shutdown
rc.subr
rc.suspend

Frage: Was genau muss ich hier machen? Einfach /etc/rc.conf anlegen und entsprechend bestücken?

Noch kann ich das alles rückgängig machen, falls das alles "Blödsinn" ist.  ;D
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: mar_becker on March 14, 2018, 03:27:42 pm
Hi,

Auch da soll ich ja Hardware-Treiber anpassen, eventuell den Kernel neu kompilieren etc. – das traue ich mir nicht zu, leider.

also das brauchst du nicht unbedingt...
Es ist eigentlich sehr gut beschrieben, welche Änderungen was bewirken und für was die Parameter stehen.
Du musst ja nicht alles 1:1 übernehmen. Hier ist auch viel "Try and Error" angesagt.
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: opnsense_user12123 on March 14, 2018, 04:30:02 pm
Ich habe die selben Probleme und auch alles in der Anleitung befolgt.
Ich selber habe 100mbit down und konnte mit 3 aktiven Rules auf dem wan Interface die Leitung dann auch knapp mit 100mbit betreiben. Aber laut meinen Recherchen sollte man ids/ips auf wan und lan aktivieren was aber dann zum tot meines Netzes führen würde.
Stabile 100mbit waren faktisch aber auch nur am wan nicht möglich.
Hab’s dann ganz deaktiviert und nun läuft wieder alles konstant.

IDS allein macht nicht so große Probleme. IPS aktiviert drückt aber ziemlich an der Substanz des Hardware.

Meine Hardware, die ich verwende, steht in der Fußzeile
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: franco on March 14, 2018, 06:30:05 pm
Hallöchen,

Wenn /boot/loader.conf.local und /etc/rc.conf nicht da sind, dann können diese bedenkenlos angelegt werden. Sie werden von OPNsense nicht manipuliert.


Grüsse
Franco
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: Marcel_75 on March 14, 2018, 09:15:58 pm
Oh je, ich war mal so mutig und habe einen Neustart gewagt (nachdem ich auch noch die /etc/rc.conf angelegt hatte), aber nun kommt das Gerät gar nicht mehr hoch (mounten des Laufwerks klappt nicht).

Das hier sehe per Terminal-Console:

Code: [Select]
Mounting from zfs:zroot failed with error 5.

Loader variables:
  vfs.root.mountfrom=zfs:zroot

Manual root filesystem specification:
  <fstype>:<device> [options]
      Mount <device> using filesystem <fstype>
      and with the specified (optional) option list.

    eg. ufs:/dev/da0s1a
        zfs:tank
        cd9660:/dev/cd0 ro
          (which is equivalent to: mount -t cd9660 -o ro /dev/cd0 /)

  ?               List valid disk boot devices
  .               Yield 1 second (for background tasks)
  <empty line>    Abort manual input

Wenn ich mir dann per ? die Boot devices anzeigen lasse sehe ich dies:

Code: [Select]
List of GEOM managed disk devices:
  gpt/swapfs ufs/OPNsense ufsid/5a02ff681dd474fc gpt/rootfs gpt/bootfs msdosfs/EFI ada0p4 ada0p3 ada0p2 ada0p1 ada0

Aber wie geht es jetzt weiter?

Im Idealfall würde ich das einfach wieder rückgängig machen wollen, sprich die Dateien /boot/loader.conf.local und /etc/rc.conf einfach wieder löschen und die /etc/sysctl.conf auch einfach wieder bereinigen.

Aber wie komme ich da jetzt ran?  :-\

Per ufs:/ufs/OPNsense komme ich da zwar erst einmal etwas weiter, aber scheinbar auch nur lesend bzw. bringt mich das auch nicht ans Ziel ...

Oh man bin ich ein Lamer ...  :'(
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: BeNe on March 14, 2018, 09:24:19 pm
Würde OPNsense neuinstallieren und dann gleich wieder das letzte Backup rein (das Du ja sicherlich vor der Aktion noch erstellt und heruntergeladen hast.)

Damit solltest Du in ca. 20 Minuten wieder ein funktionierendes System haben.
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: Marcel_75 on March 14, 2018, 10:47:04 pm
Ja, war so am Schnellsten - OPNsense per Terminal-Console vom USB-Stick wieder neu installiert, die Config konnte er sogar noch erfolgreich von der SSD auslesen, so dass ich gar nicht an die extra gesicherte auf dem Rechner musste.

Habe Suricata jetzt erst einmal bis auf weiteres nicht mehr im IPS-Modus (also protection mode mit traffic blocking), sondern im IDS-Modus.

Wo genau schaut man denn dann am besten, ob irgend etwas "nicht ganz knusper" ist? Ist in diesem "intrusion detection" Modus ein Log automatisch aktiv und macht es Sinn, da dann auch mal ab und an rein zu schauen?
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: mar_becker on March 15, 2018, 09:16:35 am
Hm..
Ich habe die rc.conf eigentlich nicht angelegt....
In der Website wird ja betont, dass die wichtigsten Tuning- Einstellungen in der sysctl.conf zu machen sind. Die Einstellungen per Copy/Paste in die Datei anfügen, abspeichern und neu starten.
Mein Rat ist, dies Stück für Stück zu machen und zu messen, ob die Einstellungen den gewünschten Effekt zeigen. Wenn erfolgreich, erst ein Backup und dann an die nächsten Einstellung(en) rangehen. So kannst du bei Misserfolg ein Rollback machen.
Ich weiss, es ist zeitraubend, aber vor dem Erfolg haben die Götter nun mal den Schweiß gesetzt. ;)
Wechsel auch mal das Pattern auf Hyperscan. Es ist schneller als Aho-Corasick.
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: JeGr on March 15, 2018, 10:28:07 am
Also auch auf die Gefahr hin, dass ich mich damit unbeliebt mache (*schämt sich schonmal im Voraus*) aber die Decisio Kiste - egal ob die teuer war oder nicht - ist von der CPU her auch nichts anderes als eine minimal stärkere APU2 (die den GX412 statt dem 416 hat) mit 4 Ports statt 3 und 128er SSD statt kleiner mSATA. Dass diese mit >150/200Mbps und voll aktivem IPS überfordert ist finde ich jetzt nicht so außergewöhnlich. Für alles was >200Mbps geht, rate ich jedem Kunden immer zu einem größeren Gerät als APU2 oder auch NCA1020 o.ä. - da gehen wir eher in Richtung 4- oder 8-Kern Atom mit höherer Taktung. Und für 750€ (so das realer Preis war) hättest du da auch mehr bekommen können, aber das ist meine private Meinung :)

Natürlich kann man jetzt noch mehr aus der HW rausholen, ist nur die Frage ob das dann zukunftssicher ist oder ob das jetzt eher noch Rausschinden von Performance ist und man sich lieber mit einem Auge was größeres anschauen sollte.

Grüß
Title: Re: bei aktiviertem Intrusion Detection (suricata) nur 100 MBit bei 400er-Leitung?
Post by: franco on March 15, 2018, 02:35:05 pm
Bei dem kostenlosen IPS ist das so eine Sache... ist wie Jens andeutet ist das nur so schnell wie Geld dafür ausgegeben wurde. Eine fähige Hardware ist Pflicht für hohen Durchsatz und die findet man nur schwerlich im Embedded-Bereich.

Die Grundvoraussetzung ist allerdings immer geben: egal wie langsam, das gewünschte IPS funktioniert verlässlich, natürlich mit der Ausnahme von vereinzelter Hardware oder dem WAN-PPPoE.

Einigen wir uns auf das Ziel Lauffähigkeit auf Standardhardware? :)


Grüsse
Franco