RODC déconnecté de l'AD

Venez ici partager vos astuces et aides autour de Samba4
TLa
Messages : 3
Inscription : 31 mars 2022 - 17:53

21 avr. 2022 - 18:39

Bonjour,

On a un besoin d'avoir un RODC pour l'authentification d'utilisateur sour linux, qui doit fonctionner même quand l'AD windows n'est plus joignable.
Est ce que quelqu'un a réussi ce miracle ? (j'y ai déjà passé beaucoup de temps) !
l'AD est un windows server 2019
samba4 2:4.13.17~dfsg-0ubuntu0.21.04.1 est sous ubuntu 20.04
sss et pam sont configurés
le ssh d'un utilisateur déclaré dans l'AD fonctionne correctement

si je mets une règle iptables entre l'AD et le linux ça ne marche plus.

sachant quand l'implémentation RODC est assez fraîche, est ce que samba 4.13.17 est suffisant ?

merci pour vos retour d'expériences.

Cdlt,
Thierry LARMOIRE.
Avatar de l’utilisateur
dcardon
Expert WAPT
Messages : 1366
Inscription : 18 juin 2014 - 09:58
Localisation : Saint Sébastien sur Loire
Contact :

22 avr. 2022 - 09:33

Bonjour Thierry,

il y a encore un certain nombre de bug sur la partie RODC, notamment sur le preloading des hash de mdp, et le forwarding d'auth en ntlm.
Une fois que vous avez les utilisateurs dans le groupe rodc allow replication group, le mieux est de forcer le preloading sur le rodc. Normalement le rodc va aller récupérer les crédentials sur le RWDC si il ne les a pas (et que l'utilsiateur fait partie du rodc allow replication group), mais ça ne fonctionne pas sur les auth ntlm (et d'autre cas tordu).

Est ce que votre auth sssd fait du ntlm ou du kerberos?

Il faut faire attention aussi à la maj des mdp des machines avec winbind, il y a/eu un bug ou le changement de mdp fail sur un rodc, mais le client inscrit quand même son mdp en local (au lieu de faire un rollback).

Je ne pense pas qu'il y a eu beaucoup de modification depuis la 4.13 sur la partie RODC, mais il y a plein d'autre bug qui ont été corrigé et je vous encourage à prendre une version plus récente (au moins 4.15 pour de la prod, voir 4.16 si c'est pour des tests, il y a d'ailleurs du support djoin dans la dernière 4.16).

Cordialement,

Denis
Denis Cardon - Tranquil IT
Communiquez autour de vous sur WAPT! Envoyez nous vos url de blog et d'articles dans la catégorie votre avis du forum, nous les mettrons en avant sur le site WAPT
TLa
Messages : 3
Inscription : 31 mars 2022 - 17:53

25 avr. 2022 - 17:01

Bonjour,

Merci Denis pour ce retour.

"le mieux est de forcer le preloading" => avec

Code : Tout sélectionner

samba-tool rodc preload one_user --server=srv-dc1.xxxxxx.yyy --username admin --password admin_password
ça ne se fait qu'un utilisateur à la fois ?

"Est ce que votre auth sssd fait du ntlm ou du kerberos?"
kerberos il me semble :

Code : Tout sélectionner

[sssd]
domains = xxxxxx.yyy
config_file_version = 2
reconnection_retries = 2
sbus_timeout = 30
services = nss, pam

[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3

[pam]
reconnection_retries = 3

[domain/xxxxxx.yyy]
default_shell = /bin/bash
ad_server = t001-mc11-cpu2.xxxxxx.yyy,t001-mc12-cpu2.xxxxxx.yyy,srv-dc1.xxxxxx.yyy
#krb5_store_password_if_offline = True
krb5_store_password_if_offline = False
#cache_credentials = True
cache_credentials = False
krb5_realm = XXXXXX.YYY
realmd_tags = manages-system joined-with-samba 
id_provider = ad
fallback_homedir = /var/home/%u@%d
ad_domain = xxxxxx.yyy
use_fully_qualified_names = True
#use_fully_qualified_names = False
ldap_id_mapping = True
#ldap_id_mapping = False
access_provider = ad
auth_provider = ad
ad_gpo_access_control = permissive
dns_resolver_server_timeout = 500
dns_resolver_op_timeout = 1
dns_resolver_timeout = 2
entry_cache_timeout = 60
ldap_search_timeout = 1
ldap_connection_expire_timeout = 60
"versions"
ubuntu 22.04 vient de sortir avec

Code : Tout sélectionner

Package: samba
Architecture: amd64
Version: 2:4.15.5~dfsg-0ubuntu5
je vais refaire des essais avec cette version.

état RODC
Est-ce qu'il y a un moyen de voir l'état de synchronisation des passwords sur le RODC, dans quel fichier sont ils sauvegardés (même chiffré) ?
j'ai essayé de trouver dans le 2.5 millions lignes de code source, c'est pas claire qui fait quoi !

Cdlt,
Thierry.
TLa
Messages : 3
Inscription : 31 mars 2022 - 17:53

10 mai 2022 - 13:42

Bonjour,

je réponds à mes questions :D :
  • problème réplication de mot de passe :

il est très important de faire attention aux groupes
-- Groupe de réplication dont le mot de passe RODC est autorisé
-- Groupe de réplication dont le mot de passe RODC est refusé
ceci est valable pour les utilisateurs et les ordinateurs.
attention, les admins du domaines sont par défaut dans le groupe des refusés.

on peut détecter le pb en lançant samba à la main et en pré-chargeant un utilisateur :

Code : Tout sélectionner

sudo systemctl stop samba-ad-dc
sudo samba --foreground --no-process-group -d 5 --debug-stderr &

sudo samba-tool rodc preload user --server=dc.example.com --username user --password pass

[...]
../../source4/dsdb/repl/drepl_secret.c:49: repl secret disallowed for user CN=dc,OU=Domain Controllers,DC=example,DC=com - not in allowed replication group

  • état de la réplication des mot de passe :

les pwd sont stockés dans /var/lib/samba/private/sam.ldb.d/DC=example,DC=com.ldb
et on peut vérifier les entrées avec un mot de passe :

Code : Tout sélectionner

sudo ldbsearch --url /var/lib/samba/private/sam.ldb '(unicodePwd=*)' dn
Bien cordialement,
Thierry.
Verrouillé