Mise en place d un proxy Squid avec authentification Active Directory



Documents pareils
Virtualisation d un proxy Squid gérant l authentification depuis Active Directory. EPI - Stagiaire2007 Vivien DIDELOT

Serveur proxy Squid3 et SquidGuard

Sécurité du Système d Information. Authentification centralisée et SSO

Installation et Configuration de Squid et SquidGuard sous Debian 7

Mise en place d un serveur Proxy sous Ubuntu / Debian

But de cette présentation. Proxy filtrant avec Squid et SquidGuard. Serveur proxy. Serveur proxy. Hainaut P

Serveur Mandataire SQUID

Configuration de SquidGuard sous Fedora Core 4-1 / 6 -

Imprimantes et partage réseau sous Samba avec authentification Active Directory

SÉCURITÉ DU SI. Authentification centralisée et SSO. Denoun Jérémy De Daniloff Cyril Bettan Michael SUJET (2): Version : 1.0

12 - Configuration de SquidGuard - De base.doc. A) Sous /etc/squid/squid.conf

MANUEL D INSTALLATION D UN PROXY

PROXY SQUID-SQARD. procédure

MISE EN PLACE D UN FIREWALL ET D UN SERVEUR PROXY SOUS LINUX MANDRIVA.

But de cette présentation. Contrôleur de domaine avec Samba (rédigé pour Ubuntu Server) Introduction. Samba: principes

SQUID Configuration et administration d un proxy

PLANNING DES ACTIVITES PROFESSIONNELLES

Installation d'un Contrôleur Principal de Domaine SAMBA 4

Projet Semestre2-1SISR

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Linux sécurité des réseaux

Introduction. Pourquoi LTSP? Comment fonctionne-t-il? CIP Kevin LTSP BTS SIO

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x

Configurer Squid comme serveur proxy

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

INDUSTRIALISATION «802.1X» CONFIG : 802.1X PEAP MSCHAPV2

Classe et groupe : 1P 3 SEN TRI. Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Authentification centralisée et SSO Sujet. Table des matières. 1 ORGANISATION Mode de rendu Informations complémentaires 1 2 SUJET 2

Kerberos : Linux, Windows et le SSO

GOUTEYRON ALEXIS. SIO2 N candidat: UEpreuve E4. USituation professionnelle 2. serveurs de fichiers. Uen haute disponibilité

Jeudis du libre, Samba ou comment donner le rythme aux stations Windows

Zemma Mery BTS SIO SISR. Session Projets Personnels Encadrés

LINUX REMPLAÇANT WINDOWS NT

Procédure d utilisation et de paramétrage (filtrage) avec IPFIRE

04/02/2014 Tutoriel. Lubuntu & glpi. thomas [NOM DE LA SOCIETE]

Tutoriel compte-rendu Mission 1

Le protocole FTP (File Transfert Protocol,

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

OCS Inventory & GLPI

REPARTITION DE CHARGE LINUX

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

Proxy SQUID sous Debian

Les réseaux des EPLEFPA. Guide «PfSense»

I. Présentation du serveur Samba

S28 - La mise en œuvre de SSO (Single Sign On) avec EIM (Enterprise Identity Mapping)

PARAMETRER SAMBA 2.2

Le serveur SLIS - Utilisation de base

Ce manuel vous accompagne au long des procédures d installation et de restauration de PheBuX 2004 [alternative solutions]

Installation d'un serveur sftp avec connexion par login et clé rsa.

Les différentes méthodes pour se connecter

IPS-Firewalls NETASQ SPNEGO

Serveur d impression CUPS

VXPERT SYSTEMES. CITRIX NETSCALER 10.1 et SMS PASSCODE 6.2. Guide d installation et de configuration pour Xenapp 6.5 avec SMS PASSCODE 6.

CASE-LINUX MAIL - ROUNDCUBE

BTS Services informatiques aux organisations Session E4 Conception et maintenance de solutions informatiques Coefficient 4

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

SQUID I- Squid, c'est quoi? II- Comment ca marche? III- Où trouver des informations?

Squid. Squid est un logiciel permettant la réalisation d'un cache pour les clients web. Squid peut aussi jouer le rôle de filtre http.

Installation de Zabbix

Tutoriel Création d une source Cydia et compilation des packages sous Linux

GLPI OCS Inventory. 1. Prérequis Installer un serveur LAMP : apt-get install apache2 php5 libapache2-mod-php5 apt-get install mysql-server php5-mysql

[ GLPI et OCS pour Gentoo 2006] ArtisanMicro. Alexandre BALMES

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Kerberos/AD/LDAP/Synchro

Installation d'un service mandataire (Proxy SQUID) 1

RTN / EC2LT Réseaux et Techniques Numériques. Ecole Centrale des Logiciels Libres et de Télécommunications

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Comment surfer tranquille au bureau

LP Henri Becquerel - Tours

Compte rendu d'activité PTI n 2

Afin d'éviter un message d'erreur au démarrage du service Apache du type :

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Mise en place d un serveur trixbox sur un domaine Kwartz. Version 1.0 du 25 juin 2012 Lycée Polyvalent d Artois, Noeux les Mines Adrien Bonnel

Installer un serveur web de développement avec VirtualBox

Installer Active Directory sur Microsoft Server 2012 Intégrer un poste Linux dans AD

Squid. Olivier Aubert 1/19

Clients légers et authentification Active Directory. Octobre

BTS SIO Dossier BTS. PURCHLA Romain

WEB APPLICATION FIREWALL AVEC APACHE ET MOD_SECURITY

Présentation, mise en place, et administration d'ocs Inventory et de GLPI

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

Rôles serveur Notion de Groupe de Travail Active Directory Utilisation des outils d administration Microsoft Windows Server 2008

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

Réaliser un inventaire Documentation utilisateur

Authentification sur réseau sans-fil Utilisation d un serveur radius Expérience du CENBG

Authentification unifiée Unix/Windows

Mise en place de la G4100 pack avec Livebox

Le filtrage de niveau IP

PPE GESTION PARC INFORMATIQUE

Simplifier l authentification avec Kerberos

Squid/SquidGuard.

Spécialiste Systèmes et Réseaux

AUTHENTIFICATION MANAGEMENT

Proxy et reverse proxy. Serveurs mandataires et relais inverses

Transcription:

Mise en place d un proxy Squid avec authentification Active Directory Dans ce tutoriel nous allons voire la mise en place d un proxy Squid avec une authentification transparente pour les utilisateurs d active directory, l intérêt de la manœuvre c est que les utilisateurs n auront pas besoin d entrer de login et de mot de passe pour accéder à internet, il suffit juste de se loguer sous une session windows. Notre test pour la mise en place de cette solution est effectué sur Ubuntu serveur 9.10 32 bits Nota : Pensez à respecter la casse très important sous linux (Majuscule minuscule) Pensez à faire des sauvegardes de vos fichiers de conf : cp nomdufichier nomdufichier.old Avant de commencer Avoir un réseau Windows Un contrôleur de domaine sous Windows serveur 2003 Un domaine active directory Un poste pour Squid avec Ubuntu server dans notre cas 1. Intégration de la machine au domaine Le nom de domaine : domain.local Le nom du contrôleur de domaine : dc Le compte administrateur : Admin Le nom de la machine Squid : SquidProxy (Ces valeurs sont à titre d exemple elles devront être remplacé par vos valeurs) Pour rejoindre le domaine nous allons devoir installer les paquets suivants : samba qui permet de faire le lien entre Windows et Linux krb5-user et libpam-krb5 des librairies lié a Kerberos, le protocole d authentification utilisé par active directory ntpdate pour synchroniser l heure winbind le composant de samba communiquant avec active directory Pour installer les différents paquets nous utiliserons la commande : aptitude install Lors de l installation de krb5 il vous sera demandé d entrer le nom du serveur de domaine et du serveur administratif saisissez donc dc Capture 1 Pour des raisons de sécurité Kerberos nécessite que l heure locale soit synchronisée avec votre DC : ntpdate ip_de_votre_dc Vous pouvez vérifier que la date est l heure de votre proxy soit synchronisé avec votre contrôleur de domaine :

date Configurer Kerberos Nous allons éditer le fichier /etc/krb5.conf pensez à sauvegarder le fichier de base. Entrer que le contenue suivant : [libdefaults] default_realm = DOMAINE.LOCAL clock_skew = 300 ticket_lifetime = 24000 default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc dns_lookup_realm = false dns_lookup_kdc = true [realms] DOMAINE.LOCAL = { kdc = dc.domaine.local admin_server = dc.domaine.local default_domain = DOMAINE.LOCAL [domain_realm].domaine.local = DOMAINE.LOCAL domaine.local = DOMAINE.LOCAL Testons nos paramètres Kerberos avec la commande : kinit Admin ensuite entrer le mot de passe de votre administrateur du DC Avec la commande klist nous pouvons voire les tickets Kerberos en cache. Pour procéder aux étapes suivante nous allons devoir couper les daemons Samba et Winbind avec les commandes suivantes : /etc/init.d/winbind stop /etc/init.d/samba stop Maintenant à la configuration de Samba direction /etc/samba/smb.conf avant d apporter les modifications on n oubli pas de sauvegarde le fichier d origine. Ne mettre que le contenue suivant : [global] workgroup = DOMAINE realm = DOMAINE.LOCAL security = ads encrypt passwords = yes password server =dc. domaine.local idmap uid = 10000-20000 idmap gid = 10000-20000 winbind enum groups = yes winbind enum users = yes winbind use default domain = yes Il nous faut maintenant redémarrer nos deux services /etc/init.d/samba start /etc/init.d/winbind start

Ensuite nous allons rejoindre le domaine avec la commande : net ads join U Admin Maintenant effectuons une petite batterie de test afin de vérifier que tous va bien net ads testjoin qui devrait nous retourner Join is OK. Afficher la liste des groupes d active directory wbinfo g Afficher la liste des utilisateurs de l AD wbinfo u Si les commandes ne retourne pas les résultats attendu c est que vous devez avoir une erreur dans le fichier smb.conf, n oubliez pas de redémarrer Winbind à chaque modification du fichier. Voilà notre machine à rejoint le domaine active directory 2. Installation et configuration du proxy Squid Dans un premier temps on installe le paquet Squid aptitude install squid Testons la connexion au DC : /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic Entrer un utilisateur et mot de passe d un utilisateur de votre AD Utilisateur mot_de_passe Vous devriez avoir Ok comme réponse ctrl + c pour quitter Maintenant éditons le fichier /etc/squid/squid.conf qui est le fichier de configuration de Squid, après avoir fait la sauvegarde du fichier d origine. Dans la partie TAG: auth_param entrez uniquement les lignes suivante : auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5- ntlmssp auth_param ntlm children 5 auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5- basic auth_param basic children 5 auth_param basic realm Squid AD auth_param basic credentialsttl 2 hours Pour autoriser l accès à internet juste à un groupe spécifique de votre active directory il faut ajouter le paramètre require-membership-of au ligne ci-dessus. auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5- ntlmssp --require-membership-of=domaine.local\\groupead

auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5- basic --require-membership-of=domaine.local\\groupead Dans la partie TAG: acl ajoutez les lignes suivantes : acl ntlm proxy_auth REQUIRED Dans la partie TAG : http _access mettez uniquement la ligne suivante : http_access allow ntlm Dans la partie TAG : append_domain : append_domain.domaine.local Nous pouvons maintenant redémarrer Squid : /etc/init.d/squid restart L utilisateur proxy de Squid nécessite d appartenir au groupe root pour bénéficier des droits nécessaire sur les fichiers de log de squid, nous allons remédier à cela de manière à rendre l authentification fonctionnelle : chown R proxy :root /var/log/squid Voilà nous avons un proxy fonctionnel vous pouvez le vérifier en entrant manuellement dans votre navigateur web les paramètres proxy l adresse IP se de votre proxy avec le port 3128. 3. Installation d une solution de filtrage SquidGuard Un proxy c est bien beau, mais seul il perd un peu d utilité, nous allons voire maintenant comment installer une solution filtrage afin de nous permettre de filtrer l accès à certain sites ou catégories de site à partir d une blacklist française. On repart au charbon, en commençant par installer SquidGuard : aptitude install squidguard Ensuite nous allons mettre en place notre blacklist, nous utiliserons la blacklist mis à disposition gracieusement par L'Université Toulouse 1 Capitole qui diffuse depuis quelques années une liste noire d'urls, gérée par Fabrice Prigent. cd /tmp wget ftp://ftp.univtlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz tar zxvf blacklists.tar.gz -C /var/lib/squidguard/db/ cd /var/lib/squidguard/db mv blacklists/*. rm -rf blacklists On passe à la configuration, dans un premier temps il faut configurer le fichier /etc/squid/squid.conf url_rewrite_program /usr/bin/squidguard -c /etc/squid/squidguard.conf url_rewrite_children 15 Nous allons éditer le fichier squidguard.conf avec une configuration basique, juste de façon à comprendre comment le mettre en place, après vous l affinerez selon vos besoins. Supposons que nous avons un réseau adresser de la manière suivante 192.168.1.0/24 que nous voulons restreindre toutes les adresse de se réseau sauf l administrateur qui à une adresse fixe 192.168.1.10 admettons.

Le fichier de configuration est /etc/squid/squidguard.conf avant de faire les modifications on n oubli pas de sauvegarder le fichier d origine. # # CONFIG FILE FOR SQUIDGUARD # dbhome /var/lib/squidguard/db logdir /var/log/squid # Définition des sources : src admin { ip 192.168.1.10 src reseau { ip 192.168.1.1-192.168.1.254 # Définition de la base de filtrage utilisée, ses catégories sont à titre d exemple vous pouvez en ajouter selon vos besoins ou en supprimer dest adult { domainlist adult/domains urllist adult/urls dest warez { domainlist warez/domains urllist warez/urls dest porn { domainlist porn/domains urllist porn/urls dest violence { domainlist violence/domains urllist violence/urls # Définition des ACL acl { #on déclare déjà le groupe default qui correspond à tous se qui ne rentre pas dans les destinations définit plus haut, dans se cas nous bloquons tous default { pass none #On définit les accès pour l administrateur accès à tous sauf porn et adult admin { pass!porn!adult!warez all

#On définit les accès pour le réseau reseau { pass!porn!adult all Cette configuration est juste à titre d exemple, à noter que l ont peut aussi bloquer ou autoriser l accès à certaines catégories de site en fonction de tranche horaires regarder l exemple ci-dessous : # # CONFIG FILE FOR SQUIDGUARD # dbhome /var/lib/squidguard/db logdir /var/log/squid # Définition des sources : # s = sun = dimanche, m = mon = lundi, t =tue = mercredi, w = wed = mercredi, h = thu =jeudi, f = fri = vendredi, a = sat = samedi # je définis les plages horaires travaillé time workhours { weekly mtwhf 06:00-12:00 14:00-22:00 src reseau { ip 192.168.1.1-192.168.1.254 # Définition de la base de filtrage utilisée, ses catégories sont à titre d exemple vous pouvez en ajouter selon vos besoins ou en supprimer dest adult { domainlist adult/domains urllist adult/urls dest warez { domainlist warez/domains urllist warez/urls dest porn { domainlist porn/domains urllist porn/urls dest violence { domainlist violence/domains urllist violence/urls dest games { domainlist games/domains

urllist games/urls # Définition des ACL acl { #on déclare déjà le groupe default qui correspond à tous se qui ne rentre pas dans les destinations définit plus haut, dans se cas nous bloquons tous default { pass none #On définit les accès pour le réseau Reseau within workhours { #Dans les horaires définit pass!porn!adult!warez!violence!games all else { #Horaires non définit pass!porn!adult!warez!violence all Pour terminer il nous faut faire une petite modification sur le répertoire db : chown R proxy :root /var/lib/squidguard/db Et enfin généré la base de données : squidguard.conf C all Cette commande prend beaucoup de temps à s effectuer donc pas de panique si vous trouvez sa long c est normal, vous pouvez vérifier si il y a des erreurs sur ce fichier /var/log/squid/squidguard.log en général se sont des erreurs de frappe comme par exemple : init domainlist /var/lib/squidguard/db/adlut/domains Error db_open: No such file or directory Ici nous pouvons voire une erreur de frappe sur adult au lieu de adult pour la corriger il suffit de faire la modification dans le fichier /etc/squid/squidguard.conf La redirection est très importante pour interdire l accès redirect http://mon_serveur_proxy/page_bloque.html sans elle nous pouvons quand même accéder à des sites interdit, le proxy ne savant pas ou vous rediriger vous envoi vers la page demandé même si elle est censé être filtré c est pourquoi nous allons voire comment mettre en place notre propre redirection.

Dans un premier temps il vous faut un serveur http fonctionnel, je vais partir dans le cas ou nous n avons pas de serveur http. Nous allons donc mettre en place un serveur http apache sur notre proxy, avec la commande suivante : aptitude install apache2 SquidGuard nous fournit des scripts cgi pour les redirections alors pourquoi s en priver, nous allons récupérer l un de ses scripts et le placer dans le répertoire de stockage apache des scripts : cp /usr/share/doc/squidguard/examples/squidguard.cgi.gz /usr/lib/cgi-bin/ Ensuite il faut le décompresser : gunzip d /usr/lib/cgi-bin/squidguard.cgi.gz Enfin changer l appartenance et les droits sur notre script : chown www-data /usr/lib/cgi-bin/squidguard.cgi chmod 700 /usr/lib/cgi-bin/squidguard.cgi Voilà maintenant tous est en place, il faut éditer le fichier /etc/squid/squidguard.conf pour paramétrer notre redirection en modifiant les lignes redirect redirect http://127.0.0.1/cgibin/squidguard.cgi?clientaddr=%a&clientuser=%i&targetgroup=%t&url=%u&client group=%s Redémarrez Squid /etc/init.d/squid restart Voilà nous avons un proxy opérationnel.

4. Administration du filtrage Il peut arriver que certains sites dont vos utilisateurs ont besoin soit bloqués, ou encore d autres qui devraient l être mais qui ne le sont pas, nous allons voire comment ajouter des sites à bloquer et comment en enlever d autres. Exemple : Le site SFR est bloqué, pour lever le blocage nous allons créer un fichier domains.diff à placer dans le répertoire /var/lib/squidguard/db/mobile-phone dans notre cas et ajouter la ligne : -sfr.fr Le site playboy n est pas bloqué, nous voulons bloquer ce dernier dans se cas il nous faut créer un fichier domains.dif dans le répertoire /var/lib/squidguard/db/porn pour le cas suivant et ajouter la ligne : +playboy.com Pour enlever sfr.fr du domains.db de mobile-phone et ajouter playboy.com du domains.db de porn il faut exécuter la commande suivant qui va s appuyer sur les fichiers domains.diff que nous avons créé pour effectuer les modifications : squidguard u squid k reconfigure Les modifications apportées resteront pérenne même après la mise à jour de la black-list.