Questions sur Squid et les ACL

Questions sur Squid et les ACL - Logiciels - Linux et OS Alternatifs

Marsh Posté le 22-03-2007 à 15:30:36    

Bonjour,

 

Je viens d'installer squid et je suis en pleine configuration de celui-ci. Voila les fonctionnalités demandées:

 

- Gestion de comptes utilisateurs
x Pouvoir limiter des sessions dans le temps
x Bloquer/Autoriser des adresses MAC
x Permettre de vérifier que tel compte n'est utilisé qu'une seule fois a un instant T
x Mettre en place des quotas de download/upload
x Auditer les comptes (qui a fait quoi et quand etc...)
x Faire des statistiques
(x Pouvoir généré des comptes "temporaire" qui par exemple permette qu'une heure de surf avant d'être bloqué)
 
- Gestion de la bande passante
- Filtrage (bloquer certains ports etc...)

 


Pour l'instant j'utilise une authentification via ncsa_auth, ça marche bien, je fais par exemple:
acl utilisateurs proxy_auth toto titi tata
acl admin proxy_auth admin admin2 admin3

 

J'ai réussi aussi a limiter la bande passante via les delay pools:
delay_pools 1
delay_class 1 2
delay_parameters 1 -1/-1 50000/50000

 

Cependant j'aimerais que cette limite ne soit en place que pour toto titi et tata, pas pour les admins... Est ce que c'est possible?
Idem concernant certains blocages de ports.

 

Merci d'avance.

 

EDIT: Je viens de trouver pour la limite de bande passante, il faut utiliser delay_access.

 

Je change donc de question ^^:

 

Comment mettre en place des quotas qui "désactive" un compte une fois dépassé une certaine limite?
Genre après 1 Go transféré pouf plus de surf.

Message cité 1 fois
Message édité par Cheinz le 22-03-2007 à 15:51:46
Reply

Marsh Posté le 22-03-2007 à 15:30:36   

Reply

Marsh Posté le 22-03-2007 à 15:54:18    

Cheinz a écrit :

Bonjour,
 
Je viens d'installer squid et je suis en pleine configuration de celui-ci. Voila les fonctionnalités demandées:
 
- Gestion de comptes utilisateurs
x Pouvoir limiter des sessions dans le temps
 
oui, à vérifier
 
x Bloquer/Autoriser des adresses MAC
 
c'est pas fait pour
 
x Permettre de vérifier que tel compte n'est utilisé qu'une seule fois a un instant T
 
avec un script, oui
 
x Mettre en place des quotas de download/upload
 
surement, à vérifier
 
x Auditer les comptes (qui a fait quoi et quand etc...)
 
oui
 
x Faire des statistiques
 
oui
 
(x Pouvoir généré des comptes "temporaire" qui par exemple permette qu'une heure de surf avant d'être bloqué)
 
- Gestion de la bande passante
- Filtrage (bloquer certains ports etc...)
 
oui
 
Pour l'instant j'utilise une authentification via ncsa_auth, ça marche bien, je fais par exemple:
acl utilisateurs proxy_auth toto titi tata
acl admin proxy_auth admin admin2 admin3
 
J'ai réussi aussi a limiter la bande passante via les delay pools:
delay_pools 1
delay_class 1 2
delay_parameters 1 -1/-1 50000/50000
 
Cependant j'aimerais que cette limite ne soit en place que pour toto titi et tata, pas pour les admins... Est ce que c'est possible?
Idem concernant certains blocages de ports.
 
Merci d'avance.
 
EDIT: Je viens de trouver pour la limite de bande passante, il faut utiliser delay_access.
 
Je change donc de question ^^:
 
Comment mettre en place des quotas qui "désactive" un compte une fois dépassé une certaine limite?
Genre après 1 Go transféré pouf plus de surf.



---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 22-03-2007 à 16:04:06    

Salut,

 

Oui la plupart c'est bon:
- Gestion de comptes utilisateurs
x Pouvoir limiter des sessions dans le temps >> Je vois pas
x Bloquer/Autoriser des adresses MAC >> On peut mais je n'en aurai peut être pas besoin
x Permettre de vérifier que tel compte n'est utilisé qu'une seule fois a un instant T >> Ok
x Mettre en place des quotas de download/upload >> Pas ok d'ou la question, je ne vois pas comment faire
x Auditer les comptes (qui a fait quoi et quand etc...) >> Pas ok non plus, il doit y avoir des softs qui le font mais je n'ai pas trouvé
x Faire des statistiques >> Ok > Webalizer
(x Pouvoir généré des comptes "temporaire" qui par exemple permette qu'une heure de surf avant d'être bloqué) >> Pas réfléchi encore mais ca doit être faisable bien qu'un peu chiant
 
- Gestion de la bande passante >> Ok
- Filtrage (bloquer certains ports etc...) >> Ok

 


Voila ou j'en suis actuellement, c'est pour les trucs ou je boque que je voudrais bien avoir un peu d'aide.


Message édité par Cheinz le 29-03-2007 à 10:15:21
Reply

Marsh Posté le 23-03-2007 à 11:00:11    

tu as jeté un oeil sur la doc officielle ?
 
http://wiki.squid-cache.org/SquidF [...] 9aee33e376

Reply

Marsh Posté le 23-03-2007 à 16:35:35    

Ben oui bien sur, j'ai mis que j'utilisais les delay pools pour limiter la bande passante mais ca ne permet pas (enfin mon niveau d'anglais est très bof donc j'ai peut être mal compris) de mettre en place des quotas ou d'auditer des comptes :/

Reply

Marsh Posté le 26-03-2007 à 15:30:45    

Bon pour les quotas je pense que ça ne sera peut être pas nécessaire vu que je peux limiter la bande passante bien que si quelqu'un sait...
 
Par contre l'audit ca serait pas mal et la j'ai du mal a trouver.

Reply

Marsh Posté le 26-03-2007 à 15:35:04    

a priori il te faut des outils d'analyse de logs
tu as regardé du coté du site de squid ?
http://www.squid-cache.org/Scripts/

Reply

Marsh Posté le 26-03-2007 à 16:29:29    

J'avais regardé mais pas en profondeur, je vais m'y plonger un peu plus en détails.


Message édité par Cheinz le 26-03-2007 à 16:29:42
Reply

Marsh Posté le 26-03-2007 à 16:30:15    

plusieurs outils listés dans cette page propose des fonctions de reporting par users:
sarg par exemple: il ne te convient pas ?
http://sarg.sourceforge.net/sarg.php

Reply

Marsh Posté le 26-03-2007 à 21:46:06    

Si si, il faudra que je teste mais il faut que j'attendes jeudi pour pouvoir le faire...

 

Je penses que ca doit aussi marcher avec l'authentification via ncsa... enfin... j'espère ^^.
On verra bien.


Message édité par Cheinz le 26-03-2007 à 21:47:03
Reply

Marsh Posté le 26-03-2007 à 21:46:06   

Reply

Marsh Posté le 29-03-2007 à 12:13:23    

Bon c'est ok pour SARG. Merci toniotonio
 
Par contre j'ai toujours un petit soucis concernant les quotas mais aussi pour limiter les sessions dans le temps, par exemple n'autoriser que 30h pour une période donné... des idées la dessus?
 
Merci d'avance.

Reply

Marsh Posté le 10-04-2007 à 15:42:48    

Nouveau soucis.

 

J'ai décidé de développer moi même un p'ti truc en PHP pour gérer les utilisateurs, il faut donc:
- Que j'ajoute l'utilisateur au fichier contenant la liste des utilisateurs avec leur mot de passe via la commande htpasswd > OK
- Que j'ajoute une tache cron qui permettra de l'effacer une fois son quota de temps terminé > OK
- Que je l'ajoute au fichier de configuration de squid pour qu'il est accès au proxy > OK
- Que je redémarre et/ou recharge squid pour prendre en compte la nouvelle configuration > PAS OK

 

Le problème est assez bizarre, j'ai ajouter une acl comme ca:

Code :
  1. acl temporaires proxy_auth


Ensuite via php je recherche cette ligne et je rajoutes l'utilisateur usertemp a cet acl ce qui donne:

Code :
  1. acl temporaires proxy_auth usertemp


Je recharge squid via l'appli php, j'essaye de surfer avec usertemp, ca marche...
Je rajoutes un utilisateur toto, le fichier de conf se retrouve comme ca:

Code :
  1. acl temporaires proxy_auth usertemp toto


Je recharge squid avec l'appli php, j'essaye de surfer avec toto, impossible :(
Je recharge squid en console avec root > pouf nickel toto passe.

 

Je comprends pas pourquoi, quelqu'un a une idée?


Message édité par Cheinz le 10-04-2007 à 15:44:28
Reply

Marsh Posté le 10-04-2007 à 15:46:48    

utilise un LDAP :o


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 10-04-2007 à 15:59:45    

Pas le temps ni les connaissances pour monter un serveur LDAP.

Reply

Marsh Posté le 10-05-2007 à 09:30:08    

tiens tiens tiens !! Ce post m'intérésse !! :)
 
Peux tu m'expliquer comment tu fais pour ceci :  
(x Pouvoir généré des comptes "temporaire" qui par exemple permette qu'une heure de surf avant d'être bloqué)  
 
On met de coté les comptes temporaire, :D et on s'attarde sur "permettre une heure de surf avant d'être bloqué"
 
Merci bien

Reply

Marsh Posté le 10-05-2007 à 12:43:10    

Bah en fait je me suis débrouillé comme j'ai pu et j'ai donc fait un script PHP qui ajoute l'utilisateur et son password via htpasswd et qui modifie aussi l'ACL qui définit le groupe temporaire en rajoutant le pseudo du nouvel utilisateur.

 

En parallèle le script crée une tache cron qui sera exécuté X temps après et qui lancera un autre script php fera l'opération inverse et donc du coup interdira l'accès au proxy.


Message édité par Cheinz le 10-05-2007 à 12:44:05
Reply

Marsh Posté le 10-05-2007 à 14:18:07    

heuuu gloups...c'est plus que fouilli pour moi tout ca :(
 
Tu me dis que ton script en php lance un "crontab" qui est exécuté pendant par exmeple 1h, c'est bien çà??
Ensuite à la fin de ces 1h, ce meme crontab lancera un autre script en php qui supprimera l'utilisateur du fichier squid.conf qui a été ajouté par le premier script php.
OULALALA CHOOOO, mais si ca marche tant mieux !! :)
 
 
Du coup, peux tu m'aider ?!! :D
Moi je passe par une authentification via un annuaire AD, donc pas besoin d'ajouter d'utilisateur, tout est transparent (quoique si peut etre !! à vrai dire, j'en sais trop rien, toi qu'en penses-tu ?)  
 
Sinon, quand est ce que le 1er script php que tu as fais est lancé ? lorsque l'utilisateur ouvre sa premiere page WEB !?!  
Et si l'utilisateur ferme la page web, le compteur continue de tourner ?
Comment fais tu pour faire intervenir un script php dans squid ?
 
Pas mal de question, si tu peux répondre à quelques unes d'entre elles ? :)
merci bien  
 


Message édité par Moumouss le 10-05-2007 à 14:20:44
Reply

Marsh Posté le 10-05-2007 à 19:36:12    

Tu me dis que ton script en php lance un "crontab" qui est exécuté pendant par exmeple 1h, c'est bien çà??  
 
>> non, le 1er script modifie les fichiers de conf pour donner l'accès a l'utilisateur et mets en place un cron qui s'activera par exemple 1h après (si on choisit de donner accès pendant 1h)
Le deuxième est lancé donc 1h après par le cron qui s'occupera de remodifier les fichiers de conf.
 
Moi je passe par une authentification via un annuaire AD, donc pas besoin d'ajouter d'utilisateur, tout est transparent (quoique si peut etre !! à vrai dire, j'en sais trop rien, toi qu'en penses-tu ?)
 
>> aucune idée
 
Sinon, quand est ce que le 1er script php que tu as fais est lancé ? lorsque l'utilisateur ouvre sa premiere page WEB !?!  
 
>> J'ai fais un formulaire qui demande login, mdp, @ mac et la durée de vie du compte, quand je valide le form ca lance le 1er script.
 
Et si l'utilisateur ferme la page web, le compteur continue de tourner ?  
 
>> Bah tant que la tache cron ne s'est pas lancé l'user a accès dont indépendant du navigateur.
 
Comment fais tu pour faire intervenir un script php dans squid ?  
 
>> Bah je modifie les fichiers de conf directement (vu que j'utilise l'auth de squid j'ai le fichier de conf et un fichier pour les utilisateurs/mdp)

Reply

Marsh Posté le 11-05-2007 à 16:51:35    

ok merci bien pour l'explication !! :)
Mais je pense que ça ne me donnera pas un restriction réelle du temps passé sur internet pour un utilisateur !! :(
Parcqu' à partir du moment ou le crontab sera lancé il ne pourra être arrété!
 
Il me faudrait une methode qui prenne en compte le surf uniquement. Si le navigateur est fermé alors le compteur est arrété, s'il est ouvert alors le compteur reprend. Un peu comme le logiciel Surfpass. :D
 
Par contre si t'as l'temps, j'aimerai bien que tu m'expliques comment faire pour que sur une page web (PHP), on puisse controler le lancement d'un script qui se situe sur une machine distante linux !!
 
Genre : je clic sur un bouton et un script coté linux se lance !! :D
A mon avis faut se servire d'une sécurité ssh ?!! ou un truc de ce genre là !!
 
merci à toi et bon w-e !!


Message édité par Moumouss le 11-05-2007 à 16:54:42
Reply

Marsh Posté le 11-05-2007 à 19:35:29    

Ben personnellement j'ai mis en place le script PHP sur la machine ou se trouve squid donc avec exec() ou autre ca fonctionne.
 
Maintenant exécuter sur une machine distante je ne sais pas si c'est possible.
 
Avec ma méthode c'est 1h d'accès autorisé, pas 1h de surf ^^ mais bon a la base c'est plutot pour mettre des accès journalier ou mensuel donc ca convient bien.
Pour accorder 1h de surf réel je ne sais pas trop comment faire... p'tet une analyse des logs...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed