Essentielle

DNS

DNS

Mise en place d’un résolveur DNS local

Le réseau contient un serveur DNS local.

screne
(schéma réseau avec DNS)

Installer bind9 avec apt-get install bind9.

Configurer le fichier /etc/bind/named.conf.options.
Activer la récursivité.
Ajouter allow-recursion et listen-on.
Ajouter un forwarder 8.8.8.8.

bien enlever les commentaire pour les forwarder

named.conf.options.png

https://sioaubusson.fr/books/essentielle/page/dhcp-sur-serveur-dns-debian-12

Le cache DNS accélère les requêtes suivantes.


Mise en place d’une zone DNS

Modifier le fichier /etc/bind/named.conf.local.
Ajouter une zone DNS.

named.conf.local.png

Créer le fichier db.gchauquet.sio.jja à partir de db.local.

db.gsb.sio.jja.png

Associer le domaine à l’IP du DNS.
Configurer le serveur NS.
Ajouter le serveur LAMP.
Créer un sous-domaine test.



Zones DNS inversées

Ajouter une zone inversée dans named.conf.local.

screne
(zone in-addr.arpa ajoutée)

Créer le fichier rev.gchauquet.sio.jja.
Ajouter un enregistrement PTR.

db.gsb.sio.jja reverse.png

Redémarrer bind9 pour appliquer.

Vérifier avec named-checkzone et named-checkconf.


Sécurisation du DNS

Configurer une ACL dans named.conf.options.

screne
(fichier avec ACL)

Autoriser les requêtes avec allow-query.
Autoriser la récursivité avec allow-recursion.

screne
(configuration finale sécurisée)

Connection de base

Chemin du fichier  :

/etc/network

puis

nano interfaces 

interfaces.png

3 ligne : 

address : l'adresse de la machine 

gatway : la paserelle du réseau/ du vlan

dns-server = opbtionelle mais c le dns

SI probléme avec le dns 

Aller dans le fichier resolv.conf a la positition /etc/ 

chemin resolv.conf.png

Si il n'existe pas crée le avec nano

et mettre le nom du dns dans le fichier comme ceci 

fichier resolv.conf.png

 

 

 

 

 

LAP

LAMP

Mise en place d’un serveur apache2

Installer apache2 avec la commande apt install apache2.
Les fichiers de configuration sont dans /etc/apache2/.
Les sites web sont dans /var/www/html/.

Démarrer ou gérer le service avec systemctl start apache2

Installer PHP avec apt install php.

La page de base d'apache avec l'ip de la machine et celle ci :

image.png


Mise en place de vhosts

Un vhost permet d’avoir plusieurs sites sur une seule machine.

Les fichiers sont dans /etc/apache2/sites-available/.

(exemple de vhost)

image.png

Ajouter un enregistrement DNS pour le domaine.

Activer le site avec a2ensite exemple.conf.


Mise en place de certificat

Le SSL permet de sécuriser les échanges entre client et serveur.

Ci dessous mise en place d'un auto signé, pour un signé par autorité de certif : 

https://sioaubusson.fr/books/essentielle/page/certification

Génération d’un certificat auto-signé

Créer un certificat avec openssl.

screne
(commande openssl dans le terminal)

Les fichiers sont créés dans /etc/ssl/.

Copier le fichier SSL avec cp default-ssl.conf test-ssl.conf.

screne
(fichier test-ssl.conf ouvert)

Ajouter une redirection HTTP vers HTTPS.
Configurer ServerName et DocumentRoot.
Configurer les chemins des certificats.

screne
(fichier avec SSLCertificateFile et Key)

Activer SSL avec a2enmod ssl.
Activer le site avec a2ensite test-ssl.conf.
Recharger apache.

screne
(terminal avec activation SSL)

Accéder au site en HTTPS.

screne
(site sécurisé affiché dans navigateur)

BDD Maria-DB

Pour la mise en place d'une BDD il faut faire les commande suivant : 

Commandes :

Configuration MariaDB :

Réponses :

Par la suite et pour une utilisation a disance il faut 

Aller ici : 

Chemin fichier autorisation BDD.png

puis une fois dans le fichier aller a la ligne bind-address et mettre 0.0.0.0

Fichier autorisation BDD.png

OPNsense = Installation

Installation d’OPNsense

Démarrer la VM OPNsense et attendre l’écran de connexion.

(console avec demande de login root)

Se connecter avec 

login : installer

MDP : opnsense

Choisir la langue du clavier.

1er truc install.png

Sélectionner Install ZFS.

2éme installation.png

Choisir sans RAID puis le disque.

étape 3 installation.png

étape 4 Installation.png

Lancer l’installation.

étape 5 installation.png

étape 6 installation.png

étape 8 installation.png

étpae 7 installation.png


(écran choix disque et progression installation)

Changer le mot de passe root en caribou.
Terminer puis redémarrer.


Paserelle

# Documentation : Mise en place d’une passerelle réseau sous Debian 12

## 1. Définition

Une passerelle réseau permet de relier plusieurs réseaux entre eux et de donner un accès Internet aux machines d’un réseau local.

Sous Debian 12, une machine peut être configurée comme routeur/passerelle grâce au routage IP et au NAT.

--------------------------------------------------

## 2. Prérequis

- Une machine sous Debian 12
- Deux interfaces réseau :
  - eth0 = accès Internet
  - eth1 = réseau local
- Accès root ou sudo

Exemple :

eth0 → Internet
eth1 → Réseau local : 192.168.1.1/24

--------------------------------------------------

## 3. Configuration des interfaces réseau

Modifier le fichier :

nano /etc/network/interfaces

Exemple de configuration :

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
    address 192.168.1.1
    netmask 255.255.255.0

Redémarrer le réseau :

systemctl restart networking

--------------------------------------------------

## 4. Activation du routage IP

Modifier le fichier :

nano /etc/sysctl.conf

Ajouter ou décommenter :

net.ipv4.ip_forward=1

Appliquer la configuration :

sysctl -p

--------------------------------------------------

## 5. Configuration du NAT avec iptables

Mettre à jour les paquets :

apt update

Installer iptables :

apt install iptables -y

Ajouter la règle NAT :

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Autoriser le transfert des paquets :

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

--------------------------------------------------

## 6. Sauvegarde des règles

Installer le service de sauvegarde :

apt install iptables-persistent -y

Sauvegarder les règles :

iptables-save > /etc/iptables/rules.v4

--------------------------------------------------

## 7. Configuration des postes clients

Configurer sur les postes :

Adresse IP : 192.168.1.X
Masque : 255.255.255.0
Passerelle : 192.168.1.1
DNS : 8.8.8.8

--------------------------------------------------

## 8. Vérifications

Tester la connexion Internet :

ping 8.8.8.8

Tester la résolution DNS :

ping google.com

Vérifier les interfaces :

ip a

Vérifier les routes :

ip route

--------------------------------------------------

## 9. Résultat

La machine Debian agit maintenant comme passerelle réseau :

- partage de connexion Internet ;
- routage entre réseaux ;
- NAT activé ;
- gestion possible du filtrage réseau avec iptables.

OPNSENSE = IP vlan etc

Configuration des interfaces réseaux

Se connecter en root après redémarrage.
Taper 1 pour assigner les interfaces.
Ne pas configurer de LAGG.
Créer des VLANs.

1er étape vlan IP.png

Utiliser vtnet1 comme interface parent.

2éme étape vlan ip.png


Créer VLAN 2, 3 et 4. Puis une fois que toute les Vlan sont mise , faire entré 

3éme étape vlanIP  ( num vlan).png


Mettre WAN sur vtnet0.

4éme étape vlanIP.png


Mettre LAN sur vtnet1

5éme étape vlanip.png

Puis mettre LAN sur vtnet1_vlan2 Faut faire cela pour chaque vlan 

6éme étape vlanIp.png

Puis quand on a terminer on ne met rien on tape entré , aprés on vois les différente vlan puis on proceed 

7éme étape vlanIP.png

On peut désormais les voir aparaitre ici : 

8éme étape vlanip ( juste voir).png

Maintenant il vas faloire appliquer les ip au vlan : 

On vas dans 2 ( set interface ip @

9éme étape vlanIP.png

On répond non au ipv4 dhcp : 

10éme étape vlanIP.png

Iic et maintenant il est demandé de configuré OPT1 ( qui correspond a la vlan 2 précédament crée)

On indique donc une IP

11éme étape vlanIP.png

Puis un masque : 

12éme étape vlanIP..png

Il faut faire cela pour toute les vlan ou bien accédé comment on vas le voir plus tard a l'interface grahpique ou l'on pourrais aussi mettre les ip. 

Puis on répond non au 6 question suit 

13éme étape vlanIP..png

14éme étape vlanIP.png

15éme étape vlanIP.png

Et voila l'IP est mise en place : 

16éme étape vlan1P.png


Accès à l’interface web

Ajouter VMBR24x sur la VM Fedora dans Proxmox.
Configurer le bon VLAN tag.
Mettre une IP manuelle sur Fedora.
Accéder à 192.168.1.1 avec un navigateur.

image.png

Configuration des VLANs

Aller dans Interfaces.
Configurer chaque interface.
Définir description, IP statique et passerelle.

image.png

image.png


Configuration DHCP

Aller dans Services puis Kea DHCPv4.
Activer le service DHCP.

image.png

image.png


Sélectionner le VLAN clients.

image.png

Créer un sous-réseau.
Mettre 192.168.10.64/26.
Définir la plage 192.168.10.65 à 192.168.10.99.

screne
(configuration pool DHCP)

Désactiver l’automatique et ajouter DNS et passerelle.


Règles de pare-feu

Aller dans Pare-feu puis Règles.
Choisir une interface.
Créer une règle pour autoriser le trafic.

Picture.png

(exemple de régle)

Appliquer les modifications.


Proxy web (incomplet)

Assurez-vous d'installer os-squid via Système ‣ firmware ‣ Plugins afin d'utiliser le proxy Web. Depuis OPNsense 24.1, le proxy n'est plus inclus dans l'installation par défaut.

image.png

image.png

Aller dans Système puis Firmware puis Greffons.

image.png

Pour mettre en place un proxy transparant il faut :

Tout d’abord aller dans system : trust : authorities

embedded-image-qazufadj.png

Mise en place d'un proxy transparent 


 Aprés je suis aller dans mon proxy (service, proxy : administration) et j’ai activer enable proxy puis j’ai fait apply :

embedded-image-ryoc31nf.png

Par la suite je suis allé dans Forward Proxy puis j’ai coché « enable transparent HTTP proxy ».

embedded-image-kpmnogtd.png

Par la suite j’ai cliquer sur le « 1 » collé a enable tran... Et j’ai cliqué sur add nex firewall rule.

Arriver sur la page j’ai cliqué sur save dirrectement sans changer les paramétre de base.

embedded-image-spfzziep.png

embedded-image-pqatouae.png

Et j’arive sur cette page :

embedded-image-hlfjkivl.png

Par la suite je suis retourné dans squid (dans forward)
 J’ai coché l’obtion ssl puis j’ai appliqué

embedded-image-4s9ymz2x.png

Et j’arive sur cette page :

embedded-image-gvyd0e1y.png

Donc sa donne ça :
 embedded-image-v7l9vrew.png

Puis :


 

J’ai tout re vérifier :

Page proxy générale :

embedded-image-yxwtkbtj.png

Forward proxy :

embedded-image-hht3mw0o.png

NAT : embedded-image-57fhmlla.png

Regle du parefeux admin   :

embedded-image-72aqk0le.png

 

 

Configuration du WAN 

mettre ip fixe dans un réseau au part avant configuré 

Ne pas oublié de crée dans l'interface graphique d'opn une gateway 

image.png

DHCP ( sur serveur dns debian 12)

Installation du serveur DHCP KEA

sudo apt-get update
sudo apt-get install kea-dhcp4-server -y

Relever l'interface ( ici ens19) avec ip a 

Nous allons partir sur un fichier de configuration vierge, car le fichier d'origine contient beaucoup d'informations. Nous allons renommer le fichier de configuration par défaut, car il peut être utile afin d'avoir un exemple :

sudo mv /etc/kea/kea-dhcp4.conf /etc/kea/kea-dhcp4.conf.bkp

Puis, créez et éditez le fichier de configuration du serveur DHCP via cette commande :

sudo nano /etc/kea/kea-dhcp4.conf

Dans ce fichier, vous devez commencer par indiquer les lignes spécifiées ci-dessous.

Attention : il est déconseillé d'utiliser des commentaires dans un fichier JSON (cela peut être à l'origine de certains problèmes), donc supprimez les lignes commençant par "//", elles sont là uniquement pour vous aider.

{
 "Dhcp4": {
    // Interface réseau sur laquelle le service DHCP doit être en écoute
    "interfaces-config": {
        "interfaces": [ "ens19" ]
    },

    // Durée des baux DHCP (bail de 8 jours, renouvelable à partir de 4 jours, pas néssésaire d'y toucher)
    "valid-lifetime": 691200,
    "renew-timer": 345600,
    "rebind-timer": 604800,

    // Serveur DHCP principal sur ce réseau local
    "authoritative": true,

    // Configuration de la base des baux DHCP
    "lease-database": {
        "type": "memfile",
        "persist": true,
        "name": "/var/lib/kea/kea-leases4.csv",
        "lfc-interval": 3600
    },
     "subnet4": [
        {
            "subnet": "192.168.130.0/24",
            "pools": [ { "pool": "192.168.130.10 - 192.168.130.50" } ],
            "option-data": [
                {
                    "name": "domain-name-servers",
                    "data": "192.168.100.2"
                },
                {
                    "name": "domain-search",
                    "data": "gsb.sio.jja"
                },
                {
                    "name": "routers",
                    "data": "192.168.130.1"
                }
            ]
        }
    ]
 }
}

Quand la configuration est prête, enregistrez le fichier et relancez le service du serveur DHCP :

sudo systemctl restart kea-dhcp4-server.service

Si le serveur DHCP ne démarre pas, vérifiez les journaux. Vous pouvez utiliser cette commande :

sudo journalctl -xe | grep -e kea

Une erreur de saisie ou de syntaxe est vite arrivée... Donc, vous n'êtes pas à l'abri de voir une erreur telle que celle-ci :

DHCP4_INIT_FAIL failed to initialize Kea server: configuration error using file '/etc/kea/kea-dhcp4.conf': /etc/kea/kea-dhcp4.conf:2.1-7: syntax error

Configurer le relais DHCP sur opnsense

  1. Toujours dans Services > DHCP Relay, descends à la section Relays.
  2. Clique sur le bouton + (Add).
  3. Remplis les champs comme suit :
    • Enabled : Coché (✅)
    • Interface : Sélectionne l'interface de tes clients (ex: Client qui correspond au VLAN 14)
    • Destination : Sélectionne la destination créée précédemment (Kea_DNS)
    • Agent Information : Décoché (sauf besoin spécifique)
  4. Clique sur Save.

image.png

Configurer le relais DHCP sur L3 :

ip dhcp relay address <ip du serveur DHCP>

Certification

Documentation — Mise en place de Certbot avec Let's Encrypt

Présentation

Certbot est un client ACME permettant d'obtenir et de renouveler automatiquement des certificats SSL/TLS délivrés par Let's Encrypt, une autorité de certification gratuite et reconnue par tous les navigateurs modernes.

Certbot remplace avantageusement les certificats auto-signés (OpenSSL) en offrant une reconnaissance universelle sans avertissement de sécurité.


Prérequis


Installation

sudo apt update
sudo apt install certbot python3-certbot-apache -y

Pour Nginx, remplacer python3-certbot-apache par python3-certbot-nginx.


Génération du certificat

Avec Apache (configuration automatique)

sudo certbot --apache -d mondomaine.fr

Avec Nginx (configuration automatique)

sudo certbot --nginx -d mondomaine.fr

Sans serveur web (autres services)

sudo certbot certonly --standalone -d mondomaine.fr

Le port 80 doit être libre au moment de la commande.

Via validation DNS (serveur sans IP publique)

sudo certbot certonly --manual --preferred-challenges dns -d mondomaine.fr

Certbot demandera d'ajouter un enregistrement TXT dans la zone DNS du domaine pour prouver sa propriété.


Fichiers générés

Les certificats sont stockés dans /etc/letsencrypt/live/mondomaine.fr/ :

Fichier Rôle
fullchain.pem Certificat complet (à utiliser côté serveur)
privkey.pem Clé privée associée

Ces fichiers peuvent être utilisés par n'importe quel service (Proxmox, Gitea, BookStack, etc.) en les référençant dans leur configuration respective.


Renouvellement

Les certificats Let's Encrypt ont une durée de validité de 90 jours.

Certbot configure automatiquement un renouvellement périodique via un timer systemd. Pour vérifier que le renouvellement automatique fonctionne correctement :

sudo certbot renew --dry-run

Pour forcer un renouvellement manuel :

sudo certbot renew

Vérification

Après la génération, vérifier qu'Apache écoute bien sur le port 443 :

sudo ss -tlnp | grep 443

Vérifier également la date d'expiration du certificat :

sudo certbot certificates

Compatibilité

Certbot fonctionne sur tout type de machine Linux :

La seule contrainte reste la validation du domaine : Let's Encrypt doit pouvoir vérifier la propriété du domaine, soit via HTTP (port 80), soit via DNS.


Récapitulatif des commandes utiles

Action Commande
Installer Certbot sudo apt install certbot python3-certbot-apache -y
Générer un certificat (Apache) sudo certbot --apache -d mondomaine.fr
Générer un certificat (standalone) sudo certbot certonly --standalone -d mondomaine.fr
Tester le renouvellement auto sudo certbot renew --dry-run
Lister les certificats sudo certbot certificates
Renouveler manuellement sudo certbot renew