Pourquoi mettre une sécurité militaire pour un VPS ?

Informatique juin 16, 2020

Knocking port, Honeypot, fail2ban, Wordfence, port spoofing, ... Partout j'entends des fail2ban configurés de façon à bannir la moindre IP qui a osé taper sur le port 22 ou même sur un port qui n'est pas ouvert pour plusieurs mois.

La sécurité est une assurance

Vous ne prennez pas la voiture sans ceinture de sécurité, n'est-ce pas ? Pourtant je suis certain que vous la mettez car il est possible que par hasard, une fois, une personne oublie de freiner à un stop et vous perctute. Et votre ceinture vous aura sauver la vie.
Bah en informatique la sécurité c'est votre ceinture. Mais sur internet, les gens qui loupe les stops sont plus nombreux... Car c'est prémedité et automatisé.
La sécurité sur un réseau informatique (internet, intranet) c'est obligatoire, sans ça vous pouvez en moins de temps qu'il vous faut pour faire un café, votre entreprise peut avoir couler, votre infrastructure de vente peut être intégralement hors d'usage le premier jour des soldes, votre site de recettes familial depuis plusieurs générations KO, et les backups supprimé... En un clin d'oeil vous pouvez tout perdre.

La sécurité à un coût

La sécurité ça a un coût, forcément, sinon les actes malvaillant n'existerait pas si se défendre ne coutait rien. Bien entendu, le coût peut très bien être financier, matériel ou en temps, et la sécurité n'est pas forcément qu'une adition d'appliance avant l'applicatif mais également cette dernière, faire des mises à jour, maintenir son code etc...
Mais se surprotéger risque de couter très cher et d'apporter des problèmes relativement complexe au bout d'un certains temps. Pareillement, se sous protéger apportera d'autres problèmes.
La clé pour trouver un bon équilibre est d'analyser son modèle de menace.

Analyser son modèle de menace

Oui, un simple VPS avec deux Wordpress dessus n'intéresse que des bots, des scripts automatiser qui chercherons uniquement à accéder au site pour mettre en place des proxy, des publicités pour du viagra, ou servir à des attaques distribués (généralement des attaques de déni de service distribuer). Avoir un VPS avec plusieurs Wordpress nécessitera une protection un peu plus importante car les robots vont tester régulièrement sur chaques Wordpress générant une charge un peu plus important, surtout si Wordpress est remplis de plein d'extension. Si vous héberger un serveur Minecraft, il est utile de mettre en place d'autres protection.
Cependant, hormis si vous êtes une cible qui peut rapporter de l'argent, il est relativement rare d'avoir d'autre type d'attaque que des vagues de bots continuellement (dont la plupart proviennent d'un ordinateur ou d'un site infecté).
À l'inverse, si vous pouvez rapportez de l'argent, si vous avez des concurents, des algorithmes secrets, que vous êtes très connu ou vous possédez une base utilisateur qui peut être revendu, il faut surement éviter de sous estimer votre modèle de menace, les attaques seront plus complexes.

Et pour répondre à la question

Je pense pour la plupart du temps, mettre en place toutes ces sécurités là sur son infrastructure perso relève plus de l'ordre du fun que de la volonté réel de bloquer 100% des attaques de hacker ;).

Let's talk : la sous sécurisation

Allez, place à l'expérience. Qu'est-ce qui peut se passer lors d'une sous sécurisation ?
Et bien il y a plusieurs risques en réalité mais il y a aussi plusieurs moyens de sous sécuriser son SI, ses sites etc... Maintenant les pépites !
La première de ces pépites est... L'ignorance de son système d'information. Aussi surprenant que celui puisse l'être, il existe des gens qui pensent que la sécurité par l'ignorance ou l'obfuscation est un gage de sécurité car « si nous ne connaissont pas et ne documentons pas notre SI, un hacker ni arrivera pas non plus ». Il est fort probable que la personne crainte a eu le temps de récupérer les infos qu'il lui fallait et elle n'a jamais eu besoin de documentation, vu qu'elle a ses outils. Il faut en moyenne 3 mois pour se rendre compte qu'on a été piraté. Je ne pense pas que complexifier la tâche de détection soit donc une bonne idée.
Qui s'intéresserait à mon site de chatons ? Personne ! Sauf bien entendu les bots qui vont installer un mineur de monero, un proxy, ou un agent dormant.
C'est sécurisé, j'ai fais des sauvegardes. En espérant que les sauvegardes sont valide, perdre la confiance de ses utilisateurs et se faire pourir son ranking au niveau des moteurs de recherche ça coute très cher... Mais indirectement.
Pff, si on se fait pirater nos sites, on répare. De toute façon on est pas déclarer à la CNIL. Même pas j'ai envie de commenter.
Ça coûte cher. Tout le monde a déjà du l'entendre. Elle se rapproche beaucoup de "Ça coute un pognon de dingue* et Il n'y a pas d'argent magique. Sauf quand cet argent sort on ne sait ou. Bref, cette excuse et de loin la pire excuse. Car comme dit plus haut, la sécurité c'est une assurance. Et un piratage peut couter très cher.
J'ai mis Wordfence, All in One WP security, Defender, Itheme. Et le mot de passe admin c'est admin01. (On a la même avec les VPS hein ;) root/root).
À quoi bon mettre un mot de passe compliqué, tu changes le port SSH et personne va t'emmerder avec root. Vous savez, les bots aussi on nmap.

Let's talk : la sur-sécurisation

Ouai, c'est con à dire, j'en ai déjà vu, des trucs mal configuré...
Je bannis toutes les IPs qui touche au SSH sur mon nas pour 10 ans minimum. 6 mois plus tard on vient me voir pour comprendre pourquoi l'accès au NAS est de plus en plus lent. Bah oui, les firewall, tous autant qu'ils sont font passer chaque paquet de règle en règle jusqu'à ce qu'une match. Dans le cas de fail2ban, on se retrouve donc avec un paquet qui doit passer 35 000 règles avant de correspondre à celle disant qu'elle peut passer. Sur des firewall dédiés, ils ont des CPU prévu pour gérer énormément de paquet et de règle, ils seront forcément plus puissant qu'un NAS avec un vieux celeron mais bon.
Mon CPU tourne a plein régime pendant 8 jours quand je relance mon serveur. Au final on découvre qu'à chaque redémarrage il réinjecte dans son iptables toutes les ip banni (850 000 environs de mémoire). Il a été ardut à trouver celui ci.
Mes employés ne vont que sur les sites que j'autorise. Et rapidement certains mettent leurs téléphones en 4G et connecte l'ordi dessus car un site qui possède une ressource nécessaire à leurs travail n'est pas disponible.
J'ai un port spoofing, du knocking port avec le port SSH sur le 14236, un fail2ban, et un honeypot sur mon VPS pour mon Nextcloud. Et tu mets donc 2 minutes à accéder à ton VPS en SSH en croisant les doigts que ta tentative de connexion échoué d'hier ne t'as pas banni pour les 10 prochaines années... Tout ça pour éviter un bot.
Moi ? Jamais je met root accessible de l'extérieur, et j'authorise que des connexions par SSH. Mais tu mets NOPASSWD: dans le fichier sudoers au compte auquel tu te connectes en SSH. Au final la seul différence à laisser root accessible c'est que tu tapes sudo -i en plus.

La sécurité c'est avant tout des règles élémentaires, un bon mot de passe et des mises à jours régulières.

Pour les cas les plus basiques, un vrai mot de passe sur ses services (une passphrase ou un mot de passe généré et conservé par un gestionnaire de mot de passe , une authentification uniquement par clé SSH pour son serveur, des mises à jour régulières et suivre l'actualité des CVE pour ses services sont, à mon avis, les règles les plus efficaces pour 90% des attaques.
Pour des cas plus complexe (une cible qui peut rapporter), faites des audits, engager des profesionnel. Ça vous coutera moins cher au final q'un gros piratage ;)

Photo by Micah Williams on Unsplash

Dryusdan

Bidouilleur le jour et administrateur système la nuit (ou l'inverse, c'est comme vous voulez), j'écris entre deux pannes ou amélioration des morceaux de ma passion que je vis à fond.

Super ! Vous vous êtes inscrit avec succès.
Super ! Effectuez le paiement pour obtenir l'accès complet.
Bon retour parmi nous ! Vous vous êtes connecté avec succès.
Parfait ! Votre compte est entièrement activé, vous avez désormais accès à tout le contenu.