Comment créer un proxy HTTP utilisant Squid sur CentOS 7/8

Comment créer un proxy HTTP utilisant Squid sur CentOS 7/8

Les procurations Web existent depuis un certain temps maintenant et ont été utilisées par des millions d'utilisateurs à travers le monde. Ils ont un large éventail d'objectifs, le plus populaire étant l'anonymat en ligne, mais il existe d'autres façons de profiter des procurations Web. Voici quelques idées:

  • Anonymat en ligne
  • Améliorer la sécurité en ligne
  • Améliorer les temps de chargement
  • Bloquer le trafic malveillant
  • Enregistrez votre activité en ligne
  • Pour contourner les restrictions régionales
  • Dans certains cas, peut réduire l'utilisation de la bande passante

Comment fonctionne le serveur proxy

Le serveur proxy est un ordinateur utilisé comme intermédiaire entre le client et d'autres serveurs à partir desquels le client peut demander des ressources. Un exemple simple de cela est lorsqu'un client fait des demandes en ligne (par exemple, souhaite ouvrir une page Web), il se connecte d'abord au serveur proxy.

Le serveur proxy vérifie ensuite son cache de disque local et si les données peuvent être trouvées là-dedans, elle renvoie les données au client, si elle n'est pas mise en cache, elle fera la demande au nom du client à l'aide de l'adresse IP proxy (différente de la clients) puis renvoyer les données au client. Le serveur proxy essaiera de mettre en cache les nouvelles données et l'utilisera pour les futures demandes faites sur le même serveur.

Qu'est-ce que le Squid Proxy

Calmar est un proxy Web qui a utilisé mon large éventail d'organisations. Il est souvent utilisé comme proxy de mise en cache et améliore les temps de réponse et réduisant l'utilisation de la bande passante.

Aux fins de cet article, je vais installer Calmar Sur un Linode Centos 7 VPS et utilisez-le comme serveur proxy HTTP.

Comment installer les calmars sur Centos 7/8

Avant de commencer, vous devez savoir que Calmar, N'a pas aucune exigence minimale, mais le montant de l'utilisation de la RAM peut varier en fonction des clients parcourant Internet via le serveur proxy.

Calmar est inclus dans le référentiel de base et donc l'installation est simple et simple. Avant de l'installer, cependant, assurez-vous que vos packages sont à jour en fonctionnant.

# mim -y mise à jour 

Procéder en installant le calmar, démarrez et activez-le sur le démarrage du système à l'aide des commandes suivantes.

# yum -y installer squid # systemctl start squid # systemctl activer squid 

À ce stade, votre proxy Web de calmar devrait déjà être en cours d'exécution et vous pouvez vérifier l'état du service avec.

# Systemctl Status Squid 
Échantillon de sortie
 calmar.Service - Squid Caching Proxy chargé: chargé (/ usr / lib / systemd / système / squid.service; activé; Vendor Preset: Disabled) Active: actif (fonctionnement) Depuis le jeu 2018-09-20 10:07:23 UTC; Il y a 5min Pid principal: 2005 (calmar) cgroup: / système.tranche / calmar.Service ├fiques2005 / usr / sbin / squid -f / etc / squid / squid.conf ├fique2007 (squid-1) -f / etc / squid / squid.conf └fique2008 (logfile-daemon) / var / log / squid / accès.Journal 20 sept 10:07:23 Tecmint Systemd [1]: Démarrage du Squid Caching Proxy… 20 septembre 10:07:23 Tecmint Squid [2005]: Squid Parent: Démarrer 1 enfants 20 sept. 10:07:23 Tecmint Squid [2005 ]: Squid Parent: (Squid-1) Le processus 2007 a commencé le 20 sept. 

Voici quelques emplacements de fichiers importants que vous devez connaître:

  • Fichier de configuration du calmar: / etc / squid / calmar.confli
  • Journal d'accès aux calmars: / var / log / squid / accès.enregistrer
  • Journal de cache de calmar: / var / log / squid / cache.enregistrer

Un minimum calmar.confli Le fichier de configuration (sans commentaires dedans) ressemble à ceci:

ACL localnet src 10.0.0.0/8 # RFC1918 Réseau interne possible ACL localnet src 172.16.0.0/12 # RFC1918 Réseau interne possible ACL localnet src 192.168.0.0/16 # RFC1918 Réseau interne possible ACL LocalNet Src FC00 :: / 7 # RFC 4193 Range de réseau privé local ACL LocalNet Src Fe80 :: / 10 # RFC 4291 Link-local (directement pluvié) # 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 # PORTS NON REPERTED HTTP ACL SAFE_PORTS PORT 591 # FileMaker ACL Safe_ports Port 777 # Multible HTTP ACL Connect Method Connect HTTP_ACCESS Deny !Safe_ports http_access nier la connexion !SSL_PORTS HTTP_ACCESS Autoriser le gestionnaire localhost http_access Deny Manager http_access Autoriser LocalNet Http_Access Autoriser LocalHost Http_Access Deny All Http_port 3128 Coredump_Dir / Var / Spool / Squid Refresh_Patter: 144% 140 / | \?) 0 0% 0 Refresh_pattern . 0 20% 4320 

Configuration du calmar en tant que proxy HTTP

Ici, nous vous montrerons comment configurer le calmar en tant que proxy HTTP en utilisant uniquement l'adresse IP du client pour l'authentification.

Ajouter des Squid ACLS

Si vous souhaitez autoriser l'adresse IP à accéder au Web via votre nouveau serveur proxy, vous devrez ajouter un nouveau ACL (Liste de contrôle d'accès) ligne dans le fichier de configuration.

# vim / etc / squid / squid.confli 

La ligne que vous devez ajouter est:

acl localnet src xx.Xx.Xx.Xx 

Xx.Xx.Xx.Xx est l'adresse IP du client réelle que vous souhaitez ajouter. La ligne doit être ajoutée au début du fichier où les ACL sont définis. C'est une bonne pratique d'ajouter un commentaire à côté de l'ACL qui décrira qui utilise cette adresse IP.

Il est important de noter que si Squid est situé à l'extérieur de votre réseau local, vous devez ajouter l'adresse IP publique du client.

Vous devrez redémarrer le calmar afin que les nouveaux modifications puissent prendre effet.

# Systemctl redémarrer le calmar 

Ports proxy de calmar ouverts

Comme vous l'avez peut-être vu dans le fichier de configuration, seuls certains ports sont autorisés pour la connexion. Vous pouvez en ajouter plus en modifiant le fichier de configuration.

ACL SAFE_PORTS PORT XXX 

Xxx est le port réel que vous souhaitez charger. Encore une fois, c'est une bonne idée de laisser un commentaire à côté qui décrira pour quoi le port va être utilisé.

Pour que les modifications prennent effet, vous devrez redémarrer à nouveau Squid.

# Systemctl redémarrer le calmar 

Authentification du client de Squid Proxy

Vous voudrez très probablement s'authentifier vos utilisateurs avant d'utiliser le proxy. À cette fin, vous pouvez activer l'authentification HTTP de base. Il est facile et rapide à configurer.

Tout d'abord, vous aurez besoin HTTPD-Tools installée.

# yum -y installer httpd-tools 

Créons maintenant un fichier qui stockera plus tard le nom d'utilisateur pour l'authentification. Squid fonctionne avec l'utilisateur "calmar" Le fichier doit donc appartenir à cet utilisateur.

# touch / etc / squid / passwd # chown squid: / etc / squid / passwd 

Nous allons maintenant créer un nouvel utilisateur appelé «Proxyclient» et configurer son mot de passe.

# htpasswd / etc / squid / passwd proxyclient Nouveau mot de passe: ré-typer un nouveau mot de passe: ajout de mot de passe pour le proxyclient utilisateur 

Maintenant, pour configurer l'authentification, ouvrez le fichier de configuration.

# vim / etc / squid / squid.confli 

Après les ports, les ACL ajoutent les lignes suivantes:

AUTH_PARAM PROGRAMME BASIC / USR / LIB64 / Squid / Basic_NCSA_Auth / etc / Squid / Passwd Auth_Param Basic Childre 

Enregistrez le fichier et redémarrez le calmar afin que les nouvelles modifications puissent prendre effet:

# Systemctl redémarrer le calmar 

Bloquer les sites Web sur Squid Proxy

Enfin, nous en créerons un dernier ACL Cela nous aidera à bloquer les sites Web indésirables. Tout d'abord, créez le fichier qui stockera les sites sur liste noire.

# touch / etc / squid / noire listed_sites.ACL 

Vous pouvez ajouter des domaines que vous souhaitez bloquer. Par exemple:

.badsite1.com .badsite2.com 

Le point de procédure dit à Squid de bloquer toutes les références à ces sites, notamment www.badsite1, subsiter.badsite1.com, etc.

Open Fichier de configuration de Squid Open.

# vim / etc / squid / squid.confli 

Juste après les ports, les ACL ajoutent les deux lignes suivantes:

ACL BAD_URLS DSTDOMAIN "/ etc / Squid / BlackListteted_Sites.ACL "HTTP_ACCESS DENY BAD_URLS 

Enregistrez maintenant le fichier et redémarrez le calmar:

# Systemctl redémarrer le calmar 

Une fois que tout est configuré correctement, vous pouvez désormais configurer les paramètres réseau de votre client ou système d'exploitation local pour utiliser votre proxy HTTP Squid.

Conclusion

Dans ce tutoriel, vous avez appris à installer, sécuriser et configurer un serveur proxy HTTP Squid vous-même. Avec les informations que vous venez de recevoir, vous pouvez maintenant ajouter un filtrage de base pour le trafic entrant et sortant via Squid.

Si vous souhaitez faire un effort supplémentaire, vous pouvez même configurer des calmars pour bloquer certains sites Web pendant les heures de travail pour éviter les distractions. Si vous avez des questions ou des commentaires, veuillez les publier dans la section des commentaires ci-dessous.