Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/04/2009, à 12:31

zartan

squid squidGuard et groupes AD

Bonjour smile

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?


merci de votre aide cool

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 tongue

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 ?? roll

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 sad
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é mad

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é tongue), 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 big_smile

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 cool

dans l'attente de vous lire roll

Hors ligne

#13 Le 21/04/2009, à 11:28

Slashman

Re : squid squidGuard et groupes AD

zartan a écrit :

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 smile

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  ...

big_smile

Hors ligne

#15 Le 21/04/2009, à 14:18

Slashman

Re : squid squidGuard et groupes AD

zartan a écrit :

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

big_smile un petit up des fois que quelqu'un ait des .conf sur un site opérationel big_smile

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 big_smile

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 lol

le pb le plus flou pour moi est les acl suidgard sur des groupe AD

merci cool

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 lol

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 cool

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+ cool

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 smile

mais,

Have fun

Dernière modification par chr179 (Le 29/04/2009, à 19:40)

Hors ligne