Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

12.5. Utiliser Squid pour un accès limité

Principalement, Squid est utilisé pour bloquer l'accès à certains contenus web. Normalement, certains ports sont bloqués ou ce sont certains sites.

12.5.1. Limiter un accès en bloquant un port

Par cette méthode, aussi appelée filtrage de port, vous pouvez bloquer un port spécifique avec le serveur proxy de Squid. Ce faisant, vous pouvez restreindre l’utilisation de certains protocoles, services, sites Web, ou applications. Par exemple, pour bloquer le trafic FTP, il suffit de bloquer le port 21/TCP. De la même manière, vous pouvez bloquer tous les sites HTTPS en bloquant le port 443/TCP.

Procédure 12.5. Bloquer des numéros de port

  1. Connectez vous en tant que superutilisateur, et ouvrir le fichier de configuration de Squid :
    ~]# vi /etc/squid/squid.conf
  2. Bloquer les ports par des ACL.
    acl Bad_ports port 443           #(create acl for port 443/tcp)
  3. Enregistrez les changements.
  4. Redémarrer Squid pour faire appliquer la nouvelle configuration :
    ~]# service squid reload
Le fichier de configuration de Squid contient des lignes avec acl Safe_ports port. Par défaut, ces numéros de port sont ajoutés en tant que "Safe_Ports" sont ouverts à la navigation.
acl Safe_ports port 80      
acl Safe_ports port 21      
acl Safe_ports port 443     
acl Safe_ports port 70      
acl Safe_ports port 210     
acl Safe_ports port 1025-65535  
acl Safe_ports port 280     
acl Safe_ports port 488     
acl Safe_ports port 591     
acl Safe_ports port 777
Vous pouvez désactiver toutes les lignes listées dans /etc/squid/squid.conf pour bloquer les ports qu'il faut.

Exemple 12.7. Bloquer le port 777/tcp

Pour bloquer le port 777/tcp, ajouter un signe de hachage devant la ligne dont il s'agit, comme suit :
#acl Safe_ports port 777         # multiling http

12.5.2. Limiter un accès en bloquant des adresses ou des sites spécifiques

Configurer Squid pour que votre réseau désactive l'accès à certains sites.

Procédure 12.6. Bloquer un site particulier

  1. Autoriser l'accès à Squid sur votre réseau. Ouvrir le fichier /etc/squid/squid.conf et chercher "Access Controls". Défilez vers le bas INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS. Il vous faudra adapter la liste en fonction de vos réseaux d'IP internes à partir desquels on pourra naviguer. Dans cet exemple, l'ACL donne accès aux réseaux locaux 192.168.1.0/24 et 192.168.2.0/24.
    # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
    acl our_networks src 192.168.1.0/24 192.168.2.0/24  
    http_access allow our_networks
  2. Créer un fichier qui contient une liste de sites que vous souhaitez bloquer. Nommez les fichiers, par exemple, /usr/local/etc/allowed-sites.squid et /usr/local/etc/restricted-sites.squid.
    ~]# cat /usr/local/etc/allowed-sites.squid
    www.redhat.com
    fedoraproject.org
    ~]# cat /usr/local/etc/restricted-sites.squid
    www.badsites.com
    illegal.com
    Ils peuvent ensuite être utilisés pour bloquer les sites ayant des restrictions.
    ~]# vi /etc/squid/squid.conf
    acl our_networks src 192.168.1.0/24 192.168.2.0/24  
    acl GoodSites dstdomain "/usr/local/etc/allowed-sites.squid"  
    acl BadSites dstdomain "/usr/local/etc/restricted-sites.squid"
    
    http_access allow our_networks  
    http_access deny BadSites  
    http_access allow home_network business_hours GoodSites
    Enregistrer et fermer le fichier.
  3. Re-démarrer le serveur proxy de Squid :
    ~]# systemctl restart squid
  4. Configurer votre navigateur web pour qu'il utilise le nom DNS ou l'adresse IP de votre serveur Squid et qu'il corresponde au port en cours.