Recherche de site Web

Configuration de SquidGuard, activation des règles de contenu et analyse des journaux Squid - Partie 6


Un LFCE (Linux Foundation Certified Engineer) est un professionnel qui possède les compétences nécessaires pour installer, gérer et dépanner les services réseau dans les systèmes Linux, et qui est en charge de la conception, de la mise en œuvre et de la maintenance continue de l’architecture du système dans son intégralité.

Présentation du programme de certification Linux Foundation.

Dans les articles précédents, nous avons discuté de l’installation de Squid + squidGuard et de la configuration de squid pour gérer ou restreindre correctement les demandes d’accès. Assurez-vous de passer en revue ces deux tutoriels et d’installer Squid et squidGuard avant de continuer, car ils définissent l’arrière-plan et le contexte de ce que nous allons couvrir dans cet article : l’intégration de squidguard dans un environnement squid fonctionnel pour mettre en œuvre des règles de liste noire et un contrôle du contenu sur le serveur proxy.

Exigences

  1. Installer Squid et SquidGuard - Partie 1
  2. Configuration du serveur proxy Squid avec un accès restreint - Partie 5

À quoi puis-je/ne peux pas utiliser SquidGuard ?

Bien que squidGuard boostera et améliorera certainement les fonctionnalités de Squid, il est important de souligner ce qu’il peut et ce qu’il ne peut pas faire.

squidGuard peut être utilisé pour :

  1. limiter l’accès Web autorisé pour certains utilisateurs à une liste de serveurs Web et/ou d’URL acceptés/bien connus uniquement, tout en refusant l’accès à d’autres serveurs Web et/ou URL figurant sur la liste noire.
  2. bloquer l’accès aux sites (par adresse IP ou nom de domaine) correspondant à une liste d’expressions ou de mots réguliers pour certains utilisateurs.
  3. exiger l’utilisation de noms de domaine/interdire l’utilisation de l’adresse IP dans les URL.
  4. rediriger les URL bloquées vers des pages d’erreur ou d’informations.
  5. Utilisez des règles d’accès distinctes en fonction de l’heure de la journée, du jour de la semaine, de la date, etc.
  6. Mettre en œuvre des règles différentes pour des groupes d’utilisateurs distincts.

Cependant, ni squidGuard ni Squid ne peuvent être utilisés pour :

  1. Analyser le texte à l’intérieur des documents et agir en conséquence.
  2. détecter ou bloquer les langages de script intégrés tels que JavaScript, Python ou VBscript dans le code HTML.

BlackLists - Les bases

Les listes noires sont une partie essentielle de squidGuard. Fondamentalement, il s’agit de fichiers texte brut qui vous permettront de mettre en place des filtres de contenu basés sur des mots-clés spécifiques. Il existe des listes noires gratuites et commerciales, et vous pouvez trouver les liens de téléchargement sur le site Web du projet squidguard.

Dans ce tutoriel, je vais vous montrer comment intégrer les listes noires fournies par Shalla Secure Services à votre installation de squidGuard. Ces listes noires sont gratuites pour un usage personnel/non commercial et sont mises à jour quotidiennement. À ce jour, ils comptent plus de 1 700 000 inscriptions.

Pour notre commodité, créons un répertoire pour télécharger le package de liste noire.

# mkdir /opt/3rdparty
cd /opt/3rdparty 
wget http://www.shallalist.de/Downloads/shallalist.tar.gz

Le dernier lien de téléchargement est toujours disponible, comme indiqué ci-dessous.

Après avoir décompressé le fichier nouvellement téléchargé, nous allons accéder au dossier de la liste noire (BL).

# tar xzf shallalist.tar.gz 
cd BL
ls

Vous pouvez considérer les répertoires affichés dans la sortie de ls comme des catégories de liste de retrait, et leurs sous-répertoires correspondants (facultatifs) comme des sous-catégories, descendant jusqu’à des URL et des domaines spécifiques, qui sont répertoriés dans les urls et les domaines des fichiers, respectivement. Reportez-vous à l’image ci-dessous pour plus de détails.

Installation de listes noires

L’installation de l’ensemble du paquet de liste noire, ou de catégories individuelles, s’effectue en copiant le répertoire BL, ou l’un de ses sous-répertoires, respectivement, dans le répertoire /var/lib/squidguard/db.

Bien sûr, vous auriez pu télécharger l’archive de la liste noire dans ce répertoire en premier lieu, mais l’approche expliquée précédemment vous donne plus de contrôle sur les catégories qui doivent être bloquées (ou non) à un moment précis.

Ensuite, je vais vous montrer comment installer les listes noires anonvpn, hacking et chat et comment configurer squidGuard pour les utiliser.

Étape 1 : Copiez récursivement les répertoires anonvpn, hacking et chat de /opt/3rdparty/BL vers /var/lib/squidguard/db.

# cp -a /opt/3rdparty/BL/anonvpn /var/lib/squidguard/db
cp -a /opt/3rdparty/BL/hacking /var/lib/squidguard/db
cp -a /opt/3rdparty/BL/chat /var/lib/squidguard/db

Étape 2 : Utilisez les fichiers domains et urls pour créer les fichiers de base de données de squidguard. Veuillez noter que la commande suivante fonctionnera pour créer des fichiers .db pour toutes les listes noires installées - même lorsqu’une certaine catégorie a 2 sous-catégories ou plus.

# squidGuard -C all

Étape 3 : Changez la propriété du répertoire /var/lib/squidguard/db/ et son contenu pour l’utilisateur proxy afin que Squid puisse lire les fichiers de base de données.

# chown -R proxy:proxy /var/lib/squidguard/db/

Étape 4 : Configurez Squid pour utiliser squidGuard. Nous utiliserons la directive url_rewrite_program de Squid dans /etc/squid/squid.conf pour indiquer à Squid d’utiliser squidGuard comme réécriture/redirection d’URL.

Ajoutez la ligne suivante à squid.conf, en vous assurant que /usr/bin/squidGuard est le bon chemin absolu dans votre cas.

# which squidGuard
echo "url_rewrite_program $(which squidGuard)" >> /etc/squid/squid.conf
tail -n 1 /etc/squid/squid.conf

Étape 5 : Ajoutez les directives nécessaires au fichier de configuration de squidGuard (situé dans /etc/squidguard/squidGuard.conf).

Veuillez vous référer à la capture d’écran ci-dessus, après le code suivant pour plus de précisions.

src localnet {
        ip      192.168.0.0/24
}

dest anonvpn {
        domainlist      anonvpn/domains
        urllist         anonvpn/urls
}
dest hacking {
        domainlist      hacking/domains
        urllist         hacking/urls
}
dest chat {
        domainlist      chat/domains
        urllist         chat/urls
}

acl {
        localnet {
                        pass     !anonvpn !hacking !chat !in-addr all
                        redirect http://www.lds.org
                }
        default {
                        pass     local none
        }
}

Étape 6 : Redémarrez Squid et testez.

# service squid restart 		[sysvinit / Upstart-based systems]
systemctl restart squid.service 	[systemctl-based systems]

Ouvrez un navigateur Web dans un client au sein du réseau local et accédez à un site trouvé dans l’un des fichiers de la liste noire (domaines ou URL - nous utiliserons http://spin.de/ chat dans l’exemple suivant) et vous serez redirigé vers une autre URL, www.lds.org dans ce cas.

Vous pouvez vérifier que la requête a été envoyée au serveur proxy mais qu’elle a été refusée (réponse http 301 – Déplacée définitivement) et qu’elle a été redirigée vers www.lds.org à la place.

Suppression des restrictions

Si, pour une raison quelconque, vous devez activer une catégorie qui a été bloquée dans le passé, supprimez le répertoire correspondant de /var/lib/squidguard/db et commentez (ou supprimez) l’acl associée dans le fichier squidguard.conf.

Par exemple, si vous souhaitez activer les domaines et les URL mis sur liste noire par la catégorie anonvpn, vous devrez effectuer les étapes suivantes.

# rm -rf /var/lib/squidguard/db/anonvpn

Et éditez le fichier squidguard.conf comme suit.

Veuillez noter que les parties surlignées en jaune sous AVANT ont été supprimées dans APRÈS.

Liste blanche de domaines et d’URL spécifiques

À l’occasion, vous pouvez autoriser certaines URL ou certains domaines, mais pas l’ensemble d’un répertoire sur liste noire. Dans ce cas, vous devez créer un répertoire nommé myWhiteLists (ou le nom que vous choisissez) et insérer les URL et les domaines souhaités sous /var/lib/squidguard/db/myWhiteLists dans les fichiers nommés respectivement urls et domains.

Ensuite, initialisez les nouvelles règles de contenu comme précédemment,

# squidGuard -C all

et modifiez le squidguard.conf comme suit.

Comme précédemment, les pièces surlignées en jaune indiquent les modifications qui doivent être ajoutées. Notez que la chaîne myWhiteLists doit être la première de la ligne qui commence par pass.

Enfin, n’oubliez pas de redémarrer Squid afin d’appliquer les modifications.

Conclusion

Après avoir suivi les étapes décrites dans ce tutoriel, vous devriez disposer d’un filtre de contenu puissant et d’un redirecteur d’URL travaillant main dans la main avec votre proxy Squid. Si vous rencontrez des problèmes lors de votre processus d’installation/configuration ou si vous avez des questions ou des commentaires, vous pouvez vous référer à la documentation Web de squidGuard, mais n’hésitez pas à nous écrire en utilisant le formulaire ci-dessous et nous vous répondrons dans les plus brefs délais.

Articles connexes: