Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[HOWTO] Squid & Active directory
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
profy
Tux's lil' helper
Tux's lil' helper


Joined: 08 Jun 2005
Posts: 96
Location: Sophia Antipolis

PostPosted: Tue Jul 19, 2005 7:46 pm    Post subject: [HOWTO] Squid & Active directory Reply with quote

Ce Howto vous permet de mettre en place ces fonctionnalités :

- Un proxy cache (Squid).
- Filtrage de contenu avec Dansguardian.
- Antivirus avec Clamav.
- Authentification transparente des utilisateurs d'un active directory sous 2000 serveur.
- Gestion des groupes.

Versions utilisées :

mit-krb5 1.4.1
Samba 3.0.14
Squid 2.5.10
ClamAV 0.86.1
Dansguardian-2.8.0.3
dansguardian-2.8.0.3-antivirus-6.3.8.patch.bz2

SRVTEST est le nom NETBIOS de l'active directory/controleur de domaine.
CHSMRDZTEST.COM est le nom de domaine de l'active directory.

I - Installation

/etc/make.conf :
Code:

USE="-cups ldap winbind kerberos samba -X"


On installe tout :

Code:

   emerge mit-krb5 samba squid clamav dansguardian-dgav
 


II - Configuration

-> Kerberos

krb5.conf :
Code:


[libdefaults]
        default_realm = CHSMRDZTEST.COM

[realms]
        CHSMRDZTEST.COM = {
                kdc = CHSMRDZTEST.com
        }
[domain_realms]
        .kerberos.server = YOUR.KERBEROS.REALM

   

Ajoutez cette ligne dans /etc/hosts :
Code:

<ip de votre KDC> CHSMRDZTEST.COM


Testons la configuration de kerberos, pensez a synchroniser l'horloge du kdc et du proxy :

Code:
 kinit administrateur@CHSMRDZTEST.COM


vous devez avoir ca :

Code:
Password for administrateur@CHSMRDZTEST.COM:


Si vous n'avez pas de message d'erreur c bon.

-> Samba

Dans la section global de /etc/samba/smb.conf ajoutez ces lignes :

Code:

        realm = CHSMRDZTEST.COM
        netbios name = PROFYPORT
        password server = SRVTEST
        winbind use default domain = yes
        winbind enum users = yes
        winbind enum groups = yes
        idmap uid = 10000-20000
        idmap gid = 10000-20000
        workgroup = CHSMRDZTEST
        security = ADS


Pour lancer winbind aprés samba au démarrage ajoutez winbind ainsi dans /etc/conf.d/samba
Code:

daemon_list="smbd nmbd winbind"

Puis
Code:

rc-update add samba default

On lance samba pour tester :
Code:

/etc/init.d/samba start

On joint le proxy au domaine windows avec :
Code:

net ads join -U administrateur

Testons si winbind fonctionne correctement :
Code:

wbinfo -t
wbinfo -g
wbinfo -u


-> Squid

Assurons nous d'abord de faire marcher les fonctionnalités de base :
Dans squid.conf :
Code:

acl MonReseau src 192.168.0.0/255.255.255.0
http_access allow MonReseau
http_access deny all


Ensuite
Code:

rc-update add squid default
/etc/init.d/squid start

Erreur possible :
Code:

 /etc/init.d/squid start
 * Initializing cache directory: /var/cache/squid
/etc/init.d/squid: line 32:  3225 Aborted                 /usr/sbin/squid -z -F 2>/dev/null
 * Error initializing: /var/cache/squid

Solution : dans squid.conf spécifiez l'hostname
ex:
Code:

visible_hostname PROFYPORT


Testez, si ca marche on peut passer à l'authentification ntlm

Ajoutez ces lignes dans squid.conf :
Code:

auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 30
auth_param ntlm max_challenge_reuses 0
auth_param ntlm max_challenge_lifetime 2 minutes
#auth_param ntlm use_ntlm_negotiate off
auth_param basic program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-basic
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hour
auth_param basic casesensitive off

acl utilisateurs proxy_auth REQUIRED
acl GRP1 external NT_global_group clafet



http_access allow GRP1
http_access deny all

Code:

/etc/init.d/squid restart

C'est le moment de tester l'authentification transparente avec un utilisateur du groupe :)

-> Danguardian

Dansguardian est prévu pour fonctionner en front mais il ne gére pas l'authentification ntlm on va donc devoir créer deux instances de squid une qui fait l'authentification et renvoie vers dansguardian(squid) et l'autre qui fournit la connexion a Dansguardian (squid2). Heureusement pour nous squid est prévu pour :)

Code:

cp /etc/squid/squid.conf /etc/squid/squid2.conf
cp /etc/init.d/squid /etc/init.d/squid2


/etc/squid/squid2.conf :
Code:

acl localhost src 127.0.0.1/255.255.255.255
http_access allow locahost
http_access deny all

/etc/init.d/squid2 :
Code:

start() {
        checkconfig || return 1
        ebegin "Starting squid2"
        start-stop-daemon --quiet --start --exec /usr/sbin/squid \
                --pidfile /var/run/squid2.pid -- ${SQUID_OPTS} < /dev/null
        sleep 1
        eend $?
}

stop() {
        ebegin "Stopping squid2"
        PID=`cat /var/run/squid.pid 2>/dev/null`
        start-stop-daemon --stop --quiet --exec /usr/sbin/squid \
                --pidfile /var/run/squid2.pid

Puis :
Code:

rc-update add squid2 default
/etc/init.d/squid2 start


Maintenant configurons le filtrage et l'antivirus
/etc/dansguardian/dansguardian.conf :
Code:

proxyport=3131 #port d'ecoute de squid2
localsocket = '/var/run/clamav/clamd.sock'

/etc/clamd.conf
Code:

# Run as a selected user (clamd must be started by root).
# Default: disabled
User nobody

Code:

rc-update add dansguardian default

squid.conf :
Code:

#on envoie vers dansguardian
cache_peer 127.0.0.2 parent 8080 0 proxy-only no-query
cache_peer_access 127.0.0.2 allow GRP1
http_access allow GRP1
cache_peer_access 127.0.0.2 deny all

squid2.conf :
Code:

http_port 3131


III - Conclusion

Cette manipulation permet de filtrer pour un seul groupe d'utilisateur, il faudra ajouter une instance de danguardian pour chaque groupe.
_________________
Plus je connais les hommes, plus j'aime mon pc.
Back to top
View user's profile Send private message
keroz
n00b
n00b


Joined: 17 Aug 2006
Posts: 1

PostPosted: Thu Aug 17, 2006 4:01 pm    Post subject: Reply with quote

Bonjour,

Je rencontre plusieurs problèmes en effectuant l'installation correspondante:
1) pb lors du demarrage de squid lors de l'utilisation des groupes
apparement la ligne "acl GRP1 external NT_global_group groupesok" pose pb
d'apres d'autres sites j'ai compris qu'il faudrait rajouter avant
external_acl_type NT_global_group concurrency=64 %LOGIN /usr/lib/squid/wbinfo_group.pl
==> plus de pb au demarrage de squid

2) l'authentification par groupe ne fonctionne pas.
il me demande un user/pass qu'il rejete systematiquement

Voici les tests que j'ai fait:
squid fonctionne avec les restrictions de plage d'adresse IP
le test kinit fonctionne
les tests wbinfo fonctionnent
une connexion sur une machine du domaine avec smbclient fonctionne
si je teste via ntlm_auth --request-lm-key ou --request-nt-key en ligne de commande ca fonctionne
par contre si je fais ntlm_auth --helper-protocol (que ce soit en ntlm ou basic) en ligne de commande, je n'ai jamais de reponse.

Si vous avez une idee pour m'aider ca serait super sympa
Back to top
View user's profile Send private message
daddio
Tux's lil' helper
Tux's lil' helper


Joined: 11 Oct 2003
Posts: 134
Location: Richland WA

PostPosted: Wed Sep 06, 2006 7:37 pm    Post subject: english speaking guy trying to follow this howto Reply with quote

insérez cette ligne dans squid.conf:
Code:

external_acl_type NT_global_group %LOGIN /usr/lib/squid/wbinfo_group.pl


changez cette ligne:
Code:

acl GRP1 external NT_global_group clafet



trouvez un groupe approprié avec:
Code:

root#wbinfo -g


J'ai employé:
Code:

acl GRP1 external NT_global_group Domain_Users


J'ai des ennuis toujours avec manuscrit "/etc/init.d/squid2" mais j'ai pensé l'exposition de woud de I vous mon progrès au cas où il aiderait


Profy : Dans votre exemple /etc/init.d/squid2 a pu vous signaler votre dossier /etc/init.d/squid2 entier ? Je ne peux pas faire ce travail pendant que vous signaliez à l'origine.

BTW je ne parle pas francais... vive le Babelfish
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum