Module 365 – Services avancés

Compétence

Met à disposition des services avancés pour ses propres systèmes et des systèmes étrangers et tiers. Tient compte des exigences en matière de fonctionnalité, de maintenance, de sécurité et de protection des systèmes.

Objet

Services avancés de composants du réseau (par ex. pare-feu, commutateur) et serveurs (DHCP, DNS, AD, LDAP, RADIUS, GPO, VPN). Outils pour la maintenance des services (par ex. SNMP, MIB).

Objectifs opérationnels

  • Configure les clients et serveurs conformément aux prescriptions et vérifie le caractère fonctionnel exigé.
  • Conçoit les connexions de réseau et les services qui en découlent, les met en service et contrôle les mesures de sécurité et de protection.
  • Installe des applications et des outils, contrôle le caractère fonctionnel exigé et intègre les ressources communes.
  • Identifie systématiquement les erreurs en ce qui concerne les services des serveurs et clients et prend des mesures correctives.
  • Etablit la documentation pour l’administration du réseau, les rôles et droits d’accès, les applications et les services intégrés.

Voir le descriptif détaillé du module 365…

Table des matières

Installation de serveurs, configuration et gestion des droits

Un serveur est un ordinateur. C’est donc une machine matérielle, mais également un OS, un système d’exploitation.

OS – Système d’exploitation

Si la plupart des ordinateurs personnel tournent sur Windows, la plupart des serveurs eux tournent sur Linux. (et plus précisément c’est la distribution Ubuntu qui est la plus courante.)
En ce qui concerne les smartphones, c’est Android, une distribution de Linux qui est l’OS le plus courant et IOS pour les iPhone.

Ainsi il nous faut être familier avec les différentes philosophies pour être capable de configurer, mettre en service et dépanner des machines sur différents OS.

Le module 286, explique déjà la base de ce qu’est un système d’exploitation.

les 6 domaines principaux et les couches du noyau Linux

Ce qui va nous intéresser ici surtout, c’est le système de fichier, le système de gestions des droits d’accès. Ainsi que les fichiers de configuration et leur emplacement.

Système de fichiers

Le système de fichier est la manière dont on représente un paquet de données pour en faire un “fichier” (issu de la métaphore du bureau), alors qu’un fichier n’est qu’une agrégation de block sur un disque dur.

Il existe de nombreux systèmes de fichiers, par exemple: NTFS, FAT, FAT32, ext2fs, ext3fs, ext4fs, zfs, btrfs, HFS+, APFS etc

Voici les systèmes de fichiers les plus utilisés actuellement:

  • NTFS sur Windows
  • HFS+ et APFS sur MacOS
  • ext, Extended File System sur Linux. ext2 | ext3 | ext4
  • FAT, FAT32 sur des clé usb ou support qui doit être multiplateforme
  • extFAT est le système le plus compatible entre les différents OS, ainsi c’est le système de fichier par défaut des cartes SD.

Le chemin d’accès pour l’arborescence d’une fichier est aussi différent selon les OS.

Différence de gestion des droits

Gestion de l’authentification et du contrôle d’accès .

Windows

Sur Windows pour un PC qui est autonome, non reliée à un contrôleur de domaine. C’est la base de données SAM – Security Account Manager– qui permet de gérer les droits d’accès des utilisateurs.

Gestion des droits d’accès Windows sur le disque C:\

La base de données SAM se trouve dans la base de registre de Windows.
(cmd > regedit => pour voir et modifier la base de registre, mais Attention !)

Droit d’imprimante vu depuis la base de registre Windows

Sur Windows, par défaut l’utilisateur a des droits d’administrateur. Il peut donc rapidement faire des dégâts par ignorance ou si il se fait pirater. Sur Linux ou macOS, par défaut l’utilisateur n’est pas “admin” (root). Il fait partie d’un groupe “sudoers” qui peut – sur demande du mot de passe – augmenter ses privilèges juste pour une opération grâce à la commande sudo.

Dans Windows, il existe aussi une notion de groupe de travail. Par défaut tout utilisateur est dans un groupe de travail WORKGROUP.

Les groupes de travail permettent de partager des ressources, comme des imprimantes ou volume réseau. Ces groupes sont défini localement.

Dans une grosse organisation, il est nettement préférable de gérer les droits d’accès de façon centralisée avec un contrôleur de domaine Active Directory. Ce service est installé sur une machine Windows serveur. (il est très fortement conseillé d’avoir de la redondance avec deux contrôleurs de domaine.)

En cherchant l’historique de requête DNS sur un PC de l’école j’ai retrouvé les IP et nom d’hôte de ce qui ressemble à deux contrôleurs de domaine: DC.

s2dcne2.s2.rpn.ch → 157.26.166.17
s2dcne1.s2.rpn.ch → 157.26.166.16

La commande pour voir l’historique des requêtes DNS est:

ipconfig /displaydns

(Pour en savoir plus à propos du DNS, voir plus loin…)

Conflit entre droit NTFS et droits de partages de fichiers

Sur Windows serveur, il y a deux approches à connaitre pour la gestions des droits sur des arborescences de fichiers:

  • les droits NTFS
  • les groupes du partage de fichier

Quand il y a un mélange des deux, il faut toujours prendre la version la plus restrictive.

Les ACL – Access Control List – sont encore une couche qu’on ajoute par dessus les droits standard pour gérer des droits spécifiques. Il y a des ACL qui existent pour Windows, mais aussi pour les “Unix”, donc sur Linux et sur macOS. Les ACL permettent par exemple de couper un héritage juste pour un sous dossier.

GPO

Les stratégies de groupe (En anglais, Group Policy ou GP) sont des fonctions de gestion centralisée de la famille Microsoft Windows. Elles permettent la gestion des ordinateurs et des utilisateurs dans un environnement Active Directory. => voir plus loin pour le détail sur Active Directory…

On utilise la console MMC – Microsoft Management System – pour mettre à jour les stratégies de groupe, et plus spécifiquement la partie: gpedit.msc

GPO pour forcer un serveur DNS particulier qui surcharge celui du DHCP

Voici quelques exemples d’utilisation de GPO:

  • Sélectionner la page d’accueil du navigateur web
  • Rendre disponible une imprimante pour un groupe d’utilisateur.
  • Définir un programme par défaut qui se lance pour un type de fichier donné.
  • Gestion d’un écran de veille ou d’un fond d’écran
  • etc…

Exercice:

Allez fouiller dans la console MMC et citez quelques exemples d’utilisation de GPO.

GPO pour définir des scripts à l’ouverture/fermeture de session Windows

Il est possible avec les GPO de définir des scripts qui sont lancés à l’ouverture/fermeture de sessions Windows.

On utilise pour ceci des scripts de type PowerShell.

Interface GPO pour associer un script PoweShell

(Dans le même genre, on verra ci-dessous comment lancer un script à l’ouverture de Session sur linux à l’aide du .profile ….)

Tuto microsoft pour créer des objets de stratégie de groupe…

Exemple avec la gestion du fond d’écran….

Le même tuto en pdf:

Linux

Linux est inspiré de la grande famille UNIX. (Tout comme MacOs. Ainsi on est dans des concepts très proche, mais parfois pas !!)

Sur windows on utilise “la base de registre” comme base de données de configuration des “préférences” systèmes. Dans la philosophie UNIX, la configuration se fait dans une arborescence de fichier, avec plein de fichiers texte.

On peut explorer l’arborescence des fichiers de config au chemin d’accès:
/etc

Il y a des fichiers .conf de configuration. Par exemple: ntp.conf qui continent l’adresse d’un serveur ntp pour être toujours à l’heure.

Le mieux est d’installer un serveur linux et d’observer ceci par soi-même.

Pour étudier comment on installer un serveur Linux, nous allons utiliser des petits ordinateurs Raspberry PI.

Le module 126 décrit déjà bien l’installation d’un OS sur un Raspberry Pi...
Par défaut on utilise Raspberry Pi OS, un dérivé de Debian.

Mais il est possible d’installer Ubuntu, ou même Windows, bien que c’est assez lent et qu’il faut mettre la version ARM.

Pour les permissions UNIX, voir le chapitre à ce sujet du module 126…

Ainsi que les commandes bash de base pour naviguer dans l’arborescence des fichiers en ligne de commande.

Voici un aide mémoire avec de nombreuses commandes utile sur raspbery Pi OS: RPIFR-cheatsheet-74 commandes pour raspberry pi

Chaque utilisateur a un dossier home, sa maison qu’il peut personnaliser. C’est ici que son placés les fichiers de configuration propre a un seul utilisateur.

Allons y faire un tour avec la commande suivante:

cd ~/

La commande: ls -als permet d’afficher la liste des fichiers du dossier, même les dossiers cachés, soit ceux qui commencent par un “.”
C’est le cas des fichiers .profile ou .bashrc qui sont des fichiers qui sont lancé respectivement quand un utilisateur se connecte et quand il ouvre un terminal avec l’interpréteur de commande bash. (donc en fait à chaque session ces fichiers sont lancés et configure l’environnement utilisateur)

Voici par exemple un script alias qui est ajouté dans le fichier .bashrc pour attribuer à la commande “l” une vue particulière de liste des fichiers dans un dossier. (c’est une commande pour flémard qui veut pas tout taper à chaque fois)

alias l='ls -alFh'

Ce type de script bash (ou autre interpréteur comme zsh) est courant sur les serveurs, car souvent accessibles uniquement via de lignes de commande par SSH.

Bash est passablement multiplateforme, c’est le langage de ligne de commande courant sur Linux, répandu sur macOS (bien que par défaut c’est zsh pour des raison de droits d’auteurs !) et utilisable sur Windows maintenant que Windows intègre un noyaux linux !! (WSL →Windows Subsystem for Linux)

Ubuntu qui tourne sur Windows via WSL

MacOS

Depuis 2001, MacOs est le descendant de NeXTSTEP lui même basé sur l’implémentation BSD d’Unix. Donc MacOS est un vrai UNIX, contrairement à Linux, qui est en GNU-Linux, (GNU is Not Unix) une inspiration libre de cette philosophie.

Mais Apple a fait plein de variations. Le principe de configuration de l’OS dans des fichiers textes existe toujours en bonne partie. Mais il y a aussi la commande defaults qui permet d’éditer de fichier de configuration .plist qui stockent des valeurs au format XML.

Voici le site macos-defaults.com qui fourni une documentation sur de nombreuses “préférences cachées” non accessible par l’interface graphique.

Voici par exemple comment changer le format par défaut des captures d’écran. (passer de PNG à JPG)

defaults write com.apple.screencapture type jpg

NAS synology – DSM

Pour voir encore un systèmes d’exploitation un peu différent, intéressons nous au NAS synology.

Au labo B933 nous disposons de NAS Synology DS220…
Guide démarrage rapide..

Les NAS Synology tournent sur l’OS: DSM: DiskStation Manager… C’est une distribution de Linux.

Généralement tout est fait pour être accessible via une interface web.
(IP de la machine port 5000 en http ou 5001 en https)

Tout a été fait pour intégrer dans le NAS de nombreux protocoles interopérables avec de nombreux systèmes d’exploitations. Ainsi la gestion des droits peut se faire au mieux peu importe son environnement.

Le NAS synology peut aussi s’intégrer dans un environnement Microsoft et servir de contrôleur de domaine Active Directory.
(On reviendra plus loin sur Active Directory)

Fourni un réseau informatique adapté aux services utilisés

Les utilisateurs d’un réseau informatique aimeraient un réseau totalement transparent. J’arrive, j’allume mon ordinateur et j’ai du réseau.

Il est donc nécessaire de fournir plusieurs informations:

  • adresse IP
  • masque de sous réseau
  • IP d’un serveur DNS
  • IP de la passerelle par défaut

Tout ceci est généralement fourni par un serveur DHCP.

DHCP

Dynamic Host Configuration Protocol est un protocole de configuration automatique de tout ce qu’une machine, un client, à besoin de savoir pour se connecter sur un réseau, sur Internet.

Le moyen mnémotechnique pour se souvenir de la séquence de demande d’une configuration par un client est: DORA

  • Discover
  • Offer
  • Request
  • Acknoledge

Il est a noter qu’une difffusion est utilisée. Ainsi DHCP ne fonctionne que sur un LAN.

Si on veut utiliser le même serveur DHCP pour plusieurs sous réseau, il est nécessaire de configurer un DHCP Relay sur le routeur.

A l’origine c’est le service BOOTP qui faisait le même boulot que DHCP. Ainsi le port est resté le même.

  • port 67 pour le serveur
  • port 68 pour le client

filtre wirshark pour voir le DHCP
→ bootp.option.type == 53

Question subtile… que se passe-t-il si je tourne un seveur DHCP pirate sur un LAN ?

pirate

DNS

Le service DNS est complexe. Il permet de faire correspondre un nom de domaine à une adresse ip. (et inversement)

Internet fonctionne avec des adresses IP, mais les humains préfèrent les noms écrit avec des lettres. Ainsi le système de DNS ajoute une couche pour convertir les noms en IP.

Le principe est hiérarchique. Il existe une racine nommée: “.” (souvent implicite). il existe 13 serveurs racine qui savent qui sont les serveur autorité de chaque TLD.

Un TLD, (Top Level Domaine), c’est le sous-niveau suivant, c’est l’extension .com, .org etc pour les génériques (gTLD) et les extensions pour les pays (ccTLD, comme Country Code), avec par exemple le .ch pour la Suisse.

Puis Il y a un nom de domaine qui doit être acheté (en fait loué) à un registar. Il est maintenant même possible d’utiliser des accents dans les noms de domaines.

En dessous du nom de domaine il y a les noms d’hôtes. C’est le cas de “ibat” dans ibat.labo933.ch

Il y a des autorités différentes qui gèrent chaque étage de nomage. Voici un exemple avec un site web pour bien comprendre ce qui est nécessaire.

Si je veux faire pointer un nom de domaine sur mon site web voici ce qu’il me faut:

  • un hébergeur des fichiers de mon site web qui a une adresse IP fixe.
  • un nom de domaine que j’achète chez un registrar. (la liste des registrars Suisse)
  • un serveur de nom (DNS)
  • Pour relier tout ça.
    • J’indique à mon registrar quel est le nom de domaine du serveur de nom qui va gérer mon nom de domaines et les hôtes à l’étage du dessous.
    • Je configure mon serveur de nom avec des différents hôtes. Pour chaque hôte j’indique l’adresse IP du serveur correspondant. Ex. www, mail, cloud… et si j’ai pas d’hôte quel est l’ip par défaut.

Puis chaque visiteurs qui cherche l’IP de mon nom de domaine va vérifier en mémoire si il connait déjà l’info, ou alors il va effectuer une recherche via des requêtes pour trouver l’info.

Le déroulement des requêtes DNS est très souvent mal compris, surtout car il utilise deux types de requêtes:

  • récursive → Demande au services DNS suivant si il ne connait pas la réponse
  • itérative → Le dernier serveur DNS utilises plusieurs requêtes pour demander qui est responsable de chaque partie: tld au serveur racine, serveur de nom du nom de domaine enregistrée chez un registrar, et interrogation du serveur de nom du domaine pour obtenir l’ip du domaine ou d’un hôte.

La commande Dig permet d’interroger un serveur DNS.
Par exemple:

dig @labo933.ch
dig labo933.ch ANY

dig @k.root-servers.net

Configuration DNS

Le DNS utilise un certain nombre de type d’entrées…. Les plus courantes sont:

  • A → Adresse de type ipv4 (il y a l’entrée AAAA pour ipv6)
  • NS → le serveur de nom à qui on délègue l’autorité du domaine
  • CNAME → “canonical Name” un alias (jamais une ip) du même domaine. ex: www.mondomaine.ch. (avec le . final ! un FQDN)
  • SOA → Start Of Authority. Les infos sur la zone, le propritéaire, le TTL, le mail de l’admin
  • MX → l’hote du serveur mail du domaine. → pas de CNAME, des noms définis dans un champ A. uUn nom pas une ip.
  • PTR → PoinTeR. L’inverse d’une entrée A. On donne une IP on reçoit un domaine (FQDN)
  • TXT → n’importe quel texte

Les entrées TXT permettent d’entrer n’importe quel texte. Ainsi c’est souvent une manière de transmettre de l’information non prévue. Par exemple pour lutter contre le spam, les serveurs mails utilisent régulièrement des entrées spéciale comme DMARC, DKIM, SPF.

Quand on fait une configuration DNS, il faut faire attention de bien écrire les noms absolu au format FQDN: Fully Qualified Domaine Name, soit avec un point “.” à la fin qui représente la racine de l’arborescence du DNS. Ceci signifie que l’on donne une sorte de chemin d’accès précis, absolu. Si on omet le . final le serveur DNS pense que c’est une requête et va relancer la machine pour trouver une réponse. (qui ne vient pas forcément.. et tout plante !)

Exemple de FQDN:
fr.wikipedia.org.

Exemple de fichier de configuration de fichier de Zone DNS:

$ORIGIN exemple.com.  
$TTL 86400

@ IN SOA ns1.exemple.com. admin.exemple.com. (
    2023051501 ; Numéro de série
    3600       ; Refresh (1 heure)
    600        ; Retry (10 minutes)
    604800     ; Expire (1 semaine)
    3600       ; Minimum (1 heure)
)

@       IN NS     ns1.exemple.com.
@       IN NS     ns2.exemple.com.
@       IN A      192.168.1.1
@       IN AAAA   2001:db8::1

www     IN A      192.168.1.2
mail    IN A      192.168.1.3
        IN MX 10  mail.exemple.com.

ns1     IN A      192.168.1.4
ns2     IN A      192.168.1.5

_ldap._tcp.exemple.com. IN SRV 0 0 389 ldap.exemple.com.

Le DNS utilise udp si la requête fait < 512 octets. Sinon TCP. Et toujours TCP pour les transferts de Zone.

Le DNS fonctionne sur le port 53. Il ne faut pas oublier de le laisser passer dans son firewall, sinon rien ne fonctionne.

Voir le cours de Frédéric Hertling à propos du DNS en fin de ce pdf…

Commandes utiles pour le DNS

Voici des commandes qui sont utile pour vérifier que son DNS fonctionne.
Pour voir et supprimer le contenu du cache DNS Windows:

ipconfig /displaydns
ipconfig /flushdns

Comment savoir quel serveur DNS j’utiliser ?
Sur Windows:

ipconfig /all | findstr "DNS\ Servers"

Linux / Mac:

nslookup google.com

Pour voir l’historique des requêtes DNS sur Linux Ubuntu:

journalctl -u systemd-resolved | grep DNS

Sur macOS c’est le service mDNSResponder qui gère le DNS.

L’énorme majorité des serveurs DNS sont des serveurs BIND.

DNS publics

Historiquement c’est John Postel qui mettait à jour le fichier de correspondance entre adresse ip et nom de domaine. Il en a eu marre. Il a créé le système DNS pour automatiser tout ça.

Mais il reste tout de même un fichier en local sur chaque machine qui est lu en premier avant de faire des requêtes externes. Il s’agit du fichier hosts.

Dans Windows 10 et 11 le fichier hosts est à ce chemin:

C:\Windows\system32\drivers\etc\hosts

Sur linux et macOs le fichier hosts est ici:

/etc/hosts

Il est possible d’indiquer l’ip d’un nom de domaine. Ainsi en cas de panne de DNS facebook fonctionne encore… :-p

157.240.17.35 facebook.com

Ou encore vous pouvez bloquer un nom de domaine en indiquant une mauvaise adresse IP, par exemple l’adresse locale:

127.0.0.1. facebook.com

Généralement, c’est le Fournisseur d’Accès a Internet qui fourni un service de DNS. Son adresse est envoyée dans la requête DHCP.

Cependant, pour diverses raisons, il est possible d’utiliser un autre serveur DNS que celui fourni par son FAI.

Voici des adresses de DNS publics que l’on peut utiliser alternativement à ceux qui sont fournis par son FAI. (C’est une manière de contourner un filtrage basique de nom interdit comme pour les domaine de jeux en ligne)

Il faut quand même savoir que le serveur DNS est au courant de toutes les requêtes qui sont faites par un client. C’est ainsi un moyen d’espionnage et de statistiques de tout ce que vous allez voir sur Internet.

Voici un tuto qui explique comment changer sa configuration DNS sur plusieurs version de Windows…

Voici également une vidéo qui montre comment Windows parle un peu trop avec plein des serveurs pour envoyer des données… et comment certains assembleurs pc installent plein de logiciels inutiles avec des partenariats commerciaux. On parle de bloatware. On peut vérifier si un logiciel peut être supprimé sans autres sur le site: shouldiremoveit.com

Ce sont parfois ces logiciels là qui envoient des données “on ne sait trop où”.

On peut utiliser la méthode indiquée ci-dessus avec le fichier hosts pour bloquer l’envoi de données ailleurs et garantir sa vie privée.

127.0.0.1 data.microsoft.com
127.0.0.1 msftconnecttest.com
127.0.0.1 azureedge.net
127.0.0.1 activity.windows.com
127.0.0.1 bingapis.com
127.0.0.1 msedge.net
127.0.0.1 assets.msn.com
127.0.0.1 scorecardresearch.com
127.0.0.1 edge.microsoft.com
127.0.0.1 data.msn.com

DNSEC

Il existe une version sécurisée du service DNS. Il s’agit de DNSSEC.
Le principe repose sur une signature électronique de l’enregistrement DNS.

En effet, sans signature, rien ne garanti que l’info reçue est la bonne ! Surtout que le DNS a fréquemment plusieurs niveaux d’intermédiaire.

Le soucis, de DNSEC, c’est que la clé publique pour déchiffrer l’enregistrement DNS est généralement également fournie par une entrée DNS !!

DNS pour Active Directory

Lorsqu’un contrôleur de domaine Active Directory est déployé sur un LAN. L’adresse IP du contrôleur est indiquée dans une entrée DNS de type A. Ainsi la machine sait où s’adresser pour s’authentifier et obtenir des accès à des ressources.

Il y a encore des entrées DNS de type SRV (services) qui sont créées. Ce qui est permet à une machine de savoir quels sont les services disponibles (ex: Kerberos, LDAP, etc..) et sur quel hôte (ip, port).

Exercice: cherchez l’IP d’un contrôleur de domaine AD et les entrées SRV

Sur une machine connectée au réseau de l’école. (via le wifi par ex) On peut retrouver les noms d’hôte et IP des contrôleurs AD via l’historique des requêtes DNS de Windows.

s2dcne2.s2.rpn.ch → 157.26.166.17
s2dcne1.s2.rpn.ch → 157.26.166.16

Voici un entrée DNS de type SRV qui montre où trouver un service LDAP:

_ldap._tcp.s2ne._sites.dc._msdcs.s2.rpn.ch → avec une entrée SRV s2dcne1.s2.rpn.ch

La commande pour voir l’historique des requêtes DNS sur Windows est:

ipconfig /displaydns

WINS – NetBIOS

Dans les temps reculé du millénaire dernier. Du temps ou les réseaux informatique n’étaient pas forcément basé sur TCP-IP, il existait des noms de machine NetBIOS. C’est un peu l’équivalent actuel d’un nom de domaine DNS.

Tout comme on a besoins d’un serveur DNS (souvent BIND) pour résoudre un nom de domaine. Il existait des serveurs WINS, (Windows Internet Naming Service) pour résoudre les adresses qui correspondent à un nom NetBIOS.

Microsoft maintient encore WINS, mais recommande de ne plus le mettre en place et d’utiliser le système DNS à la place.

DynDNS

Comment faire pour atteindre l’interface web de sa box internet ? de son PC à la maison ? de sa station météo ? d’une caméra de surveillance ?

Acheter un nom de domaine c’est bien. Mais il faut configurer un serveur de nom, et ce dernier doit indiquer l’adresse ip du serveur. Faut-il encore avoir une adresse ip fixe !! Ce qui n’est pas donné selon les FAI.

Ainsi des bidouilles sont apparues…

A la fin du millénaire dernier (!) Le nom de domaine dyndns.org est devenu super populaire, car son propriétaire (entreprise Dyn) proposait gratuitement un nom d’hôte du type: monNAS.dyndns.org pour se rediriger vers l’ip de son choix !

Ceci nécessite juste l‘ajout d’un programme qui périodiquement envoie l’adresse IP de sa machine au service dyndns.org. Ainsi même si votre FAI décide de changer votre adresse IP, vous arriverez toujours à vous reconnecter au bon endroit. (un temps swisscom changeait les IP toutes les 20min pour ses abonnements basiques et ainsi inciter les gens à achter le service IP fixe vendu 5 fois plus cher !!)

Le services dyndns.org est resté gratuit jusqu’en 2014, et là c’est des millions d’adresses de particuliers ou de maintenance de machines diverses et variées qui on du passer à la caisse ou trouver une autre service gratuit.

De nombreux FAI ou registrar ont inclus un service de DNS Dynamique (souvent indiqué: DDNS) dans leur offre.

Liste de services de DDNS…

Infomaniak fournir un DDNS pour chaque domaine acheté chez lui..

Synology fourni aussi un service de DDNS, il suffit de créer un compte pour bénéficier d’une adresse du type: monSuperNas.synology.me

Ensuite il ne faut pas oublier d’ajouter la translation d’adresse et de port (NAT/PAT) dans le router pour passer des adresses IP / nom de domaine public à l’adresse IP interne du LAN.

Installe des services et outils collaboratifs sécurisés

Le but d’un serveur, c’est de fournir des services ! Mais quels services ?

Les types de serveurs

Petit retour historique (pour le détail voir le module 286), les premiers réseaux informatiques datent des années 1970. A cette époque il y avait quelques gros ordinateurs qui étaient partagés par de nombreux utilisateurs. Ces utilisateurs accédaient aux ordinateurs via un terminal, un appareil muni d’un écran et d’un clavier qui sert d’entrée sortie.

Le serveur mail

Donc toutes les ressources étaient partagées, vu que tout le monde utilise le même ordinateur. C’est ainsi que le e-mail né en 1971. C’est juste laisser un message à un autre utilisateur du même ordinateur, ou mieux encore à un utilisateur d’un des 23 ordinateurs du réseau Arpanet.

C’est ainsi que les premiers serveurs de messagerie sont nés.

DEC PDP-11 de la Nasa, utilisé via un terminal

Le serveur de fichiers

Dans les années 1980, le PC le Personal Computer est roi. Tout est installé sur chaque PC. Le PC était surtout utilisé pour faire de la bureautique, avec la célèbre suite MS Office. Les réseaux informatiques de type LAN se sont multipliés au sein des entreprises.

Le réseau informatique permet d’échanger des fichiers. En 1984, Sun Microsystems met sur le marché le Network file system (NFS). C’est ainsi qu’on arrive à la naissance de ce que l’on appelle un serveur de fichiers.

On est dans le paradigme client-serveur. Il y a un serveur, une machine – bien boostée – qui centralise les fichiers et les postes clients, les PC qui déposent et récupèrent des fichiers sur des disques durs en réseau.

Voici quelques protocole de partages de fichiers:

En 1989, 70 % des serveurs sont utilisés pour du partage de fichiers. Les autres serveurs sont des serveurs de base de données ou de e-mail.

Le serveur web

A la fin des années 1990, l’Internet relie de nombreux LAN. Le web s’invite de plus en plus chez les particuliers. Ainsi on a un nouveau type de serveur: le serveur web. Un visiteur se connecte sur un serveur web via un navigateur web.

En 1997 les Spice Girls sont des super-stars…

Pour mettre à jour son site web, on utilise le protocole FTP qui permet d’envoyer les fichiers HTML de sa propre machine au serveur web.

Il existe aussi des serveurs FTP ouvert au publics. Par exemples pour télécharger des logiciels.

29 juin 2007, San Francisco lancement du premier iPhone.

Dix ans plus tard, le web est partout. L’Internet devient mobile grâce au smartphone, révolution lancée principalement par la sortie de l’iPhone en 2007.

La synchro de fichiers

En 2007, Dropbox révolutionne le travail collaboratif. Fini l’échange de fichiers Word par e-mail pour collaborer à la rédaction d’un document. Plus besoin de serveur de fichier dans son entreprise. Il suffit d’installer Dropbox et de partager des dossiers sur son disque dur. Les fichiers ainsi partagés sont automatiquement mis à jour. Plus de risque de bosser sur une ancienne version du fichier !

Le réseau est devenu transparent.

Dropbox reste dans le paradigme des fichiers. Il transporte des fichiers, peu importe le type.

Avec l’arrivée des smartphones, le paradigme change. La notion de fichier est progressivement masquée. On installe de App, qui gèrent leur ressource de façon transparente.

Le réseau Internet est de plus en plus fiable, dispose d’un débit de plus en plus grand et s’emporte partout avec soit grâce à la 4G. (arrivé en 2012 chez Swisscom)

Cette amélioration qualitative d’Internet favorise le passage à l’informatique au nuage. (voir le support de cours sur le cloud…)

Cloud computing – drive

Depuis 2007 Microsoft faisait des essais d’espace de fichiers en ligne, c’est finalement en 2014 que le nom OneDrive est connu et devient populaire.

Depuis 2012, Google propose aussi un espace de stockage dans le nuage: Google Drive.

Contrairement à Dropbox, l’idée de base est avant tout de laisser ses fichiers dans le nuage, puis d’y accéder avec un connexion internet, même si un service de synchronisation est disponible dans ces différents Drive.

Cette synchro permet par exemple de sauvegarder automatiquement les photos que l’on ajoute dans son dossier Images en local. Puis on peut partager des galeries de photos avec ses amis.

Google Drive est en fait l’espace de stockage étendu de la suite de bureautique dans le nuage Google Docs lancée en 2006.

Face a cette concurrence dans le nuage, Microsoft a également lancé sa suite bureautique dans le nuage en 2011, avec Microsoft Office 365.

Protection de la vie privée

En juin 2013, Edward Snowden révèle que la NSA espionne le monde entier via des outils informatiques. Le cloud de Microsoft est par exemple accessible à la NSA.

C’est la fin d’une période d’insouciance sur le web. Le révélation d’Edward Snowden confirment les mise en garde de quelques acteurs du logiciel libre.

La popularité d’outil alternatifs est grandissante. On a ainsi OwnCloud qui est développé depuis 2010 comme alternative à Dropbox. Cet outil est à installer sur son propre serveur pour garantir la confidentialité de ses données.

En 2016, Nextcloud, un fork de Owncloud prend la relève.

En 2020, Infomaniak lance kDrive qui est un fork de NextCloud. Infomaniak propose une solution clé en main, pas besoin d’installer soi même son serveur d’outil collaboratif. Infomaniak met en avant ses valeurs éthiques et la législation Suisse hors CLOUD Act, accès de la NSA et Hadopi française pour la promo de son service.

Il faut toujours se souvenir que le cloud, l’informatique en nuage, c’est déposer ses données sur l’ordinateur de quelqu’un d’autre.

Installer NextCloud

Au passage, voici une vidéo qui montre comment installer NextCloud sur son réseau local. Donc comment se faire un nuage privé.

Outils collaboratifs

De nos jours on parle volontiers d’outils collaboratifs. Car on n’est plus simplement à échanger des fichiers ou écrire des documents de bureautiques. Le nombre et la qualité des outils pour collaborer à distance s’est bien étoffée. Surtout avec le confinement de 2020.

Voici quelques outils collaboratifs:

Le guide framasoft de l’auto-hébergement…

NAS

Le NAS – Network Attached Storage – est une solution très efficace et de plus en plus utilisée pour gérer des outils collaboratifs chez soi ou en entreprise.

C’est une manière simple et efficace au niveau matériel et au niveau logiciel.

A la base c’est juste un disque dur en réseau qui tourne sur une machine simplifiée.

Le côté stockage réseau est très développé. Il est possible de gérer facilement plusieurs disque dur ou SSD. (par exemple entre 2 et 12) Il est possible de facilement mettre en place un RAID. Soit pour augmenter la capacité mémoire, ou pour assurer la redondance et la fiabilité ou les deux, avec un RAID 5 par exemple.

Bien qu’il soit possible de construire soi même un NAS, la marque Synology est réputée et répandue pour les NAS.

Voici le calculateur de RAID de Synology.

Voici un aperçu d‘applications qui sont disponibles pour les NAS Synology.
Il y en a beaucoup. Il y a même une application de gestion de machine virtuelles. Il est ainsi possible de faire tourner à peut près tout ce qu’on veut sur un NAS.

Au labo B933 nous disposons de NAS Synology DS220…
Guide démarrage rapide..

Les NAS Synology tournent sur l’OS: DSM: DiskStation Manager…

Authentification et identification partagée

Afin de partager des données, des ressources et des services sur le réseau d’une organisation, il est nécessaire de gérer l’identification des utilisateurs et la gestion des droits qui va avec.

En anglais on utilise le terme de IAM: Identity and Access Management.
Ce qui donne en français: la Gestion des Identités et des Accès

Il y a des notions à comprendre:

  • L’identification → identifie qui vous êtes de façon unique (UserID ou email)
  • L’authentification → prouve que vous êtes bien la personne qui détient l’identifiant fourni.
  • Gestion des accès aux ressources en fonction de règles de droits et privilèges. (autorisations)

Il existe de nombreux modèles de base de ce qui est nécessaire pour gérer le contrôle d’accès logique. On peut notamment citer:

  • RBAC – Role-Based Access Control → les droits d’accès sont associé à un rôle, à un groupe. (ex: groupe admin ou staff sur un unix)
  • Zero Trust → Aucune confiance, vérification continuelle de l’identité, de la machine, du service, du contexte, etc.. (≠ VPN où dès qu’on a ouvert la porte on est dans la place.) voir la doc MS.

Le domaine de l’authentification est également en perpétuelle évolution.
Cependant on peut y voir des principes de base. L’authentification consiste à vérifier:

  • Quelques chose que je connais → mot de passe
  • Quelque chose que j’ai → clé matérielle, SIM, SMS, smarthone, App → authentification à 2 facteurs.
  • Quelque chose que je suisbiométrie. Empreinte digitale, iris, etc..

Les différentes méthode d’authentification son basées sur une combinaison de ces principes.

Nous verrons plus bas l’environnement d’authentification Kerberos, ainsi que Radius et le principe du Single Sign On

Attention à prendre en compte la révocation des moyens d’authentification.

Nous avons l’habitude de changer régulièrement de mot de passe. (une bonne pratique si tu ne le fais pas !!)

Cependant la biométrie pose problème. On ne change pas facilement ses empreintes digitales !

Et pourtant on peut se les faire voler plus facilement qu’un mot de passe. Il suffit de récupérer l’image de l’empreinte sur un verre dans un apéro public.

Encore plus fort, en 2014 déjà, l’informaticien allemand Jan Krissler, plus connu sous son nom de hacker Starbug, avait dévoilé comment il avait réussi à réaliser une copie des empreintes digitales de Ursula von der Leyen juste à l’aide d’une photo prise en haute résolution disponible sur le net !

Voici un podcast de la RTS qui indique les problèmes du système d’identification biométrique par l’iris qui se répand largement en Inde. Là aussi il y a des vols d’image de l’iris !

Il est intéressant également de savoir que l’iris des yeux n’est pas stable dans le temps. Certaines maladie modifient l’iris. L’iridiologie est d’ailleurs une technique pour faire des bilans de santé. Toujours en Inde, il existe des cas de personnes qui ont guérit d’un maladie et qui du coup n’arrivent plus accéder à leur compte en banque ! Le comble !

J’ai moi même fait l’expérience également du non fonctionnement de l’authentification Touch Id de mon iPhone après m’être malencontreusement poncé les doigts en faisant des travaux de menuiserie !

Il y a des grimpeurs qui témoignent également du non fonctionnement des outils de reconnaissance d’empreinte digitale chez eux du à l’usure de leurs doigts en raison de leur pratique assidue de l’escalade !

Annuaire LDAP

Les données nécessaires à ces activités de gestion des identités et des accès reposent sur une base de données de connaissances qui souvent prend la forme d’un annuaire.

Un annuaire est une structure de données en forme d’arbre qu’on appelle un Directory Information Tree.

Représentation de la “fiche” représentant une personne dans un annuaire. Extrait du cours openClassRoom à propos de LDAP.

Pour connaitre la signification des données, chaque annuaire est défini par son schéma de données.

Chaque “fiche” de données – une entrée – est identifiée de façon unique dans l’annuaire par son Distinguished Name que l’on abrège: dn. (voir l’illustration ci-dessus)

Chaque entrée appartient a une ou plusieurs classes d’objet. (ex: personne, machine, lieu, etc..)
Chaque entrée peut comporter des attributs. (ex pour une personne: date de naissance, e-mail, tel, etc..)

Voici des attributs courants:

dcdomain componentsouvent basé sur le DNS qui est déjà uniquedc=poudlard,dc=org
cncommon namePrénom + nomcn:Harry Potter
gngiven namePrénomgn:Harry
snsurnameNomsn:Potter
oorganization nameOrganisationPoudlard
ouorganisational unitDépartementGryffondor

Le protocole LDAP, Lightweight Directory Access Protocole, est un protocole basé sur TCP-IP pour interroger et modifier un annuaire. C’est actuellement quasiment un synonyme d’annuaire.

Comme sont nom l’indique avec le L de LDAP, c’est un protocole léger. Il a donc pris le dessus sur la norme X.500 de l’Union Internationale des Télécom. Dans cette famille il ne reste plus que le format X.509 qui défini la structure de données des certificats que l’on utilise pour les authentifications SSL/TLS.

On peut gérer les accès individuellement au cas par cas pour chaque ressources – PC, imprimante, volume réseau, base de données – mais ce serait un enfer. Ainsi très souvent dans une organisation on va utiliser une gestion centralisée des droits sur les ressources. 

Dans le monde Microsoft, on va utiliser un contrôleur de domaine. (Basé sur Microsoft Windows server). Le contrôleur de domaine (DC) s’appuie sur un annuaire (AD) qui est la base de données des ressources du domaine et les droits qui y sont associés.

Active Directory (AD) est la mise en œuvre par Microsoft des services d’annuaire LDAP pour les systèmes d’exploitation Windows.
Cependant AD fonctionne aussi en partie pour macOs et Linux, mais avec des app qui font le lien. Likewise Open permet d’intégrer des machines sous Linux et MacOs dans un AD.

Apple donne aussi une solution pour qu’un Mac se connecte à un domaine active Directory, via l’application Utilitaire d’annuaire.

Un contrôleur de domaine Active Directory est souvent abrégé: AD DS, soit Active Directory Domain Services.

Voici ce que le DNS de l’école nous propose comme service d’annuaire LDAP (via une entrée DNS SRV)

_ldap._tcp.s2ne._sites.dc._msdcs.s2.rpn.ch → avec une entrée SRV s2dcne1.s2.rpn.ch

On reconnait le DC de “Domain Controler” dans le nom s2dcne1. Il s’agit donc du contrôleur de domaine des écoles du Secondaire 2, sur le Réseau Pédagogique du canton de Neuchâtel.

Un contrôleur de domaine est très lié à une utilisation de bureau standard. On voit que la fondation de l’AD date des années 1990. D’ailleurs elle s’administre via une application windows.

Avec l’arrivée des services web, l’AD est un peu limité.

Si l’on va voir le webmail de l’école: https://mail.rpn.ch nous sommes redirigé sur le serveur d’authentification https://adfs.rpn.ch/adfs/….

Dans ce cas, c’est encore une autre notion, AD FS, est une Active Directory Federation Services.

C’est une sorte de service SSO (Single Sing-On) un service d’authentification unique.

Le coeur de l’Active Directory est un annuaire. Un annuaire est une sorte de base de données qui est structurée sous la forme d’un grosse arborescence, et qui correspond à un schéma précis.

Pour accéder à cet annuaire, on utilise le protocole LDAP (Lightweight Directory Access). Le protocole est sensé accéder à tous les annuaires. Mais souvent les schéma de données sont incompatibles, donc il est préférable d’utiliser un environnement cohérent.

OpenLDAP est considéré comme l’alternative libre à Active Directory.
OpenDirectory est l’implémentation d’Apple de LDAP. Mais Apple a abandonné la version serveur de macOS en 2022. Donc le truc n’est plus trop utilisé.
Une alternative pour gérer un environnement PME avec des macs, c’est d’utiliser le serveur LDAP d’un NAS synology.
(Voici la doc pour gérer des macs avec le LDAP de Synology…)

Active Directory n’est pas qu’un simple annuaire, mais il dispose aussi de nombreux outils de réplication (DFS via le protocole DFSR), de sauvegarde, afin de répartir les données, de supporter la charge des requêtes.

Le fichier NTDS.DIT contient l’annuaire AD.

On a par exemple la notion de Forêt qui regroupe des domaines distincts mais qui peuvent avoir un lien. C’est par exemple le cas si on fusionne deux entreprises et qu’elles partagent des ressources.

Bref résumé d’une partie du jargon de Active Directory:

  • Services d’authentification des utilisateurs pour accéder à des ressources
  • annuaire de:
    • utilisateurs
    • machines
    • applications
  • Fonctionne avec des “Objets AD”
    • personnes
    • ressources (machine)
    • groupes d’utilisateurs
  • DOMAINE = Entité autonome de Gestion. (groupe d’objets) => triangle
  • sous groupe = “Organisational U nit” OU => cercle
  • GPO = Group Policy Object = stratégie de groupe (par ex pour restreindre un droit)
  • Forêt = arbres de “triangle” (sapin ?) donc de Domaine.
  • Relation d’approbation pour passer d’un domaine à un autre
  • Installation physique:
    • DC: Domain Controller sur un Windows Server
    • synchro entre annuaire
    • RODC: Read Only Domain Controller => pour aller plus vite.

Playlist de cours Active directory.

Avec la version texte….

Installer Active Directory sur Windows 10…

Les FAQ de Active Directory… pour tout savoir…

Créer un domaine Active Directory

Le serveurs Windows qui est un contrôleur de domaine se voit créé un dossier: C:\Windows\SYSVOL

Le dossier SYSVOL – Volume System – un dossier partagé qui permet de stocker des scripts, GPO et d’autres ressources qui doivent être disponibles pour les autres contrôleurs de domaines et les machines clientes.

Tuto Microsoft sur Active Directory….

Ainsi que les modules vidéos de microsoft:

Active Directory Admin Center…

Kerberos

Le cerbère est un chien à trois tête qui garde l’entrée des enfers. C’est cette créature mythique qui a donné son nom au protocole Kerberos utilisé par le contrôleur de domaine Active Directory pour authentifier les utilisateurs.

Le serveur DNS indique des serveurs KDC, des centres de distribution des clés.

Kerberos fonctionne avec un système de tickets qui évite d’échanger des mots de passe sur le réseaux, seules des clés transitent.

Radius

RADIUS (Remote Authentication Dial-In User Service) est un protocole client-serveur permettant de centraliser des données d’authentification.

Le but de RADIUS était à l’origine de permettre aux fournisseurs d’accès à Internet d’authentifier les utilisateurs distants utilisant les connexions par modem RTC à partir de multiples serveurs mais d’une seule base utilisateurs.

Le modem module les signaux informatiques sur la ligne de téléphone via des sons audibles. Atari800XL de 1983 présenté au Vintage Computer Festival en 2019.

Radius est ce qu’on appelle un protocole AAA soit un protocole qui réalise trois fonctions : l’authentification, l’autorisation, et la traçabilité (en anglais : Authentication, Authorization, Accounting/Auditing).

L’accounting est une fonction légalement demandée au Fournisseurs d’Accès Internet. Ainsi Radius propose un outil pour la création d’une session (couche OSI 5). On a les messages Accounting Start et Accounting Stop. Port UDP 1813 pour l’accounting et port UDP 1812 pour l’indentification.

RADIUS connaît nativement plusieurs protocoles de mot de passe :

  • PAP (échange en clair du nom et du mot de passe)
  • CHAP (échange basé sur un hachage de part et d’autre avec échange seulement du « challenge »).
  • MS-CHAP et MS-CHAP-V2 (les variantes Microsoft de CHAP)

Le successeur du protocole RADIUS est le protocole Diameter (jeu de mots sur le double du rayon). Radius a été conçu en 1997, il utilise donc UDP pour des raisons de performance. Diameter utilise TCP ou SCTP.

Diameter est notamment utilisé entre les différents composant du réseau 4G/LTE.

Une application courante est également d’authentifier des utilisateurs pour leur permettre d’accéder à un réseau WLAN.

radius

Exemple de l’installation de FreeRadius sur Linux Debian:

SSO

Encore d’autres manières de gérer une authentification centralisée et aussi de déléguer l’authentification de son services à une autre entité.

Single Sin On…. > OpenID
délégation d’authentification > OAuth

Outils de maintenance et documentation

Maintenance du réseau

Monter un réseau c’est bien, savoir le gérer dans le temps, c’est mieux.

Voici quelques outils pour gérer son réseau.

Playlist de vidéos pour apprendre Zabbix

Bidouilles réseau

Documentation

La documentation est importante pour soi dans le futur et pour travailler avec des collègues.

Il est important de documenter tous les accès qui ont été donnés. Ça peut être utile pour les révoquer en cas de besoin.

Vérification périodiques

Faire des sauvegardes c’est bien…. pouvoir utiliser ces sauvegardes c’est mieux.

C’est pénible de découvrir quand on en a besoin que les sauvegardes ne fonctionnent plus, ou ne sont pas pertinente pour ce qu’on a besoin de faire.

Ainsi il est nécessaire de régulièrement effectuer des tests de récupération de données. Un rappel dans l’agenda, avec une petite procédure de vérification et ça peut éviter des drames !

Pour se remémorer 2-3 trucs…

VPN

Cet article est sponsorisé par…. SudVPN… cliquez ici pour obtenir une réduction de 70% avec le code… RFC1149

Un VPN est un Virtual Private Network, un réseau privé virtuel. Le but est de se connecter depuis son ordinateur ou son smartphone et de se connecter comme si on était dans un LAN, ailleurs…

Le VPN est régulièrement utilisé par les télétravailleurs pour obtenir l’accès à des serveurs qui sont disponibles dans le LAN de l’entreprise, comme par exemple des serveurs de fichiers locaux.

Un VPN crée un tunnel sécurisé entre le point d’entrée et le point de sortie. Il y a plusieurs méthodes pour créer ce tunnel nous allons voir les différences.

Depuis la création de la loi HADOPI en France, le marché du VPN a explosé car il permet d’accéder à des services de piratage de contenus sans que l’on puisse analyser le trafic. Mais la pub ne le dit jamais !

Ainsi beaucoup de français utilisent des VPN pour se connecter en Suisse (et ailleurs) faire leur activités pas trop recommandables.

Les grands axes de la politique de sécurité

Il est temps de se remémorer les grands principes vu en 1ère année sur la politique de sécurité….

Quels sont les risques et les grands axes pour se protéger ?

Principe de la cryptographie

Echange des clés Diffie Hellman..

VPN en pratique

Doc VPN…

Guide Microsoft du VPN pour Windows…

LDAP

annuaire LDAP

L’app utilitaires d’annuaire permet à un mac de rejoindre un domaine Active Directory.

Références

eit cockpit…

Scroll to top