KleËs -
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., (*1)
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., (*2)
Kleis exporte les fichiers suivants :
- Fichier de mot de passe, de type htaccess, tel qu'utilisé par Squid dans ce mode d'authentification
- Fichiers de categories (par exemple, mineur, majeur, salariĂ©, professeur...), pour ĂȘtre utilisĂ©s dans SquidGuard
- Fichiers de groupes (les groupes sont gĂ©rĂ©s par des gestionnaires de groupes), pouvant Ă©galement ĂȘtre utilisĂ©s dans SquidGuard
- Fichiers de liste blanche (domaines complets ou URLs), destinĂ© Ă ĂȘtre ajoutĂ©s aux listes que vous utilisez avec SquidGuard, (*3)
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., (*4)
Installation
Voir installation dans le Wiki., (*5)
Intégration avec Squid et SquidGuard
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., (*6)
Exporter les fichiers
Kleis permet d'exporter les fichiers utiles par le lancement d'une commande. Les commandes suivantes :, (*7)
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., (*8)
Il faut ensuite déplacer les fichiers aux bons endroits :, (*9)
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 :, (*10)
squidGuard -C all
/usr/sbin/service squid3 restart
Points d'attention
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 :
- Le fichier password doit appartenir Ă l'utilisateur proxy. Pour ne pas changer cela, vous pouvez ajouter l'utilisateur de votre ordonanceur au groupe proxy, et rendre le fichier des mots de passe modifiable par le groupe.
- Les fichiers de groupe et whitelist ont les mĂȘmes besoins. Cela est particuliĂšrement important : si l'utilisateur du proxy ne peut pas correctement lire les fichiers, alors SquidGuard entrera en mode "Emergency", laissant passer l'intĂ©gralitĂ© du trafic.
- Pour redĂ©marer squid3 via la commande service, vous devriez utiliser sudo. L'usage d'autres scripts pour relancer Squid pourrait modifier les propriĂ©taires et les droits de fichiers, et empĂȘcher une mise Ă jour par votre utilisateur d'ordonnanceur., (*11)