Désactiver Squid
Garantit que le service squid.service (proxy cache/mandataire Squid) n'est ni activé au démarrage ni en cours d'exécution, sauf si l'hôte est volontairement un proxy.
Vérifié sur l’état résolu en cours d’exécution (ex. sshd -T, sysctl, systemctl show), attrape les drop-ins et Include qu’une lecture de fichier raterait. Réserve : runtime ≠ persistance ; une valeur correcte maintenant peut ne pas survivre à un redémarrage.
Pavois vérifie la configuration effective, l’état résolu et réellement appliqué, pas un fichier. Les scanners basés fichier (OVAL/SCAP, Lynis) ratent les Include, drop-ins et défauts runtime ; ce check voit ce qui est réellement en vigueur.
Un mapping est une référence croisée vers l’endroit où chaque norme situe cette exigence, ancrée et recoupée, pas une affirmation d’équivalence. Un check réussi est une preuve vers ces références, comment le lire.
Pourquoi cette règle
Squid est un proxy mandataire avec cache, écoutant généralement sur le port 3128 (ou 8080). Un proxy joignable et ouvert permet aux attaquants de tunneliser du trafic, d'anonymiser des attaques à travers votre hôte, d'atteindre des services internes qu'il peut router et d'abuser de votre bande passante, les proxys ouverts sont systématiquement recherchés et exploités. Il ajoute aussi un analyseur HTTP complexe à la surface d'attaque. Sur tout hôte qui n'a pas vocation à fournir un service de proxy/cache, Squid n'est qu'exposition inutile et doit être arrêté et désactivé.
Ce que vérifie Pavois
Pavois lit l'état effectif de squid.service depuis systemd, en vérifiant qu'il n'est ni enabled ni running. Cela reflète ce qui est réellement lié au port du proxy indépendamment de l'existence de /etc/squid/squid.conf, et détecte un démon démarré par une surcharge drop-in. Une vérification de paquet/configuration ne peut pas indiquer si Squid accepte actuellement des connexions.
describe service('squid.service') do
it { should_not be_enabled }
it { should_not be_running }
endComment vérifier qu’elle est appliquée
Exécutez systemctl is-enabled squid.service et systemctl is-active squid.service ; attendez disabled/masked et inactive. Confirmez qu'aucun service n'écoute avec ss -tlnp | grep -E ':3128|:8080'.
Inspecter et investiguer
Inspectez journalctl -u squid.service pour les événements de démarrage/arrêt, et /var/log/squid/access.log pour l'usage passé du proxy. systemctl show squid.service -p ActiveState -p UnitFileState donne l'état lisible par machine. Confirmez la fermeture du port proxy avec ss -tlnp | grep -E ':3128|:8080'.
Remédiation
Le plan de durcissement de Pavois agit sur la ressource service nommée squid avec les actions disable puis stop : il supprime l'activation au démarrage et arrête le proxy. Appliqué avec pavois harden apply. La configuration et le cache existants sous /etc/squid/ et /var/spool/squid/ restent en place.
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| action | disable, stop |
|---|---|
| name | squid |
| resource | service |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Désactiver Squid coupe tout client qui route son trafic web via ce proxy : postes ou services dont http_proxy/HTTP_PROXY pointe ici, ou configurations PAC/WPAD, perdront l'accès Internet ou échoueront à sortir via les listes d'autorisation du proxy. Avant d'appliquer : confirmez qu'aucun client n'en dépend (vérifiez /var/log/squid/access.log pour l'activité récente, ainsi que les paramètres proxy/fichiers PAC du réseau) et qu'il ne s'agit pas d'un point de passage de sortie imposant une politique. Si l'hôte est un proxy, excluez cette règle ; s'il doit rester, verrouillez les ACL pour qu'il ne soit pas un proxy ouvert.
Mapping des normes
| Norme | Référence | Type | Version | Confiance |
|---|---|---|---|---|
| CIS | 2.1.17 | direct | per OS, see the benchmark table | haute |
Chaque référence est une référence croisée ancrée dans le benchmark amont et recoupée avec le SCAP Security Guide et ansible-lockdown, pas une affirmation d’équivalence. Direct = une exigence prescriptive au niveau de la ligne ; support = une famille de contrôle abstraite (NIST) vers laquelle le check apporte une preuve. Comment lire un mapping.