[ Labos ]

Proxy HTTP

Présentation du projet

Le but de ce projet est d'élaborer une solution pour sécuriser l'accès de postes Windows au web dans un environnement Windows Server 2012.

Scénario

La direction d'une entreprise a décidé de limiter l'accès à Internet : le personnel ne pourra consulter le web uniquement sur le temps de pause de midi et qu'après s'être authentifié.
S'agissant d'une petite entreprise de 10 personnes sans responsable informatique, la solution envisagée devra être la moins complexe et la moins coûteuse que possible.
Le travail du consultant en réseaux sera de proposer une solution technique pour répondre aux besoins de l'entreprise et de réaliser une implémentation de démonstration.

Topologie du réseau existant


R1: routeur.
DC1: contrôleur de domaine.
Client1: station de travail avec navigateur web.

Objectif du scénario

Mettre en pratique les notions vues dans les labos et ajouter un fonctionnalité supplémentaire à un serveur Windows 2012.

Périmètre du projet et remarques

La solution n'intègrera que le strict nécessaire pour répondre au scénario. La solution proposée ne prétendra pas être un exemple de bonnes pratiques de sécurité ou de réseau.

Organisation du projet

Ce projet est réalisé par Tainea, avec Windows Server 2012 R2 dans un environnement de virtualisation GNS3/QEMU.

Solution technique proposée

La connexion directe vers Internet est supprimée et le contrôleur de domaine fera la passerelle entre le routeur et le réseau interne grâce à deux interfaces réseaux, l'une est connectée au réseau interne et l'autre au routeur.
Le traffic vers le web est relayé avec Squid, un relais HTTP (proxy) en licence libre qui sera installé sur le même serveur que le contrôleur de domaine. Ce relais limitera l'accès à Internet sur base de plages horaires et authentifiera les utilisateurs sur l'Active Directory.
Le choix de Squid est justifié par le fait que Windows Server 2012 ne propose pas un service intégré de relais HTTP.

Nouvelle topologie


R1: routeur.
DC1: contrôleur de domaine avec relais HTTP.
Client1: station de travail avec navigateur web.

Implémentation

Phase 1: Pré-requis
Phase 2: Installation du relais HTTP
Phase 3: Configuration du client web
Phase 4: Limitation à une plage horaire
Phase 5: Authentification des utilisateurs

Conclusions

À travers ce projet, j'ai montré comment ajouter un relais HTTP à Windows Server 2012 et sécuriser l'accès à ce service avec l'Active Directory via le protocole LDAP. La solution est relativement facile à mettre en œuvre, mais il faut néanmoins penser à organiser les règles ACL (liste de contrôle d'accès) dans un ordre séquentiel et logique, sous peine d'incohérences dans leurs applications.
On notera que pour des raisons de sécurité, on préférera une solution plus complète avec un réseau interne protégé par un pare-feu indépendant du serveur et un relais HTTP isolé dans une DMZ.

Bibliographie

http://squid.diladele.com/
https://docs.diladele.com/howtos/installing_squid_windows/index.html
https://wiki.squid-cache.org/SquidFaq/SquidAcl#How_can_I_allow_some_users_to_use_the_cache_at_specific_times.3F
https://wiki.squid-cache.org/ConfigExamples/Authenticate/WindowsActiveDirectory


Phase 1: Pré-requis

Matériel

Logiciels


Phase 2: Installation du relais HTTP

  1. Sur DC1, configurer les interfaces réseaux.
  1. Installer Squid for Windows.




  1. Lancer Squid Server Tray.


Phase 3: Configuration du navigateur web

  1. Sur Client1, configurer l'interface réseau.
  1. Ajouter l'adresse du proxy aux Propriétés Internet.
  1. Se connecter à un site avec Internet Explorer.


Phase 4: Limitation à une plage horaire

  1. Sur DC1, ajouter les plages horaires à la configuration du relais HTTP.
  1. Redémarrer le relais.
  2. Sur Client1, se connecter à un site en dehors de la plage horaire autorisée (pause de midi).


Phase 5: Authentification des utilisateurs

  1. Sur DC1, créer un utilisateur fictif pour pouvoir interroger l'Active Directory avec LDAP.

  1. Ajouter l'authentification LDAP à la configuration du relais HTTP.
  1. Redémarrer le relais HTTP.
  2. Sur Client1, se connecter à un site avec un utilisateur du domaine.