#1 Le 17/04/2009, à 12:31
- zartan
squid squidGuard et groupes AD
Bonjour
Pour une association je doit mettre en place un fitrage des acces internet
Les tutos spid et squidGuard sont ok, mais il me reste un pb
Les utilisateurs sont authentifiés sur AD et affectés à différents groupes AD
les principaux sont administrateurs(info), direction, administratif, stagiaires, invités et chaque groupe doit avoir des blacklists différentes gérées pas SquidGuard
et là je m'en sors pas
1) c'est possible ?
2) howto?
merci de votre aide
Dernière modification par zartan (Le 20/04/2009, à 10:33)
Hors ligne
#2 Le 20/04/2009, à 11:11
- zartan
Re : squid squidGuard et groupes AD
up
Hors ligne
#3 Le 20/04/2009, à 11:23
- Irmat
Re : squid squidGuard et groupes AD
J'aimerai savoir si tu veux bien partager tes fichiers de configuration pour que je puisse m'en inspirer car je rencontre une erreur et je n'arrive pas à trouver d'ou cela vient, pourtant j'ai suivi le tuto ...
C'est l'erreur 289 si ça te dis quelque chose...
Merci d'avance
Hors ligne
#4 Le 20/04/2009, à 11:32
- zartan
Re : squid squidGuard et groupes AD
Eh bien pas de problèmes mais je suis en phase d'étude je commencerai le mise en place que la semaine prochaine
ton erreur se produit quand ?
par contre tu n'as pas de réponse à ma question ??
Hors ligne
#5 Le 20/04/2009, à 12:46
- Irmat
Re : squid squidGuard et groupes AD
Non hélas, je n'ai pas de solution à ton erreur, car je souhaite à l'avenir faire quelque chose similaire à toi mais pour cela il faudrait déjà que je ne rencontre pas de problèmes.
Je rencontre une erreur au moment de lier au domaine, voici ce que je fais :
proxy:~#net join -U admin
admin's password:
[2009/04/20 13:37:40, 0] utils/net_ads.c:ads_startup(289)
ads_connect: Inappropriate ioctl for device
ADS join did not work, falling back to RPC...
Joined domain MONDOMAINE.
Or quand je souhaite vérifier :
proxy:~#net ads testjoin
[2009/04/20 13:39:44, 0] utils/net_ads.c:ads_startup(289)
ads_connect: Chaine multi-octet ou étendue de caractères reste invalide ou incomplète
Joined to domain is not valid
Et je trouve pas d'aide sur le net a propos de cette erreur
Est ce que tu as eu ça comem erreur déja ?
Voici mon fichier de config samba :
[global]
idmap gid = 10000-20000
socket options = TCP_NODELAY
client ntlmv2 auth = yes
client use spnego = yes
winbind trusted domains only = yes
winbind use default domain = yes
realm = [i]nom de mon domaine[/i]
template shell = /bin/bash
netbios name = [i]nom de mon dc[/i]
idmap uid = 10000-20000
password server = [i]ip de mon controleur de domaine[/i]
template homedir = /home/%D/%U
workgroup = [i]nom de mon domaine[/i]
os level = 20
security = ads
winbind separator = +
winbind cache time = 10
Dernière modification par Irmat (Le 20/04/2009, à 12:47)
Hors ligne
#6 Le 20/04/2009, à 15:07
- zartan
Re : squid squidGuard et groupes AD
Non pas de soluce comme je te l'ai dit je suis en phase d'étude théorique
Désolé
ton compte administrateur AD est admin ?
Hors ligne
#7 Le 20/04/2009, à 15:26
- Irmat
Re : squid squidGuard et groupes AD
Oui mon compte admin est bien administrateur sur l'AD et est ce que tu vois de grosses différences avec ton fichier de conf samba ?
Hors ligne
#8 Le 20/04/2009, à 15:43
- zartan
Re : squid squidGuard et groupes AD
je n"en suis qu'à la phase d'étude, donc pas de .conf pour l'instant
re désolé
Hors ligne
#9 Le 20/04/2009, à 15:54
- Irmat
Re : squid squidGuard et groupes AD
Excuse moi j'ai lu un peu vite.
J'ai trouvé ca, je ne sais pas si ça peut t'aider : http://doc.ubuntu-fr.org/tutoriel/comment_ajouter_machine_ubuntu_dans_domaine_active_directory
Hors ligne
#10 Le 21/04/2009, à 08:33
- GunnMax
Re : squid squidGuard et groupes AD
Bonjour Zartan.
J'ai vu que tu avais quelques petits soucis.
Quelle version de Squidguard utilises-tu?
Voluntas Omnia Vincit
Hors ligne
#11 Le 21/04/2009, à 09:00
- Slashman
Re : squid squidGuard et groupes AD
Hello Zartan,
Bon déjà pour Irmat, en ce qui concerne squid branché sur AD, pas besoin de rejoindre AD avec linux lui-même : il suffit de brancher squid sur AD.
Après effectivement comme Gunnmax le dit très justement, la version de squidguard est très importante (j'avais abandonné l'authentification par groupes AD car ma version était à la 1.2, où ce n'était pas simple à implémenter).
Sinon j'avais déjà fait quelques recherches et voilà un exemple de fichier de conf squidGuard.conf :
#=========================================
#emplacement des db & logs :
#=========================================
dbhome /var/lib/squidguard/db
logdir /var/log/squid
#=========================================
# parametres de connexion a active directory
#=========================================
#!!!! Besoin d'un patch pour squid 1.2.0 (cette version), sinon il faut upgrader en squid 1.2.1 minimum
#ldapbinddn xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#ldapbindpass xxxxxxxxxxxxxxx
#=========================================
# Param ACL inactives
#=========================================
#active directory
#src ad_domain_admins {
# ldapusersearch ldap://[dnsname ou adresse IP du controleur AD]/[CN du groupe que tu veux filtrer]?sAMAccountName?sub?(&(objectClass=Person)(sAMAccountName=%s))
#}
#=========================================
#definition des parametres pour les acl
#=========================================
destination manual {
domainlist blacklist/manual
}
destination adult {
domainlist blacklist/adult/domains
urllist blacklist/adult/urls
log adult
}
destination phishing {
domainlist blacklist/phishing/domains
urllist blacklist/phishing/urls
log phishing
}
destination interne {
domainlist blacklist/intranet
}
src privileged {
userlist userlists/privileged
}
src server {
ip 192.168.xxxxx/24
ip 192.168.xxxxx/24
ip 192.168.xxxxx/24
}
src noc {
ip 192.168.xxxxx/24
}
src wifi-pub {
ip 192.168.xxxxxx/24
ip 192.168.xxxxxx/24
}
#=========================================
#definition des acl
#=========================================
acl {
wifi-pub {
pass !in-addr !adult !phishing !manual !interne all
redirect http://xxxxxxxxxxxxxxx/wifi.html
}
privileged {
pass all
redirect http://xxxxxxxxxxxxxxxxx/
}
noc {
pass all
redirect http://xxxxxxxxxxxxxxxxx/
}
server {
pass all
redirect http://xxxxxxxxxxxxxxxxx/
}
default {
pass !in-addr !adult !phishing !manual all
redirect http:/xxxxxxxxxxxxxxxxxx/messages-squidguard/index.html
}
#=========================================
#ACL inactives
#=========================================
#active directory
# ad_domain_admins {
# pass all
# }
}
Bon ça c'est le fichier en prod chez nous (évidemment je l'ai un peu épuré ), après il faut savoir que pour moi c'est facil : les vlan permettent le filtrage par réseaux et j'ai mis certaines personnes dans le fichier "privileged" pour leur donner le droit d'accéder à tout.
Cependant comme tu le vois, il y'a la syntaxe pour des accès via les groupes d'AD, solution que j'avais abandonné faute de temps à cause de la version de squid.
Ah oui sinon, le fichier de config de squid est assez conséquent donc si tu as besoin de quelques chose de particulier dedans, fais-moi signe ;-)
les seules lignes qui doivent t'intéresser si tu ne les as pas déjà sont :
#auth AD
auth_param basic program /usr/lib/squid/ldap_auth -R -b "[dc de ton ad, c-a-d dc=entreprise,dc=fr]" -D "[dn d'un admin]" -w "[mot de passe de l'admin]" -f sAMAccountName=%s -h [dnsname ou ip du serveur]
auth_param basic children 5
auth_param basic realm [blabla nom du serveur]
auth_param basic credentialsttl 120 minutes
auth_param basic casesensitive off
#acl ath required
acl authed proxy_auth REQUIRED
http_access allow authed
http_access deny all
Hors ligne
#12 Le 21/04/2009, à 09:31
- zartan
Re : squid squidGuard et groupes AD
D'abord,GunnMAx et Slashman, un grand merci d'avoir répondu à mon mail
J'utilise la version des dépots ubuntu 1.2.0.8, mais je peux charger la 1.4
Je résume mon pb
Je suis actuellement en phase d'étude en non de test CAD que je ne dispose pas de l'environnement de test
actuellement (avec un AD).
J'ai parcouru les tutos et le seul point noir afin de faire une offre complète est l'affection ou non des blacklists par groupe AD pour de raisons de simplicité de maintenance des users (pas de redondance).
en gros j'ai 5 groupes AD (Administrateurs,Administratifs,Direction, Stagiaires,Invitès) et je souhaite gérer des blacklists spécifiques par groupe..
Donc il ne me suffit pas d'autoriser un groupe AD (style WebOK).
J'utilise squid3, et webmin
Slashman dans ton .conf peux-t-on créer plusieurs src (une par groupe ?).
faut-il utiliser ldap_auth ou ntlm_auth?
en fait tu n'as pas mis en prod la solution ladp mais l'as tu testée?
par quoi l'a tu remplacée?
merci encore
dans l'attente de vous lire
Hors ligne
#13 Le 21/04/2009, à 11:28
- Slashman
Re : squid squidGuard et groupes AD
Slashman dans ton .conf peux-t-on créer plusieurs src (une par groupe ?).
Oui, autant que tu veux.
faut-il utiliser ldap_auth ou ntlm_auth?
Alors j'utilise ldap_auth car en fait j'interroge directement AD comme n'importe quel ldap, après il suffit de connaitre les bons paramètres à rechercher dedans ("sAMAccountName" est le nom d'ouverture de session, l'équivalent de l'uid).
en fait tu n'as pas mis en prod la solution ladp mais l'as tu testée?
par quoi l'a tu remplacée?
En fait je me suis renseigné sur la syntaxe, que j'avais donc mise en place mais les test ne marchaient pas, après m'être renseigné, j'avais justement compris qu'il fallait intégrer le support ldap dans cette version de squidguard (1.2.0-8.2, la même que la tienne donc).
Hors par manque de temps et vu que ce n'était pas vraiment une fonctionnalité critique, j'ai abandonné et mis en prod tel quel avec une liste d'utilisateurs privilégiés pour apporter la fonctionnalité manquante (= pas de filtrage pour quelques utilisateurs).
Voilà, tiens-nous au courant, si tu y arrive peut-être que je prendrais le temps de la faire sur un serveur de test pour voir ce que ça donne
Hors ligne
#14 Le 21/04/2009, à 11:41
- zartan
Re : squid squidGuard et groupes AD
avec ldap il faut install samba winbind kerberos ..... ??
Ok encore merci,je vais essayé çà la semaine prochaine je vous tiens au courant
Le post n'est pas clos si d'autres ont des idées ...
Hors ligne
#15 Le 21/04/2009, à 14:18
- Slashman
Re : squid squidGuard et groupes AD
avec ldap il faut install samba winbind kerberos ..... ??
Non, une lib openldap suffira amplement, j'ai le paquet libldap2 sur le serveur en question par exemple... et encore je suis même pas sûr que ce soit nécessaire : squid embarque p-e tout ce qu'il faut de base.
Dernière modification par Slashman (Le 21/04/2009, à 14:19)
Hors ligne
#16 Le 27/04/2009, à 11:34
- zartan
Re : squid squidGuard et groupes AD
un petit up des fois que quelqu'un ait des .conf sur un site opérationel
Hors ligne
#17 Le 28/04/2009, à 09:04
- chr179
Re : squid squidGuard et groupes AD
Salut,
Si je peux aider, j'ai un squid + squidGuard interfacé avec mon LDAP Microsoft 2003 pour la gestion des access internet de mes utilisateurs et l'historique des navigations.
je tourne avec un ubuntu serveur 8.04 LTS + webmin (parceque je suis feniant) le tout dans une machine virtuel vmware (parce que j'arrive pas a faire marcher mon "faux" raid sous linux)
Par contre je prend le probleme en cour alors si quelqun veux bien me faire un p'tit résumé : )
Hors ligne
#18 Le 28/04/2009, à 11:15
- zartan
Re : squid squidGuard et groupes AD
merci de ta réponse
ben le post #1
Pour une association je doit mettre en place un fitrage des acces internet
Les tutos spid et squidGuard sont ok, mais il me reste un pb
Les utilisateurs sont authentifiés sur AD et affectés à différents groupes AD
les principaux sont administrateurs(info), direction, administratif, stagiaires, invités et chaque groupe doit avoir des blacklists différentes gérées pas SquidGuard
et là je m'en sors pas madroll
1) c'est possible ?
2) howto?
j'ai fait la proposition et je commence la mise en place la semaine prochaine
vu le peu de doc je cherche donc un exemple qui fonctionne
donc ta config m'interesse
le pb le plus flou pour moi est les acl suidgard sur des groupe AD
merci
Hors ligne
#19 Le 28/04/2009, à 11:36
- chr179
Re : squid squidGuard et groupes AD
en fait entre temps, j'ai relut ton post et j'avais deja commencer ma reponse.
Si je résume bien tu as/veux avoir :
Un LDAP Microsoft avec tes utilisateurs reparti dans différents groupes (OU)
Un Proxy pour dire les admins peux aller sur les sites porno, les stagiaires aussi, les administratifs ont un accès complet sauf les site pour travaillé, et la direction juste accès a google et a mesvancances.com
Un truc qui dis qui a été sur quels sites à quel heures (attention prévoir une charte informatique)
Perso je bosse dans le médical mais c’est un peu le même principe.
Mes utilisateurs sont tous dans mon LDAP.
Squid regarde dans mon LDAP si le couple utilisateur/mdp est le bon.
Jusque là aucun problème.
Par contre squidGuard (ni Squid) ne sais pas voir dans quel groupe sont tes utilisateurs.
Tu dois les refaire (soit à la main, soit par script)
J’ai donc fait des whitelistes/blacklistes en fonction.
Coter microsoft j’ai des groupes Médecins, Secrétaires Médical, Administratifs et info.
Coter squidGuard j’ai des groupes usr_autorise, usr_restreint1, usr_root, … etc
Comme je suis pas douer pour expliquer le plus simple c’est de te montrer mon fichier squidGard.conf
L’utilisateur j’utilise sur mon serveur ubuntu est « administrateur » (dsl, je viens du monde windows)
En normal, le code de mon squidGuard.conf
En gras italique, mes explications
dbhome /var/lib/squidguard/db
logdir /var/log/squid
src usr_root {
userlist /home/administrateur/usr_root.list
}
dans src nom_groupedutilisateur je déclare un fichier.list qui contient le nom de mes utilisateurs Windows l’un à la ligne de l’autre.
Exemple le ficher usr_root.list :
|----------------------------|
|usr_root.list - bloc-note |
|----------------------------|
|administrateur |
|armel.admin |
|christophe.admin |
|----------------------------|
sisi, c'est une capture d'ecran du notepad de windows fait à la main : )
src usr_autorise {
userlist /home/administrateur/usr_autorise.list
}
src usr_restreint1 {
userlist /home/administrateur/usr_restreint1.list
}
src usr_restreint2 {
userlist /home/administrateur/usr_restreint2.list
}
src usr_restreint3 {
userlist /home/administrateur/usr_restreint3.list
}
src usr_interdit {
userlist /home/administrateur/usr_interdit.list
}
J’ai donc un total de 6 groupes d’autorisations différents. Chacun de mes utilisateurs est dans un seul groupe.
J’ai généré mes fichiers.list avec un script vbs depuis Windows pour leur création mais depuis j’utilise Webmin pour les petites modifications (ajout/suppression/déplacement d’utilisateurs d’un groupe a l’autre)
dest whitelist1 {
domainlist /home/administrateur/whitelist1/domains
urllist /home/administrateur/whitelist1/urls
}
Les lignes dest sont mes whitelists/blacklist. Leurs nom (whitekist1, 2, 3…) est arbitraire.
Rien de spécial ici : dans le fichier domaines j’ai mes domaines Internet (www.inrs.fr), dans urls j’ai les lien précis (www.jesaispasquoi.com/index2.htm)
dest whitelist2 {
domainlist /home/administrateur/whitelist2/domains
urllist /home/administrateur/whitelist2/urls
}
dest whitelist3 {
domainlist /home/administrateur/whitelist3/domains
urllist /home/administrateur/whitelist3/urls
}
dest blacklist {
domainlist /home/administrateur/blacklist/domains
urllist /home/administrateur/blacklist/urls
}
J’ai donc en tout 4 listes de sites internets, histoire de me donnée un peu de souplesse.
Les lignes acl sont le lien entre un groupe d’utilistateurs et mes blacklists.
acl {
usr_root {
pass all
}
Ici je dis : les utilisateurs déclaré dans le groupe usr_root (par le fichier usr_root.list) peuvent aller sur tout les sites.
usr_autorise {
pass !blacklist all
redirect http://127.0.0.1
}
Ici je dis : les utilisateurs déclaré dans le groupe usr_autorise (par le fichier usr_autorise.list) peuvent aller sur tout les sites sauf (le « ! ») sur les sites déclaré dans blacklist.
usr_restreint1 {
pass whitelist1 none
redirect http://127.0.0.1
}
Ici je dis : les utilisateurs déclaré dans le groupe usr_restreint1 (par le fichier usr_restreint1.list) peuvent aller sur les sites déclaré dans whitelist1 mais si il veulent aller ailleur il sont redirigé vers le 127.0.0.1 (j’ai monté un p’tit serveur apache2 pour une page d’erreur personnaliser)
usr_restreint2 {
pass whitelist2 none
redirect http://127.0.0.1
}
usr_restreint3 {
pass whitelist3 none
redirect http://127.0.0.1
}
usr_interdit {
pass none
redirect http://127.0.0.1
}
default {
pass none
redirect http://127.0.0.1
}
Pour le groupe usr_interdit (ou default), où que l’on veuillent aller on ce retrouve sur le 127.0.0.1
}
Désolé pour la mise en forme de m****
Hors ligne
#20 Le 28/04/2009, à 12:02
- zartan
Re : squid squidGuard et groupes AD
merci
tu utilise donc des listes d'utilisateurs (peut-on les générer automatiquement?)
je pensais pouvoir taper directement sur mes groupes AD
le seul exemple que j'ai trouvé utilise ldapuserseach mais c'est pas très clair
http://forum.ubuntu-fr.org/viewtopic.php?pid=2564700
encore merci de ton aide
Hors ligne
#21 Le 28/04/2009, à 13:56
- chr179
Re : squid squidGuard et groupes AD
Voila un des scripts .vbs que j'ai lancé sur mon controleur de domaine (2003srv) pour faire mes fichiers de base.tu peux le lancer sur n'importe quel poste du domaine sous reserve de droit (je dirais admin du domaine mais suis pas sur qu'il faille aller jusque là)
Oquery="<LDAP://ou=Direction,ou=metz,DC=ametrametz,DC=int>;(objectCategory=user); name,sAMACcountname,userprincipalname,displayname,mail,telephonenumber,userAccountControl,distinguishedName"
Ici, je demande les utilisateurs (objectCategory=user) du sous-groupe (OU) "Direction" qui ce trouve dans le groupe (OU aussi) "metz".
Le nom de mon domain est : ametrametz.int d'où DC=ametrametz et DC=int
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Open "Provider=ADsDSOObject;"
objCommand.ActiveConnection = objConnection
objCommand.CommandText = Oquery
'wscript.echo Oquery
Set objRecordSet = objCommand.Execute
'*****************************************
fichier_sortie=".\Direction.txt"
Là fait génére mon fichier Direction.txt, qui sera plus tard sous linux mon fichier usr_autorise.list
const forwriting=2
set fso=createobject("Scripting.FileSystemObject")
set objfile_sortie=fso.CreateTextFile(fichier_sortie)
objfile_sortie.close
set objfile_sortie=fso.opentextfile(fichier_sortie,2)
objfile_sortie.writeline "SamAccountName"
intCounter = 0
Do Until objRecordset.EOF
if objRecordset.Fields("userAccountControl")<> 514 and objRecordset.Fields("sAMACcountname")<>"secfax" then
objfile_sortie.writeline objRecordset.Fields("sAMACcountname")
end if
objRecordset.MoveNext
Loop
objConnection.Close
objfile_sortie.close
Le reste je sais pas a quoi ça sert c'est un pote qui m'a fait le script : )
PS: je ne me suis plus servi des script depuis la mise en place. J'utilise Webmin 1.430 qui n'est plus supporter par ubuntu (donc install a la main, mais largement jouable) que je trouve vraiment tres pratique.
PS2: je vais regarder un peu ton autre solution mais dans mon cas j'ai bessoin de gere des accés particulier a certains utilisateurs (genre une super-secreataire) sans les deplacer de groupe.
Dernière modification par chr179 (Le 28/04/2009, à 14:03)
Hors ligne
#22 Le 29/04/2009, à 11:59
- zartan
Re : squid squidGuard et groupes AD
question bète : ton lance ce script comment ?
pour ton ps2,rien ne t'empêche de créer un nouveau groupe ex supersecrétaire
Hors ligne
#23 Le 29/04/2009, à 19:20
- chr179
Re : squid squidGuard et groupes AD
ben j'ouvre mon editeur de texte preferé : le blocnote
je copie/colle mon script (sans mes commentaires bien sur).
j'enregistre le tout dans un fichier "truc.vbs"
je double clique dessus.
et voilà les .vbs c'est une peux comme les fichiers .bat pas bessoin de les compliler.
(ceux qui metrise le vbs --> merci de ne pas me jetter des caillous pour la comparaison)
Hors ligne
#24 Le 29/04/2009, à 19:29
- zartan
Re : squid squidGuard et groupes AD
Ok merci encore
çà me fait une solution de secours si je n'arrive pas à taper directement sur AD
je mets çà en place la semaine prochaine,je vous tiens au courant
a+
Hors ligne
#25 Le 29/04/2009, à 19:39
- chr179
Re : squid squidGuard et groupes AD
Conseil perso, fait le par etapes.
genre d'abort squid puis squidguard en pass all puis juste une src/dest/acl avec des utilisateurs fait main, puis des groupe ldap ...
Perso squid est mon premier serveur linux, j'en ai eu pour environ 2mois a le stabiliser (et une 15aine d'install, bon ok je suis nul
mais,
Have fun
Dernière modification par chr179 (Le 29/04/2009, à 19:40)
Hors ligne