Compare commits

..

4 Commits

Author SHA1 Message Date
c549d97884 solution 2022-06-28 11:41:49 +02:00
61a36a11c0 mise au point enonce 2022-06-28 11:39:34 +02:00
66c94e096b cleanup 2021-04-01 13:51:54 +02:00
779c76dbde mise au point 2021-03-29 18:28:22 +02:00
2 changed files with 65 additions and 54 deletions

33
Correction.md Normal file
View File

@@ -0,0 +1,33 @@
: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,61 +1,39 @@
# TP SSH
## Sur votre windows dans un terminal
```bash
ssh-keygen
scp -P #machine .ssh\.id_rsa.pub root@formation.opendoor.fr:
```
## Objectif
## Sur le container connecté en tant qu'utilisateur root
Renforcer la sécurité des accès
```bash
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
## Compte utilisateur dédié aux opération d'administration
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
Créer un compte utilisateur standard
- login: sub3
- répertoire personnel (doit exister) /home/sub3
- mot de passe: de votre choix ( -1 point à chaque demande de réinitialisation)
- membre du groupe _sudo_
vim /etc/ssh/sshd_config
```
```bash
...
PermitRootLogin no
PasswordAuthentication no
...
Match Address 100.0.0.1
PermitRootLogin without-password
Match All
## Authentification par clé
systemctl restart sshd
On va faire en sorte que la connexion ssh en tant qu'utilisateur sub3
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 *~sub3/.ssh/authorized_keys*
Il sera peut-être nécessaire de créer le répertoire ~sub3/.ssh
Attention au permissions: ce répertoire doit appartenir à sub3 et avoir les permissions 700 le fichier authorized_keys doit appartenir à sub3 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 : n'autoriser que les membres des groupes root et sudo à se connecter
* Directives PasswordAuthentication: interdir l'authentification par mot de passe
### Validation:
Vous devez toujours pouvoir vous connecter en tant qu'utilisateur sub3
La connexion en root doit être refusée
## Finalisation
Mettez au point au format md dans ~/sub3/ssh.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)
```