*New 11.3 series Release:
2019-10-05: XigmaNAS 11.3.0.4.6928 - released, 11.2 series are soon unsupported!

*New 12.0 series Release:
2019-10-05: XigmaNAS 12.0.0.4.6928 - released!

*New 11.2 series Release:
2019-09-23: XigmaNAS 11.2.0.4.6881 - released!

We really need "Your" help on XigmaNAS https://translations.launchpad.net/xigmanas translations. Please help today!

Producing and hosting XigmaNAS costs money. Please consider donating for our project so that we can continue to offer you the best.
We need your support! eg: PAYPAL

[TUTO] Samba Active Directory Domain Controller

Moderators: mtiburs, velivole18, ernie

Locked
laster13
PowerUser
PowerUser
Posts: 996
Joined: 01 Jun 2013 19:15
Location: France-Marseille
Status: Offline

[TUTO] Samba Active Directory Domain Controller

#1

Post by laster13 » 02 Jul 2015 19:21

Tout simplement genial .. voila comment je qualifie le "how to" que nous livre daoyama sur la procédure à suivre pour configurer samba active directory domain controller. Un grand merci donc à daoyama de nous faire partager cette astuce et également pour ses screens que je vais reprendre pour les besoins du tuto
viewtopic.php?f=98&p=55942#p55942

Autant sur les version antérieures de nas4free la mise en place restait plutot ardue, la version 10.1.0.2.1665 et suivantes permettent aujourd hui de configurer très facilement un controleur de domaine avec samba 4 et ce à partir du WebGui. A ce jour la version SAMBA AD est livrée avec:

- Un annuaire LDAP Active Directory
- Un serveur d’authentification Kerberos KDC
- Un serveur DNS dynamique sécurisé
- Le support de la version 3.0 du protocole SMB
- Un serveur RPC (Remote Procedure Call)
- La prise en charge des GPO
- Le support de configuration via le service RSAT depuis un client Windows.
- L’administration du domaine en ligne de commande se fait grâce à l’utilitaire samba-tool

Avec le précédent support de domaine NT4, Samba était capable de déléguer le traitement de ces fonctions à des services externes tels que BIND, OpenLDAP, et le MIT ou Heimdal Kerberos. À l'exception de BIND pour le DNS, la possibilité d'utiliser du code tiers dans ces rôles n'existe plus.

Une pratique courante avec les domaines NT4 Samba était d'utiliser le ldapsam back-end pour gérer les comptes de sécurité du domaine (SAM) en s'appuyant sur une source de données (DSA) OpenLDAP Voir le tuto précédent. Cette capacité n'existe plus. Le service LDAP utilisé dans Samba est maintenant le service LDAP Samba (intégré). Les sites utilisant OpenLDAP doivent, pour migrer vers Active Directory, migrer au moins leur base SAM vers le serveur intégré LDAP Samba.

Kerberos est un protocole d'authentification réseau qui repose sur un mécanisme de clés secrètes (chiffrement symétrique) et l'utilisation de tickets, et non de mots de passe en clair, évitant ainsi le risque d'interception frauduleuse des mots de passe des utilisateurs.

Quoiqu'il en soit le but de ce tuto va nous permettre d'intégrer des machines au domain samba4 et d'authentifier les utilisateurs du domaine sur cette machine. Cela pourra tout aussi bien être un autre nas4free, windows, ubuntu et autres..

Si vous avez besoin d'aide, merci de poster sur le [Topic unique] Samba Active Directory Domain Controller !!

Prérequis

- une partition UFS crée en suivant ce Tuto
- Désactiver CIFS/SMB
- Une IP statique dans LAN interface
- Activer NTP
- Utiliser un hostname et domain name comme indiquer ci dessous en adaptant avec les votres.

Image

Image

Configuration Samba Active Directory Domain Controller


Pour créer un AD CD il faut au préalable procéder à l'initialisation :

Exemple de paramètres utilisés
Hostname: nas4free-oc1
DNS fowrder: 8.8.8.8
DNS domain: mydomain.local
NetBIOS domain: MYDOMAIN

Image

Pour DNS forwarder, utiliser les DNS de votre Fai Serveurs DNS des principaux FAI et si vous ne les trouvez pas, utilisez les DNS de google 8.8.8.8. Adapter le "Path" avec le chemin de la partition UFS crée précédemment. Vous pouvez également cocher "user shares" si vous souhaitez créer des partages dans CIFS/SMB. Au besoin, vous aurez la possibilité de changer les DNS et les partages une fois l'initialisation terminée.

Image

Le mot de passe par defaut est un mot de passe "dit" complexe avec au moins une majuscule, une minusculte, lettre et chiffre. Si vous ne précisez pas de mot de passe, il vous en propose un par defaut. Vous avec egalement la possibilité de le changer en utilisant les outils samba-tool que nous verrons en detail plus loin

Code: Select all

samba-tool user setpassword administrator
Une fois l'initialisation terminée le serveur DNS de N4F sera modifié pour désormais prendre l'adresse 127.0.0.1 et donner ainsi la main au serveur DNS intégré de samba4.

Il faut maintenant relancer le serveur et ensuite activer Samba AD

Image

Joindre un client Windows à AD CD

Compléter avec l' IP statique de N4F comme indiquer ci dessous :

Image

Rentrer ensuite le nom de domaine

Image

Si tout s'est déroulé normalement vous avez maintenant rejoint le domaine de samba. Relancer windows et connecter vous avec le compte administrator et le mot de passe défini plus haut.

Image

Joindre un client Ubuntu à AD CD
Je vous laisse travailler un peu ;)
Samba AD DC - Intégration de machines au domaine

Administration du domaine

2 possibilités

- RSAT à installer sur un poste windows du domaine

Image

Installation RSAT pour Windows
Modifier la langue pour l'avoir en francais. Le lien vous donne également les instructions pour l'installation

- 2ème possibilité, les outils samba-tool qui permettent d'administrer le domaine en ligne de commande

Pour créer un utilisateur
samba-tool user add USERNAME
Pour supprimer un utilisateur
samba-tool user delete USERNAME
Pour créer un groupe
samba-tool group add GROUP
Pour supprimer un groupe
samba-tool group delete GROUP
LA SUITE ICI

Quelques tests pour vérifier le bon fonctionnement de Samba Active Directory Domain Controller
$ smbclient -L localhost -U%
Domain=[DOMAIN] OS=[Unix] Server=[Samba 4.x.y]

Sharename Type Comment
--------- ---- -------
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service (Samba 4.x.y)
Domain=[DOMAIN] OS=[Unix] Server=[Samba 4.x.y]

Server Comment
--------- -------

Workgroup Master
--------- -------
smbclient //localhost/netlogon -UAdministrator -c 'ls'
Enter Administrator's password: passw0rd
Domain=[DOMAIN] OS=[Unix] Server=[Samba 4.x.y]
. D 0 Sat Jul 5 08:40:00 2014
.. D 0 Sat Jul 5 08:40:00 2014

49386 blocks of size 524288. 42093 blocks available
Tests des DNS

Adaptez le hostname et le domain name avec vos paramètres
$ host -t SRV _ldap._tcp.mydomain.local
_ldap._tcp.mydomain.local has SRV record 0 100 389 nas4free-oc1.mydomain.local.
$ host -t SRV _kerberos._udp.mydomain.local
_kerberos._udp.mydomain.local has SRV record 0 100 88 nas4free-oc1.mydomain.local.
$ host -t A dc1.nas4free-oc1.mydomain.local
nas4free-oc1.mydomain.local has address 172.18.0.169
Test de Kerberos
# kinit administrator@SAMDOM.EXAMPLE.COM
Password for administrator@SAMDOM.EXAMPLE.COM:
Warning: Your password will expire in 41 days on Sat Aug 16 21:41:28 2014
Pour vérifier que Kerberos fonctionne et que vous avez recu un ticket, tapez
# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@SAMDOM.EXAMPLE.COM

Valid starting Expires Service principal
07/05/14 23:20:17 07/06/14 09:20:17 krbtgt/SAMDOM.EXAMPLE.COM@SAMDOM.EXAMPLE.COM
renew until 07/06/14 23:20:15
Voilà pour l'instant ce que je peux vous faire partager sur un sujet qui est très vaste en terme de possibilités et je suis loin d en avoir fait le tour. Tout ce que vous pourrez apporter de nouveau sur le sujet sera bienvenue et intégré dans le tuto.

A approfondir :
L’option –use-rfc2307 active les attributs posix de l’AD de Samba. Cela crée aussi les informations NIS dans l’AD, ce qui vous permet d’administrer les UIDs/GIDs et autres paramètres UNIX (dans la table “Unix attributes” de l’ADUC…Active Directory Users and Computers). Il est plus simple de l’activer durant cette préparation (Provisioning), plutôt que par la suite. De plus, même si vous n’en avez pas (encore) besoin, ça n’impacte pas votre installation.
Est ce que cette option est activée d'office dans nas4free au moment de l'approvisionnement de la foret ?

A verifier!!!

Enjoy it ;)

laster13
PowerUser
PowerUser
Posts: 996
Joined: 01 Jun 2013 19:15
Location: France-Marseille
Status: Offline

Re: [TUTO] Samba Active Directory Domain Controller

#2

Post by laster13 » 03 Jul 2015 14:22

Si vous souhaitez créer des partages dans CIFS/SMB, vous devrez procéder àaux configurations suivantes :

Partages en UFS
Image

Partages en ZFS
Image

Concernant le dataset ZFS vous mettez passthrough pour "ACL inherit" et "ACL mode"
Image

Quelques utilitaires pour les adeptes de ligne de commande

Auparavant pour la gestion des bases ldap, on utilisait les commandes "ldapadd", "ldapsearch", "ldapmodify" et d'autres encore. Aujourd'hui pour manipuler des fichiers ldif, on utilise les utilitaires suivants :

- ldbdel : est un programme en ligne de commande pour effacer des enregistrements dans une base de données LDB.
- ldbedit : vous autorise à éditer la base de données LDB en utilisant votre éditeur de texte préféré.
- ldbmodify : vous autorise à modifier des enregistrements dans la base de données LDB.
- ldbrename : vous autorise à éditer la base de données LDB en utilisant votre éditeur de texte préféré.
- ldbsearch : cherche un enregistrement de la base de données LDB en utilisant un filtre basé sur une expression spécifiée.

Quelques exemples de ce que cela peut donner

pour cet exemple j'ai crée au préalable un utilisateur "pierre"

Code: Select all

 mail: ~# samba-tool user add pierre
New Password:
Retype Password:
User 'pierre' created successfully
On tape la commande suivante

Code: Select all

ldbsearch -H /mnt/samba4/private/sam.ldb '(objectclass=person)'
Un extrait de ce que l'on obtient ( pour ceux qui ont une approche ldap, on reconnait bien la structure, les objectclass utilisés dans les fichiers ldif )
# record 5
dn: CN=pierre,CN=Users,DC=lastgeek,DC=fr
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: pierre
instanceType: 4
whenCreated: 20150703123346.0Z
whenChanged: 20150703123346.0Z
uSNCreated: 3773
name: pierre
objectGUID: bf63ca0e-c899-458e-9c68-5cee4b9759e3
badPwdCount: 0
codePage: 0
countryCode: 0
badPasswordTime: 0
lastLogoff: 0
lastLogon: 0
primaryGroupID: 513
objectSid: S-1-5-21-663440584-2134821431-4006589286-1104
accountExpires: 9223372036854775807
logonCount: 0
sAMAccountName: pierre
sAMAccountType: 805306368
userPrincipalName: pierre@lastgeek.fr
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=lastgeek,DC=fr
pwdLastSet: 130804004260000000
userAccountControl: 512
uSNChanged: 3775
distinguishedName: CN=pierre,CN=Users,DC=lastgeek,DC=fr

# Referral
ref: ldap://lastgeek.fr/CN=Configuration,DC=lastgeek,DC=fr

# Referral
ref: ldap://lastgeek.fr/DC=DomainDnsZones,DC=lastgeek,DC=fr

# Referral
ref: ldap://lastgeek.fr/DC=ForestDnsZones,DC=lastgeek,DC=fr

# returned 9 records
# 6 entries
# 3 referrals

Code: Select all

pdbedit -Lv
renvoit
mail: ~# pdbedit -Lv
---------------
Unix username: MAIL$
NT username:
Account Flags:
User SID: S-1-5-21-663440584-2134821431-4006589286-1000
Primary Group SID: S-1-5-21-663440584-2134821431-4006589286-516
Full Name:
Home Directory:
HomeDir Drive: (null)
Logon Script:
Profile Path:
Domain:
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: 0
Kickoff time: never
Password last set: Fri, 03 Jul 2015 09:49:29 CEST
Password can change: Fri, 03 Jul 2015 09:49:29 CEST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
---------------
Unix username: Administrator
NT username:
Account Flags:
User SID: S-1-5-21-663440584-2134821431-4006589286-500
Primary Group SID: S-1-5-21-663440584-2134821431-4006589286-513
Full Name:
Home Directory:
HomeDir Drive: (null)
Logon Script:
Profile Path:
Domain:
Account desc: Built-in account for administering the computer/domain
Workstations:
Munged dial:
Logon time: 0
Logoff time: 0
Kickoff time: never
Password last set: Fri, 03 Jul 2015 09:49:29 CEST
Password can change: Fri, 03 Jul 2015 09:49:29 CEST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
---------------
Unix username: patrick
NT username:
Account Flags:
User SID: S-1-5-21-663440584-2134821431-4006589286-1103
Primary Group SID: S-1-5-21-663440584-2134821431-4006589286-513
Full Name:
Home Directory:
HomeDir Drive: (null)
Logon Script:
Profile Path:
Domain:
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: 0
Kickoff time: never
Password last set: Fri, 03 Jul 2015 09:57:51 CEST
Password can change: Fri, 03 Jul 2015 09:57:51 CEST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
---------------
Unix username: krbtgt
NT username:
Account Flags: [DU ]
User SID: S-1-5-21-663440584-2134821431-4006589286-502
Primary Group SID: S-1-5-21-663440584-2134821431-4006589286-513
Full Name:
Home Directory:
HomeDir Drive: (null)
Logon Script:
Profile Path:
Domain:
Account desc: Key Distribution Center Service Account
Workstations:
Munged dial:
Logon time: 0
Logoff time: 0
Kickoff time: never
Password last set: Fri, 03 Jul 2015 09:49:29 CEST
Password can change: Fri, 03 Jul 2015 09:49:29 CEST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
---------------
Unix username: pierre
NT username:
Account Flags:
User SID: S-1-5-21-663440584-2134821431-4006589286-1104
Primary Group SID: S-1-5-21-663440584-2134821431-4006589286-513
Full Name:
Home Directory:
HomeDir Drive: (null)
Logon Script:
Profile Path:
Domain:
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: 0
Kickoff time: never
Password last set: Fri, 03 Jul 2015 14:33:46 CEST
Password can change: Fri, 03 Jul 2015 14:33:46 CEST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
---------------
Unix username: nobody
NT username:
Account Flags:
User SID: S-1-5-21-663440584-2134821431-4006589286-501
Primary Group SID: S-1-22-2-65534
Full Name: Unprivileged user
Home Directory:
HomeDir Drive: (null)
Logon Script:
Profile Path:
Domain: LASTGEEK
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: never
Kickoff time: never
Password last set: 0
Password can change: 0
Password must change: 0
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF


Je vous fais grace des autres commandes ;) vous trouverez des informations à cette adresse
https://wiki.samba.org/index.php/LDB#ldbsearch

Locked

Return to “Tuto”