Admin web interface cachée
Avoir une interface web pour contrôler/gérer série de paramètres c’est bien. En l’occurrence moi j’ai du monitoring grâce à munin, un contrôle sur mpd grâce à relax, nzbget(web), transmission ou encore mon serveur git(web), mais voilà qui dit administration dit protection, ça me semble une évidence. Oui, bien sur vous avez le login/mdp habituel, mais quoi de mieux que d’avoir une administration qui N’EXISTE PAS aux yeux des pirates?! Et donc si elle n’existe pas, pas évident de hacker une interface qui n’existe pas.
Je développe mon idée en quelques mots (j’essaie de rester simple) : pour chaque domaine que vous voulez servir avec un serveur web il vous faut (dans la plupart des cas) DEUX éléments : un ndd (nom de domaine dns) pointant vers cette adresse IP et un serveur web répondant à ce ndd préalablement établi. Et c’est sur ce 1er élément que l’on va jouer : imaginez un serveur web avec quelques noms de domaines (sans vraiment d’importance), un domaine catch-all (voir articles précédents pr en savoir +), et puis surtout notre domaine ‘caché’. Pour les besoins de l’explication on va le nommer :
secret.help.org
Imaginez maintenant que ce ndd soit défini sur le serveur http mais pas sur les dns, pas moyen d’y accéder vous allez me dire? Bah oui si je tape l’adresse ip du serveur directement je tombe sur le catch-all, un des autres domaines de ce serveur, sur le nom de domaine désigné.Et si je tape le nom de domaine je vais atterrir quelque part dans les méandres du web, mais pas sur mon serveur, puisque j’ai pas déclaré le nom de domaine.
C’est justement là dedans que réside toute la finesse de l’histoire : il faut réussir à faire la liaison entre ce serveur là et le nom de domaine donné pour que ça marche. Si vous avez une adresse IP fixe, une entrée dans votre fichier hosts vers l’ip en question. C’est l’IP de mon serveur et il va de soi qu’il n’y a pas d’interface admin “cachée” dessus.
92.243.12.0 secret.help.org
Si c’est une connexion à IP dynamique, soit vous updatez chaque fois dans le fichier hosts la nouvelle ip chaque fois qu’elle change soit vous faites en sorte qu’il y ait un dyndns ou quelque chose du genre avec un AUTRE DOMAINE que secret.help.org (par exemple dyndns.help.org) et dans un serveur dns INTERNE a votre système (sur la bécane cliente elle-même ou votre réseau local) vous enregistrez un CNAME entre secret.help.org et dyndns.help.org. Mais de nouveau ne publiez pas ce ndd sur le net.
Cet article est p’têtre un peu bordélique donc n’hésitez pas à poser des questions si vous comprenez pas ;)