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 est en charge de la conception, mise en œuvre et 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 expliqué comment installer Squid + squidGuard et comment configurer Squid pour gérer ou restreindre correctement les demandes d'accès. Assurez-vous de parcourir ces deux didacticiels et d'installer Squid et squidGuard avant de continuer, car ils définissent l'arrière-plan et le contexte de ce que nous aborderons dans cet article : intégrer squidguard dans un environnement squid fonctionnel pour implémenter des règles de liste noire et un contrôle de contenu sur le Serveur proxy.

Exigences

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

Pour quoi puis-je ou ne peux-je pas utiliser SquidGuard ?

Bien que squidGuard renforce et améliore 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 sur liste noire.
  2. bloquer l'accès aux sites (par adresse IP ou nom de domaine) correspondant à une liste d'expressions régulières ou de mots pour certains utilisateurs.
  3. exiger l’utilisation de noms de domaine/interdire l’utilisation d’adresses 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. implémenter 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.

Listes noires – Les bases

Les listes noires sont un élément essentiel de squidGuard. Fondamentalement, ce sont des fichiers texte brut qui vous permettront d'implémenter des filtres de contenu basés sur des mots-clés spécifiques. Il existe des listes noires disponibles gratuitement et commerciales, et vous pouvez trouver les liens de téléchargement sur le site Web du projet Squidguard Blacklists.

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

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 accéderons au dossier 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 fond, et leurs sous-répertoires correspondants (facultatifs) comme des sous-catégories, descendant jusqu'aux URL et domaines spécifiques, qui sont répertoriés dans les fichiers. urls et domaines, respectivement. Reportez-vous à l'image ci-dessous pour plus de détails.

Installation de listes noires

L'installation de l'ensemble du package blacklist, 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/. répertoire lib/squidguard/db.

Bien sûr, vous auriez pu télécharger l'archive tar 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, piratage et chat et comment configurer squidGuard pour les utiliser.

Étape 1 : copiez récursivement les répertoires anonvpn, hacking et chat depuis /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 de domaines et d'URL 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 comporte 2 sous-catégories ou plus.

squidGuard -C all

Étape 3 : modifiez la propriété du répertoire /var/lib/squidguard/db/ et de son contenu en tant qu'utilisateur proxy afin que Squid puisse lire les fichiers de la 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éécrivain/redirecteur 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 du réseau local et accédez à un site trouvé dans l'un des fichiers de la liste noire (domaines ou URL – nous utiliserons le chat http://spin.de/ dans l'exemple suivant ) et vous serez redirigé vers une autre URL, www.lds.org dans ce cas.

Vous pouvez vérifier que la demande a été adressée au serveur proxy mais a été refusée (réponse http 301 – Déplacée de façon permanente) et a été redirigée vers www.lds.org à la place.

Supprimer les 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 suivre les étapes suivantes.

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

Et modifiez 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

Parfois, vous souhaiterez peut-être autoriser certaines URL ou domaines, mais pas un répertoire entier sur liste noire. Dans ce cas, vous devez créer un répertoire nommé myWhiteLists (ou quel que soit le nom que vous choisissez) et insérer les URL et domaines souhaités sous /var/lib/squidguard/db/myWhiteLists dans des fichiers nommés respectivement urls et domaines.

Ensuite, initialisez les nouvelles règles de contenu comme auparavant,

squidGuard -C all

et modifiez le squidguard.conf comme suit.

Comme auparavant, les parties 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 commençant par pass.

Enfin, pensez à redémarrer Squid afin d'appliquer les modifications.

Conclusion

Après avoir suivi les étapes décrites dans ce didacticiel, vous devriez disposer d'un puissant filtre de contenu et d'un redirecteur d'URL fonctionnant 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 souhaiterez peut-être vous référer à la documentation Web de squidGuard, mais n'hésitez pas à nous envoyer un message en utilisant le formulaire ci-dessous et nous vous répondrons dès que possible. possible.