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é.