NeoSkills    Info Libre   Spip.net   spip-contrib    Web Hosting
upstairs

Stop Spam Harvesters, Join Project Honey Pot   
Le port knocking, utile pour sécuriser une connection ssh

utiliser et sécuriser votre serveur sshd

Le port knocking, utile pour sécuriser une connection ssh

pour ceux qui travaillent en direct sur leur site web en ssh

le lundi 19 septembre 2005


 
Popularité de l'article :
13%

Présentation d’une technique qui permet de sécuriser la connection ssh.

Libre traduction du texte
Port Knocking de Tom Eastep Copyright © 2005 Thomas M. Eastep

2005-06-26
Traduction de 2005-09-13 William Waisse

Qu’est ce que le Port Knocking ?

Le Port knocking est une technique qui permet de faire en sorte qu’une connection sur un port X autorise une connection à un port Y sur le meme serveur, à partir de la même adresse ip cliente.

Pour suivre cet exemple, n’hésitez pas à prendre comme référence cette configuration qui fait parie de cette documentation ( traduit aussi ci-dessous ).

Implémenter le Port Knocking avec shorewall :

Votre kernel et iptables doivent supporter l’extension ’recent match’ extension (voir http://www.shorewall.net/FAQ.htm#faq42 ).
Vous aurez aussi besoin d’un shorewall de version superieure à 2.2.0.

Exemple :

1. Une connection sur le port 1600 autorise un acces du même client au port ssh pendant 60 secondes.

2. Une connection au port 1601 rends impossible toute connection de ce client au port ssh.

Implémentation :

1. Ajouter une action SHKnock ( voir http://www.shorewall.net/Actions.html ).
Laisser le fichier action.SSHKnock vide.

2. Créez /etc/shorewall/SSHKnock avec le contenu suivant :

3. Dorénavant, si vous souhaitez protéger votre acces ssh en provenance d’internet sur votre serveur, ajoutez cette règle dans votre fichier /etc/shorewall/rules :

4. Pour utiliser le SSHKnock sur une connection qui utilise le Port Forwarding, vous devez utiliser shorewall 2.3.1 ou supérieure.

Pour forwarder le port port 22 de l’addresse 206.124.146.178 vers le reseau local 192.168.1.5. Il faut mettre dans /etc/shorewall/rules :

— 

Un reméde pour l’attaque courante du port ssh

Introduction

Si vous voyez dans vos logs des messages du genre :"Failed password for illegal user [username]", il est probablement temps de mettre en place une politique de sécurisation de votre port ssh.

Comment stopper les attaques ? tout en permettant à vos utilisateurs de se connecter sur le port ssh ? sans rendre la chose trop compliquée ?

* Garder le port 22 ferme, sauf quand c’est nécessaire
* Pouvoir facilement et simplement ouvrir le port 22 from à partir de nimporte où
* Utiliser un moyen difficilement contournable par les attaquants
* Utiliser une méthode élégante, sans rajouter de logiciels supllémentaires plus ou moins lourds.

La solution se comporterait ainsi en traduction shell :

Notez que les ports utilisés pour ouvrir et fermer le port 22 apparaissent comme fermés eux aussi.

Solution proposée :

le module "recent" dans iptables permet de détecter les acces suspects et peut aider à les bloquer ou à les détourner vers un honeypot ( un piège à crackers ;)

Ce qui suit est un fichier iptables utilisant ce système :

Exemple de logs d’attaques ssh :

— 

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation ; with no Invariant Sections, with no Front-Cover, and with no Back-Cover Texts. A copy of the license is included in the section entitled “GNU Free Documentation License”.



       

Mots-clés



Administration Linux

Sécurité Linux

Hébergement Linux

Veille technologique

iptables / shorewall


Linux

SSH

iptables

Shorewall