Compare commits

..

6 Commits

Author SHA1 Message Date
76e333eab8 ajout redaction procedure 2025-03-20 08:13:35 +01:00
4beaf6d108 remove allowuser 2024-10-04 12:27:20 +02:00
559c1d7ea8 switch to debian 2024-09-27 12:39:10 +02:00
8815709fea enonce 2022-06-28 11:52:58 +02:00
4c64360318 enonce 2022-06-28 11:45:34 +02:00
a74c3d2d29 mise au point enonce, ssh root ok depuis alpine 2020-10-05 11:35:06 +02:00
2 changed files with 50 additions and 65 deletions

View File

@@ -1,33 +0,0 @@
:Q
## Sur votre windows dans un terminal
ssh-keygen
scp -P #machine .ssh\.id_rsa.pub root@cours.opendoor.fr:
## Sur le container connecté en tant qu'utilisateur root
useradd -d -m /home/formation -G wheel formation
echo '123Soleil2020!!' | passwd --stdin formation
cd ~formation
mkdir -pm 0700 .ssh
cat id_rsa.pub >> .ssh/authorized_keys
curl https://infra.opendoor.fr/id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
cd ~root
mkdir -pm 0700 .ssh
cat id_rsa.pub >> .ssh/authorized_keys
curl https://infra.opendoor.fr/id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
sudo vim /etc/ssh/sshd_config
...
PermitRootLogin no
PasswordAuthentication no
...
Match Address 100.0.0.1
PermitRootLogin without-password
Match All
sudo systemctl restart sshd

View File

@@ -1,39 +1,57 @@
## Sur votre windows dans un terminal # TP SSH
```bash
ssh-keygen
scp -P #machine .ssh\.id_rsa.pub root@formation.opendoor.fr:
```
## Sur le container connecté en tant qu'utilisateur root ## Objectif
```bash Renforcer la sécurité des accès
useradd -d -m /home/formation -G wheel formation
echo '123Soleil2020!!' | passwd --stdin formation
cd ~formation
mkdir -pm 0700 .ssh
cat id_rsa.pub >> .ssh/authorized_keys
curl https://infra.opendoor.fr/id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
chown -R formation ~formation/.ssh
cd ~root ## Prérequis:
mkdir -pm 0700 .ssh
cat id_rsa.pub >> .ssh/authorized_keys
curl https://infra.opendoor.fr/id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
vim /etc/ssh/sshd_config Le compte formation doit avoir été créé (tp prise en main) et disposer d'un mot de passe
```
```bash
...
PermitRootLogin no
PasswordAuthentication no
...
Match Address 100.0.0.1
PermitRootLogin without-password
Match All
systemctl restart sshd ## Authentification par clé
``` On va faire en sorte que la connexion ssh en tant qu'utilisateur formation
se fasse par clé publique et non pas par mot de passe.
_sur votre machine_: utiliser la commande ssh-keygen (ou le programme puttygen) si votre windows n'est pas équipé d'un client ssh natif pour générer une paire de clé publique / clé privée.
_sur le container_: il faut rajouter la clé publique (le contenu du fichier id_rsa.pub se trouvant sur *votre* machine) dans le fichier *~formation/.ssh/authorized_keys*
Il sera peut-être nécessaire de créer le répertoire ~formation/.ssh
Attention au permissions: ce répertoire doit appartenir à formation et avoir les permissions 700 le fichier authorized_keys doit appartenir à formation et avoir les permissions 600
### Validation:
Garder votre connexion ssh active.
Ouvrez une nouvelle connexion ssh: on doit vous demander la passphrase protégeant votre clé privée, si vous en avez définie une.
Si on vous demande un mot de passe de connexion vous avez raté une étape.
## Renforcer la sécurité de ssh
Une fois que l'authentification par clé fonctionne, modifiez la configuration du serveur ssh ( fichier /etc/ssh/sshd_config, page de man sshd_config) pour:
* Directive PermitRootLogin: n'autoriser que les connexions en root sans mot de passe.
* Directives AllowGroups et AllowUser: n'autoriser que les membres des groupes et root wheel à se connecter ET l'utilisateur root depuis l'adresse 100.0.0.1
* Directives PasswordAuthentication: interdir l'authentification par mot de passe
### Validation:
Vous devez toujours pouvoir vous connecter en tant qu'utilisateur formation
La connexion en root doit être refusée
## Finalisation
Mettez au point au format md la procédure décrivant :
* la création d'une paire de clés
* les conséquences d'avoir une clé privée non protégée par une passphrase
* les étapes à réaliser pour que l'utilisateur puisse se connecter avec cette paire de clés sur une machine distante.
La procédure distinguera clairement sur quelle machine (client ou distante) chaque opération doit être faite.
Elle précisera les points de vigilance à avoir pour éviter toute erreur (et les pistes pour diagnostiquer et corriger ces erreurs)