Suricata version 3.0
Suricata version 3.0 jppLa version 3.0 est, au point de vue de la compilation de de l'utilisation peu différente de la version 2, j'ai mis à jour la page correspondant à l'installation.
Actuellement Suricata est "en exploitation" chez moi et tourne sur la machine servant de pont vers Internet.
Le fonctionnement est effectué en mode IPS et permet de bloquer quelques empêcheurs de surfer en rond et de repérer les tentatives d'accès du style "phpmyadmin" ... et d'autres. Au moment de Heartbleed un grand nombre de tentatives d'exploitation étaient visibles.
La machine dispose de deux interfaces "BR0" (vers le modem) "BR1" vers le réseau interne, les autres machines du réseau accèdent toutes à Internet à travers un switch raccordé à "BR1". Suricata est utilisé en entrée et en sortie, tout est filtré !
Snorby permet de consulter l'historique des alertes et permet
- d'éliminer les faux positifs,
- de repérer les tentatives d'accès frauduleux.
Il est intéressant de "marquer" dans l'interface les noms DNS des serveurs "sûrs" afin de passer rapidement des alertes en "faux positif" ou de les détruire quand le responsable est "banni" par le pare-feu.
Suricata 3.0 : quelques tests
Suricata 3.0 : quelques tests jppLa dernière version de Suricata (3.1.1) à ce jour m'a semblé nettement plus performante que les précédentes et j'ai vu passer quelques téléchargements à très grande vitesse depuis une machine située "derrière" le portail internet. Cette machine a parfois téléchargé à #40Mo/seconde, les sources du noyau en à peine plus de deux secondes ... vive la fibre. Quand je me rappelle le premier chargement de noyau Linux sur mon vieil Amiga 2000 avec un modem 33.6 qui durait des heures pour des sources beaucoup plus petites. La compilation durait 11/12 heures ... aujourd'hui elle passe en moins de 10 minutes environ avec un corei7 !!!
Un premier test entre deux machines munies de Suricata 3.1.1, un corei3 à 3.3Ghz et un corei5 à 3.5Ghz donnent une vitesse de presque 64Mo/seconde (63.9,63.7,63.8 sur trois essais. Le corei3 utilise 100% de cpu, le corei5 moins de 80%.
A = corei5 5675 3,1GHz | |||||
B = corei3 3220 3,3GHz | |||||
RUNMODE : WORKERS | |||||
Suricata | %CPU | ||||
A | B | A | B | Moy MO/s | |
A → B | 113,0 | ||||
B → A | 113,0 | ||||
A → B | oui | 101 | 58,0 | ||
B → A | oui | 102 | 59,3 | ||
A → B | oui | 102 | 60,1 | ||
B → A | oui | 101 | 57,3 | ||
A → B | oui | oui | 100 | 100 | 56,1 |
B → A | oui | oui | 97 | 101 | 56,8 |
RUNMODE : AUTOFP | |||||
Suricata | %CPU | ||||
A | B | A | B | Moy MO/s | |
A → B | 113,0 | ||||
B → A | 113,0 | ||||
A → B | oui | 160 | 54,1 | ||
B → A | oui | 150 | 54,3 | ||
A → B | oui | 155 | 57,0 | ||
B → A | oui | 162 | 53,0 | ||
A → B | oui | oui | 150 | 160 | 45,8 |
B → A | oui | oui | 150 | 160 | 46,1 |
ECARTS % : Workers / AUTOFP | |||||
Suricata | %CPU | % ecart | |||
A | B | A | B | ||
A → B | 100,00% | ||||
B → A | 100,00% | ||||
A → B | oui | 107,34% | |||
B → A | oui | 109,28% | |||
A → B | oui | 105,38% | |||
B → A | oui | 108,11% | |||
A → B | oui | oui | 122,40% | ||
B → A | oui | oui | 123,05% |
Les valeurs "moyennes" sont la moyenne de trois essais.
On arrive quand même à des résultats intéressants en réel, par exemple le chargement des sources du kernel (sur la machine A reliée directement au routeur Internet) se passe en :
Saving to: ‘linux-4.7.5.tar.xz’
linux-4.7.5.tar.xz 100%[====================================================================>] 86,23M 51,4MB/s in 1,7s
Ce qui est très correct, 86Mo en moins de 2 secondes ! Et le même quelques jours après :
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.7.6.tar.xz
--2016-09-30 23:01:48-- https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.7.6.tar.xz
Resolving cdn.kernel.org (cdn.kernel.org)... 151.101.60.69
Connecting to cdn.kernel.org (cdn.kernel.org)|151.101.60.69|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 90432088 (86M) [application/x-xz]
Saving to: ‘linux-4.7.6.tar.xz’
linux-4.7.6.tar.xz 100%[=====================>] 86,24M 54,0MB/s in 1,6s
2016-09-30 23:01:49 (54,0 MB/s) - ‘linux-4.7.6.tar.xz’ saved [90432088/90432088]
Et le 17/10/2016 :
Resolving cdn.kernel.org (cdn.kernel.org)... 151.101.120.69
Connecting to cdn.kernel.org (cdn.kernel.org)|151.101.120.69|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 90413036 (86M) [application/x-xz]
Saving to: ‘linux-4.7.8.tar.xz’
linux-4.7.8.tar.xz 100%[=====================>] 86,22M 57,1MB/s in 1,5s 2016-10-17 21:31:20 (57,1 MB/s) - ‘linux-4.7.8.tar.xz’ saved [90413036/90413036]
On continue le 13/12/2016 : une version plus loin (3.1.3) la vitesse depuis une machine de "deuxième niveau" (toujours derrière le frontal Internet) :
Saving to: ‘linux-4.9.tar.xz’linux-4.9.tar.xz 100%[==================================>] 88,88M 87,3MB/s in 1,0s
2016-12-13 21:05:15 (87,3 MB/s) - ‘linux-4.9.tar.xz’ saved [93192404/93192404]
J'attends la suite ... que voici
Octobre 2017 :
wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.13.7.tar.xz
--2017-10-15 13:55:36-- https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.13.7.tar.xz
Resolving cdn.kernel.org (cdn.kernel.org)... 151.101.121.176, 2a04:4e42:1d::432
Connecting to cdn.kernel.org (cdn.kernel.org)|151.101.121.176|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 100594128 (96M) [application/x-xz]
Saving to: ‘linux-4.13.7.tar.xz’
linux-4.13.7.tar.xz 100%[==================================>] 95,93M 102MB/s in 0,9s
2017-10-15 13:55:37 (102 MB/s) - ‘linux-4.13.7.tar.xz’ saved [100594128/100594128]
Saving to: ‘linux-4.13.8.tar.xz’
linux-4.13.8.tar.xz 100%[==================================>] 95,92M 107MB/s in 0,9s
Ces deux derniers résultats depuis une machine de mon réseau "interne" sur une machine "SSD" only.