Renifler ou Suricata. Partie 3 : Protection du réseau du bureau

В article prĂ©cĂ©dent Nous avons expliquĂ© comment exĂ©cuter la version stable de Suricata dans Ubuntu 18.04 LTS. Configurer un IDS sur un seul nƓud et activer les ensembles de rĂšgles gratuits est assez simple. Aujourd'hui, nous allons voir comment protĂ©ger un rĂ©seau d'entreprise contre les types d'attaques les plus courants Ă  l'aide de Suricata installĂ© sur un serveur virtuel. Pour cela, nous aurons besoin d'un VDS. Linux avec deux cƓurs de calcul. La quantitĂ© de RAM dĂ©pend de la charge de travail : 2 Go peuvent suffire pour certaines tĂąches, tandis que des tĂąches plus exigeantes peuvent nĂ©cessiter 4 Go, voire 6 Go. L’avantage d’une machine virtuelle rĂ©side dans sa capacitĂ© d’expĂ©rimentation : vous pouvez commencer avec une configuration minimale et augmenter les ressources selon vos besoins.

Renifler ou Suricata. Partie 3 : Protection du réseau du bureauphoto : Reuters

Connecter les réseaux

La suppression initiale d'IDS sur une machine virtuelle peut ĂȘtre nĂ©cessaire pour les tests. Si vous n'avez jamais utilisĂ© de telles solutions, vous ne devez pas vous prĂ©cipiter pour commander du matĂ©riel physique et modifier l'architecture du rĂ©seau. Il est prĂ©fĂ©rable d'exĂ©cuter le systĂšme de maniĂšre sĂ»re et rentable pour dĂ©terminer vos besoins de calcul. Il est important de comprendre que tout le trafic de l'entreprise devra passer par un seul nƓud externe : pour connecter un rĂ©seau local (ou plusieurs rĂ©seaux) Ă  un VDS avec IDS Suricata installĂ©, vous pouvez utiliser DouxEther — un serveur VPN multiplateforme facile Ă  configurer qui offre un chiffrement sĂ©curisĂ©. Votre connexion Internet professionnelle n'a peut-ĂȘtre pas d'adresse IP physique ; il est donc prĂ©fĂ©rable de la configurer sur un VPS. Dans le dĂ©pĂŽt Ubuntu Il n'existe pas de logiciels prĂ©installĂ©s ; il faudra les tĂ©lĂ©charger depuis [source manquante]. site du projet, ou Ă  partir d'un dĂ©pĂŽt externe sur le service Launchpad (si vous lui faites confiance):

sudo add-apt-repository ppa:paskal-07/softethervpn
sudo apt-get update

Vous pouvez afficher la liste des packages disponibles avec la commande suivante :

apt-cache search softether

Renifler ou Suricata. Partie 3 : Protection du réseau du bureau

Nous aurons besoin de softether-vpnserver (le serveur dans la configuration de test s'exécute sur VDS), ainsi que de softether-vpncmd - utilitaires de ligne de commande pour le configurer.

sudo apt-get install softether-vpnserver softether-vpncmd

Un utilitaire de ligne de commande spĂ©cial est utilisĂ© pour configurer le serveur :

sudo vpncmd

Renifler ou Suricata. Partie 3 : Protection du réseau du bureau

Nous ne parlerons pas en détail du réglage : la procédure est assez simple, elle est bien décrite dans de nombreuses publications et ne concerne pas directement le sujet de l'article. En bref, aprÚs avoir démarré vpncmd, vous devez sélectionner l'élément 1 pour accéder à la console de gestion du serveur. Pour ce faire, vous devez entrer le nom localhost et appuyer sur Entrée au lieu d'entrer le nom du hub. Le mot de passe administrateur est défini dans la console avec la commande serverpasswordset, le hub virtuel DEFAULT est supprimé (commande hubdelete) et un nouveau est créé avec le nom Suricata_VPN, et son mot de passe est également défini (commande hubcreate). Ensuite, vous devez accéder à la console de gestion du nouveau hub à l'aide de la commande hub Suricata_VPN pour créer un groupe et un utilisateur à l'aide des commandes groupcreate et usercreate. Le mot de passe utilisateur est défini à l'aide de userpasswordset.

SoftEther prend en charge deux modes de transfert de trafic : SecureNAT et Local Bridge. La premiĂšre est une technologie propriĂ©taire pour construire un rĂ©seau privĂ© virtuel avec ses propres NAT et DHCP. SecureNAT ne nĂ©cessite pas TUN/TAP ou Netfilter ou d'autres paramĂštres de pare-feu. Le routage n'affecte pas le cƓur du systĂšme, et tous les processus sont virtualisĂ©s et fonctionnent sur n'importe quel VPS/VDS, quel que soit l'hyperviseur utilisĂ©. Cela entraĂźne une charge CPU accrue et une vitesse plus lente par rapport au mode Pont local, qui connecte le hub virtuel SoftEther Ă  un adaptateur rĂ©seau physique ou Ă  un pĂ©riphĂ©rique TAP.

La configuration dans ce cas devient plus compliquĂ©e, car le routage se produit au niveau du noyau Ă  l'aide de Netfilter. Nos VDS sont construits sur Hyper-V, donc dans la derniĂšre Ă©tape, nous crĂ©ons un pont local et activons le pĂ©riphĂ©rique TAP avec la commande bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes. AprĂšs avoir quittĂ© la console de gestion du concentrateur, nous verrons une nouvelle interface rĂ©seau dans le systĂšme qui n'a pas encore reçu d'adresse IP :

ifconfig

Renifler ou Suricata. Partie 3 : Protection du réseau du bureau

Ensuite, vous devrez activer le routage de paquets entre les interfaces (ip forward), s'il est inactif :

sudo nano /etc/sysctl.conf

Décommentez la ligne suivante :

net.ipv4.ip_forward = 1

Enregistrez les modifications dans le fichier, quittez l'Ă©diteur et appliquez-les avec la commande suivante :

sudo sysctl -p

Ensuite, nous devons dĂ©finir un sous-rĂ©seau pour le rĂ©seau virtuel avec des IP fictives (par exemple, 10.0.10.0/24) et attribuer une adresse Ă  l'interface :

sudo ifconfig tap_suricata_vp 10.0.10.1/24

Ensuite, vous devez écrire des rÚgles Netfilter.

1. Si nécessaire, autorisez les paquets entrants sur les ports d'écoute (le protocole propriétaire SoftEther utilise HTTPS et le port 443)

sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 992 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 5555 -j ACCEPT

2. Configurez NAT du sous-réseau 10.0.10.0/24 à l'adresse IP du serveur principal

sudo iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -j SNAT --to-source 45.132.17.140

3. Autoriser le passage des paquets du sous-réseau 10.0.10.0/24

sudo iptables -A FORWARD -s 10.0.10.0/24 -j ACCEPT

4. Autoriser le passage des paquets pour les connexions déjà établies

sudo iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

Nous laisserons l'automatisation du processus lors du redémarrage du systÚme à l'aide de scripts d'initialisation aux lecteurs comme devoir.

Si vous souhaitez attribuer automatiquement une adresse IP aux clients, vous devrez également installer une sorte de service DHCP pour le pont local. Ceci termine la configuration du serveur et vous pouvez accéder aux clients. SoftEther prend en charge de nombreux protocoles, dont l'utilisation dépend des capacités de l'équipement LAN.

netstat -ap |grep vpnserver

Renifler ou Suricata. Partie 3 : Protection du réseau du bureau

Étant donnĂ© que notre routeur de test fonctionne Ă©galement sous UbuntuInstallez les paquets softether-vpnclient et softether-vpncmd depuis un dĂ©pĂŽt externe pour utiliser le protocole propriĂ©taire. Vous devrez ensuite exĂ©cuter le client :

sudo vpnclient start

Pour configurer, utilisez l'utilitaire vpncmd, en sélectionnant localhost comme machine sur laquelle le vpnclient est exécuté. Toutes les commandes se font dans la console : il vous faudra créer une interface virtuelle (NicCreate) et un compte (AccountCreate).

Dans certains cas, vous devez spécifier la méthode d'authentification à l'aide des commandes AccountAnonymousSet, AccountPasswordSet, AccountCertSet et AccountSecureCertSet. Comme nous n'utilisons pas DHCP, l'adresse de l'adaptateur virtuel est définie manuellement.

De plus, nous devons activer ip forward (le paramĂštre net.ipv4.ip_forward=1 dans le fichier /etc/sysctl.conf) et configurer les routes statiques. Si nĂ©cessaire, sur VDS avec Suricata, vous pouvez configurer la redirection de port pour utiliser les services installĂ©s sur le rĂ©seau local. Sur ce point, la fusion des rĂ©seaux peut ĂȘtre considĂ©rĂ©e comme terminĂ©e.

Notre configuration proposĂ©e ressemblera Ă  ceci :

Renifler ou Suricata. Partie 3 : Protection du réseau du bureau

Mise en place de Suricata

В article prĂ©cĂ©dent nous avons parlĂ© de deux modes de fonctionnement d'IDS : via la file d'attente NFQUEUE (mode NFQ) et via zĂ©ro copie (mode AF_PACKET). La seconde nĂ©cessite deux interfaces, mais est plus rapide - nous l'utiliserons. Le paramĂštre est dĂ©fini par dĂ©faut dans /etc/default/suricata. Nous devons Ă©galement modifier la section vars dans /etc/suricata/suricata.yaml, en y dĂ©finissant le sous-rĂ©seau virtuel comme home.

Renifler ou Suricata. Partie 3 : Protection du réseau du bureau

Pour redĂ©marrer IDS, utilisez la commande :

systemctl restart suricata

La solution est prĂȘte, vous devrez peut-ĂȘtre maintenant la tester pour sa rĂ©sistance aux actions malveillantes.

Simulation d'attaques

Il peut y avoir plusieurs scĂ©narios pour l'utilisation au combat d'un service IDS externe :

Protection contre les attaques DDoS (objectif principal)

Il est difficile de mettre en Ɠuvre cette option Ă  l'intĂ©rieur du rĂ©seau d'entreprise, car les paquets Ă  analyser doivent parvenir Ă  l'interface systĂšme qui regarde Internet. MĂȘme si l'IDS les bloque, un trafic parasite peut interrompre la liaison de donnĂ©es. Pour Ă©viter cela, vous devez commander un VPS avec une connexion Internet suffisamment productive qui peut laisser passer tout le trafic du rĂ©seau local et tout le trafic externe. Il est souvent plus facile et moins coĂ»teux de le faire que d'Ă©tendre le canal du bureau. Comme alternative, il convient de mentionner les services spĂ©cialisĂ©s de protection contre les attaques DDoS. Le coĂ»t de leurs services est comparable au coĂ»t d'un serveur virtuel, et cela ne nĂ©cessite pas de configuration fastidieuse, mais il y a aussi des inconvĂ©nients - le client ne reçoit qu'une protection DDoS pour son argent, tandis que son propre IDS peut ĂȘtre configurĂ© comme vous comme.

Protection contre les attaques externes d'autres types

Suricata est en mesure de faire face aux tentatives d'exploitation de diverses vulnérabilités dans les services du réseau d'entreprise accessibles depuis Internet (serveur de messagerie, serveur Web et applications Web, etc.). Habituellement, pour cela, l'IDS est installé à l'intérieur du LAN aprÚs les périphériques de bordure, mais l'emmener à l'extérieur a le droit d'exister.

Protection contre les initiés

MalgrĂ© tous les efforts de l'administrateur systĂšme, les ordinateurs du rĂ©seau d'entreprise peuvent ĂȘtre infectĂ©s par des logiciels malveillants. De plus, des hooligans apparaissent parfois dans la zone locale, qui tentent d'effectuer certaines opĂ©rations illĂ©gales. Suricata peut aider Ă  bloquer de telles tentatives, bien que pour protĂ©ger le rĂ©seau interne, il soit prĂ©fĂ©rable de l'installer Ă  l'intĂ©rieur du pĂ©rimĂštre et de l'utiliser en tandem avec un commutateur gĂ©rĂ© qui peut reflĂ©ter le trafic sur un port. Un IDS externe n'est pas non plus inutile dans ce cas - au moins, il pourra dĂ©tecter les tentatives de malwares vivant sur le LAN de contacter un serveur externe.

Pour commencer, nous allons crĂ©er un autre test attaquant VPS, et sur le routeur du rĂ©seau local, nous allons Ă©lever Apache avec la configuration par dĂ©faut, aprĂšs quoi nous lui transmettrons le 80e port depuis le serveur IDS. Ensuite, nous allons simuler une attaque DDoS d'un hĂŽte attaquant. Pour ce faire, tĂ©lĂ©chargez depuis GitHub, compilez et exĂ©cutez un petit programme xerxes sur le nƓud attaquant (vous devrez peut-ĂȘtre installer le package gcc) :

git clone https://github.com/Soldie/xerxes-DDos-zanyarjamal-C.git
cd xerxes-DDos-zanyarjamal-C/
gcc xerxes.c -o xerxes 
./xerxes 45.132.17.140 80

Le résultat de son travail a été le suivant :

Renifler ou Suricata. Partie 3 : Protection du réseau du bureau

Suricata coupe le méchant, et la page Apache s'ouvre par défaut, malgré notre attaque impromptue et le canal plutÎt mort du réseau "bureau" (en fait domestique). Pour les tùches plus sérieuses, vous devez utiliser Metasploit Framework. Il est conçu pour les tests de pénétration et vous permet de simuler une variété d'attaques. Instructions d'installation disponible sur le site du projet. AprÚs l'installation, une mise à jour est nécessaire :

sudo msfupdate

Pour tester, exécutez msfconsole.

Renifler ou Suricata. Partie 3 : Protection du réseau du bureau

Malheureusement, les derniĂšres versions du framework n'ont pas la capacitĂ© de craquer automatiquement, donc les exploits devront ĂȘtre triĂ©s manuellement et exĂ©cutĂ©s Ă  l'aide de la commande use. Pour commencer, il convient de dĂ©terminer les ports ouverts sur la machine attaquĂ©e, par exemple en utilisant nmap (dans notre cas, il sera complĂštement remplacĂ© par netstat sur l'hĂŽte attaquĂ©), puis de sĂ©lectionner et d'utiliser le bon Modules Metasploit

Il existe d'autres moyens de tester la rĂ©silience d'un IDS contre les attaques, y compris les services en ligne. Par curiositĂ©, vous pouvez organiser des tests de rĂ©sistance Ă  l'aide de la version d'essai Stress IP. Pour vĂ©rifier la rĂ©action aux actions des intrus internes, il convient d'installer des outils spĂ©ciaux sur l'une des machines du rĂ©seau local. Il existe de nombreuses options et de temps en temps, elles doivent ĂȘtre appliquĂ©es non seulement au site expĂ©rimental, mais Ă©galement aux systĂšmes de travail, mais c'est une histoire complĂštement diffĂ©rente.

Renifler ou Suricata. Partie 3 : Protection du réseau du bureau

Renifler ou Suricata. Partie 3 : Protection du réseau du bureau

Source: habr.com

Achetez un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Achetez un hĂ©bergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster