Kleis est un gestionnaire d'utilisateurs et groupes pour proxy de type Squid. Il permet aussi de gérer une liste blanche pour le filtre SquidGuard. Kleis maintient à jour la liste de vos utilisateurs et leur appartenance à un groupe, dans une base de données. Il est ensuite possible d'exporter ces informations sous forme de fichiers plats pour être intégrés à la configuration de Squid et de SquidGuard.
Ainsi, pour une gestion évoluée d'un ensemble d'utilisateurs de votre proxy, vous n'avez pas la nécessité d'utiliser un annuaire LDAP.
Kleis exporte les fichiers suivants :
Il n'est pas nécessaire de disposer de Squid et SquidGuard sur le même serveur que Kleis. Peu importe votre mise en oeuvre, il vous faudra à un moment positionner les fichiers générés par Kleis aux bons endroits. Un exemple d'intégration est donné dans la documentation de Kleis.
Voir installation dans le Wiki.
Ce qui suit suppose que vous disposiez d'une installation Squid, couplée à SquidGuard fonctionnelle. Vous devriez avoir quelque chose comme `auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/passwords`` dans votre fichier squid.conf.
Kleis permet d'exporter les fichiers utiles par le lancement d'une commande. Les commandes suivantes :
cd /var/www/kleis
php artisan export:accounts
php artisan export:categories
php artisan export:groups
php artisan export:whitelist
génèrent respectivement les comptes utilisateurs, les catégories, les groupes, et les fichiers de liste blanche. Ces fichiers sont générés dans /var/www/kleis/storage/app/export/
, vous devez donc rendre ce repertoire modifiable par l'utilisateur. Dans la suite de l'exemple nous n'utilisons pas les groupes.
Il faut ensuite déplacer les fichiers aux bons endroits :
cp /var/www/kleis/storage/app/export/accounts/accounts.txt /etc/squid3/passwords
cp /var/www/kleis/storage/app/export/categories/*.txt /var/lib/squidguard/db/
cp /var/www/kleis/storage/app/export/proxylists/*.txt /var/lib/squidguard/db/
Vous devriez à ce moment là mettre à jour les blacklists de SquidGuard. Une fois cela fait, regénérez les bases de SquidGuard puis relancez Squid :
squidGuard -C all
/usr/sbin/service squid3 restart
Que vous fassiez l'intégration manuellement ou que vous utilisiez un ordonanceur (la crontable ou jenkins par exemple), vous devez veiller aux droits des différents fichiers :