Accueil · Archives S'abonner Pixxlisation.net PixX_L's World Recherche Pi
Accueil · Archives S'abonner Pixxlisation.net PixX_L's World Recherche Pixxlisation.net | Linux | Flims | Vidéo | Games | Musique | Informatique | Mangas | Playstation 3 | My Life | Selection des bonjours | Tuto (Linux) : Installation d'un serveur Proxy SQUID + Authentification Active Directory PUBLIÉ LE VENDREDI 15 JANVIER 2010, 10:56 - MODIFIÉ LE 02/03/12 - INFORMATIQUE - LIEN PERMANENT Article | Commentaires (3) | Fichiers attachés (4) Le serveur est installé sur un serveur ESX, ce sera donc une machine virtuelle • HDD 10Go • 256 Mo de Ram • 1 CPU Et oui il ne faut pas grand chose pour un serveur de ce type, donc même si vous avez une vieille machine elle fera normalement très bien l'affaire. J'ai choisi la distribution Ubuntu 9.10 Edition Server car elle est stable et très bien maintenu, de plus la communauté présente derrière cette distribution permet de facilement trouver de l'aide. Bonau départ il n'y avait rien, il trouvait ça triste, donc il installa un joli serveur Ubuntu et se mis à faire ceci : Mise à jour à la dernière version d’ubuntu-server disponible sudo apt-get update sudo apt-get upgrade L’installation de Squid se fait par les paquets disponibles directement dans aptitude : sudo apt-get install squid3 …………………………………………………………………… 2009/12/08 15:29:00| Making directories in /var/spool/squid3/0C 2009/12/08 15:29:00| Making directories in /var/spool/squid3/0D 2009/12/08 15:29:00| Making directories in /var/spool/squid3/0E 2009/12/08 15:29:00| Making directories in /var/spool/squid3/0F * Restarting Squid HTTP Proxy 3.0 squid3 Une fois l’installation terminée l’agent Squid démarre automatiquement, vous pouvez alors vérifier que tout est fonctionnel en spécifiant les options de proxy dans un des navigateurs web du Lan. Vous devriez obtenir la page suivante : Pour infos les paramètres le port de Squid par défaut est le 3128. Bien sûr pour le moment le proxy ne vous permet pas de communiqué avec l’extérieur, tout d’abord voici les manipulations à faire pour alléger au maximum le fichier de configuration de squid (/etc/squid3/squid.conf) cd /etc/squid3 # sudo mv squid.conf squid.conf.origin # sudo -s # cat squid.conf.origin | egrep -v -e '^:blank:*#|^$' > squid.conf Ceci vous permettra d’obtenir un fichier de conf sans les commentaires qui sont omniprésents. acl manager proto cache_object acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost http_access deny all icp_access deny all htcp_access deny all http_port 3128 hierarchy_stoplist cgi-bin ? access_log /var/log/squid3/access.log squid refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern (cgi-bin|\?) 0 0% 0 refresh_pattern . 0 20% 4320 icp_port 3130 coredump_dir /var/spool/squid3 • les « acl » (Access Control List) permettent de définir, par exemple, une plage d'adresses IP, celles qui constituent notre réseau local ; • les « http_access » (restrictions) qui définissent l'autorisation ou l'interdit, pour une acl donnée. Afin de faire fonctionner squid il faudra définir les acl : les sources de votre réseau et définir l’accès http_access pour chacune d’entre elle : ####DEFINITION DES ACCESS CONTROL LIST################### acl manager proto cache_object acl localhost src 127.0.0.1/32 acl to_localhost dst 127.0.0.0/8 acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT acl DHCP src 10.1.0.0/16 ##############LISTE DES AUTORISATIONS################# http_access allow manager localhost http_access allow manager http_access allow !Safe_ports http_access allow CONNECT !SSL_ports http_access allow localhost http_access allow DHCP http_access deny all icp_access deny all htcp_access deny all ############# PORT D'ECOUTE DU PROXY ################ http_port 8080 ####### NE PAS METTRE EN CACHE LES URLs COMPORTANT### hierarchy_stoplist cgi-bin ? ############ EMPLACEMENT DU FICHIER DE LOG ######### access_log /var/log/squid3/access.log refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern (cgi-bin|\?) 0 0% 0 refresh_pattern . 0 20% 4320 icp_port 3130 log_mime_hdrs on ########### REPERTOIRE DE CACHE #################### coredump_dir /var/spool/squid3 cache_effective_user proxy cache_effective_group proxy cache_mgr christophepiv@gmail.com store_avg_object_size 5 GB cachemgr_passwd cachemgr all ########## UTILISATION DE SQUIDGUARD REDIRECTION ### #url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf #url_rewrite_children 5 Une fois le fichier de configuration éditer comme ci-dessus pensez a redémarré le démon Squid : # /etc/init.d/squid3 reload Reloading Squid HTTP Proxy 3.0 configuration files. done. Vous devriez désormais avoir accès à internet depuis un navigateur de votre LAN en passant par le proxy, attention le port n’est plus celui par défaut mais le 8080. Nous allons maintenant relier notre serveur proxy à l’annuaire Active directory, pour cela installer les paquets suivants : # sudo apt-get update # sudo apt-get install krb5-user krb5-config samba-common samba winbind likewise-open Ensuite pour rejoindre un domaine il faudra taper la commande suivante pour chaque domaine : # sudo domainjoin-cli join mondomaine.com adminitrateur Attention le dernier domaine rentré sera le domaine par défaut de votre serveur, faite donc le domaine groupe- mttm.lo en dernier. Bien sur il faut utiliser le compte administrateur de domaine pour pouvoir rentré dans L’AD. Enfin pour vérifier que votre serveur parvient à authentifier un user il faudra faire la commande suivante : # sudo kinit –V administrateur@MONDOMAINE.COM Attention les majuscules ont une importance, la commande devrait vous répondre : groupadmin@srv-proxy:~$ sudo kinit -V administrateur@MONDOMAINE.COM Password for administrateur@MONDOMAINE.COM: Authenticated to Kerberos v5 Enfin pour vérifier les si vous avez obtenu un ticket Kerberos taper la commande suivante : #sudo klist Vous devriez obtenir la réponse suivante : Ticket cache: FILE:/tmp/krb5cc_0 Default principal: administrateur@MONDOMAINE.COM Valid starting Expires Service principal 12/09/09 12:38:03 12/09/09 22:37:47 krbtgt/MONDOMAINE.COM@MONDOMAINE.COM renew until 12/10/09 12:38:03 Il faudra ensuite configurer samba comme suis : global security = ADS realm = MONDOMAINE.COM #contrôleur de domaine password server = cad.mondomaine.com workgroup = mondomaine.com winbind separator = + idmap uid = 10000-20000 idmap gid = 10000-20000 winbind enum users = yes winbind enum groups = yes template homedir = /home/%D/%U template shell = /bin/bash client use spnego = yes winbind use default domain = yes # empeche le client de devenir maitre explorateur domain master = no local master = no preferred master = no os level = 0 • workgroup correspond au nom « plat » du domaine Microsoft ; • le realm correspond au royaume Kerberos ; • la security = ADS (Active Directory Server) nécessite que la machine soit intégrée au domaine Microsoft et que le client kerberos soit installé et configuré, ce qui permettra d'utiliser ce protocole pour l'authentification des clients ; • les password server sont bien entendu les contrôleurs de domaine Microsoft. Modifier ensuite le fichier /etc/nsswitch comme suis : passwd: compat winbind group: compat winbind shadow: compat hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis Modifier les privilèges sur le dossier winbind : # sudo chown –R root :root /var/run/samba/winbindd_privileged Redémarrer ensuite le tout avec les commandes suivantes : # sudo /etc/init.d/winbind restart # sudo /etc/init.d/samba restart Enfin il faudra rejoindre le domaine AD avec la commande suivante : # sudo net ads join -U administrateur -S cad.mon.domaine.com Enter administrateur's password: Une fois le PC intégré au domaine vous devriez retrouver le compte ordinateur dans votre annuaire AD Normalement il'y a tout ce qu’il lui faut pour identifier les utilisateurs désormais pour tester cela : sudo ntlm_auth username=MONDOMAINE+user password=etpikoiencore NT_STATUS_OK: Success (0x0) Vous pouvez aussi voir tout les utilisateurs/groupes authentifiable grâce aux commandes : sudo wbinfo –u sudo wbinfo –g Il faudra ensuite rajouter la ligne suivante au fichier /etc/squid3/squid.conf pour prendre en charge l’authentification AD : auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp Comme ntlm_auth va être invoqué par l'utilisateur sous l'identité duquel squid est lancé (proxy pour Debian), il faudra que le répertoire /var/run/samba/winbindd_privileged soit accessible en lecture par l'utilisateur proxy. Voyons cela : # ls -l /var/run/samba total 604 ... drwxr-x--- 2 root winbindd_priv 17 mar 18 11:56 winbindd_privileged Un moyen propre de résoudre le problème est d'ajouter l'utilisateur proxy au groupe winbindd_priv : Sudo usermod -a -G winbindd_priv proxy Et rajouter/modifier ces lignes dans le squid.conf ENORME MISE EN GARDE les lignes auth_param doivent être AVANT les lignes acls dans le fichier de conf ! auth_param ntlm children 5 auth_param ntlm keep_alive on acl password proxy_auth REQUIRED http_access allow DHCP password http_access allow LANSRV password Normalement tout devrait fonctionner ainsi (penser à relancer Squid) • Le client est un client du domaine Si votre client uploads/s3/ conf-proxy-server.pdf
Documents similaires










-
27
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 21, 2022
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 0.3639MB