technique:infrastructure:machines_virtuelles:reseau_ssh

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
technique:infrastructure:machines_virtuelles:reseau_ssh [2020/09/29 20:42] qduchemitechnique:infrastructure:machines_virtuelles:reseau_ssh [2021/11/22 23:49] (Version actuelle) – supprimée qduchemi
Ligne 1: Ligne 1:
-{{indexmenu_n>20}} 
  
-# Configuration réseau et SSH 
- 
-Cette page suppose que vous avez accès à un shell sur une machine virtuelle nouvellement installée. 
- 
-## Configuration réseau 
- 
-Si jamais la configuration réseau semble être écrasée par une configuration IPv6, il est nécessaire de supprimer le paquet `rdnssd` qui fait du DNS discovery pour l'IPv6. Il casse la configuration IPv6 statique, on peut donc le supprimer. 
-``` 
-apt-get purge rdnssd 
-``` 
- 
-On modifie le fichier `/etc/resolv.conf` pour ajouter les serveurs DNS de Tetaneutral : 
- 
-``` 
-search picasoft.net 
-nameserver 91.224.148.10 
-nameserver 91.224.149.254 
-``` 
- 
-On édite le fichier `/etc/network/interfaces` pour indiquer au système que l'on souhaite configurer l'interface `eth0` à la main : 
- 
-```bash 
-source /etc/network/interfaces.d/* 
- 
-# The loopback network interface 
-auto lo 
-iface lo inet loopback 
- 
-# The primary network interface 
-auto eth0 
-allow-hotplug eth0 
-iface eth0 inet manual 
-``` 
- 
-Pour rappel, dans cette configuration, `eth0` de la VM est relié à une interface bridge de l'hôte, qui transmet les requêtes à la machine virtuelle. On suppose ici que l'IPv6 est fonctionnelle. 
-Sur Debian, il faudra éditer le fichier `/etc/rc.local` pour ajouter la configuration suivante : 
- 
-```bash 
-# On attend 3 secondes au boot pour être sûr d'avoir les interfaces réseau 
-sleep 3 
-  
-# Désactiver l'auto-configuration IPv6 pour permettre 
-# l'utilisation d'une adresse IPv6 statique 
-for i in /proc/sys/net/ipv6/conf/*; do \ 
-  for j in autoconf accept_ra; do echo 0 > $i/$j; done;done 
- 
-# On allume l'interface eth0 
-ip link set eth0 up 
-# IPv4 publique 
-ip addr add <IPv4> dev eth0 
-# On ajoute la route par défaut vers le routeur de Tetaneutral (à changer si autre FAI) 
-ip route add default via 91.224.148.0 dev eth0 onlink 
-# IPv6 publique 
-ip -6 addr add <IPv6> dev eth0 
-# Lien-local IPv6 : unique sur l'hôte 
-ip -6 addr add fe80::80:<XX>/64 dev eth0 
-# Passerelle IPv6 par défaut : lien-local statique du routeur Tetaneutral (à changer si autre FAI) 
-ip -6 route add default via fe80::31 dev eth0 
- 
-exit 0 
-``` 
- 
-Sur Alpine, il faudra [activer les scripts `local.d·`](https://unix.stackexchange.com/questions/442020/alpine-linux-run-a-startup-script-to-change-the-etc-issue) avec `rc-update add local default` et éditer le fichier `/etc/local.d/Network.start`. 
- 
-Attention, il faut remplacer `<IPv4>`, `<IPv6>` et `<XX>`. Ces valeurs sont à faire correspondre avec les routes déclarées sur l'hôte. Pour une VM chez Tetaneutral, on regardera sur la page de [[technique:infrastructure:hyperviseurs:tetaneutral:network|configuration réseau des machines physiques]]. 
- 
-On exécute le script : 
- 
-```bash 
-chmod +x /etc/rc.local 
-./etc/rc.local 
-``` 
- 
-À ce stade, on doit être en mesure de contacter la machine depuis l'extérieur, via un `ping` par exemple. 
- 
-## Configuration SSH 
- 
-S'assurer que le serveur SSH est installé. Dans `/etc/sshd_config`, on vérifie que la connexion par mot de passe pour `root` est **désactivée**, c'est-à-dire que la ligne commençant par `PermitRootLogin` est commentée. 
- 
-Aujourd'hui, on utilise un serveur LDAP pour les connexions aux machines virtuelles : se référer au [[technique:adminsys:ldap:installation|tutoriel de mise en place de l'authentification LDAP]]. 
- 
-## Création d'un firewall basique 
- 
-==== Firewall ==== 
- 
-Pour filtrer les accès au strict minimum sur les machines de Picasoft, on utilise un firewall. 
-Pour cela on utilise [ufw](https://doc.ubuntu-fr.org/ufw) qui est un firewall assez simple à utiliser.  
- 
-On commence par l'installer: 
- 
-```bash 
-apt-get install ufw 
-``` 
- 
-Sur la plupart des machines, l'idée va être d'autoriser uniquement les accès aux ports SSH, HTTP et HTTPS. On pourra ouvrir le port du socket Docker si nécessaire. Le reste est à ajouter en fonction des besoins. 
- 
-Les règles de base seront donc : 
- 
-```bash 
-# Autorisation du SSH 
-ufw allow in 22 
-# Autorisation de HTTP/S 
-ufw allow in 80 
-ufw allow in 443 
-# On ouvre la socket Docker sur le réseau 
-ufw allow in 2376 
-``` 
- 
-Enfin on définie une politique d'accès par défaut (fermé en entrée, ouvert en sortie) et on active `ufw`. 
- 
-```bash 
-ufw default deny 
-ufw default allow outgoing 
-ufw enable 
-``` 
- 
-La configuration est terminée, la machine est accessible via son IP publique et SSH, avec authentification LDAP. 
  • technique/infrastructure/machines_virtuelles/reseau_ssh.1601404966.txt.gz
  • de qduchemi