Je possède un serveur minecraft auquel je joue avec des amis et qui est ouvert au public et dernièrement on a reçu des menaces comme quoi on allait se faire hacker et j'aimerais savoir comment nous prémunir contre ça. Je ne connais pas très bien Linux, pour le moment j'ai banni une IP avec iptables, mais j'aimerais qu'on m'aide à augmenter la sécurité de mon serveur.
Pour le moment déjà minecraft n'est pas exécuté en root mais en tant qu'utilisateur qui n'est même pas dans le groupe sudo, donc incapable d'accéder à root. J'ai banni l'IP du présumé hacker avec iptables et j'ai sécurisé apache en mode production, donc il n'affiche plus les numéros de version. Mais apache et php ne sont installés que pour des petits scripts, le forum est sur une autre machine.
Si quelqu'un s'y connais bien en Linux et qui pourrait m'aider à renforcer la sécurité, j'apprécirait bien gros. Merci d'avance !
Changer les ports de tous tes services (minecraft, ssh?, ftp?, apache) et installer un anti scanneur de port (comme portsentry) qui bannit toutes les personnes qui tentent de scanner les ports du serveur. La base pour moi afin de rendre son serveur perso à peut près safe. Ne donne les ports qu'aux personnes que tu connais bien
Pour ce qui reste basique : désactivation des services inutiles, installer un firewall (attention si quasiment tous les ports sont bloqués portsentry ne pourra plus détecter les scans), sécurisation de base du serveur ssh. Du côté du ftp je te conseille d'utiliser vsftp et pas proftp ou autre
Après il est bien facile de dire "zvé akè ton zerver" j'ai personnellement reçu des dixaines de propos comme ceux la et aucuns n'a abouti à un réel hack. C'est très souvent juste des kikoos qui veulent se sentir puissant
Ils sont méchants ces Hackeurs Comme dit plus haut au niveau de la sécurité , change les ports de touts les services utiliser avec ton serveur (ftp, ssh , minecraft) et apache si tu as un site web ... Puis utilise un firewall (par-feu) et protège toi contre les attaque Ddos . Bonne chance pour toi
Pour compléter ce qu'a dit jojo3544, il y a quelques mesures plus ou moins simple à suivre déjà (liste non exhaustive) :
Faire très régulièrement les mises à jours de sécurité. Idéalement il faut utiliser une distribution à long support, type CentOS, Debian stable ou Ubuntu LTS.
Changer le port d'écoute de tes services, en particulier SSH et Minecraft.
Sur la config SSH, ne pas autoriser l'accès distant root. Passer par un autre login pour faire un accès root (c'est expliqué dans le lien fourni par jojo3544).
Pour ton accès login distant, utilise un login pas évident à trouver (pas du genre "admin" ou ton nom) et un bon mot de passe, ou devrais dire une "phrase de passe". Exemple de phrase de passe : "LepetitbateaubleuVatrèsvite!" serait bien plus compliqué à bruteforcé que "K548e!z". Certes c'est plus long à taper mais tu peux choisir quelque chose de facile à retenir et à taper.
Identifies bien les services qui tournent sur ton serveur afin de prendre les mesures nécessaires (désactivation, firewall à configurer).
Pour ton serveur Minecraft, tu peux le mettre dans un environnement chroot ou mieux, utiliser les namespaces Linux grâce à systemd. Cela permettra de restreindre l'accès au reste du serveur si ton Minecraft est piraté. Tu peux peut-être faire la même chose avec tes autres services, à voir car je ne l'ai jamais fais. Tu auras de la doc (en anglais) ici : http://0pointer.de/blog/projects/changing-roots.html Sachant que pour ça il faudra que tu te crées un service Minecraft avec systemd (c'est facile à faire en lisant un peu sur Internet).
Oui, le changement de ports, (sans oublier de les retenir ) ainsi qu'un anti-scanneur de port, déjà avec ça t'es bien. Puis éventuellement firewall, qu'il faut vraiment bien configurer sinon aie aie les permissions denied
Changer les ports n'est pas une mesure de sécurité, c'est de la sécurité par l'obscurité et il a souvent été démontré que cela ne sert à rien, si ce n'est à ne pas respecter les standards d'Internet.
Pour entrer sur un serveur pas le réseau, il faut passer par des ports ouverts (ou parfois par une faille de la pile TCP/IP, mais là je ne crois pas que Kevin saura le faire)
Donc l'idée est de limiter la surface d'attaque en limitant le nombre de ports ouverts uniquement à ceux dont on a besoin.
Cela peut se faire soit en éteignant les services inutiles, mais il y a un risque d'en oublier ou que certains se relancent au boot, soit en mettant en place un firewall, mais le problème reste entier si on ne sait pas bien le configurer.
Une fois cela réalisé, il faut sécuriser les applis qui sont visibles. Pour un serveur minecraft, il n'y a a priori pas grand chose à faire sinon respecter les consignes de base et faire les mises à jour.
Par contre pour un serveur web, il y a une mesure très simple à mettre en oeuvre qui protège contre une majorité de failles. Il faut vérifier les entrées possibles. Pour cela, si tu as fait ton site toi-même, il faut mettre des conditions (comme des regexp) sur chacun de tes formulaires. Si tu utilises un site tout fait, assures-toi des mises à jour et que les failles connues sont comblées.
Si tu fais tout cela correctement, il ne devrait pas y avoir de problème.
Par contre, bannit FTP et utilises SFTP de SSH.
Et tu peux mettre Fail2ban pour éviter les attaques en bruteforce.
Fermer le port du serveur minecraft sur le routeur/box.
Installer SSH sur le serveur et sur le routeur/box faire une redirection du type port 110 (public) => 22 (serveur ssh local). Ceci dans le but de faire de la securite par l'obscurité qui est inefficace contre les vrais hacker, mais contre les rigolos qui hackent des serveurs Minecraft. Donc meme si Elalitte a expliqué que c'est pas tres utile, je reste persuadé que contre des mioches qui n'y connaissent pas grand chose, ca fait deja son petit effet Mais bref pour eviter de demarrer un debat inutile, je vais dire que cette etape est facultative.
Fermer les ports autre que celui utilisé par SSH (si possible bien sur)
Sur ton serveur SSH: creer des comptes separés pour chacun des joueurs de ton serveur Minecraft...ou un compte unique, ou quelque comptes séparés et quelques comptes qui seront utilisés par plusieurs joueurs.
Enfin, les joueurs se connectent sur ton serveur en creant un Tunnel SSH en se connectant a ton serveur SSH avec un login et un mot de passe que TU leur as donnés. Mieux: utiliser un systeme de clé privée / clé publique...encore mieux que de donner un mot de passe a retenir
Interets de cette solution:
Tous les joueurs doivent se logger avec login/mot de passe par SSH
Tout est tracable / loggé
Un seul port ouvert au public (SSH) pour de multiples protocoles (beh oui on peut faire un tunnel vers n'importe quel service/port).
Connexion chiffrée...(mais ca a la rigueur on s'en tape dans ce cas precis...quoique tout depend des pirates qui en veulent a ton serveur )
_
TL;DR;
Ma solution: tunneliser sur SSH la connexion au serveur Minecraft.
- Edité par mrjay42 6 octobre 2015 à 11:59:48
Si y'a pas d'accents dans mes messages c'est parce que je suis sur un clavier norvegien :)
Changer les ports n'est pas une mesure de sécurité, c'est de la sécurité par l'obscurité et il a souvent été démontré que cela ne sert à rien, si ce n'est à ne pas respecter les standards d'Internet.
Changer de ports est une mesure de sécurité bien sûr. Elle ne limite pas la surface d'attaque, mais elle limite le nombre attaquant ! Changer le port 22 du service SSH permet j'en suis sûr d'éviter au moins 75% des attaques de script kiddies. Les "standards" d'Internet n'interdisent pas de changer les ports des services, je ne sais pas d'où tu sors ça. Si c'était mal de faire ça, les logiciels libres comme OpenSSH ne permettrait pas de changer le port dans les options. Un service réseau écoute sur un port, c'est l'administrateur qui le choisi, pas le standard.
Les "standards" d'Internet n'interdisent pas de changer les ports des services, je ne sais pas d'où tu sors ça.
Je n'ai pas dit qu'ils l'interdisaient, mais les RFC qui régissent l'utilisation d'Internet sont justement la pour ça, et la RFC 1700 a le statut de standard.
Après, libre à chacun de faire comme il veut, mais si on veut tous travailler sur un Internet standardisé, le principe est de respecter les standards. Plutôt que chacun travaille dans son coin et qu'il n'y ait plus aucune interopérabilité, comme cela est en train de se passer avec le SPAM où plusieurs opérateurs ont banni des adresses de serveurs dédiés à l'aveugle.
Par ailleurs, la sécurité par l'obscurité a toujours existé. Elle a fait très mal à Microsoft qui plutôt que de patcher les failles a mis en place un firewall par défaut sur les OS, mais cela n'a pas empêché toutes les failles sur les ports standards utilisés par eux (voir slamer et autres blaster)
J'estime que le faire est un mauvais choix, c'est comme mettre un pansement sur un hémorragie. Ça fonctionne dans un premier temps, mais ça n'améliore pas la sécurité sur le long terme ni n'apprend quoi que ce soit à celui qui le fait. Aujourd'hui, cela a l'intérêt de passer hors du feu des bots, mais pour combien de temps ?
Chacun est libre de faire ses choix, voyant 4 posts qui me semblaient en donner de discutables, j'ai proposé une autre approche. Libre à chacun de la suivre ou non
Utiliser un service SSH sur un autre port que 22 est parfaitement standard (à partir du moment où ce n'est pas un autre port entre 0 et 1024 bien entendu).
Une analogie que j'aime bien est celle des maisons. Si je te dis de venir chez moi, je vais te donner mon adresse postale (= adresse IP). Une fois devant la maison, par convention tu vas vouloir rentrer par la porte de devant (= le port 22). Mais rien ne m'empêche d'avoir barricadé cette porte et décidé qu'il fallait rentré par la porte du côté (= autre port > 1024). Si je t'invite chez moi, je t'aurais donner cette information. Si quelqu'un n'a pas l’information, c'est déjà qu'il n'a pas besoin de venir chez moi... Beaucoup de voleurs (= crackers) qui passent en voiture dans la rue vont voir tout de suite que la porte de devant (= port 22) est barricadée, alors ils ne vont même pas s'arrêter et tenter d'ouvrir la porte. Ça fait de moi quelqu'un de farfelu (= non "standard") ?
Je suis tout à fait d'accord avec toi pour le SSH, qui est censé être un accès privé.
Maintenant imaginons le même exemple pour le web, ta maison est un restaurant, auras-tu envie que tous les clients se heurtent à une porte fermée qui les rebutera ?
Ma distribution c'est Ubuntu 14.04 LTS. Et j'utilise déjà le SFTP pour me connecter au serveur et j'ai banni root, et mon serveur minecraft est lancé par un utilisateur qui n'a pas accès à root, donc qui ne peut pas éxécuter avec succès ni la commande su ni la commande sudo.
Toi tu utilise pas Ubuntu Server pour te faire un serveur ta des choses à apprendre
Conseils de sécurité Linux
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Si y'a pas d'accents dans mes messages c'est parce que je suis sur un clavier norvegien :)