diff --git a/NetHub.mpp b/docs/NetHub.mpp similarity index 100% rename from NetHub.mpp rename to docs/NetHub.mpp diff --git a/docs/imgs/bind9.jpg b/docs/imgs/bind9.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c1ec9d2b7acc37b268db4887757dffe856354fdc Binary files /dev/null and b/docs/imgs/bind9.jpg differ diff --git a/docs/imgs/firewall.png b/docs/imgs/firewall.png new file mode 100644 index 0000000000000000000000000000000000000000..23242247ed93be3075ddfee5abee47143131b093 Binary files /dev/null and b/docs/imgs/firewall.png differ diff --git a/docs/imgs/git.png b/docs/imgs/git.png new file mode 100644 index 0000000000000000000000000000000000000000..d17fce307edaa7b25126f93763fe8506eb2c7c2b Binary files /dev/null and b/docs/imgs/git.png differ diff --git a/docs/imgs/isc.jpg b/docs/imgs/isc.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6942c9384930361e4d2d01c02b61fdbc2fda1898 Binary files /dev/null and b/docs/imgs/isc.jpg differ diff --git a/docs/imgs/mail.png b/docs/imgs/mail.png new file mode 100644 index 0000000000000000000000000000000000000000..004d971ccd2eb89db11dc0a6bcd328cbe60ed0b0 Binary files /dev/null and b/docs/imgs/mail.png differ diff --git a/docs/imgs/router.png b/docs/imgs/router.png new file mode 100644 index 0000000000000000000000000000000000000000..8f3c4e173b89fd25b522d2971e044b9361b7f4a0 Binary files /dev/null and b/docs/imgs/router.png differ diff --git a/docs/imgs/schema.png b/docs/imgs/schema.png new file mode 100644 index 0000000000000000000000000000000000000000..b807f9a0808cbb8baefb38a2177aa02532c85aa3 Binary files /dev/null and b/docs/imgs/schema.png differ diff --git a/docs/imgs/switch.png b/docs/imgs/switch.png new file mode 100644 index 0000000000000000000000000000000000000000..7bba90a8422aae19ac88b447fc11222804319786 Binary files /dev/null and b/docs/imgs/switch.png differ diff --git a/procedure.md b/docs/procedure.md similarity index 100% rename from procedure.md rename to docs/procedure.md diff --git a/docs/rdp.md b/docs/rdp.md new file mode 100644 index 0000000000000000000000000000000000000000..bf973c45975ca4d4af975a3c1cc511577cddcf5c --- /dev/null +++ b/docs/rdp.md @@ -0,0 +1,757 @@ + +| Projet Nethub | +|-----------------------------------| +| Création d'un Réseau d'Entreprise | +| Superviseur | +| Yvan Peter | + +CHANGER PLANNING CONFIG PAREFEU DNS DHCP WEB +COCNLUSION + +# Remerciements + +Nous tenons à d'abord remercier : + +- **Yvan Peter** et **Michael Hauspie** : Pour avoir aider et conseiller l'ensemble des équipes. + +- **L'IUT A de Lille** : Pour nous avoir fourni le matériel permettant la réalisation du projet. + +# Présentation du Projet + +## Introduction + +L’objectif du projet est de mettre en place une infrastructure d’entreprise ayant les caractéristiques suivantes : + +— Le réseau comporte une partie publique accessible de l’extérieur (i.e., les autres groupes) et une partie privée pour les machines utilisateurs. + +— Chaque groupe hébergera un serveur Web accessible aux autres groupes. + +— Les utilisateurs pourront s’échanger des mails y compris d’un groupe à l’autre. + +— La partie privée sera sécurisé par un PC sous linux. + +— Les adresses de la partie privée seront en adressage privé et ne devront pas être visible à +l’extérieur. + +— Les machines de la partie privée appartiennent soit au département comptabilité soit au département production. Les flux de ces différents départements devront être séparés pour assurer la qualité de service du réseau. Toutefois, une communication entre les machines des deux départements doit rester possible. + +— De manière à faciliter la vie de l’administrateur et des utilisateurs, les machines utilisateur seront configurées dynamiquement. Les différentes machines utilisateurs ainsi que les serveurs pourront être désignés par un nom. + +Si l’ensemble de ces éléments a pu être mis en œuvre avant la fin du projet, on pourra mettre en place les éléments suivants : + +— Fournir l’ensemble des services en IPv4 et en IPv6 + +— Offrir un accès sécurisé depuis un réseau extérieur (VPN). + +— Offrir aux utilisateurs un accès Wifi. Le flux correspondant sera séparé des autres flux et permettra uniquement le flux HTTP. + +Chaque groupe désignera un membre chargé de la mise en œuvre de l’infrastructure commune permettant de relier les différentes entreprises. + + +# Suivi du projet + +## Outils de gestion du projet + +### Git + +<img src="imgs/git.png" alt="drawing" width="200"/> + +GitLab est une plateforme de développement collaborative open source. Elle permet de publier des dépôts de code source et de gérer leurs différentes versions. + +Afin de gérer les différentes versions de nos fichiers et l'avancement du projet, nous avons créer un dépot Git pour chaque groupe et lui avons donné un nom d'entreprise fictif pour rester dans le thème du projet. + +Pour y accéder et modifier depuis chez nous, nous avons installer Git Bash. + +Voici les commandes Git les plus utilisées en général : + +| Commande | But | +|--------------------------------------------------|-------------------------------------------------------------| +| git clone "link" | Clonage du dépot distant en local | +| git add "file" | Ajout d'un fichier au dépot local | +| git commit -m "msg" | Attestation des changements au dépot | +| git push | Chargement du dépot local au dépot distant | + +### Markdown + +C'est un langage de balisage simple qui nous permet d'écrire des rapports et/ou procédures. C'est ce que nous utilisons. + +### MSProject + +Microsoft Project est un logiciel de gestion de projets édité par Microsoft. Il nous permet de planifier le projet ainsi que d'analyser et communiquer les données des projets. Nous utilisons la version présente à la faculté. + +### Draw.io + +<https://app.diagrams.net/> + +Un outil gratuit nous permettant de facilement créer des diagrammes, schémas et autres dessins importants. + +## Rapport Hebdomadaire + +### Semaine 1 + +- Création de Machines Virtuelles pour faire des tests +- Analyse du cahier des charges +- Recherches sur les différents services disponibles + +### Semaine 2 + +- Commencement du projet sur Packet Tracer car la salle n'était pas disponible +- Adressage IP du réseau (PT) +- Architecture du réseau en fonction des besoins (PT) + +### Semaine 3 + +- Création du DHCP sur le Routeur (PT) +- Création de VLANs dans le Switch (PT) +- Création du mail dans le serveur (PT) +- Création du DNS dans le serveur (PT) +- Création du NAT pour le serveur (PT) +- Création du réseau du Groupe 2 en parallèle avec celui du Groupe 1 pour faire des tests inter-réseaux (PT) + +### Semaine 4 + +- Installation isc-dhcp-server +- Installation apache +- Importation et adaptation des configs Routeur et Switch créées sur PT vers le matériel réel + +### Semaine 5 + +- Création du Repository Git +- Créations de VM Clientes sur Debian (avec interfaces graphiques) + +### Semaine 6 + +- Ré-adressage IP +- Test du fonctionnement du DHCP inter-VLANs +- Tentative d'installation du DNS (bind9) + +### Semaine 7 + +- Continuation du Packet Tracer (Confinement) +- Installation de ufw sur une VM +- Réorganisation du Git +- DHCP inter-VLANs fonctionnel + +### Semaine 8 + +- Documentation sur la création d'un réseau virtuel sur VirtualBox +- Configuration de IPTables +- Documentation sur fail2ban + installation +- Installation de LaTeX pour convertir de markdown vers pdf avec pandoc + +### Semaine 9 + +- Documentation sur fail2ban ainsi que SSH sur le réseau +- Configuration du SSH du serveur + clés + +### Semaine 10 + +- SSH sur Routeur et Switch +- Fail2ban configuré +- Implémentation et amélioration du DNS créé par Fatoumata + +### Semaine 11 + +- DNS mis à jour automatiquement, machines désignées par des noms + +### Semaine 12 + +- Avancement sur le mail +- Création et commencement de la diapo + +### Semaine 13 + +- Problèmes avec le mail + +### Semaine 14 + +- Envois de mail fonctionnel +- Préparation de l'oral + +### Semaine 15 + +- Préparation de l'oral + +## Tâches + +| Tâches | Prédécesseurs | Intitulé de la tâche | +|--------|---------------|----------------------------------| +| A | / | Adressage IP | +| B | / | Architecture du réseau | +| C | A,B | Configuration du Switch | +| D | A,B | Configuration du Routeur | +| E | A,B | Installation des Postes Clients | +| F | A,B | Installation du Serveur | +| G | A,B | Mise en place du Pare-Feu | +| H | F | Configuration du DHCP | +| I | F | Configuration du DNS | +| J | F | Configuration du WEB | +| K | F | Configuration du mail | +| L | F,G | Configuration du SSH | +| M | C | Configuration des VLAN | +| N | A,B,D | Mise en œuvre de l'infra commune | +| O | D | Configuration du NAT | +| P | D | Configuration du Routage | +| Q | / | Rédaction du rapport | +| R | Q | Création du diaporama | + +# Schéma explicatif du réseau + + + + +Voici le schéma des deux réseau mis en place durant ce projet. Les PCs de la partie privée sont en adressage privé, les interfaces extérieures des routeurs sont publiques. +Un pare-feu sous Linux se trouve sous chaque partie privée du routeur. +Chaque serveur contient un service web, mail, DHCP et DNS. + +Le switch contient 3 VLANs : + +- VLAN Comptabilité +- VLAN Production +- VLAN Administration (contenant les services) + +Ces 3 VLANs peuvent communiquer entre eux grâce au routage inter-VLAN. +Ensuite les 2 réseaux sont reliés via un réseau public. + +Ici, on se concentrera sur la partie de gauche. + +# Le matériel du projet + +Voici le matériel que chaque groupe a utilisé durant ce projet : + +- 1 Routeur +- 1 Switch +- au moins 3 PCs (un serveur, un pare-feu et au moins un dernier utilisateur pour tests) +- Serveur Web (Apache2) +- Serveur Mail (Postfix + Dovecot) +- Serveur DHCP (Isc-dhcp-server) +- Serveur DNS (Bind9) +- Pare-Feu (Iptables) + +# Justification des services utilisés + +Nous avons préféré utiliser des solutions libres et gratuites en partie du à nos expériences personnelles, leurs performances et leurs documentations/solutions disponible en abondance. + +- Pare-feu : Iptables car déjà présent sous Debian et est fortement utilisé. +- Web : Apache2 car déjà utilisé par certaines personnes du groupe et sa forte concentration de solutions en ligne. +- DNS, DHCP et Mail : bind9, isc-dhcp-server & postfix car ils sont plutôt répandus et ont pas mal d'expérience, ce qui fait que l'on peut se fier à ces derniers. + +# Réseau IP + +## Switch + + + +Pour améliorer la qualité de service du réseau, ce dernier a été séparé en 3 VLANs : + +- **VLAN 2 Administration** : 192.168.10.10 - 192.168.10.250/24 +- **VLAN 3 Comptabilité** : 192.168.20.10 - 192.168.20.250/24 +- **VLAN 4 Production** : 192.168.30.10 - 192.168.30.250/24 + +On attribue les ports du Switch au différents VLANs : + +``` +interface FastEthernet0/1 + switchport access vlan 3 + no keepalive +! +interface FastEthernet0/2 + switchport access vlan 3 + no keepalive +! +interface FastEthernet0/17 + switchport access vlan 4 + no keepalive +! +interface FastEthernet0/18 + switchport access vlan 4 + no keepalive +! +interface FastEthernet0/33 + switchport access vlan 2 + no keepalive +! +interface FastEthernet0/48 + switchport trunk encapsulation dot1q + switchport mode trunk + no keepalive +! +``` +Ainsi que leurs adresses IP pour y accéder en SSH : + +- **VLAN 2 Administration** : 192.168.10.2 +- **VLAN 3 Comptabilité** : 192.168.20.3 +- **VLAN 4 Production** : 192.168.30.4 + +``` +interface Vlan2 + ip address 192.168.10.2 255.255.255.0 +! +interface Vlan3 + ip address 192.168.20.3 255.255.255.0 +! +interface Vlan4 + ip address 192.168.30.4 255.255.255.0 +! +``` + +## Routeur + + + +Pour qu'il soit accessible depuis l'extérieur, un NAT a été configuré. +Ci-dessous voici la configuration appliquée sur le Routeur pour traduire l'adresse IP privée du serveur vers une adresse publique +pour permettre à l'autre groupe d'y accèder. + +| Adresse IP Privée | Adresse IP Publique | +|-------------------|---------------------| +| 192.168.10.254 | 10.0.0.2 | + +- **Gig0/0.1 (VLAN 2)** : 192.168.10.254/24 +- **Gig0/0.2 (VLAN 3)** : 192.168.20.254/24 +- **Gig0/0.3 (VLAN 4)** : 192.168.30.254/24 +- **Gig0/1** : 10.0.0.2/30 + +``` +interface GigabitEthernet0/0.3 + encapsulation dot1Q 4 + ip address 192.168.30.254 255.255.255.0 + ip helper-address 192.168.10.12 + ip nat inside + ip virtual-reassembly in + no cdp enable +! +interface GigabitEthernet0/1 + ip address 10.0.0.2 255.0.0.0 + ip nat outside + ip virtual-reassembly in + duplex auto + speed auto +! +ip nat source static 192.168.10.254 10.0.0.2 +``` + +Le Serveur contient le service DHCP qui s'occupe d'attribuer automatiquement aux PC Utilisateurs leurs adresses IP respectives. Comme il y a de l'inter-VLAN, les 2 VLANs autres que le serveur n'avaient pas accès au service DHCP, pour cela une petite configuration a été appliquée sur les sous-interfaces : + +Les lignes *ip helper-address xxx* permet de renseigner le serveur DHCP sur le Routeur pour que les VLANs Comptabilité et Production puissent y accéder. + + +### Relation entre le réseau du Groupe 1 et du Groupe 2 + +En effet, les deux réseaux devaient impérativement communiquer entre eux. Il faut donc y ajouter un routage. Nous avons choisi un routage dynamique pour sa simplicité. +Nous avons donc utiliser RIP. +Après l'avoir conifgurer comme cela : + +``` +router rip + version 2 + network 10.0.0.0 + network 192.168.10.0 + network 192.168.20.0 + network 192.168.30.0 +! +``` + +La table de routage ressemble à cela : + +``` +Gateway of last resort is not set + + 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks +C 10.0.0.0/8 is directly connected, GigabitEthernet0/1 +L 10.0.0.2/32 is directly connected, GigabitEthernet0/1 + 192.168.10.0/24 is variably subnetted, 2 subnets, 2 masks +C 192.168.10.0/24 is directly connected, GigabitEthernet0/0.1 +L 192.168.10.254/32 is directly connected, GigabitEthernet0/0.1 + 192.168.20.0/24 is variably subnetted, 2 subnets, 2 masks +C 192.168.20.0/24 is directly connected, GigabitEthernet0/0.2 +L 192.168.20.254/32 is directly connected, GigabitEthernet0/0.2 + 192.168.30.0/24 is variably subnetted, 2 subnets, 2 masks +C 192.168.30.0/24 is directly connected, GigabitEthernet0/0.3 +L 192.168.30.254/32 is directly connected, GigabitEthernet0/0.3 +R 192.168.40.0/24 [120/1] via 10.0.0.1, 00:00:07, GigabitEthernet0/1 +R 192.168.50.0/24 [120/1] via 10.0.0.1, 00:00:07, GigabitEthernet0/1 +R 192.168.60.0/24 [120/1] via 10.0.0.1, 00:00:07, GigabitEthernet0/1 +``` + +### Importation des configurations sur le matériel réel + +Pour ne pas monopoliser les routeurs/switchs et laisser d'autre personnes après nous les utiliser, nous sauvegardons chaque config à distance et les ré-implentons à chaque début de séances. Pour cela, on utilise TFTP. + +Voici un exemple d'utilisation de TFTP par Cisco sur un routeur : + +``` +Router#copy tftp: running-config +Address or name of remote host []? (host_ip) +Source filename []? backup_cfg_for_my_router +Destination filename [running-config]? +Accessing tftp://192.168.3.1/backup_cfg_for_my_router... +Loading backup_cfg_for_router from 192.168.3.1 (via FastEthernet0/0): ! +[OK - 1030 bytes] + +1030 bytes copied in 9.612 secs (107 bytes/sec) +R2# +``` + +Notre salle ayant déjà des utilisateurs avec TFTP, il suffit de renseigner leurs adresses IP et un nom de fichier pour récupérer/envoyer les configurations. + +# Pare-Feu + + + +Afin de sécuriser le réseau comme demandé, un pare-feu *IPTables* a été mis en place sur un PC sous Linux. + +## Règles du Pare-Feu + +| N° | Permission | Protocole | Source | Destination | Port | +|----|------------|-----------|---------------|-------------|------| +| 1 | DENY | | Any | Any | | +| 2 | ALLOW | | localhost | localhost | | +| 3 | ALLOW | ICMP | Any | Any | | +| 4 | ALLOW | TCP | Any | Any | 4168 | +| 5 | ALLOW | TCP | Any | Any | 53 | +| 6 | ALLOW | UDP | Any | Any | 53 | +| 7 | ALLOW | TCP | Any | Any | 80 | +| 8 | ALLOW | TCP | Any | Any | 443 | +| 9 | ALLOW | TCP | Any | Any | 25 | +| 10 | ALLOW | TCP | Any | Any | 110 | +| 11 | ALLOW | TCP | Any | Any | 143 | +| 12 | ALLOW | TCP | Any | Any | 123 | + +## Configuration d'IPTables + +- Tout d'abord j'ai retiré la configuration de base + + ``` + # iptables -t filter -F + # iptables -t filter -X + ``` + +- Puis je suis parti sur une politique de refus total, les protocoles nécessaires seront autorisés ultérieurement + + ``` + # iptables -P OUTPUT DROP + # iptables -P INPUT DROP + # iptables -P FORWARD DROP + ``` + +- Les connexions déjà établies restent établies, utile si on est connecté en SSH durant l'application des règles + + ``` + # iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT + # iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT + ``` + +- Permettre de pouvoir communiquer avec son adresse locale + + ``` + # iptables -A INPUT -i lo -j ACCEPT + # iptables -A OUTPUT -o lo -j ACCEPT + ``` + +- Autoriser le ping + + ``` + # iptables -t filter -A INPUT -p icmp -j ACCEPT + # iptables -t filter -A OUTPUT -p icmp -j ACCEPT + ``` + +- Ensuite on laisse passer les protocoles que l'on a besoin, en entrée et en sortie pour la très grande majorité + - SSH + + ``` + # iptables -t filter -A INPUT -p tcp --dport 4168 -j ACCEPT + # iptables -t filter -A OUTPUT -p tcp --dport 4168 -j ACCEPT + ``` + + - DNS + + ``` + # iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT + # iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT + # iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT + # iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT + ``` + + - NTP (pour l'heure) + + ``` + # iptables -t filter -A INPUT -p udp --dport 123 -j ACCEPT + # iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT + ``` + + - HTTP + + ``` + # iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT + # iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT + ``` + + - HTTPS + + ``` + # iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT + # iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT + ``` + + - MAIL + - SMTP + + ``` + # iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT + # iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT + ``` + + - POP3 + + ``` + # iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT + # iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT + ``` + + - IMAP + + ``` + # iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT + # iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT + ``` + +Pour finir j'ai mis tout cela dans un script bash que j'ai placé dans */etc/init.d/* ensuite pour lui ajouter les droits d'éxecution et faire en sorte qu'il soit exécuté à chaque démarrage car la configuration est effacée à l'arrêt : +``` +chmod +x /etc/init.d/parefeu +update-rc.d parefeu defaults +``` + +# Anti-spam + +{ width=30% } + +Afin d'éviter que quelqu'un rentre dans le serveur alors qu'il n'est pas autorisé et aussi afin de ne pas flood les logs, un anti-spam a été mis en place via le service fail2ban. +``` +bantime = 10m +findtime = 10m +maxretry = 5 +[sshd] +port = 4168 +``` + +Le temps de bannissement est de 10 minutes et si sur une période de 10 minutes quelqu'un se trompe 5 fois d'authentification, alors il est banni, le port du ssh renseigné est le 4168. + +# Serveur + +## DHCP + +<https://www.isc.org/dhcp/> + + + +Pour respecter le cahier des charges, un DHCP a été mis en place afin d'attribuer automatiquement aux PC clients des adresses IP. Pour cela, nous avons utilisé *isc-dhcp-server*. +Nous avons choisi ce dernier car il est parmi les plus répandus. +Voici un résumé de la configuration appliquée : + +| | Réseau | Adresse Minimum | Adresse Maximum | Passerelle | Broadcast | +|--------|----------------|-----------------|-----------------|---------------|---------------| +| VLAN 2 | 192.168.1.0/24 | 192.168.1.1 | 192.168.1.100 | 192.168.1.254 | 192.168.1.255 | +| VLAN 3 | 192.168.2.0/24 | 192.168.2.1 | 192.168.2.100 | 192.168.2.254 | 192.168.1.255 | + +et voici la configuration : +``` +default-lease-time 600; +max-lease-time 7200; + +ddns-update-style interim; + +authoritative; +server-identifier 192.168.3.253; + +# VLAN 2 +subnet 192.168.1.0 netmask 255.255.255.0 { + range 192.168.1.1 192.168.1.100; + default-lease-time 600; + option broadcast-address 192.168.1.255; + option routers 192.168.1.254; + option domain-name-servers ns.proj-cgir.com; + option domain-name "proj-cgir.com"; + max-lease-time 7200; +} + +# VLAN 3 +subnet 192.168.2.0 netmask 255.255.255.0 { + range 192.168.2.1 192.168.2.100; + default-lease-time 600; + option broadcast-address 192.168.2.255; + option routers 192.168.2.254; + option domain-name-servers ns.proj-cgir.com; + option domain-name "proj-cgir.com"; + max-lease-time 7200; +} + +key "rndc-key" { + algorithm hmac-md5; + secret "clé secrète rndc-key"; +} +zone proj-cgir.com { + primary 192.168.3.253; + key "rndc-key"; +} +zone 3.168.192.in-addr.arpa { + primary 192.168.3.253; + key "rndc-key"; +} +``` + +Il y a une mise à jour automatique du serveur DNS, le serveur est autoritaire sur le réseau avec pour adresse IP *192.168.10.12*. + +Il y a 2 pools d'adresses, celui de *VLAN 3 (Compta)* ainsi que celui du *VLAN 4 (Prod)* qui sont entres les adresses *192.168.X.X et 192.168.X.X* avec comme passerelle par défaut les sous-interfaces des VLAN correspondants *192.168.X.254*. + +Ensuite on ajoute les zones du DNS ainsi que la clé rndc pour mettre à jour le DNS avec DHCP, ça peut notamment permettre de désigner les machines par des noms. + +## DNS + +<https://bind9.net/> + +<img src="imgs/bind9.jpg" alt="dns" width="200"/> + +Afin d'accèder au serveur web de façon plus simple pour les utilisteurs pas forcément à l'aise avec l'adressage IP, un DNS a été mis en place, c'est un protocole quasiment obligatoire. Le service est *bind9*. +C'est l'implémentation la plus répandue et elle est également libre. + +Voici la configuration du *named.conf.local* +``` +zone "proj-cgir.com" { + type master; + file "/var/lib/bind/db.direct"; + allow-update { key rndc-key; }; +}; + +zone "3.168.192.in-addr.arpa" IN { + type master; + file "/var/lib/bind/db.reverse"; + allow-update { key rndc-key; }; +}; + +# Use with the following in named.conf, adjusting the allow list as needed: + key "rndc-key" { + algorithm hmac-md5; + secret "clé secrète rndc-key"; + }; + + controls { + inet 127.0.0.1 port 953 + allow { 127.0.0.1; } keys { "rndc-key"; }; + }; +# End of named.conf +``` + +Les fichiers de zones ont été placés dans */var/cache/bind/*. +Ensuite la clé est renseignée, c'est la même que celle renseignée dans *dhcpd.conf*. + +Zone *nethub-cgir.com* : +``` +$ORIGIN . +$TTL 604800 ; 1 week +proj-cgir.com IN SOA ns.proj-cgir.com. root.proj-cgir.com. ( + 30 ; serial + 604800 ; refresh (1 week) + 86400 ; retry (1 day) + 2419200 ; expire (4 weeks) + 604800 ; minimum (1 week) + ) + NS ns.proj-cgir.com. +$ORIGIN proj-cgir.com. +$TTL 300 ; 5 minutes +debianClient1 A 192.168.1.81 + TXT "310b1663c25ac0d9f866a7ef5ec662499f" +$TTL 604800 ; 1 week +ns A 192.168.3.253 +www A 192.168.3.253 +mail A 192.168.3.253 +``` + +Le serveur DNS et le serveur web possède donc la même adresse IP. +debianClient1 est un client à qui une adresse IP a été distribuée par le DHCP. + +Zone *nethub-cgir.com.rev* : +``` +$ORIGIN . +$TTL 604800 ; 1 week +1.168.192.in-addr.arpa IN SOA ns.proj-cgir.com. root.proj-cgir.com. ( + 21 ; serial + 604800 ; refresh (1 week) + 86400 ; retry (1 day) + 2419200 ; expire (4 weeks) + 604800 ; minimum (1 week) + ) + NS ns.proj-cgir.com. +$ORIGIN 1.168.192.in-addr.arpa. +26 PTR ns.proj-cgir.com. + PTR www.proj-cgir.com. +$TTL 300 ; 5 minutes +81 PTR debianClient1.proj-cgir.com. +``` + +## Mail + +<http://www.postfix.org/> + + + +Comme le cahier des charges le précisait, nous avons mis en place un serveur mail afin de permettre aux différents utilisateurs de communiquer efficacement, pour cela nous avons utilisé *postfix* comme serveur de transmission de courriers électroniques.. +Il est bien répandu, fiable, libre et a de l'expérience. + +Postfix est un serveur de messagerie STMP libre et répandu dans le domaine Linux. Postfix est assez simple dans son fonctionnement et sa configuration l'est aussi. Nous avons configuré le main.cf pour l'adapter à nos besoins. + +Aprés avoir télécharger et installer celui-ci dans le main.cf nous avons pu le configurer selon nos besoins dans le main.cf + +Vous trouverez ensuite les éléments de configuration les plus essentiel pour le service mail. + +myorigin = /etc/mailname - Ce paramètre permet de préciser le nom de domaine. Dans notre cas ce sera proj-cgir.com + +mydestination = $myhostname localhost.$mydomain localhost $mydomain +Permet de préciser pour quel domaine notre serveur postfix se chargera de transmettre les mails. + +myhostname = debianServ.proj-cgir.com +Précise le nom de la machine ainsi que le domaine. + +Après cela nous avons installé Dovecot, un serveur IMAP/POP3 permettant aux utilisateurs de consulter leurs mails. Nous avons configuré les boites aux lettres en format Maildir. + +Nous avons configuré les certificats pour le bon fonctionnement TLS/SSL. + +Cela fait nous avons ensuite installé le client messagerie Thunderbird. Celui ci nous a permis de se connecter avec les comptes mails et à permis aux utilisateurs d'envoyer et de recevoir des mails. + +Thunderbird peut gérer plusieurs comptes de courrier électronique et de flux d'informations et prend en charge plusieurs identités au sein des comptes. Des fonctionnalités telles que la recherche rapide, un dossier de recherche sauvegardé et le regroupement des messages. + +Il fut nécessaire d'enregistrer l'addresse mail dans le DNS. + +mail A 192.168.3.253 + IN MX mail.proj-cgir.com. + + + + +## Serveur Web + +<https://apache.org/> + +Pour le serveur web nous avons décidé d'utiliser *Apache2* car il est open-source, il possède une communauté conséquente, très utile en cas de problème pour obtenir rapidement de l'aide. + +Voici la page web, à laquelle nous pouvons accèder via le DNS en rentrant *nethub-cgir.com*. + + + +Voici la configuration du site web */etc/apache2/sites-available/000-default.conf*: + +``` +<VirtualHost *:80> + DocumentRoot /var/www/webProjet +</VirtualHost> +``` + +Le fichier .html se trouve dans le dossier */var/www/html*. + +# PC Clients + +Grâce à tout cela mis en place, les PC Utilisateurs des deux entreprises prennent automatiquement leurs adresses IP et peuvent accéder aux pages Web respectives sans écrire d'addresses IP. + +# Conclusion + +Ces mois de travail nous aurons également appris à mieux nous organiser, à adopter l’esprit d’équipe.