Description
Suricata est un programmeram pour la collecte, la surveillance et l'audit des journaux de sécurité du réseau. Cet utilitaire est "construit" autour du groupe de règles, prédéfinies ou créées par l'utilisateur. Ensuite, selon ces règles, le "flux" de trafic sera analysé ou/et modifié.
Suricata a des règles prédéfinies "prêtes à l'emploi", qui pourraient être appelées "mode passif" car le système avertit simplement un administrateur sans aucune modification du trafic.
Il est possible d'exécuter ce logiciel sur la passerelle du bureau pour "passer" tout le trafic ou s'exécuter sur tous les hôtes indépendamment.
Avant le départ
La configuration matérielle optimale est relative à la topologie LAN et dépend de vos besoins. Surtout, beaucoup de trafic inspecté nécessite que beaucoup de ressources soient affectées à Suricata. Dans les cas courants au moins 2 CPU cœurs et 4 ou 8 GygaBytes de RAM est nécessaire.
Ainsi, les exigences sont :
Ubuntu 20.04, sur le serveur pas moins de 4 Go RAM 2 CPU cœurs, autorisations pour faire quelque chose en tant que membre root ou sudo-group, système firewall activée.
Processus d'installation
- Tout d'abord, vous devez ajouter un dépôt tiers dans le système d'exploitation. Autorisez simplement en tant que superutilisateur et exécutez :
add-apt-repository ppa:oisf/suricata-stable
Confirmer si l'avertissement de sécurité apparaît
- Installez l'outil pré-construit du responsable :
apt-get update
apt-get install suricata
- Ajoutez ensuite un nouveau service au pool de démarrage automatique. Si vous avez vu une sortie de console comme celle-ci - le démarrage s'est activé avec succès :
systemctl enable suricata
Configuration unique
L'utilitaire Suricata "couvre" les besoins des utilisateurs majoritaires "prêts à l'emploi". Il fonctionne en mode "sans échec", donc aucun paquet réseau ne tombe, avertit seulement. Cette pratique est bonne jusqu'à ce que vous n'ayez pas de "connaissances approfondies" dans ce sujet.
Mais même le préréglage par défaut a probablement des options utiles, par exemple l'ID de flux communautaire
Cela pourrait être utile en cas de besoin d'intégrer un autre complexe (Elasticsearch par exemple) avec Suricata. L'ID de communauté peut être inséré dans la configuration de Suricata. Modifiez simplement la directive "community-id:", définissez sa valeur sur "true" dans /etc/suricata/suricata.yaml config.
cd /etc/suricata/suricata.yaml
Définissez quelle interface réseau devons-nous surveiller. Pour trouver l'adaptateur réseau avec l'interface par défaut, vous devez exécuter une commande comme celle-ci :
ip -j -p route show default
Une petite description : l'option -j définira le format de "sortie" sur JSON, l'indicateur -p améliorera la lisibilité. L'adaptateur "principal" est affiché dans la ligne "dev".
Pour vérifier et modifier un nom d'interface, veuillez ouvrir le fichier /etc/suricata/suricata.yaml, recherchez la directive "interface" autour de la ligne #550. Si plusieurs interfaces sont présentées, il est également possible de l'ajouter dans le fichier de configuration.
Enfin, vous devez relancer le service. Faire
service suricata restart
Mise à jour des ensembles de règles
Pour obtenir des règles supplémentaires, l'outil de mise à jour suricata doit être utilisé. L'utilitaire peut obtenir des règles de circulation à partir de ressources de fournisseurs non commerciaux ou payants. Il pourrait également montrer les utilisations du système d'ensembles maintenant.
suricata-update list-sources
Cet outil est conçu pour gérer les ensembles de règles, l'activer ou le désactiver. Par exemple, pour installer un nouveau jeu de règles, veuillez exécuter :
suricata-update enable-source <RULESET_NAME>
Exécutez à nouveau suricata-update pour appliquer les modifications.
Vérification des paramètres actuels
La bonne pratique consiste à vérifier la configuration après chaque modification. Exécutez simplement :
suricata -T -v -c /etc/suricata/suricata.yaml # -T option is forces Suricata to work in "checking" mode, -c will set path to config file, -v option needs to print more information
Lancement du service
Pour redémarrer le démon après une vérification de configuration réussie, veuillez exécuter :
service suricata restart
Alors regardez, est-ce que le service a vraiment démarré ou pas
service suricata status
Tester les règles réelles
Pour vérifier si les règles correspondent vraiment aux attentes ou non, il suffit d'installer l'outil jq pour rendre le journal plus compréhensible et obtenir en particulier le fichier :
apt-get install jq
apt-get install curl
curl http://testmynids.org/uid/index.html
Pour rechercher des alertes, procédez comme suit :
tail -f /var/log/suricata/fast.log
tail -f /var/log/suricata/eve.log
Vous verrez la sortie "filterd" des journaux triés par ID d'alerte :
jq 'select(.alert .signature_id==<ALERT_ID>)' /var/log/suricata/eve.json
À la fin
Aujourd'hui, vous avez installé l'outil Suricata. Vous avez vu comment utiliser un Community Flow ID pour combiner l'utilitaire avec d'autres outils utiles. Nous savons également comment inspecter les paramètres de service et tester notre HTTP circulation.