Summary

This document discusses computer networking concepts, including software licenses, partitioning, and system administration.Specific topics are covered including the GNU General Public License (GPL) and the Lesser GPL (LGPL), along with file systems, hardware configuration, and deployment procedures. The focus is on Linux with some Windows comparisons.

Full Transcript

4.4.1 Logiciel Libre – GPL Le logiciel libre se définit comme un logiciel qui peut être étudié, modifié et diffusé. Cela garantit donc l’accès au code source du programme et par cette occasion de vérifier la transparence et la sécurité du programme. Le logiciel libre a été initié par Richard Stallm...

4.4.1 Logiciel Libre – GPL Le logiciel libre se définit comme un logiciel qui peut être étudié, modifié et diffusé. Cela garantit donc l’accès au code source du programme et par cette occasion de vérifier la transparence et la sécurité du programme. Le logiciel libre a été initié par Richard Stallman qui créa en 1985 la FSF (Free Software Foundation). À partir de ce moment, de nombreux développeurs ont distribué leurs logiciels sous licence GPL (GNU Public Licence). Cette licence se caractérise par 4 libertés à respecter : 1. La liberté d’exécuter le logiciel, pour n’importe quel usage 2. La liberté d’étudier le fonctionnement d’un programme et de l’adapter à ses besoins, ce qui passe par l’accès aux codes sources 3. La liberté de redistribuer des copies 4. L’obligation de faire bénéficier la communauté des versions modifiées (copyleft) La dernière liberté est la plus contraignante, car elle nécessite qu’un logiciel utilisant une licence GPL doive être distribué sous licence GPL. C’est pourquoi d’autres licences ont vu le jour pour mieux s’adapter aux réalités des entreprises. 4.4.2 LGPL La licence LGPL (Lesser GNU Public Licence) reprend les fondements de la licence GPL en supprimant la restriction sur l’hérédité de la licence GPL. Cette licence permet également la cohabitation de plusieurs licences (libres et propriétaires) au sein d’un logiciel. Il s’agit pour ces raisons de la licence préférée des développeurs de librairies. 4.4.5 Remarques Gratuit ne veut pas dire libre ! La gratuité implique simplement que l’on ne paye pas pour un produit. Open source ne veut pas dire libre ! L’Open source implique simplement que nous avons la possibilité d’avoir accès au code source. La notion de logiciel libre fait référence aux 4 libertés citées ci-dessus Le RAID (Redundant Arrays of Inexpensive Disks) est un mécanisme de redondance de disques. Celui-ci a plusieurs objectifs combinables à savoir se prémunir contre la panne d’un disque et améliorer les performances en écriture sur les disques. Le RAID 5 s’appuie sur l’opérateur logique XOR. La parité de chaque écriture est calculée via cet opérateur. En cas de perte d’un disque, l’information peut être reconstituée à partir des 2 autres disques toujours via cet opérateur XOR 4.6.1 Partitionnement Le partitionnement désigne l’opération de diviser un disque en partitions. Un partitionnement bien réfléchi facilitera la maintenance des serveurs. Une partition système et une partition “données utilisateur” faciliteront par exemple la mise en place de sauvegardes. LVM (Logical Volume Manager) est une solution permettant une gestion dynamique du partitionnement disponible sous Linux. 4.6.1.2 Systèmes de fichiers Lors du choix du partitionnement, il sera nécessaire de préciser le système de fichiers de chaque partition. Voici les principaux : 1. Ext2,Ext3,Ext4 : système de fichiers Linux incluant le concept de permissions (Ext4 est actuellement la version la plus utilisée sous Linux) 2. NTFS : système de fichiers Windows incluant le concept de permissions (NTFS est actuellement la version la plus utilisée sous Windows) 3. FAT32 : ancien système de fichiers limité à des fichiers de maximum 4GB , pas de systèmes de permissions, multiplateforme Chaque ligne du fstab indique donc une partition, son point de montage, le système de fichiers utilisé, les options, si une sauvegarde doit être faite avec l’utilitaire dump (peu utilisé), l’ordre de vérification des disques lors d’une demande de vérification (fsck). 4.6.1.4 Chiffrement des partitions Une partition non chiffrée peut être lue facilement sans autorisations particulières via un live-cd si on a un accès physique à une machine. Linux propose LUKS (Linux Unified Key Setup) qui permet un chiffrement des partitions (à l’installation ou plus tard). Windows propose, quant à lui, BitLocker pour crypter ses partitions. 4.6.2 Amorçage Lors du démarrage d’une machine, un chargeur d’amorçage (bootloader) est lancé. Celui-ci s’occupera de lancer le système d’exploitation ou de présenter les différents systèmes d’exploitation dans le cas d’un multi-boot. Windows propose winload comme chargeur d’amorçage tandis que Linux propose essentiellement GRUB (GRand Unified Bootloader). 4.7 Installation Windows (Windows Server 2016) L’installation d’un serveur Windows est assez simple. C’est l’ajout de service, appelé rôle sous Windows, qui reste plus complexe. Les rôles permettent d’installer un Active Directory, un serveur DNS, DHCP, …. Un aspect important sous Windows est la gestion des licences. Les licences serveur doivent être comptabilisées suivant le nombre de cœurs physiques du processeur. Il faut également comptabiliser les licences d’accès client (CAL). 5 Administration Linux (Debian) 5.2 APT Toutes les distributions Linux disposent d’un système de gestion des packages L’outil APT dispose d’un fichier de configuration (/etc/apt/sources.list) permettant de renseigner les dépôts à utiliser 5.2.1 Commandes APT Mise à jour du dépôt local : apt-get update Mise à jour des logiciels installés : apt-get upgrade Installer un logiciel : apt-get install... 5.3 SSH Les systèmes Linux actuels sont le plus souvent gérés en ligne de commande (pas d’interface graphique) et à distance. Pour ce faire, on utilisait telnet mais ce protocole a le gros inconvénient de ne rien crypter. Une simple écoute réseau permet alors de récupérer le mot de passe root. C’est pour cette raison que SSH est venu remplacer telnet. 5.3.1 Fonctionnement Nous ne donnerons ici qu’un résumé du fonctionnement du protocole SSH (Secure Socket Shell). Le protocole SSH effectue un échange de clés de chiffrement avant d’utiliser ces dernières pour crypter toutes les communications entre le client et le serveur. Le port 22 est le port par défaut utilisé par SSH. SSH est un service qui est initialisé/démarré par systemd. Par défaut, SSH est installé pour permettre une authentification par login et mot de passe pour tous les utilisateurs présents sur le serveur (hormis root) ainsi que par clé (root compris). 5.3.4 Utilisation Le client SSH a besoin des informations suivantes : un nom de machine ou une adresse IP, un login et un mot de passe. On peut remplacer l’authentification par login/mdp par une clé. 5.3.5 Copie de fichiers Il est à noter que dès que vous avez un accès SSH, vous pouvez copier des fichiers entre votre machine hôte et invitée via SCP/SFTP. Ceci peut se faire en ligne de commande (Linux), avec le logiciel WinSCP (Windows) ou Cyberduck (Mac). 5.3.7 Tunnel SSH La création d’un tunnel SSH permet de connecter 2 machines en encapsulant le trafic de la première et en le redirigeant vers la seconde. Cette technique est souvent appelée le VPN du pauvre car elle permet notamment de donner accès à une machine du réseau local de l’entreprise à des ordinateurs distants et à moindres frais (de configuration). Il est à noter que adduser crée un profil pour l’utilisateur basé sur un répertoire squelette situé dans /etc/skel. Tout fichier placé par l’administrateur dans ce répertoire squelette sera copié par défaut dans le répertoire de l’utilisateur lors de l’appel à adduser. Par défaut, la home directory créée par adduser est accessible en lecture à tout le monde (voir /etc/adduser.conf). Attention, ceci peut ne pas correspondre à votre politique de confidentialité. Ceci peut être changé dans /etc/adduser.conf. 5.4.3.4 Avantages de SUDO Les avantages du SUDO sont les suivants: 1. Permettre à des utilisateurs d’exécuter une commande en tant que superutilisateur sans devoir connaître le mot de passe de root. 2. Travailler en mode non privilégié et n’utiliser le mode privilégié que quand cela est nécessaire. Ceci réduit le risque de commettre des dommages pour le système. 3. Contrôler et enregistrer qui fait quoi (SUDO enregistre toutes le commandes sudo effectuées dans /var/log/auth.log). 4. Renforcer la sécurité. En désactivant le compte root et en le remplaçant par un compte « sudo », un attaquant ne connaîtra pas le mot de passe, ni le nom du compte ! 5.5 Passwd Passwd permet de changer le mot de passe de son compte et de tous les comptes (pour le root) 6.3 Etapes de déploiement d’un site Web 1. Installer le paquet du serveur Web (Apache) 2. Transférer/Installer le code du site Web sur le serveur (/var/www) 3. Créer un VirtualHost 4. Activer le site 5. Faire correspondre la Directive ServerName et /etc/hosts 6. Tester le site Web en local 6.5 Caractéristiques d’Apache Apache étant hautement configurable, il se caractérise par une configuration morcelée. Le fichier de configuration de base est /etc/apache2/apache2.conf. Ce fichier inclut tout simplement d’autres fichiers et répertoires à savoir: /etc/apache2/sites-available : définitions de sites Web (VirtualHost) /etc/apache2/sites-enabled : définitions de sites Web (VirtualHost) activés /etc/apache2/mods-available : liste des modules (SSL, proxy,..) installés /etc/apache2/mods-enabled : liste des modules (SSL, proxy,..) activés /etc/apache2/conf-available : liste des configurations (charset,..) disponibles /etc/apache2/conf-enabled : liste des configurations (charset, …) activées /etc/init.d/apache2 : un service qui sera démarré/arrêté par SystemD /etc/apache2/ports.conf : la configuration des ports pour apache (80 et 443 par défaut) 6.6 VirtualHost Les virtualhosts permettent de déployer plusieurs sites Web sur un même serveur (même adresse IP). La distinction se fait en général sur le nom du site, apache doit en effet savoir suivant l’URL quel site il doit présenter. Ensuite, il faut activer le site comme suit : #commande à entrer dans /etc/apache2/sites-available a2ensite monsite.conf 6.7 Reverse proxy Un proxy inverse est un serveur frontal c’est-à-dire un serveur exposé sur Internet et par lequel toutes les requêtes passeront. Ce serveur ne traitera pas les requêtes, mais se contentera de les rediriger vers d’autres serveurs internes à l’entreprise. Les intérêts de ce mécanisme sont multiples. Vu qu’il n’y a qu’un seul point d’accès, la sécurité est plus facile à gérer. Cela permet également de mettre en œuvre du «load balancing» entre des serveurs internes. C’est également un moyen simple de rendre disponible un serveur interne sur le Web (pas besoin de configuration réseau). 6.9 Apache et HTTPS Le port par défaut pour les communications https est le 443. 6.9.3 Let’s Encrypt Let’s encrypt est une autorité de certification libre, gratuite et automatisée. Ceci permet d’obtenir un certificat valide pour son site Web sans trop d’effort.

Use Quizgecko on...
Browser
Browser