KB 2285 : TOUS LES AUTHENTIFICATEURS NTLM SONT OCCUPÉS

Publié le 26 janvier 2024

Les symptômes dans le cas d’authentificateurs occupés sont soit des pop-ups de demandes d’authentifications intempestifs, soit un arrêt brutal et complet du service squid.

SYMPTÔMES

Les symptômes dans le cas d’authentificateurs occupés sont soit des pop-ups de demandes d’authentifications intempestifs, soit un arrêt brutal et complet du service squid.

Contexte

Le nombre d’authentificateurs NTLM d’Olfeo est défini par défaut à 15 instances.

Ce nombre d’instances a été défini comme une moyenne, il correspond à une architecture de moins de 500 postes clients avec un trafic web raisonnable.

Il peut arriver que ce nombre d’instances soit insuffisant pour une architecture de plus de 500 postes et/ou une population générant beaucoup de trafic web (écoles, universités, bibliothèques, métiers utilisant des applications web, etc) et doive par conséquent être augmenté.

TEST

Pré-requis

Installer l’utilitaire squid-client avec la commande apt-get install squidclient :

TESTOLFEO:~# apt-get install squidclient
Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed:
 squidclient
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 102kB of archives.
After unpacking 188kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
 squidclient
Install these packages without verification [y/N]? y
Get:1 http://debian.olfeo.com etch/main squidclient 3.1.5-2olfeo01 [102kB]
Fetched 102kB in 0s (578kB/s)
Selecting previously deselected package squidclient.
(Reading database ... 16949 files and directories currently installed.)
Unpacking squidclient (from .../squidclient_3.1.5-2olfeo01_i386.deb) ...
Setting up squidclient (3.1.5-2olfeo01) ...

Étape 1 : Analyse avec squid client du nombre d’authentificateurs NTLM en attente.

La commande suivante va nous permettre de savoir si les authentificateurs NTLM sont occupés.

Exemple où tous les authentificateurs NTLM sont libres (colonne requests) :

TESTOLFEO:~# squidclient -h 127.0.0.1 -p 3129 mgr:ntlmauthenticator
    HTTP/1.0 200 OK
    Server: squid/3.1.5
    Mime-Version: 1.0
    Date: Tue, 06 Dec 2011 08:18:37 GMT
    Content-Type: text/plain
    Expires: Tue, 06 Dec 2011 08:18:37 GMT
    Last-Modified: Tue, 06 Dec 2011 08:18:37 GMT
    X-Cache: MISS from localhost
    X-Cache-Lookup: MISS from localhost:3129
    Via: 1.0 localhost (squid/3.1.5)
    Proxy-Connection: close

    
    NTLM Authenticator Statistics:
    program: /usr/bin/ntlm_auth
    number active: 15 of 15 (0 shutting down)
    requests sent: 178
    replies received: 178
    queue length: 0
    avg service time: 4 msec


         #             FD            PID         # Requests         Flags           Time         Offset        Request

         1            254           4226                  0                       0.000              0        (none)

         2            256           4227                  0                       0.000              0        (none)

         3            258           4228                  0                       0.000              0        (none)

         4            260           4229                  0                       0.000              0        (none)

         5            262           4230                  0                       0.000              0        (none)

         6            264           4231                  0                       0.000              0        (none)

         7            266           4232                  0                       0.000              0        (none)

         8            268           4233                  0                       0.000              0        (none)

         9            270           4234                  0                       0.000              0        (none)

        10            272           4235                  0                       0.000              0        (none)

        11            274           4236                  0                       0.000              0        (none)

        12            276           4237                  0                       0.000              0        (none)

        13            278           4238                  0                       0.000              0        (none)

        14            280           4239                  0                       0.000              0        (none)

        15            282           4240                  0                       0.000              0        (none)

    Flags key:

      B = BUSY
      C = CLOSING
      R = RESERVED
      S = SHUTDOWN PENDING
      P = PLACEHOLDER

Étape 2 : Analyse des logs dans /var/log/squid3/cache.log

Les lignes WARNING peuvent être filtrées pour une lecture plus aisée.

Après recherche dans ces lignes, tous les authentificateurs NTLM sont occupés et 15 requêtes n’ayant pas pu être traitées auraient pu entraîner un arrêt du service squid.

Commande à taper :

egrep -i ‘(busy|many|fatal)’ /opt/olfeo5/data/proxy/log/cache.log

Résultat :

2011/10/04 07:30:21| WARNING: All ntlmauthenticator processes are busy.
2011/10/04 07:30:21| WARNING: 15 pending requests queued
2011/10/04 07:30:21| Consider increasing the number of ntlmauthenticator processes in your config file.

RÉSOLUTION

Le nombre de requêtes pour le dernier authentificateur ne devrait pas être supérieur à 0.

Dans le cas contraire, il est recommandé de passer le nombre d’authentificateurs à 30 instances (pour une architecture à plus de 500 postes).

Dans la majorité des cas, il est donc conseillé de passer de 15 instances à 30 instances pour solutionner ce problème.

Si 30 n’est pas un nombre suffisant, augmenter par pas de 10 ou 20 jusqu’à l’absence de problème.