
Encore et encore, après l'audit, sur mes recommandations de cacher les ports derrière la liste blanche, je rencontre un mur d'incompréhension. Même les admins très cool / DevOps demandent: "Pourquoi?!?"
Je propose de considérer les risques par ordre décroissant de probabilité d'occurrence et de dommage.
- Erreur de configuration
- DDoS sur IP
- Bruteforce
- Vulnérabilités du service
- Vulnérabilités de la pile du noyau
- Renforcer les attaques DDoS
Erreur de configuration
La situation la plus typique et dangereuse. Comment ça se passe. Le développeur doit tester rapidement l'hypothèse, il lève un serveur temporaire avec mysql / redis / mongodb / élastique. Le mot de passe, bien sûr, est compliqué, il l'utilise partout. Il ouvre le service au monde - il est pratique pour lui de se connecter depuis votre PC sans ceux de vos VPN. Et la syntaxe iptables est trop paresseuse pour être rappelée, de toute façon le serveur est temporaire. Juste quelques jours de développement - cela s'est bien passé, vous pouvez le montrer au client. Le client aime ça, on n'a pas le temps de le refaire, on le lance dans le PROD!
Exemple délibérément exagéré afin de marcher sur tous les râteaux:
- Rien n'est plus permanent que temporaire - je n'aime pas cette phrase, mais subjectivement, 20 à 40% de ces serveurs temporaires restent longtemps.
- Le mot de passe universel complexe utilisé dans de nombreux services est mauvais. Parce que l'un des services où ce mot de passe a été utilisé pourrait être piraté. D'une manière ou d'une autre, les bases de données des services piratés affluent vers une base utilisée pour [la force brute] *.
Il convient d'ajouter que redis, mongodb et elastic après l'installation sont généralement disponibles sans authentification et remplissent souvent la collection de bases de données ouvertes . - Il peut sembler que dans quelques jours, personne n'analysera votre port 3306. C'est une erreur! Masscan est un excellent scanner et peut numériser à 10 millions de ports par seconde. Et sur Internet, il n'y a que 4 milliards d'IPv4. En conséquence, tous les 3306e ports sur Internet sont en 7 minutes. Karl !!! Sept minutes!
"Qui s'en soucie?" - vous objectez. Je suis donc surpris de voir les statistiques des paquets abandonnés. Où un jour à partir de 40 000 tentatives de numérisation à partir de 3 000 adresses IP uniques? Maintenant, tout le monde sera scanné pour n'importe qui, des pirates de la mère aux gouvernements. La vérification est très simple - prenez n'importe quel VPS pour 3 à 5 $ auprès de n'importe quel ** low-coster, activez la journalisation des paquets déposés et consultez le journal en une journée.
Activation de la journalisationDans /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êter
DDoS sur IP
Si un attaquant connaît votre adresse IP, il peut étrangler votre serveur pendant plusieurs heures ou jours. Tous les hébergements à bas prix n'ont pas de protection DDoS et votre serveur sera simplement déconnecté du réseau. Si vous avez caché le serveur derrière un CDN, n'oubliez pas de changer l'IP, sinon le pirate va le chercher sur Google et DDoS votre serveur en contournant le CDN (une erreur très populaire).
Vulnérabilités du service
Tôt ou tard, des erreurs se retrouvent dans tous les logiciels populaires, même dans les plus testés et les plus critiques. Parmi les ingénieurs du SI, il y a une telle demi-blague - la sécurité de l'infrastructure peut être facilement estimée au moment de la dernière mise à jour. Si votre infrastructure est riche en ports qui sortent du monde et que vous ne l'avez pas mise à jour depuis un an, aucun agent de sécurité ne vous dira que vous êtes plein de trous et que vous avez 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 scanné tout Internet en 7 minutes pour sa présence ... Voici une nouvelle épidémie de virus) Elle doit être mise à jour, mais elle 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 la prod.
Bruteforce
Comme décrit ci-dessus, il existe une base de données avec un demi-milliard de mots de passe faciles à taper à partir du clavier. En d'autres termes, si vous n'avez pas généré de mot de passe, mais tapé des caractères à proximité sur le clavier, assurez-vous * - ils vous supprimeront.
Vulnérabilités de la pile du noyau.
Il arrive **** que peu importe le service qui ouvre le port lorsque la pile du noyau réseau elle-même est vulnérable. Autrement dit, absolument n'importe quel socket tcp / udp sur un système il y a deux ans est vulnérable à une vulnérabilité DDoS.
Renforcement des attaques DDoS
Cela n'endommagera pas directement, mais cela peut obstruer votre chaîne, augmenter la charge sur le système, votre adresse IP ira à une liste noire *****, et vous obtiendrez un abus de l'hôte.
Avez-vous vraiment besoin de tous ces risques? Ajoutez votre IP personnelle et professionnelle à la liste blanche. Même s'il est dynamique, connectez-vous via le panneau d'administration de l'hôte, via la console Web, et ajoutez-en simplement un autre.
Je construis et protège une infrastructure informatique depuis 15 ans. J'ai développé une règle que je recommande fortement à tout le monde - aucun port ne devrait sortir du monde sans liste blanche .
Par exemple, le serveur Web le plus sécurisé *** est celui avec 80 et 443 ouverts pour CDN / WAF uniquement. Et les ports de service (ssh, netdata, bacula, phpmyadmin) devraient être au moins derrière la liste blanche, et encore mieux pour VPN. Sinon, vous risquez d'être compromis.
J'ai tout. Gardez vos ports fermés!
- (1) UPD1 : Ici, vous pouvez vérifier votre mot de passe universel cool ( ne faites pas cela sans remplacer ce mot de passe par des mots aléatoires dans tous les services ), s'il est apparu dans la base de données fusionnée. Et ici, vous pouvez voir combien de services ont été piratés, où votre e-mail a été présenté et, en conséquence, savoir si votre mot de passe universel cool a été compromis.
- (2) Au crédit d'Amazon, il y a au moins des scans sur LightSail. Apparemment, en quelque sorte filtré.
- (3) Un serveur Web encore plus sécurisé est celui derrière le pare-feu dédié, son WAF, mais nous parlons de VPS public / dédié.
- (4) Segmentsmak.
- (5) Firehol.