GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer le serveur proxy Squid sur Ubuntu 20.04

Squid est une application proxy complète basée sur Linux, principalement utilisée pour filtrer le trafic, la sécurité et les recherches DNS. Il est également utilisé pour améliorer les performances du serveur Web en mettant en cache les ressources. En termes simples, un serveur Squid est un ordinateur qui agit comme un intermédiaire entre un ordinateur de bureau et Internet qui redirige les demandes entrantes des clients vers un serveur où les données sont stockées pour une récupération plus facile. Il prend en charge plusieurs protocoles, notamment HTTP, FTP, TLS, SSL, Internet Gopher et HTTPS.

Dans ce didacticiel, nous allons vous montrer comment installer et configurer le serveur proxy Squid sur le serveur Ubuntu 20.04.

Prérequis

  • Un serveur exécutant Ubuntu 20.04.
  • Un mot de passe root est configuré sur le serveur.

Mise en route

Avant de commencer, vous devrez mettre à jour vos packages système vers la dernière version. Vous pouvez les mettre à jour avec la commande suivante :

apt-get update -y

Une fois tous les packages mis à jour, redémarrez votre système pour appliquer les modifications.

Installer le proxy Squid

Par défaut, le package Squid est disponible dans le référentiel par défaut d'Ubuntu 20.04. Vous pouvez l'installer à l'aide de la commande suivante :

apt-get install squid -y

Une fois le Squid installé, vous pouvez vérifier l'état du service Squid avec la commande suivante :

systemctl status squid

Vous devriez obtenir le résultat suivant :

? squid.service - Squid Web Proxy Server
     Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 12:00:24 UTC; 11s ago
       Docs: man:squid(8)
    Process: 49265 ExecStartPre=/usr/sbin/squid --foreground -z (code=exited, status=0/SUCCESS)
    Process: 49282 ExecStart=/usr/sbin/squid -sYC (code=exited, status=0/SUCCESS)
   Main PID: 49283 (squid)
      Tasks: 4 (limit: 2353)
     Memory: 16.4M
     CGroup: /system.slice/squid.service
             ??49283 /usr/sbin/squid -sYC
             ??49285 (squid-1) --kid squid-1 -sYC
             ??49287 (logfile-daemon) /var/log/squid/access.log
             ??49288 (pinger)

Aug 23 12:00:24 ubuntu2004 squid[49285]: Max Swap size: 0 KB
Aug 23 12:00:24 ubuntu2004 squid[49285]: Using Least Load store dir selection
Aug 23 12:00:24 ubuntu2004 squid[49285]: Set Current Directory to /var/spool/squid
Aug 23 12:00:24 ubuntu2004 squid[49285]: Finished loading MIME types and icons.
Aug 23 12:00:24 ubuntu2004 squid[49285]: HTCP Disabled.
Aug 23 12:00:24 ubuntu2004 squid[49285]: Pinger socket opened on FD 14
Aug 23 12:00:24 ubuntu2004 squid[49285]: Squid plugin modules loaded: 0
Aug 23 12:00:24 ubuntu2004 squid[49285]: Adaptation support is off.
Aug 23 12:00:24 ubuntu2004 squid[49285]: Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 12 flags=9
Aug 23 12:00:25 ubuntu2004 squid[49285]: storeLateRelease: released 0 objects

Par défaut, Squid écoute sur le port 3128. Vous pouvez le vérifier avec la commande suivante :

netstat -plunt | grep 3128

Vous devriez voir le résultat suivant :

tcp6       0      0 :::3128                 :::*                    LISTEN      50017/(squid-1)

Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.

Configurer l'authentification basée sur IP

Il existe plusieurs façons de restreindre l'accès du client à Internet. Dans cette section, nous allons configurer Squid pour s'authentifier en fonction de l'adresse IP du client.

Vous pouvez le faire en éditant le fichier de configuration par défaut de Squid :

nano /etc/squid/squid.conf

Ajoutez la ligne suivante au début du fichier :

acl client1 src 192.168.10.10
acl client2 src 192.168.10.11
http_access allow client1 client2

Enregistrez et fermez le fichier lorsque vous avez terminé. Redémarrez ensuite le service Squid pour appliquer les modifications :

systemctl restart squid

Où :

  • client1 et client2 est le nom qui a identifié les ordinateurs clients.
  • 192.168.10.10 et 192.168.10.11 est l'adresse IP de l'ordinateur client.

Désormais, seuls les ordinateurs configurés avec les adresses IP 192.168.10.10 et 192.168.10.11 peuvent accéder à Internet.

Configurer l'authentification basée sur l'utilisateur

Vous pouvez également configurer Squid pour qu'il s'authentifie en fonction de l'utilisateur et du mot de passe. Pour ce faire, vous devrez installer le package d'utilitaires Apache sur votre système.

Exécutez la commande suivante pour installer le package des utilitaires Apache :

apt install apache2-utils -y

Une fois installé, créez un premier utilisateur avec la commande suivante :

htpasswd /etc/squid/passwd client1

Il vous sera demandé de définir un mot de passe comme indiqué ci-dessous :

New password: 
Re-type new password: 
Adding password for user client1

Ensuite, créez un deuxième utilisateur avec la commande suivante :

htpasswd /etc/squid/passwd client2

Définissez votre mot de passe comme indiqué ci-dessous :

New password: 
Re-type new password: 
Adding password for user client2

Ensuite, vous pouvez vérifier les deux utilisateurs à l'aide de la commande suivante :

cat /etc/squid/passwd

Vous devriez obtenir le résultat suivant :

client1:$apr1$CPlx8eVt$NJq3CT/hzfDCnAZRypIq5/
client2:$apr1$XYxQ2npc$IW0Nqjp15O5WYCo/wCFlB0

Ensuite, ouvrez le fichier de configuration par défaut de Squid :

nano /etc/squid/squid.conf

Supprimez les trois premières lignes que vous avez ajoutées dans la section précédente et ajoutez les lignes suivantes au début du fichier :

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users

Enregistrez et fermez le fichier. Ensuite, redémarrez le service proxy Squid pour appliquer les modifications :

systemctl restart squid

Maintenant, vous devrez fournir un nom d'utilisateur et un mot de passe pour accéder à Internet.

Configurer l'authentification combinée

Vous pouvez également configurer un Squid pour authentifier un client en fonction de l'adresse IP et du nom d'utilisateur/mot de passe.

Ouvrez le fichier de configuration par défaut de Squid :

nano /etc/squid/squid.conf

Trouvez les lignes suivantes que vous avez ajoutées dans la section précédente :

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users

Et remplacez-les par les lignes suivantes :

acl client1 src 192.168.10.10
acl client2 src 192.168.10.11
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow client1 client2 ncsa_users

Enregistrez et fermez le fichier lorsque vous avez terminé, puis redémarrez le service Squid pour appliquer les modifications :

systemctl restart squid

Configurer Squid pour anonymiser le trafic

Ensuite, vous devrez ajouter quelques règles pour masquer les adresses IP des clients des serveurs qui reçoivent le trafic de votre proxy HTTP Squid.

Vous pouvez le faire en éditant le fichier de configuration par défaut de Squid :

nano /etc/squid/squid.conf

Ajoutez les lignes suivantes au début du fichier :

forwarded_for off
request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access Proxy-Connection allow all
request_header_access User-Agent allow all
request_header_access Cookie allow all
request_header_access All deny all

Enregistrez et fermez le fichier lorsque vous avez terminé, puis redémarrez le service Squid pour appliquer les modifications :

systemctl restart squid

Vérifier le proxy Squid

Ensuite, vous devrez définir votre serveur proxy dans votre navigateur Web Mozilla.

Accédez au système client, ouvrez le navigateur Web Mozilla et cliquez sur Modifier => Préférences comme indiqué ci-dessous :

Cliquez sur le Réseau Paramètres section et cliquez sur Paramètres . Vous devriez voir la page suivante :

Sélectionnez le Manuel proxy configuration bouton radio, entrez l'adresse IP de votre serveur Squid dans le champ Hôte HTTP et 3128 dans le champ Port et cochez la case Utiliser ce serveur proxy pour tous les protocoles et cliquez sur OK bouton pour enregistrer les paramètres.

Maintenant, votre navigateur est configuré pour naviguer sur Internet via le proxy Squid.

Pour le vérifier, tapez l'URL https://www.whatismyip.com/. Il vous sera demandé de fournir un nom d'utilisateur et un mot de passe comme indiqué ci-dessous :

Fournissez le nom d'utilisateur et le mot de passe de votre serveur proxy Squid que vous avez créés précédemment et cliquez sur OK bouton. Vous devriez voir la page suivante :

Sur la page ci-dessus, vous devriez voir l'adresse IP de votre serveur Squid au lieu de l'adresse IP de votre ordinateur client.

Conclusion

Toutes nos félicitations! vous avez installé et configuré avec succès le serveur proxy Squid sur le serveur Ubuntu 20.04. Vous pouvez également configurer le proxy Squid pour restreindre le site Web spécifique en fonction du mot, du domaine et des adresses IP. Pour plus d'informations, consultez la documentation officielle de Squid.


Ubuntu
  1. Comment installer le serveur proxy Squid sur CentOS 7

  2. Comment installer Zimbra 8.6 sur le serveur Ubuntu 14.04

  3. Comment installer et configurer Squid Proxy sur Ubuntu 20.04

  4. Comment installer le serveur proxy Squid sur Ubuntu 18.04 LTS

  5. Installer le serveur proxy Squid sur Ubuntu 14.04

Comment installer Zabbix sur Ubuntu 18.04

Comment installer MySQL 8.0 sur Ubuntu 18.04

Comment configurer Squid Proxy Server sur Ubuntu 20.04 LTS

Installer le serveur proxy Squid sur Ubuntu 20.04 LTS Linux

Comment installer le serveur proxy Squid sur Ubuntu 18.04

Comment installer Squid Proxy sur Ubuntu 20.04