Un moyen simple de protéger votre Mikrotik des attaques

Je souhaite partager avec la communauté une manière simple et pratique d'utiliser Mikrotik pour protéger mon réseau et mes services qui «surveillent» les attaques externes. À savoir, avec seulement trois règles, organiser un pot de miel sur Mikrotik.

Imaginons donc que nous ayons un petit bureau, une adresse IP externe derrière laquelle se trouve un serveur RDP, pour que les employés puissent travailler à distance. La première règle est bien sûr de changer le port 3389 de l'interface externe en un autre. Mais ce n'est pas pour longtemps, après quelques jours, le journal d'audit du serveur Terminal Server commencera à afficher plusieurs autorisations infructueuses par seconde de clients inconnus.

Une autre situation, vous avez un astérisque caché derrière Mikrotik, bien sûr, pas sur le port 5060 udp, et après quelques jours, la devinette du mot de passe commence également ... oui oui, je sais, fail2ban est notre affaire, mais je dois encore gonfler dessus ... par exemple, je l'ai récemment levé pour ubuntu Le 18 avril, j'ai été surpris de constater que fail2ban ne contient pas les paramètres réels pour l'astérisque de la même boîte de la même distribution ubuntu ... mais Google ne peut pas google paramétrer rapidement les "recettes" prêtes à l'emploi, le nombre de versions augmente au fil des ans et les articles avec " recettes "pour les anciennes versions ne fonctionnent plus, mais presque pas de nouvelles ... Mais quelque chose que je m'éloigne ...

Donc, ce qui est un pot de miel en un mot - est un leurre, dans notre cas, un port populaire sur une IP externe, toute demande à ce port d'un client externe envoie l'adresse src à la liste noire. Tout.

/ip firewall filter
add action=add-src-to-address-list address-list="Honeypot Hacker" \
    address-list-timeout=30d0h0m chain=input comment="block honeypot ssh rdp winbox" \
    connection-state=new dst-port=22,3389,8291 in-interface=\
    ether4-wan protocol=tcp
add action=add-src-to-address-list address-list="Honeypot Hacker" \
    address-list-timeout=30d0h0m chain=input comment=\
    "block honeypot asterisk" connection-state=new dst-port=5060 \
    in-interface=ether4-wan protocol=udp 
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=\
    "Honeypot Hacker"

La première règle sur les ports TCP populaires 22, 3389, 8291 de l'interface externe ether4-wan envoie l'IP invité à la liste Honeypot Hacker (les ports pour ssh, rdp et winbox sont désactivés à l'avance ou modifiés pour d'autres). Le second fait de même sur le populaire UDP 5060.

La troisième règle à l'étape de pré-routage supprime les paquets des "invités" dont l'adresse srs est entrée dans le "Honeypot Hacker".

Après deux semaines de travail chez moi, Mikrotik, la liste Honeypot Hacker comprenait environ un millier et demi d'adresses IP de fans respectueux de la mamelle de mes ressources réseau (téléphonie domestique, courrier, nextcloud, rdp). Les attaques par force brute ont cessé, le bonheur s'est ensuivi.

Au travail, tout ne s'est pas avéré si simple, ils continuent de casser le serveur rdp avec des attaques par force brute.

Apparemment, le numéro de port a été déterminé par le scanner bien avant que le pot de miel ne soit allumé, et pendant la quarantaine, il n'est pas si facile de reconfigurer plus de 100 utilisateurs, dont 20% ont plus de 65 ans. Dans le cas où le port ne peut pas être changé, il existe une petite recette de travail. J'ai rencontré des semblables sur Internet, mais il y a un réglage fin et fin:

Règles de configuration du port Knocking
 /ip firewall filter
add action=add-src-to-address-list address-list=rdp_blacklist \
    address-list-timeout=15m chain=forward comment=rdp_to_blacklist \
    connection-state=new dst-port=3389 protocol=tcp src-address-list=\
    rdp_stage12
add action=add-src-to-address-list address-list=rdp_stage12 \
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage11
add action=add-src-to-address-list address-list=rdp_stage11 \
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage10
add action=add-src-to-address-list address-list=rdp_stage10 \
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage9
add action=add-src-to-address-list address-list=rdp_stage9 \
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage8
add action=add-src-to-address-list address-list=rdp_stage8 \
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage7 \
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage6
add action=add-src-to-address-list address-list=rdp_stage6 \
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage5
add action=add-src-to-address-list address-list=rdp_stage5 \
    address-list-timeout=2m chain=forward connection-state=new dst-port=\
    3389 protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage4 \
    address-list-timeout=2m chain=forward connection-state=new dst-port=\
    3389 protocol=tcp src-address-list=rdp_stage3
add action=add-src-to-address-list address-list=rdp_stage3 \
    address-list-timeout=2m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage2
add action=add-src-to-address-list address-list=rdp_stage2 \
    address-list-timeout=2m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp src-address-list=rdp_stage1
add action=add-src-to-address-list address-list=rdp_stage1 \
    address-list-timeout=2m chain=forward connection-state=new dst-port=3389 \
    protocol=tcp 
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=\
rdp_blacklist

En 4 minutes, le client distant n'est autorisé à faire que 12 nouvelles «demandes» au serveur RDP. Une tentative de connexion est de 1 à 4 «demandes». À la 12e «demande» - une serrure pendant 15 minutes. Dans mon cas, les attaquants n'ont pas arrêté de pirater le serveur, ils se sont adaptés aux temporisateurs et maintenant ils le font très lentement, une telle vitesse de sélection réduit l'efficacité de l'attaque à zéro. Les employés de l'entreprise ne subissent pratiquement aucun inconvénient dans le travail effectué.

Un autre petit truc
5, , .

/ip firewall filter 
add action=add-src-to-address-list address-list=rdp_blacklist \
    address-list-timeout=1w0d0h0m chain=forward comment=\
    "night_rdp_blacklist" connection-state=new disabled=\
    yes dst-port=3389 protocol=tcp src-address-list=rdp_stage8

8 IP . !

Eh bien, en plus de ce qui précède, j'ajouterai un lien vers l'article Wiki, avec le paramètre de travail de protection de Mikrotik contre les scanners réseau. wiki.mikrotik.com/wiki/Drop_port_scanners

Sur mes appareils, ce paramètre fonctionne en conjonction avec les règles du pot de miel décrites ci-dessus, en les complétant bien.

UPD: Comme suggéré dans les commentaires, la règle de suppression de paquets a été déplacée vers RAW pour réduire la charge sur le routeur.

All Articles