Squid est une application de serveur proxy et de mise en cache populaire. Il sert principalement de proxy direct, mais peut également être utilisé comme proxy inverse. Squid fournit de nombreuses fonctionnalités et est souvent utilisé sur les réseaux d'entreprise.
Ce tutoriel vous montrera comment configurer un simple proxy HTTP avec authentification à l'aide de Squid. Les étapes répertoriées dans ce didacticiel ont été testées sur Ubuntu 15.04 et 15.10.
AVERTISSEMENT: vous devez être très prudent lors de la création de proxys. Les pirates informatiques recherchent fréquemment sur Internet public des proxys ouverts et les utilisent pour des activités malveillantes. La plupart des sociétés d'hébergement suspendront vos instances si vous recevez trop de plaintes, assurez-vous donc d'utiliser une authentification suffisante, comme un mot de passe fort.
Ce didacticiel suppose que vous utilisez un VPS fraîchement créé sans packages installés.
Installation
Tout d'abord, assurez-vous que la apt-get
bibliothèque de packages est à jour en exécutant la commande ci-dessous. Cela garantira que les derniers packages ont été installés.
$ apt-get update
Une fois cette opération terminée, il est temps d'installer l' squid
application et htpasswd
. Exécutez la commande suivante à l'aide de sudo
pour installer les deux packages.
$ sudo apt-get install squid3 apache2-utils
Une fois l'installation de Squid terminée, je vous suggère de créer une copie du fichier de configuration d'origine créé pendant l'installation, car il s'agit d'une référence utile et vous permet d'annuler toutes les modifications.
$ sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.default
Ensuite, créez les fichiers nécessaires à Squid pour stocker les informations d'identification des comptes proxy.
$ sudo touch /etc/squid/squid_passwd
$ sudo chown proxy /etc/squid/squid_passwd
Configuration
Ouvrez le fichier de configuration de Squid pour le modifier à l'aide d'un éditeur de texte, tel que nano
.
$ sudo nano /etc/squid/squid.conf
Ajoutez les lignes suivantes au fichier afin que les utilisateurs authentifiés puissent se connecter au proxy.
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/squid_passwd
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
De plus, pour masquer l'IP de la personne se connectant au proxy dans les en-têtes HTTP, ajoutez les lignes suivantes sous celles ci-dessus.
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
Votre fichier de configuration Squid devrait maintenant ressembler à ceci:
Enregistrez et fermez le fichier.
Pour créer des utilisateurs sur votre proxy, exécutez la commande suivante, en la remplaçant youruser
par le nom d'utilisateur souhaité. Il demandera le mot de passe deux fois.
$ sudo htpasswd /etc/squid/squid_passwd youruser
Vous pouvez créer des utilisateurs supplémentaires de la même manière.
Redémarrez le service Squid.
$ sudo service squid restart
Utiliser votre proxy
Maintenant que Squid est configuré, vous pouvez l'utiliser comme proxy de transfert. Configurez les «paramètres Internet» de votre navigateur Web pour utiliser votre proxy, y compris le nom d'utilisateur et le mot de passe que vous avez générés précédemment. Pour vérifier que le proxy fonctionne, visitez un site de détection d'adresses IP, comme celui-ci .
En cas de succès, vous remarquerez qu'une adresse IP Vultr est signalée. Voici une capture d'écran de mon serveur de démonstration: