---
title: I4 TP Administration Linux
tags: ESIEE
---
# Interfaces Réseaux VM
| Interface | VM <-> VM | VM <-> Hôte | VM <-> Ext |
| -------- | -------- | -------- | ----- |
| Par pont (bridge) | Oui | Oui | Oui |
| Réseau privé hôte | Oui | Oui | Non |
| Réseau interne | Oui | Non | Non |
# Le pare-feu
- Logiciel : Pfsense (FreeBSD)
- Adresse IP : 10.10.1.254
- Passerelle : 192.168.103.70/22
/!\ La passerelle de LAN (10.10.1.254) est inscrite dans toutes les machines de LAN sauf dans le pare-feu (lui-même)
# Serveur DNS-DHCP
## DNS
2 fichiers en jeu:
- named.conf.local
- db.conf.local
Après modification:
- Relancer le service `sudo service bind9 restart`
- Vérifier qu'il n'y a pas d'erreur dans les fichiers de configuration `sudo service bind9 status`
Tester le service avec nslookup
```
$ nslookup
> server <ip-du-serveur-dns>
> nom-de-domaine-a-resoudre
```
Si OK: tester le ping sur le nom de domaine
- Si OK : Le DNS est opérationnel
- Sinon : Le "ping" ne trouve pas le serveur DNS => Netplan à modifier
Le netplan se situe à `/etc/netplan/XX-installer-config.yaml`
Une fois les modifications faites: `sudo netplan apply`
Exemple de netplan:
```
network:
ethernets:
enp0s3: // IP fixe
dhcp4: false // DHCP off
addresses:
- 10.10.1.202/24 // DHCP server
gateway4: 10.10.1.254
nameservers: // DNS
addresses: [10.10.1.201] // DNS server
```
# Serveur LDAP
LDAP est une base de donnée optimisée pour la lecture. Contrairement aux bases SQL, il y a de la redondance des données pour optimiser la lecture. En revanche, on a moins de sécurité notamment à cause de la redondance. En effet, si on modifie en entrée, il ne faut pas oublier de changer les informations redondantes.
Les bases LDAP se rapproche des bases de données NoSQL.
- Changer le nom d'hôte: `sudo hostname set-hostname <nouveau-nom>`
- Retirer le DHCP: `sudo apt purge isc-dhcp-server`
- Installer le packet *sldap*: `sudo apt install slapd ldap-utils`
- Configurer *sldap*: `sudo dpkg-reconfigure slapd`
- Omettre: Non
- Nom de domaine: grp10.grit.lab
- Nom d'entité: grp10.grit.lab
- Supprimer: Oui
- Déplacer: Oui
- Créer le mot de passe "secret": `sudo slappasswd`
- Créer le fichier de configuration `/etc/ldap/ldap.conf`
## Apache directory
Workbench -> (en bas à gauche) Nouvelle connexion
Nom d'hôte: Adresse IP du serveur LDAP
Port: 389
Bind DN: `cn=admin,dc=grp10,dc=grit,dc=lab`
pass: *Mot de passe de l'admin*
## Ajouter/Modifier la structure
*add_content.ldif*:
```
dn: ou=Users,dc=grp10,dc=grit,dc=lab
objectClass: organizationalUnit
ou: Users
dn: ou=Groups,dc=grp10,dc=grit,dc=lab
objectClass: organizationalUnit
ou: Groups
```
/!\ Ne pas oublier le saut de ligne entre les bloc sous peine d'erreur d'execution
Puis:
```
ldapadd -x -D cn=admin,dc=grp10,dc=grit,dc=lab -W -f add_content.ldif
```
On ne peut pas réexecuter la commande car les structures existent déjà. Il faudrait pour ca supprimer les structures pour les reconstruire.
## Utilisation
Installer le package:
```
sudo apt install ldapscripts
```
Configurer le script: */etc/ldapscripts/ldapscripts.conf*
```
SERVER="ldap://10.10.1.202"
SUFFIX="dc=grp10,dc=grit,dc=lab"
GSUFFIX="ou=Groups"
USUFFIX="ou=Users"
MSUFFIX="ou=Machines"
BINDDN="cn=admin,dc=grp10,dc=grit,dc=lab"
USHELL="/bin/bash"
UHOMES="/export/home/%u"
CREATEHOMES="yes"
HOMESKEL="/etc/skel"
HOMEPERMS="750"
```
Secrets: */etc/ldapscripts/ldapscripts.passwd*
Pour changer le mot de passe sans ajouter un retour à la ligne à la fin:
```
$ sudo bash -c 'echo -n "admin" > /etc/ldapscripts/ldapscripts.passwd'
```
Changer ses permissions:
```
$ sudo chmod 400 /etc/ldapscripts/ldapscripts.passwd
```
Rappel des permissions:
![](https://i.imgur.com/dishFSB.png)
## Certificat
**Rappel pour le clonage**
- Je clone une machine => Mauvaise addresse IP
- J'utilise le netplan pour changer *définitivement* l'IP
- `sudo nano /etc/netplan/XX-installer-config.yaml`
- Je repère les IP (machine + gateway + dns) à changer => Je les changes
- J'enregistre
- Appliquer les changements: `sudo netplan apply`
- Je vérifie: `ip -br a`
Exemple de netplan en mode DHCP:
```
network:
ethernets:
ens0p3:
dhcp4: true
version: 2
```
### Configuration Serveur
Lien [Site Web](https://ubuntu.com/server/docs/service-ldap-with-tls)
- `sudo apt install gnutls-bin ssl-cert`
- Clé privée:
```
sudo certtool --generate-privkey \
--bits 4096 --outfile \
/etc/ssl/private/mycakey.pem
```
- Template pour l'Authorité de Certification (CA): `/etc/ssl/ca.info`
```
cn = Example Company
ca
cert_signing_key
expiration_days = 3650
```
- Création d'un certificat self-signé:
```
sudo certtool --generate-self-signed \
--load-privkey /etc/ssl/private/mycakey.pem \
--template /etc/ssl/ca.info \
--outfile /usr/local/share/ca-certificates/mycacert.crt
```
- Ajout du certificat au système:
```
sudo update-ca-certificates
```
- Création de la clé privée:
```
sudo certtool --generate-privkey \
--bits 2048 \
--outfile /etc/ldap/ldap01_slapd_key.pem
```
- Template du certificat LDAP
```
organization = grp10 GRIT
cn = ldap.grp10.grit.lab
tls_www_server
encryption_key
signing_key
expiration_days = 365
```
- Génération du certificat
```
sudo certtool --generate-certificate \
--load-privkey /etc/ldap/ldap01_slapd_key.pem \
--load-ca-certificate /etc/ssl/certs/mycacert.pem \
--load-ca-privkey /etc/ssl/private/mycakey.pem \
--template /etc/ssl/ldap01.info \
--outfile /etc/ldap/ldap01_slapd_cert.pem
```
- Mise à jour des permissions de la clé
```
sudo chgrp openldap /etc/ldap/ldap01_slapd_key.pem
sudo chmod 0640 /etc/ldap/ldap01_slapd_key.pem
```
- Ajout du fichier de configuration TLS (l'emplacement du fichier n'a pas d'importance):
```
dn: cn=config
add: olcTLSCACertificateFile
olcTLSCACertificateFile: /etc/ssl/certs/mycacert.pem
-
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ldap/ldap01_slapd_cert.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ldap/ldap01_slapd_key.pem
```
### Configuration Client
[Documentation Ubuntu](https://ubuntu.com/server/docs/service-sssd)
- Installation des packets:
```
sudo apt install sssd-ad sssd-tools realmd adcli
```
-