--- 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 ``` -