Squid avec Authentification NTLM avec des serveurs 2003

Configuration de la stratégie de groupe

  • Ouvrez la stratégie de groupe
  • Éditez la stratégie de groupe
  • Désactivez le paramètre
    • Server réseau Microsoft
    • communications signées numériquement

Paquage Debian nécessaire

apt-get install squid smbclient krb5-config krb5-user telnet ntpd tcpdump strace wget openssh-client

Configuration samba

/etc/samba/smb.conf

Respecter les majuscules/minucules

[global]
workgroup=DOMAINE
realm = DOMAINE.LOCAL
netbios name=PROXY
security = ADS
log file = /var/log/samba/%m.log
max log size = 50
password server = dc01.domain.local, dc02.domain.local
encrypt passwords = yes
domain master = no
domain logons = no
dns proxy = no
os level = 17
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind use default domain = yes
;winbind separator = /
winbind enum users = yes
winbind enum groups = yes
printcap name = /dev/null
load printers = no
printing = bsd

Configuration Kerberos

/etc/krb5.conf

[Lire]

Afficher la date dans les log de squid

Pour convertir les timestamp utilisé dans les log Squid en heure lisible, commencez par créé le script perl suivant

#! /usr/bin/perl -p
s/^\d+\.\d+/localtime $&/e;

Ensuite, afficher les logs avec cat, grep ou tail suivant puis piper cela dans le script. par exemple :

tail -f acces.log | squid_date.pl
Tips  log  squid  perl  date 

Codes d'erreur Squid

Information 1xx

CodeMessageSignification
100ContinueAttente de la suite de la requête
101Switching ProtocolsAcceptation du changement de protocole
102ProcessingWebDAV : Traitement en cours (évite que le client dépasse le temps d’attente limite).

Succès 2xx

CodeMessageSignification
200OKRequête traitée avec succès
201CreatedRequête traitée avec succès avec création d’un document
202AcceptedRequête traitée mais sans garantie de résultat
203Non-Authoritative InformationInformation retournée mais générée par une source non certifiée
204No ContentRequête traitée avec succès mais pas d’information à renvoyer
205Reset ContentRequête traitée avec succès, la page courante peut être effacée
206Partial ContentUne partie seulement de la requête a été transmise
207Multi-StatusWebDAV : Réponse multiple.
210Content DifferentWebDAV : La copie de la ressource coté client diffère de celle du serveur (contenu ou propriétés).

Redirection 3xx

CodeMessageSignification
300Multiple ChoicesL’URI demandée se rapporte à plusieurs ressources
301Moved PermanentlyDocument déplacé de façon permanente
302Moved TemporarilyDocument déplacé de façon temporaire
303See OtherLa réponse à cette requête est ailleurs
304Not ModifiedDocument non-modifié depuis la dernière requête
305Use ProxyLa requête doit être ré-adressée au proxy
307Temporary RedirectLa requête doit être redirigée temporairement vers l’URI spécifiée

Erreur du client 4xx

CodeMessageSignification
400Bad RequestLa syntaxe de la requête est erronée
401UnauthorizedAccès à la ressource refusé
402Payment RequiredPaiement requis pour accéder à la ressource (non utilisé)
403ForbiddenRefus de traitement de la requête
404Not FoundDocument non trouvé
405Method Not AllowedMéthode de requête non autorisée
406Not AcceptableToutes les réponses possibles seront refusées.
407Proxy AuthenticationRequired Accès à la ressource autorisé par identification avec le proxy
408Request Time-outTemps d’attente d’une réponse du serveur écoulé
409ConflictLa requête ne peut être traitée à l’état actuel
410GoneLa ressource est indisponible et aucune adresse de redirection n’est connue
411Length RequiredLa longueur de la requête n’a pas été précisée
412Precondition FailedPréconditions envoyées par la requête non-vérifiées
413Request Entity Too LargeTraitement abandonné dû à une requête trop importante
414Request-URI Too LongURI trop longue
415Unsupported Media TypeFormat de requête non-supportée pour une méthode et une ressource données
416Requested range unsatisfiableChamps d’en-tête de requête ‘range’ incorrect.
417Expectation failedComportement attendu et défini dans l’en-tête de la requête insatisfaisable
422Unprocessable entityWebDAV : L’entité fourni avec la requête est incompréhensible ou incomplet.
423LockedWebDAV : L’opération ne peut avoir lieu car la ressource est verrouillée.
424Method failureWebDAV : Une méthode de la transaction a échoué.

Erreur du serveur 5xx

CodeMessageSignification
500Internal Server ErrorErreur interne du serveur
501Not ImplementedFonctionnalité réclamée non supportée par le serveur
502Bad Gatewayou Proxy Error Mauvaise réponse envoyée à un serveur intermédiaire par un autre serveur.
503Service UnavailableService indisponible
504Gateway Time-outTemps d’attente d’une réponse d’un serveur à un serveur intermédiaire écoulé
505HTTP Version not supportedVersion HTTP non gérée par le serveur
507Insufficient storageWebDAV : Espace insuffisant pour modifier les propriétés ou construire la collection
509Bandwidth Limit ExceededCode non officiel utilisé par de nombreux serveurs pour indiquer un dépassement de quota.

Gestion des listes SquidGuard

Mettre à jour une whiteliste ou blackliste SquidGuard

Générer les bases à partir des fichiers

squidGuard -C fichier

Remettre les bon droits sur les fichiers au cas ou

chown squid.squid *.db

Indiquer a SquidGuard de relire les .db

squid -k reconfigure

Configurer Squid pour bloquer les Streaming

Voici quelque ACL :

acl StreamingRequest1 req_mime_type -i ^video/x-ms-asf$
acl StreamingRequest2 req_mime_type -i ^application/vnd.ms.wms-hdr.asfv1$
acl StreamingRequest3 req_mime_type -i ^application/x-mms-framed$
acl StreamingRequest4 req_mime_type -i ^audio/x-pn-realaudio$
acl StreamingReply1 rep_mime_type -i ^video/x-ms-asf$
acl StreamingReply2 rep_mime_type -i ^application/vnd.ms.wms-hdr.asfv1$
acl StreamingReply3 rep_mime_type -i ^application/x-mms-framed$
acl StreamingReply4 rep_mime_type -i ^audio/x-pn-realaudio$

Et les regles utilisant les ACL :

http_access deny StreamingRequest1 all
http_access deny StreamingRequest2 all
http_access deny StreamingRequest3 all
http_access deny StreamingRequest4 all http_reply_access deny StreamingReply1 all
http_reply_access deny StreamingReply2 all
http_reply_access deny StreamingReply3 all
http_reply_access deny StreamingReply4 all