DISCLAIMER:
Ce système consomme un nombre important de ressources et de nombreux problèmes sont rencontrés avec les VPS NVMe Nano et Starter. Ceci engendre une surconsommation du CPU et de la bande passante. L'utilisation de ce système sur ces VPS est donc à proscrire sans quoi vous risquez une suspension de service pour une utilisation abusive. Merci de votre compréhension.
Un proxy qu'est-ce que c'est ?
Un proxy est un composant logiciel informatique qui joue le rôle d'intermédiaire en se plaçant entre deux hôtes pour faciliter, surveiller ou en prendre l'adresse IP par exemple !
Prérequis
- Un VPS (avec ipv4 de préférence)
- Debian/Ubuntu fonctionnel et prêt à l'emploi !
En somme pas grand chose 😀
L'installation d'un serveur Proxy: Squid
Mettons à jour les repo !
apt update && apt upgrade
Sortons notre arme (magique) et bien connu des utilisateurs de Debian: "aptitude" :
apt install squid
(Difficile de faire plus simple)
La configuration
Le fichier de configuration de Squid est /etc/squid/squid.conf
. Pour toute configuration, éditez donc ce fichier.
Supprimons le fichier de configuration par défaut ! (Il est long et pas franchement utilisable)
rm /etc/squid/squid.conf
Sortons notre autre arme fatale: nano 😄 (Ou via un accès SFTP si vous préférez)
nano /etc/squid/squid.conf
Voici une configuration basique (utilisable en l'état) :
acl all src 0.0.0.0/0 #Definition de la notion "all"
http_access allow all #Autorisation de toutes les IPs
http_port 3128 # Port d'écoute du proxy
cache_dir ufs /var/spool/squid 1 16 256 #Definition des attributs du cache, taille max etc.
coredump_dir /var/spool/squid
positive_dns_ttl 3 hours #Temps de sauvegardes des Dns (TTL)
negative_dns_ttl 1 minutes #Temps de sauvegardes des Dns en cas de non-résolution (TTL)
cache_effective_group root #Utilisateur du cache
forwarded_for off
cache allow all #Autoriser le cache
#Definition du cache
cache_mem 16 MB
access_log allow all
cache store all
logfile_rotate 30
cache_log /var/squid/logs/cache.log
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
Il est à noter qu'à chaque modification de la configuration, un redémarrage de SQUID est nécessaire:
service squid restart
ou systemctl restart squid
Pour d'autres configurations -> Documentation Squid
Restreindre l'accès avec un mot de passe ! (Falcultatif)
- On vas commencer par ouvrir la configuration de squid !
nano /etc/squid/squid.conf
- Il faut maintenant modifier la ligne
http_access allow all
par http_access deny all
- Voici les paramètres qu'il faut ajouter tout en haut du fichier de configuration:
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
- On va maintenant créer l'utilisateur ! :
htpasswd -c /etc/squid/passwords UTILISATEUR
. Un mot de passe sera demandé !
Si la commande htpasswd est inconnu au bataillon, il faut installer les utilitaires apache !
apt install apache2-utils
- Plus qu'a redémarrer Squid:
service squid restart
ou systemctl restart squid
- Afin que Squid puissent demander le mot de passe, essayez de vous connecter à une page non-https 🙂
Pour toutes éventuelles questions, n'hésitez pas à passer sur Discord.