Squid et NTML => Authentification transparente active directory

Pour faire de l’authentification transparente sur squid : BON COURAGE !

L’exécutable fournit avec squid n’est vraiment pas évident à configurer… Il fonctionne avec krb, kinit, …
Il faut configurer /etc/krb5.conf (comme indiqué dans un précédent post).
Tester sa connexion avec kinit, obtenir un keytab (ktpass sur windows ou kinit -v -k sur linux).
Ajouter la keytab dans /etc/krb5.conf : default_keytab_name = /etc/krb5.keytab
Puis ensuite ajouter des lignes dans squid.conf
Résultat : Je n’y suis pas arrivé (ok j’ai pas cherché très longtemps) !

Mais il y a une autre solution, qui est de passer par samba (winbind).

Donc voici les étapes :
Configurer un samba avec la conf suivante :

[global]
        workgroup = DOMAINE
        realm = DOMAINE.COM
        netbios name = SQUID
        security = ADS
        password server = IP_DU_DC

        # Configuration de winbind
        winbind separator = /
        winbind cache time = 10
        template shell = /bin/bash
        idmap uid = 10000-20000
        idmap gid = 20001-30001
        winbind enum users = yes
        winbind use default domain = yes

Une fois fais il faut changer les droit sur le répertoire /var/run/samba/winbindd_privileged, j’ai mis 777 pour que winbind puisse écrire dans le pipe.

Une fois cette opération faite il faut joindre la machine au domaine (pour obtenir son ticket machine)
net join ads -U administreur
Enter administreur’s password: *******

Ensuite, il faut configurer l’authentification sur Squid :
Personnellement j’ai choisi que le basic se fasse en LDAP pour que ce qui ne sont pas dans le domaine puisse quand même s’authentifier avec un login/pass du domaine. L’avantage est que même sans ticket kerberos on arrive à naviguer.

Attention, et c’est là toute la nuance, c’est bien dans /usr/bin qu’on va cherche ntml_auth (celui de samba) plutôt que dans /usr/lib/squid.

#Auth NTML NOK
auth_param ntlm program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 5
auth_param ntlm keep_alive on

#auth_param basic program /usr/bin/ntlm_auth –helper-protocol=squid-2.5-basic
#auth_param basic children 5
#auth_param basic realm Squid AD
#auth_param basic credentialsttl 2 hours

#Auth LDAP OK
auth_param basic program /usr/lib/squid/ldap_auth -v 3 -R -b "dc=DOMAINE,dc=COM" -D "squid@domaine.com" -w "mot_de_passe" -f "sAMAccountName=%s" -h IP_DU_DC
auth_param basic children 5
auth_param basic realm DOMAINE.COM
auth_param basic credentialsttl 5 minutes

Y a plus qu’à rajouter les acl
acl reseau_local src IP_DU_RESEAU_LOCAL/MASK
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8

acl SSL_ports port 443          # https
acl SSL_ports port 563          # snews
acl SSL_ports port 873          # rsync
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 8081        #

acl manager proto cache_object
acl purge method PURGE
acl CONNECT method CONNECT

http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports

http_access allow reseau_local AuthUsers
http_access allow localhost AuthUsers

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost

http_access deny all

On redémarre squid et on teste !

S’il vous prenait à l’idée d’installer un DANSGuardian, le /etc/init.d/dansguardian de debian ne load pas la conf dans /etc/dansguardian, il faut le modifier pour prendre en compte le fichier .conf:

start-stop-daemon –start –quiet –pidfile /var/run/$NAME.pid –exec $DAEMON – -c ${CONFFILELOCATION}dansguardian.conf || log_end_msg 1

Préciser le comportement pour le supplicant EAP

 

L’idée est de changer le comportement du AuthMode en fonction des besoins. Typiquement du 802.1x avec certificats machine seulement.

0 – Authentification machine, si elle réussit, aucune authentification utilisateur ne sera demandée

1 – C’est le fameux must have, must know, il y a une première authentification par password et une deuxième via les certificats

2 – Authentification machine seulement

HKEY_LOCAL_MACHINE\Software\Microsoft\EAPOL\Parameters\General\Global\AuthMode

On peut même aller plus loin en précisant le SupplicantMode à 3

1 – Ne pas transmettre

2 – Transmettre

3 – Transmettre par 802.1x

Ne pas oublier de changer le WORKDIR là où un apache est capable de lire les fichiers.

Src : http://technet2.microsoft.com/windowsserver/en/library/8e74974f-c951-48ce-8235-02f4ed8e74921033.mspx?mfr=true

 

Merci OMI.

htaccess et MySQL (sur Debian etch)

Pour utiliser une base de données MySQL afin d‘authentifier les utilisateurs via un htaccess voilà la marche à suivre :

Installer le module auth_mysql :

1. On installe les librairies de développement pour apache2 (prefork) et mysql :

aptitude install apache2-prefork-dev libmysqlclient15-dev

2. On crée un nouveau répertoire pour la forme :

mkdir /usr/src/auth_mysql

cd /usr/src/auth_mysql

3. On récupère les sources du module auth_mysql :

wget http://download.nuxwin.com/apache2.2-modules/auth_mysql/mod_auth_mysql-3.0.0.tar.gz

4. On récupère un patch :

wget http://download.nuxwin.com/apache2.2-modules/auth_mysql/patch/apache2.2.diff

5. On décompresse l’archive sources du module auth_mysql :

tar xzf mod_auth_mysql-3.0.0.tar.gz

6. On patch auth_mysql :

mv apache2.2.diff mod_auth_mysql-3.0.0/

cd mod_auth_mysql-3.0.0

patch -p0 < apache2.2.diff mod_auth_mysql.c

7. On compile le module auth_mysql :

apxs2 -c -L/usr/lib/mysql -I/usr/include/mysql -lmysqlclient -lm -lz mod_auth_mysql.c

8. On installe le module auth_mysql :

apxs2 -i mod_auth_mysql.la

Bien noter l’emplacement des lib

Libraries have been installed in:

   /usr/lib/apache2/modules

chmod 644 /usr/lib/apache2/modules/mod_auth_mysql.so

9. On crée un fichier de chargement (auth_mysql.load) :

echo "LoadModule mysql_auth_module /usr/lib/apache2/modules/mod_auth_mysql.so" > /etc/apache2/mods-available/auth_mysql.load

10. On active le module comme d’habitude :

a2enmod auth_mysql

11. On demande au Serveur Web apache2 de relire ses fichiers de configuration (modules inclus) :

/etc/init.d/apache2 force-reload

Ensuite on créé le fichier .htaccess qui correspond à la base

AuthName "MySQL Authentification"
AuthType Basic
AuthUserFile /dev/null
AuthBasicAuthoritative Off

AuthMySQLEnable On
AuthMySQLAuthoritative On

AuthMySQLDB mabase

AuthMySQLHost localhost
AuthMySQLUser htaccess
AuthMySQLPassword MonMotDePassePourHtAccess

AuthMySQLUserTable users
AuthMySQLNameField login
AuthMySQLPasswordField password

AuthMySQLUserCondition " `active` = ’1′ "
AuthMySQLNoPasswd Off
AuthMySQLPwEncryption sha1

require valid-user

Et voila !

Dix étapes pour sécuriser votre ordinateur portable

La sécurité de vos données d’entreprise et l’intégrité de votre réseau d’entreprise sont mises en danger chaque fois que vous êtes en voyage d’affaires avec votre ordinateur portable. Le portable n’est plus protégé aussi efficacement par la sécurité physique de votre entreprise, ou les systèmes de sécurité conçus pour protéger les logiciels qui s’exécutent.

Et tous les logiciels malveillants qui se trouveraient  sur votre ordinateur portable ont la capacité d’infecter les autres ordinateurs sur votre réseau, la prochaine fois que votre ordinateur se connecte au réseau d’entreprise.

La sécurité mobile repose sur des réflexes: voici 10 façons de minimiser ces risques pour votre ordinateur portable à peu ou pas de coût :

1. Chiffrer le disque dur

Si votre ordinateur portable est perdu ou volé, toute personne prenant la main dessus, pourrait voler vos données, lire des e-mails confidentiels, communiquer avec vos contacts, et peut-être même se connecter à votre réseau d’entreprise et provoquer encore plus de dégâts.

La meilleure façon d’éviter cela est de chiffrer le disque dur du portable, avec obligation d’entrer un mot de passe avant que l’ordinateur ne démarre.

Ça rendra également vos données inaccessibles, même si le disque dur est retiré et connecté à un autre ordinateur.

Pour les ordinateurs portables fonctionnant sous Windows Vista Ultimate ou Entreprise, vous pouvez utiliser l’utilitaire Microsoft BitLocker, fourni avec le système d’exploitation, pour chiffrer le disque système.

Pour les autres Windows, Linux et OS X le logiciel open source TrueCrypt fait le même travail gratuitement.

2. Utiliser un VPN

La connexion à Internet à partir d’un centre d’affaires, d’un cybercafé Internet ou d’un point d’accès à l’aéroport présente un sérieux risque de sécurité car ce sont tous des environnements où il est relativement facile d’intercepter vos données.

Un VPN chiffre toutes les données avant qu’elles ne quittent votre ordinateur portable, et les conserve chiffrées jusqu’à ce qu’elles atteignent un environnement fiable tel que votre réseau domestique ou d’entreprise.

3. Mise à jour et correctifs logiciels

La plupart des systèmes d’exploitation vous permettent de télécharger les correctifs de votre système automatiquement, et il est recommandé de s’assurer que cette option est activée et accessible pour empêcher qu’il ne soit vulnérable à des exploits connus. La plupart des systèmes récemment infectés par le ver Konficker avaient une mise à jour Windows désactivée. Pour plus de sécurité, vous pouvez vérifier les mises à jour des applications en utilisant le logiciel en ligne de Secunia, PSI.

4. Exécution d’un pare-feu et un logiciel anti-virus

Il y a un débat nécessaire sur l’efficacité d’un logiciel anti-virus sur les ordinateurs portables Macintosh et Linux, mais il est sage de pêcher par excès de prudence.

Au minimum, vous devriez vous assurer qu’un pare-feu est en cours d’exécution.

ClamWin est un logiciel anti-virus pour Windows, disponible à partir de http://www.clamwin.com.

Sinon, utiliser un appareil portatif de sécurité tel que la Yoggi Pico USB security appliance qui comprend des pare-feu, anti-spam, anti-virus et un logiciel de détection d’intrusion sur un appareil de la taille d’une clé USB, est une solution très efficace.

5. Votre navigateur

Si vous utilisez un ordinateur Windows, le passage d’Internet Explorer à Firefox, vous rendra moins faible aux attaques des pirates informatiques. 67% des utilisateurs d’Internet utilisent Internet Explorer, il est donc une cible privilégiée pour les pirates.

Vous pouvez renforcer davantage la sécurité de votre navigateur en installant plusieurs add-ons, comme NoAdWare, NoScript qui peuvent vous protéger contre la publicité, le cross site scripting et des attaques clickjacking.

6. Une chaîne pour votre ordinateur portable

La plupart des ordinateurs portables ont un câble de sécurité (connu sous le nom de Kensington) qui vous permet d’attacher votre ordinateur portable physiquement à un bureau ou une table.

Bien que ce ne soit pas nécessaire la plupart du temps, en utilisant un câble de sécurité lors de conférences ou autres évènements, vous vous assurez de la sécurité de votre ordinateur portable même si êtes occupé ou incapable de le surveiller.

Evitez, bien entendu, que ce câble soit si facile à enlever et qu’il ne serve à rien. Coincé sous un pied de table, il est inutile.

7. Chiffrez vos e-mails

Si vous ne pouvez pas utiliser un VPN, vous devriez éviter d’utiliser des applications standards d’émails qui se connectent à des serveurs POP3 et SMTP sans chiffrement.

Si vous ne le faites pas alors votre nom d’utilisateur et vos mots de passe peuvent être facilement interceptés, ce qui rend consultable l’ensemble de vos émails par une personne qui aurait intercepté ces données. Ce n’est pas le cas si vos serveurs de messagerie et votre logiciel acceptent les protocoles SSL ou TLS et que les logiciels de messagerie sont configurés pour les utiliser.

Si vos données sont confidentielles, il est encore plus sensé de chiffrer le contenu à l’aide de logiciels tels que GNU Privacy Guard (GPG) ou l’extension FireGPG de Firefox .

8. Gardez vos données de sauvegarde sécurisées

Garder des copies de sauvegarde de vos données importantes et les mots de passe ailleurs que sur  votre ordinateur portable en cas de perte ou de vol lors d’un voyage.

Pour les garder en sécurité, il faut s’assurer qu’ils sont stockés sous forme chiffrée, de préférence sur une clé USB.

Vous pouvez stocker des fichiers sur une partition chiffrée sur une clé USB en utilisant le logiciel TrueCrypt, mais vous devrez vous souvenir d’un mot de passe long et sécurisé pour protéger efficacement cette partition.

Pour stocker vos mots de passe, le logiciel KeePass est très utile. En plus de stocker de manière chiffrée l’ensemble de vos mots de passe en les organisant par dossiers, il vous permet de remplir automatiquement les champs de vos sites ou applications nécessitant une authentification.

9. Pratique de sécurité informatique

Un ordinateur portable connecté à l’Internet à l’extérieur du réseau d’entreprise n’est généralement pas aussi bien protégé contre les logiciels malveillants que dans l’entreprise. Quand il est à l’intérieur les équipements de sécurité d’entreprise le protègent encore bien mieux car ils sont nombreux et mis à jour régulièrement.

Pour cette raison, il est particulièrement important d’éviter d’ouvrir les pièces jointes ou de cliquer sur les liens dans des émails provenant d’expéditeurs inconnus, ou en visitant des sites Web non sécurisés.

Faire l’un ou l’autre des ces exemples, risques d’infecter l’ordinateur avec des logiciels malveillants.

Les utilisateurs de portable, lors de leur déplacement, transportent leur portable dans des sacs dont la forme est connue et donc renseignent  les voleurs potentiels qu’ils ont un objet de valeur.

Il est conseillé de transporter votre ordinateur portable dans un simple sac ou porte-documents qui est une cible beaucoup moins tentante pour les criminels.

Si vous consultez votre ordinateur portable dans un lieu publique, vous n’êtes pas à l’abri des regards indiscrets, évitez autant que possible d’exposer des données confidentielles.

10. Protection par mot de passe

Si vous n’utilisez pas votre ordinateur portable, il est préférable de l’éteindre complètement.

De cette façon, toute personne qui prendrait la machine, ne pourrait pas passer la sécurité assurée par BitLocker ou TrueCrypt au démarrage.

Il est recommandé d’activer la demande de mot de passe lors de la sortie de l’économiseur d’écran un opportuniste mal intentionné pourrait accéder à votre ordinateur portable pour une courte durée tandis que votre attention est détournée.

Espionnage personnel

Encore une belle découverte après maltégo (paterva), le site 123People.com permet de voir toutes les informations saisies sur Internet par les internautes ou par des tiers. Ca va de la photo, émail, n° de téléphone, … Même les services de renseignements s’en servent.
Méfiez-vous des réseaux sociaux, ils sont une source de renseignements incroyable pour vous tracer… Surtout pendant les phases d’embauche.