Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédenteDernière révisionLes deux révisions suivantes |
technique:infrastructure:machines_virtuelles:reseau_ssh [2020/09/29 20:07] – qduchemi | technique:infrastructure:machines_virtuelles:reseau_ssh [2021/11/22 22:49] – ↷ Liens modifiés en raison d'un déplacement. qduchemi |
---|
# Configuration réseau et SSH | # Configuration réseau et SSH |
| |
Cette page suppose que vous avez accès à un shell sur une machine virtuelle nouvellement installée. | <bootnote warning>Cette page suppose que vous avez accès à un shell sur une machine virtuelle nouvellement installée.</bootnote> |
| |
## Configuration réseau | ## Configuration réseau |
On édite le fichier `/etc/network/interfaces` pour indiquer au système que l'on souhaite configurer l'interface `eth0` à la main : | 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/* | source /etc/network/interfaces.d/* |
| |
| |
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. | 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. |
Dans le fichier `/etc/rc.local` nous devons ajouter la configuration suivante : | 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 | # On attend 3 secondes au boot pour être sûr d'avoir les interfaces réseau |
sleep 3 | sleep 3 |
``` | ``` |
| |
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]]. | 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`. |
| |
| <bootnote warning>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:old:alice_bob:network|configuration réseau des machines physiques]].</bootnote> |
| |
On exécute le script : | On exécute le script : |
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]]. | 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 | <bootnote critical>Il est préférable d'installer un [[technique:adminsys:secu:firewall|pare-feu basique]] et [[technique:adminsys:secu:fail2ban|fail2ban]].</bootnote> |
| |
==== 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: | |
``` | |
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 : | |
| |
``` | |
# 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`. | |
| |
``` | |
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. | La configuration est terminée, la machine est accessible via son IP publique et SSH, avec authentification LDAP. |