Previous Up Next

4  Services Internet

Il vous est demandé de sécuriser des services réseau.

4.1  Serveur SSH

Votre machine virtuelle Xen et votre eeePC doivent être accessible par SSH.

4.2  Serveur DNS

Vous allez réserver votre nom de domaine pour associer un nom DNS à chacune de vos adresses IP (les zones inverses doivent, elles aussi, être gérées). Il est suggéré d’utiliser le registrar Gandi (http://www.gandi.net). Une fois le nom de domaine reservé, configurez bind (paquetage bind9) sur votre serveur virtuel Xen pour donner les adresses IPv4 et IPv6 correspondant à vos noms de machines. Utilisez l’interface web de votre fournisseur pour paramétrer votre machine comme serveur DNS principal. Créez une machine virtuelle EC2 d’amazon pour servir de serveur DNS secondaire. Vous pouvez utiliser ns6.gandi.net comme autre serveur secondaire.

Par la suite mettez en place vos zones inverses qui permettent de trouver vos noms en fonction de vos adresses IP. Pour l’instant ce n’est possible que pour les adresses IPv6 de la connexion SDSL secondaire. Demander aux encadrants pour réaliser les délégations vers vos serveurs DNS.

4.3  Sécurisation de site web par certificat

Sur la machine virtuelle, configurez apache2 (paquetage du même nom) en mode sécurisé à l’aide d’une clef asymétrique et d’un certificat signé par une autorité de certification (CA). Comme CA, il est conseillé d’utiliser aussi Gandi. Le CA signe un CSR (Certificate Signing Request), vous allez créer vos clefs et le CSR en utilisant openssl (vous pouvez vous aider du Wiki de Gandi). Une fois le CSR signé par le CA et donc transformé en un certificat vous pourrez configurer apache2 pour gérer du HTTPS sur le port 443. Dans la définition du serveur virtuel pour ce port, il faut insérer la ligne de configuration SSLEngine on. Il faut aussi préciser où se trouve la clef privée du serveur via le mot clef SSLCertificateKeyFile et où se trouve le certificat via le mot clef SSLCertificateFile. Il est aussi conseillé de définir la chaîne de certification avec SSLCertificateChainFile.

4.4  Sécurisation de serveur DNS par DNSSEC

Sécurisez votre serveur DNS en signant la zone correspondant à votre nom de domaine. Vous pouvez vous appuyer sur le document http://www.bortzmeyer.org/jres-dnssec-2009.html pour réaliser la sécurisation. Testez votre configuration avec l’option DNSSEC de l’outil http://www.zonecheck.fr.

Pour entrer dans les détails, vous allez devoir effectuer les opération suivantes.

  1. ajoutez l’option dnssec-enable yes; dans le fichier named.conf.options ;
  2. il est conseillé de créer un répertoire de nom <nom_de_zone>.dnssec pour y générer les clefs ;
  3. créez la clef asymétrique de signature de clefs de zone (pour accélerer la génération sur un système de test vous pouvez utiliser l’option -r /dev/urandom) ;
    dnssec-keygen -a RSASHA256 -b 2048 -f KSK -n ZONE <nom_de_zone>
      
  4. créez la clef asymétrique de la zone pour signer les enregistrements (pour accélerer la génération sur un système de test vous pouvez utiliser l’option -r /dev/urandom) ;
    dnssec-keygen -a RSASHA256 -b 1024 -n ZONE <nom_de_zone>
      
  5. renommez les deux paires de clefs obtenues en utilisant le nom de la zone comme préfixe puis en suffixant d’abord par la destination de la clef (-ksk pour la KSK ou -zsk pour la ZSK) puis par le type de clef (.key pour la clef publique ou .private pour la clef privée) ;
  6. incluez les clefs publiques dans votre fichier de zone, incrémentez le numéro de version de la zone ;
    $include /etc/bind/<nom_de_zone>.dnssec/<nom_de_zone>-ksk.key
    $include /etc/bind/<nom_de_zone>.dnssec/<nom_de_zone>-zsk.key
      
  7. signez les enregistrements de la zone ;
    dnssec-signzone -o <nom_de_zone> -k <nom_de_zone>-ksk ../<nom_de_zone> <nom_de_zone>-zsk
      
  8. modifiez le fichier named.conf.local pour utiliser la zone signée de suffixe .signed ;
  9. il ne reste plus qu’à communiquer la partie publique de la KSK (présente dans le fichier <nom_de_zone>-ksk.key) à votre registrar (par exemple gandi.net, regardez à "Manage DNSSEC" dans la section "DNS servers").

4.5  Filtrage des services

Vérifiez dans les fichiers de contrôle de votre machine virtuelle que le port ssh est bien sujet à des attaques par force brute.

Installez un système pour bannir les machines sources des attaques les plus patentes (avec l’utilitaire fail2ban par exemple).

Traitez aussi les attaques sur votre serveur DNS (via le protocole TCP uniquement).

4.6  Service plus ludique

Installez un conteneur contenant un serveur minecraft classique. Pour cela utilisez un conteneur docker déjà configuré.

Personnalisez votre serveur avec un mécanisme en "red stone" implantant soit un incrémenteur de pas 1, soit un décalage à gauche avec repliement, les deux sur 8 bits.


Previous Up Next