Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| port-knocking [Le 31/01/2008, 06:20] – VinsS | port-knocking [Le 27/11/2023, 14:39] (Version actuelle) – [Liens] Le site Portknoking a changé de propriétaire 86.107.127.8 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag> | + | {{tag> |
| ---- | ---- | ||
| - | |||
| - | < | ||
| ====== Port Knocking : sécuriser l' | ====== Port Knocking : sécuriser l' | ||
| Ligne 13: | Ligne 11: | ||
| En résumé, **le port knocking est donc une méthode simple pour autoriser un accès distant sur un port non constamment ouvert**. Cela permet d' | En résumé, **le port knocking est donc une méthode simple pour autoriser un accès distant sur un port non constamment ouvert**. Cela permet d' | ||
| - | La méthode de port-knocking est considérée comme sécurisée étant donné qu' | + | La méthode de port-knocking est considérée comme sécurisée étant donné qu' |
| ===== Pré-requis ===== | ===== Pré-requis ===== | ||
| - | Pour la suite des opérations, | + | Pour la suite des opérations, |
| * Disposer des [[: | * Disposer des [[: | ||
| * Disposer d'une connexion à Internet configurée et activée pour télécharger le logiciel ; | * Disposer d'une connexion à Internet configurée et activée pour télécharger le logiciel ; | ||
| Ligne 24: | Ligne 22: | ||
| - | ===== Paramétrage du serveur | + | |
| + | ===== Paramétrage du serveur ==== | ||
| Le serveur doit donc avoir un pare-feu et exécuter le service //knockd//. Le service est donc en écoute d'une séquence spécifique (suite de ports associés a un protocole TCP ou UDP). Si la séquence est correcte, alors une commande est exécutée. Généralement, | Le serveur doit donc avoir un pare-feu et exécuter le service //knockd//. Le service est donc en écoute d'une séquence spécifique (suite de ports associés a un protocole TCP ou UDP). Si la séquence est correcte, alors une commande est exécutée. Généralement, | ||
| - | La configuration du serveur est très simple puisqu' | + | La configuration du serveur est très simple puisqu' |
| Après avoir installé le paquet, [[: | Après avoir installé le paquet, [[: | ||
| Deux approches vont être présentées : | Deux approches vont être présentées : | ||
| - | * la première est destinée aux connections | + | * la première est destinée aux connexions |
| * la seconde méthode à celles qui doivent l' | * la seconde méthode à celles qui doivent l' | ||
| Ligne 59: | Ligne 58: | ||
| </ | </ | ||
| - | Explications : | + | Explications : |
| * **sequence** : la combinaison à matcher pour effectuer la ' | * **sequence** : la combinaison à matcher pour effectuer la ' | ||
| * **seq_timeout** : le temps en secondes pendant lequel la combinaison doit être effectuée, après quoi elle est annulée, et il faut recommencer la séquence depuis le début. | * **seq_timeout** : le temps en secondes pendant lequel la combinaison doit être effectuée, après quoi elle est annulée, et il faut recommencer la séquence depuis le début. | ||
| Ligne 65: | Ligne 64: | ||
| * **tcpflags** : met en évidence les flags devant être positionnés dans les paquets reçus pour que le port soit pris en compte. Si une erreur survient, il faut recommencer le tout. | * **tcpflags** : met en évidence les flags devant être positionnés dans les paquets reçus pour que le port soit pris en compte. Si une erreur survient, il faut recommencer le tout. | ||
| - | Nous avons donc définis | + | Nous avons donc défini |
| * **openHTTP** ouvre le port HTTP 80 si la séquence de ports 7000, 8000 et 9000 a été exécutée | * **openHTTP** ouvre le port HTTP 80 si la séquence de ports 7000, 8000 et 9000 a été exécutée | ||
| * **closeHTTP** ferme le port HTTP 80 si la séquence de ports 9000, 8000 et 7000 a été exécutée | * **closeHTTP** ferme le port HTTP 80 si la séquence de ports 9000, 8000 et 7000 a été exécutée | ||
| - | Il est possible de préciser le protocole " | + | Il est possible de préciser le protocole " |
| < | < | ||
| + | |||
| Ligne 92: | Ligne 92: | ||
| Il est recommandé de n' | Il est recommandé de n' | ||
| - | Si un utilisateurs « frappe » dans l' | + | FIXME : Cette règle n'est pas présente par défaut ; il faudrait préciser comment la renseigner. (http:// |
| + | |||
| + | Si un utilisateurs « frappe » dans l' | ||
| Ligne 98: | Ligne 100: | ||
| Le site officiel du projet knockd (et le fichier de configuration installé par défaut) fait référence à la règle iptables **-A**. Comme vous pouvez le voir, nous utiliserons à la place **-I** pour insérer la règle au début du pare-feu (sinon la règle avec -A ne produit aucun effet puisqu' | Le site officiel du projet knockd (et le fichier de configuration installé par défaut) fait référence à la règle iptables **-A**. Comme vous pouvez le voir, nous utiliserons à la place **-I** pour insérer la règle au début du pare-feu (sinon la règle avec -A ne produit aucun effet puisqu' | ||
| + | |||
| + | FIXME : Tout dépend de la règle par defaut, si la décision est drop le -A fonctionnera, | ||
| Changez impérativement la séquence d' | Changez impérativement la séquence d' | ||
| - | * d' | + | * d' |
| * de mélanger pour chaque port les protocoles TCP et UDP | * de mélanger pour chaque port les protocoles TCP et UDP | ||
| Ligne 119: | Ligne 123: | ||
| Pour initier une séquence sur les différents ports, vous pouvez utiliser le client de votre choix, comme **telnet** ou le 'swiss army knife' **nc**... | Pour initier une séquence sur les différents ports, vous pouvez utiliser le client de votre choix, comme **telnet** ou le 'swiss army knife' **nc**... | ||
| - | Ou bien utiliser un logiciel client spécifique au port-knocking comme //knock//, après avoir [[: | + | Ou bien utiliser un logiciel client spécifique au port-knocking comme //knock//, après avoir [[: |
| Pour l' | Pour l' | ||
| Ligne 134: | Ligne 138: | ||
| ===== Liens ===== | ===== Liens ===== | ||
| - | * [[http:// | + | * [[https:// |
| * [[wpfr> | * [[wpfr> | ||
| * [[http:// | * [[http:// | ||
| + | * [[https:// | ||
