N'ouvrez pas de ports sur le monde - vous serez brisé (risques)

N'ouvrez pas de ports sur le monde - vous serez brisé (risques)

À maintes reprises, après avoir effectué un audit, en réponse à mes recommandations visant à cacher les ports derrière une liste blanche, je me heurte à un mur d'incompréhension. Même les administrateurs/DevOps très cool demandent : « Pourquoi ?!?

Je propose de considérer les risques par ordre décroissant de probabilité d'occurrence et de dommage.

  1. Erreur de configuration
  2. DDoS sur IP
  3. Force brute
  4. Vulnérabilités des services
  5. Vulnérabilités de la pile du noyau
  6. Augmentation des attaques DDoS

Erreur de configuration

La situation la plus typique et la plus dangereuse. Comment ça se passe. Le développeur doit tester rapidement l'hypothèse ; il met en place un serveur temporaire avec mysql/redis/mongodb/elastic. Le mot de passe, bien sûr, est complexe, il l'utilise partout. Cela ouvre le service au monde - c'est pratique pour lui de se connecter depuis son PC sans vos VPN. Et je suis trop paresseux pour me souvenir de la syntaxe iptables ; le serveur est de toute façon temporaire. Encore quelques jours de développement - cela s'est bien passé, nous pouvons le montrer au client. Le client aime ça, on n'a pas le temps de le refaire, on le lance en PROD !

Un exemple volontairement exagéré afin de passer par tout le râteau :

  1. Il n'y a rien de plus permanent que temporaire - je n'aime pas cette phrase, mais selon des sentiments subjectifs, 20 à 40 % de ces serveurs temporaires restent longtemps.
  2. Un mot de passe universel complexe utilisé dans de nombreux services est mauvais. Car l’un des services où ce mot de passe a été utilisé aurait pu être piraté. D’une manière ou d’une autre, les bases de données des services piratés se rassemblent en une seule, qui est utilisée à des fins de [force brute]*.
    Il convient d'ajouter qu'après l'installation, Redis, Mongodb et Elastic sont généralement disponibles sans authentification et sont souvent réapprovisionnés collection de bases de données ouvertes.
  3. Il peut sembler que personne n'analysera votre port 3306 dans quelques jours. C'est une illusion ! Masscan est un excellent scanner et peut numériser à 10 millions de ports par seconde. Et il n’existe que 4 milliards d’IPv4 sur Internet. Ainsi, les 3306 7 ports d'Internet sont localisés en XNUMX minutes. Charles!!! Sept minutes !
    "Qui a besoin de ça?" - vous vous opposez. Je suis donc surpris lorsque je regarde les statistiques de paquets abandonnés. D'où proviennent chaque jour 40 3 tentatives d'analyse provenant de 3 5 adresses IP uniques ? Désormais, tout le monde scanne, des pirates informatiques de maman aux gouvernements. C'est très simple à vérifier : prenez n'importe quel VPS pour XNUMX à XNUMX $ auprès de n'importe quelle** compagnie aérienne à bas prix, activez la journalisation des colis abandonnés et consultez le journal en une journée.

Activation de la journalisation

Dans /etc/iptables/rules.v4 ajoutez à la fin :
-A INPUT -j LOG --log-prefix "[FW - ALL] " --log-level 4

Et dans /etc/rsyslog.d/10-iptables.conf
:msg,contient,"[FW - " /var/log/iptables.log
& arrêt

DDoS sur IP

Si un attaquant connaît votre IP, il peut pirater votre serveur pendant plusieurs heures ou jours. Tous les fournisseurs d'hébergement à bas prix ne disposent pas d'une protection DDoS et votre serveur sera simplement déconnecté du réseau. Si vous avez caché votre serveur derrière un CDN, n’oubliez pas de changer l’IP, sinon un hacker le recherchera sur Google et fera un DDoS sur votre serveur en contournant le CDN (une erreur très courante).

Vulnérabilités des services

Tous les logiciels populaires détectent tôt ou tard des erreurs, même les plus testées et les plus critiques. Parmi les spécialistes de l'IB, il y a une demi-blague : la sécurité de l'infrastructure peut être évaluée en toute sécurité au moment de la dernière mise à jour. Si votre infrastructure est riche en ports qui dépassent du monde et que vous ne l'avez pas mise à jour depuis un an, alors n'importe quel spécialiste de la sécurité vous dira sans regarder que vous avez des fuites et que vous avez très probablement déjà été piraté.
Il convient également de mentionner que toutes les vulnérabilités connues étaient autrefois inconnues. Imaginez un pirate informatique qui a trouvé une telle vulnérabilité et a analysé tout Internet en 7 minutes pour détecter sa présence... Voici une nouvelle épidémie de virus.) Nous devons mettre à jour, mais cela peut endommager le produit, dites-vous. Et vous aurez raison si les packages ne sont pas installés à partir des référentiels officiels du système d'exploitation. Par expérience, les mises à jour du référentiel officiel cassent rarement le produit.

Force brute

Comme décrit ci-dessus, il existe une base de données contenant un demi-milliard de mots de passe faciles à saisir à partir du clavier. En d’autres termes, si vous n’avez pas généré de mot de passe, mais que vous avez tapé des symboles adjacents sur le clavier, soyez assuré* qu’ils vous confondront.

Vulnérabilités de la pile du noyau.

Il arrive aussi que le service qui ouvre le port n'ait même pas d'importance, lorsque la pile réseau du noyau elle-même est vulnérable. Autrement dit, absolument n'importe quel socket TCP/UDP sur un système vieux de deux ans est sensible à une vulnérabilité conduisant à un DDoS.

Augmentation des attaques DDoS

Cela ne causera aucun dommage direct, mais cela peut obstruer votre chaîne, augmenter la charge sur le système, votre adresse IP se retrouvera sur une liste noire ***** et vous recevrez des abus de la part de l'hébergeur.

Avez-vous vraiment besoin de tous ces risques ? Ajoutez votre adresse IP personnelle et professionnelle à la liste blanche. Même s'il est dynamique, connectez-vous via le panneau d'administration de l'hébergeur, via la console Web, et ajoutez-en simplement un autre.

Je construis et protège des infrastructures informatiques depuis 15 ans. J'ai développé une règle que je recommande fortement à tout le monde - aucun port ne devrait se démarquer sans une liste blanche.

Par exemple, le serveur web*** le plus sécurisé est celui qui ouvre 80 et 443 uniquement pour le CDN/WAF. Et les ports de service (ssh, netdata, bacula, phpmyadmin) devraient être au moins derrière la liste blanche, et encore mieux derrière le VPN. Sinon, vous risquez d'être compromis.

C'est tout ce que je voulais dire. Gardez vos ports fermés !

  • (1) MISE À JOUR1: il est vous pouvez vérifier votre mot de passe universel sympa (ne faites pas cela sans remplacer ce mot de passe par un mot de passe aléatoire dans tous les services), s'il apparaît dans la base de données fusionnée. Et ici vous pouvez voir combien de services ont été piratés, où votre courrier électronique a été inclus et, par conséquent, savoir si votre mot de passe universel a été compromis.
  • (2) Au crédit d'Amazon, LightSail a des analyses minimales. Apparemment, ils le filtrent d'une manière ou d'une autre.
  • (3) Un serveur Web encore plus sécurisé est celui derrière un pare-feu dédié, son propre WAF, mais nous parlons de VPS/Dédié public.
  • (4) Segmentsmak.
  • (5) Firehol.

Seuls les utilisateurs enregistrés peuvent participer à l'enquête. se connecters'il te plait.

Vos ports dépassent ?

  • Toujours

  • Parfois

  • Jamais

  • Je ne sais pas, putain

54 utilisateurs ont voté. 6 utilisateurs se sont abstenus.

Source: habr.com

Ajouter un commentaire