Bonjour,
Je suis en mode developpement et j'aimerais rendre accessible l'acces au serveur que par une ou deux IP.

J'ai testé via apache, mais il me semble que c'est seulement pour les ports 'web'.

J'ai aussi bloqué ssh, mais j'ai des tentatives de hacks sur pleins d'autres chose comme (postfix , mysql, ftp, etc...)

Une piste serait fort apprecié
Merci d'avance

3 réponses


Si j'ai bien tout compris, t'es attaqué de toute part sur ton serveur (distant ?)...
Effectivement, il y a plusieurs solutions pour endiguer ces attaques :
d'abord, SSH ne doit pas être désactivé, afin de te permettre d'y accéder et de l'administrer. Je te conseille, si ce n'est pas le cas, d'installer openssh.
Avant toute chose, créer une clé privé/publique sur ton poste de travail, dans ton répertoire utilisateur (~/.ssh) :
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" (par exemple)
copie le contenu de cette clé (cat ~/.ssh/id_rsa.pub, puis CTRL-C sur toute la chaine de caractères).
Pour SSH :

  1. installer si possible openssh, éditer /etc/ssh/sshd_config
  2. désactiver l'authentification par mot de passe (mettre la ligne PasswordAuthentication à "no"
  3. active les paramètres suivants :

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

  1. Créer un fichier authorized_keys dans ton serveur sur son dossier personnel (root ou compte utilisateur, atteint par cd ~) et colles le contenu de ta clé publique id_rsa.pub
  2. mettre chmod 700 sur ~/.ssh et 640 sur ~/.ssh/authorized_keys, puis relances ssh sur ton serveur
  3. Testes ton authentification par ssh en précisant le chemin de ta clé privée en local
  4. Si besoin, tu peux changer aussi le port d'accès de SSH dans le /etc/ssh/sshd_config (par exemple : 2222)

Après ça, ton accès devrait être bien verrouillé pour ssh. Il est souvent recommandé de se connecter avec un compte user différent de root (et de bloquer l'accès en ssh de root) car ce compte facilité les attaques de type brute-force. Par contre, fais en sorte que ce compte user est les privilèges de root (en général : le définir en tapant la commande visudo).

Ensuite, je te recommande de désinstaller dovecot, postfix et autres services susceptibles d'offrir autant de back-door à tes attaquants, surtout s'ils ne sont pas utilisés et paramétrer scupuleusement au niveau sécurité (par l'usage de clés type pem et autres).

Dernière étape (et la plus pénible à mon goût) : installer et paramétrer un firewall pour bloquer tous les ports et sockets que tu veux (iptables ou paraît-il plus facile : UFW). Mais là, je passe le relai, parce que je me suis souvent cassé les dents dessus !

Bon courage.

sylvain
Auteur

Merci, le ssh est deja fait.
mais j'ai quand meme d'autres tentatives.
je voudrais simplement bloquer une fois pour toute

Alors, va falloir activé les firewalls, installer fail2ban et le paramétrer scrupuleusement, et éventuellement tunnéliser certains accès (base de données, certains sockets, etc.)... Mais là, ça demande beaucoup d'efforts et de patience...
Il y a d'excellents liens sur ce topic, proposé par @caoua, que je te conseille vivement de consulter : http://www.grafikart.fr/forum/topics/17895?page=2