Debian : Intégration d'une machine Linux local et distante dans L'Active Directory de Windows 2008 PDF Imprimer Envoyer
Note des utilisateurs: / 0
MauvaisTrès bien 
Informatique - Sécurité
Jeudi, 25 Février 2010 09:38

 

Cette article a été rédigé à partir de ces sources :

Plateforme de test

Domaine : commun.ad.ent.org

Contrôleur de domaine : ldap.commun.ad.ent.org / 10.0.0.2

Le contrôleur intègre un serveur DNS

 

Mise en place de l’active directory

Non détaille dans cet article. L’installation sous windows 2008 se réaliser à partir de la console de gestion du serveur, puis en exécutant l’assistant dcpromo.

Intégration d’une machine locale linux debian dans l’active directory

Mise en situation

La machine est sur le même réseau (MAN) que le contrôleur de domaine. Ils peuvent être dans des réseaux IP différents mais sans routage de type NAT.

On désire :

  • Utiliser les comptes du domaine sur le poste debian
  • Intégrer le poste à l’AD, et au service DNS

Installation des paquets nécessaire

apt-get install libkrb53 krb5-config krb5-user samba winbind ntpdate ntp

Synchronisation

L’utilisation du protocole Kerberos nécessite une synchronisation des horloges systèmes. Elle peut etre effectué une seule fois en utilisant la commande :

ntpdate ldap.commun.ad.ent.org

Ou à travers le fichier de configuration /etc/ntp.conf.

Soit vous synchronisé le serveur ldap et les clients sur le même serveur de temps, soit vous synchronisez les clients sur le serveur ldap. La syntaxe de la ligne à ajouter/modifier dans le fichier de configuration est :

server ldap.commun.ad.ent.org

Configuration du client Kerberos

Le fichier de configuration est /etc/krb5.conf. Ici ne sont détaillé que les paramètres nécessaire. Il est possible d’en ajouter (renseignez vous sur google ou en utilisant le man). Exemple de configuration :

[logging]
default = FILE:
kdc = FILE:
admin_server = FILE:
[libdefaults]
default_realm = commun.ad.ent.org

[realms]
commun.ad.ent.org = {
default_domain = COMMUN.AD.ENT.ORG
kdc = commun.ad.ent.org:
admin_server = commun.ad.ent.org:
}
[domain_realm]
.commun.ad.ent.org = commun.ad.ent.org

Configuration du service SAMBA

Maintenant il faut configurer le service SAMBA, le fichier de configuration est /etc/samba/smb.conf

#realm kerberos
realm = commun.ad.ent.org
#le workgroup est le nom netbios du domaine
workgroup = COMMUN
security = ads
winbind separator = +
encrypt passwords = yes
winbind enum users = yes
winbind enum groups = yes
#Plage uid utilisée par les comptes du domaine
idmap uid = 10000-20000
#Plage gid utilisée par les groupes du domaine
idmap gid = 10000-20000
#Shell à utiliser pour les comptes AD
template shell = /bin/bash
#Repertoire des utilisateurs AD (%D : domaine, %U : username)
template homedir = /home/%D/%U
winbind use default domain = yes
#Mettre en cache les comptes AD deja utilisé au cas ou l’ad ne sera pas accessible
#Si vous ne le souhaitez pas mettre no, ou supprimer la ligne suivante
winbind offline logon = yes
# authoriser le client de devenir maitre explorateur
domain master = no
local master = no
preferred master = no
os level = 0

Authentification hors ligne

L’authentification hors ligne, activer avec le paramètre “winbind offline logon” dans le fichier de configuration SAMBA, nécéssite de créer le fichier de configuration /etc/security/pam_winbind.conf. Voici un exemple de contenu de ce fichier :

[global]
# (nécessite "winbind offline logon = yes" dans smb.conf)
cached_login = yes

Configuration du système d’authentification

NSSWITCH

Dans le fichier /etc/nsswitch, on configure le type d’authentification utilisé, avec un ordre de priorité. Compat étant le l’authentification intégré, il suffit de rajouter winbind pour les utilisateurs et les groupes, par exemple :

passwd:         compat winbind
group:          compat winbind
shadow:         compat
hosts:  files dns wins
networks:       files
protocols:      db files
services:       db files
ethers:         db files
rpc:            db files
netgroup:       nis

Compte

Dans « /etc/pam.d/common-account », ajouter la ligne

account sufficient pam_winbind.so

soit

account sufficient pam_winbind.so

account sufficient pam_unix.so

Authentification

Modifier« /etc/pam.d/common-auth » :

auth sufficient pam_winbind.so
auth sufficient pam_unix.so nullok_secure use_first_pass
auth required pam_deny.so

 

Session

Modifier « /etc/pam.d/common-session » :

session required pam_unix.so

session required pam_mkhomedir.so umask=0022 skel=/etc/skel

Configuration pour l’intégration DNS

Hostname

Dans le fichier /etc/hostname, mettre le mettre le nom de la machine en intégrant le suffixe, exemple :

webserver1.commun.ad.ent.org

Resolution

Dans le fichier /etc/hosts, à la suite de l’adresse de bouclage, renseigner l’ensemble des noms pouvant être utilisé pour identifier la machine, exemple :

127.0.0.1       localhost       weblocal        weblocal.midgard.info

 

 

Dans le fichier /etc/resolv.conf il est préférable de renseigner le serveur DNS lié à l’active directory :

nameserver 10.0.0.2

Redémarrage des services

/etc/init.d/samba stop

/etc/init.d/winbind stop

/etc/init.d/samba start

/etc/init.d/winbind start

Intégration au domaine

Dans la commande ci-dessous, vous pouvez utiliser un autre compte que Administrateur, cependant il doit disposer des autorisations suffisante :

net ads join -U Administrateur

Le mot de passe est demandé dans le prompt.

Using short domain name -- DOMAINE
Joined 'Nom_Poste' to realm 'realm_du_domaine'

Le niveau de sécurité minimum exigé par le serveur DNS peut renvoyer une erreur. Dans ce cas la machine sera intégré a l’AD mais pas au service DNS. Vous pouvez la rentrer manuellement, créer une zone authrisant les mises à jour non sécurisé ….

Vérification

Les commandes :

  • wbinfo –u : renvoi la liste des utilisateurs du domaine
  • wbinfo –g : renvoi la liste des groupes du domaine
  • getent passwd : renvoi l’ensemble des utilisateurs utilisables
  • getent group : renvoi l’ensemble des groupes utilisables

Note pour l’intégration du rôle d’administration

Un superuser sous linux est un utilisateur possédant un UID à 0.

Intégration d’une machine distante linux debian dans l’active directory

Mise en situation

La solution retenu est de mettre en place un tunnel vpn entre les succursales et réseau de l’active directory.

Afin de segmenter le plus possible le réseau, le réseau VPN sera dans un réseau IP différent, chaque succursale sera dans des réseaux IP différent.

La solution logiciel retenu est OpenVPN. Un serveur va être mis en place afin de fournir le service VPN, il sera configuré en router afin de permetra la communication entre le réseau IP de l’active directory.

Utiliser la fonction de recherche de ce site si vous utilisez une fonction vpn PPTP ou L2TP (dans exemple dans le cas ou le routeur/firewall/appliance/serveur dédié fournis un service VPN).

2 solutions peuvent être retenu à partir d’openvpn :

  • Le serveur openVpn sera le véritable routeur de toute la zone
  • Le routeur de la zone (passerelle de l’ensemble du réseau IP de l’active directory) connaitra les réseaux IP distant (via des routes), accessible via le serveur OpenVPN.

Utiliser la fonction de recherche du site pour accéder à l’article concernant la connexion VPN d’OpenVPN sécurisé par certificats, avec un serveur offrant les services de routage.

Pour des raisons de performance, il peut etre intérraissant de renseigner dans le fichier /etc/hosts, les adresses IP des serveurs AD et DNS. Exemple :

10.0.0.2   ldap    ldap.commun.ad.ent.org    commun.ad.ent.org

Configuration en vue de l’intégration dans l’AD

Maintenant que le poste peut être assimilé à une connexion sur un réseau IP locale (exemple d’un MAN), les étapes sont les mêmes que pour un poste local (voir ci dessus).

Note pour les mises en production derriere un NAT

dns :  TCP/UDP 53

kerberos : TCP 88

ldap : TCP/UDP 389

ldaps : TCP 636

ds : TCP 445

wins : TCP/UDP 1512

Mise à jour le Lundi, 01 Mars 2010 09:50
 

Commentaires  

 
0 # rara 2011-06-27 09:08 アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
アダルト
Reply | Citer | Citer