Dans le paysage numérique d’aujourd’hui, la cybersécurité est d’une importance primordiale pour les entreprises. Avec la prévalence croissante des cybermenaces, les organisations ont besoin de systèmes de détection d’intrusion robustes pour protéger leurs réseaux contre les attaques potentielles. Snort, un système de détection et de prévention des intrusions (IDS/IPS) open source, est un choix fiable pour se défendre contre les attaques DDoS, les infections par des logiciels malveillants, les systèmes compromis et les violations de la politique du réseau.
1. Introduction à Snort
Snort est un système de détection et de prévention des intrusions (IDS/IPS) open source qui détecte et défend contre une large gamme d’attaques basées sur le réseau. Il analyse le trafic réseau en temps réel, identifiant l’activité malveillante en fonction de règles prédéfinies, et génère des alertes pour informer les utilisateurs.
2. Prérequis
Avant de plonger dans le processus d’installation, assurez-vous que vous avez les prérequis suivants en place :
- Un serveur exécutant Ubuntu 22.04
- Un mot de passe root configuré sur le serveur
3. Installation des dépendances requises
apt install build-essential libpcap-dev libpcre3-dev libnet1-dev zlib1g-dev luajit hwloc libdnet-dev libdumbnet-dev bison flex liblzma-dev openssl libssl-dev pkg-config libhwloc-dev cmake cpputest libsqlite3-dev uuid-dev libcmocka-dev libnetfilter-queue-dev libmnl-dev autotools-dev libluajit-5.1-dev libunwind-dev libfl-dev -y
4. Installation de Snort DAQ
git clone https://github.com/snort3/libdaq.git cd libdaq ./bootstrap ./configure make make install
5. Installation de Gperftools
cd wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.9.1/gperftools-2.9.1.tar.gz tar xzf gperftools-2.9.1.tar.gz cd gperftools-2.9.1/ ./configure make make install
6. Installation de Snort
cd wget https://github.com/snort3/snort3/archive/refs/tags/3.1.43.0.tar.gz tar -xvzf 3.1.43.0.tar.gz cd snort3-3.1.43.0 ./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc make make install ldconfig snort -V
7. Configuration de Snort
ip link set dev eth0 promisc on ip addr show eth0 ethtool -k eth0 | grep receive-offload ethtool -K eth0 gro off lro off
8. Création d’un fichier de service systemd pour Snort NIC
nano /etc/systemd/system/snort3-nic.service
Ajoutez les lignes suivantes au fichier :
[Unit] Description=Set Snort 3 NIC in promiscuous mode and Disable GRO, LRO on boot After=network.target [Service] Type=oneshot ExecStart=/usr/sbin/ip link set dev eth0 promisc on ExecStart=/usr/sbin/ethtool -K eth0 gro off lro off TimeoutStartSec=0 RemainAfterExit=yes [Install] WantedBy=default.target
systemctl daemon-reload systemctl start snort3-nic.service systemctl enable snort3-nic.service systemctl status snort3-nic.service
9. Installation des règles Snort
mkdir /usr/local/etc/rules wget -qO- https://www.snort.org/downloads/community/snort3-community-rules.tar.gz | tar xz -C /usr/local/etc/rules/ nano /usr/local/etc/snort/snort.lua
Modifiez les variables HOME_NET
et rules
comme suit :
HOME_NET = '192.168.0.0/16' EXTERNAL_NET = '!$HOME_NET' rules = [[ include /usr/local/etc/rules/snort3-community-rules/snort3-community.rules ]]
10. Installation de Snort OpenAppID
wget https://www.snort.org/downloads/openappid/26425 -O OpenAppId-26425.tgz tar -xzvf OpenAppId-26425.tgz cp -R odp /usr/local/lib/ nano /usr/local/etc/snort/snort.lua
Modifiez la variable appid
comme suit :
appid = { app_detector_dir = '/usr/local/lib', log_stats = true, }
mkdir /var/log/snort snort -c /usr/local/etc/snort/snort.lua
11. Création de règles personnalisées Snort
nano /usr/local/etc/rules/local.rules
Ajoutez la ligne suivante au fichier :
alert icmp any any -> $HOME_NET any (msg:"ICMP connection test"; sid:1000001; rev:1;)
snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/local.rules
12. Création d’un fichier de service systemd pour Snort
nano /etc/systemd/system/snort3.service
Ajoutez les configurations suivantes au fichier :
[Unit] Description=Snort 3 NIDS After=network.target snort3-nic.service StartLimitIntervalSec=0 [Service] Type=simple ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -i eth0 -l /var/log/snort -k none -m 027 -D Restart=always RestartSec=5 [Install] WantedBy=multi-user.target
systemctl daemon-reload systemctl enable--now snort3 systemctl status snort3
Shape.host, un fournisseur de VPS Cloud de premier plan, offre des solutions d’hébergement évolutives et sécurisées aux entreprises de toutes tailles. Avec notre infrastructure fiable et performante, vous pouvez déployer Snort et d’autres outils de sécurité essentiels avec facilité. Protégez votre réseau et obtenez la tranquillité d’esprit en choisissant Shape.host comme votre partenaire d’hébergement de confiance. Visitez-nous sur Shape.host pour explorer nos services et améliorer votre cybersécurité.