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.
RODC déconnecté de l'AD
- dcardon
- Expert WAPT
- Messages : 1437
- Inscription : 18 juin 2014 - 09:58
- Localisation : Saint Sébastien sur Loire
- Contact :
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
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
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
Bonjour,
Merci Denis pour ce retour.
"le mieux est de forcer le preloading" => avec
ç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 :
"versions"
ubuntu 22.04 vient de sortir avec
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.
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
"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
ubuntu 22.04 vient de sortir avec
Code : Tout sélectionner
Package: samba
Architecture: amd64
Version: 2:4.15.5~dfsg-0ubuntu5
é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.
Bonjour,
je réponds à mes questions
:
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 :
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 :
Bien cordialement,
Thierry.
je réponds à mes questions
![Heureux :D](./images/smilies/icon_e_biggrin.gif)
- 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
Thierry.