Projet

Général

Profil

Scribe AD 2srv classic upg » Historique » Version 3

« Précédent - Version 3/8 (diff) - Suivant » - Version actuelle
Joël Cuissinat, 09/02/2018 13:18


Scribe membre d'un AD Seth : tests classicupgrade

Deux essais infructueux :
  • Classicupgrade effectué sur Scribe puis copie du résultat su Seth
    • plus de compte Administrator
    • problèmes de DNS, scribe.dompedago.etb1.lan apparaît dans les bases Samba4 comme étant le DC
    • Le poste ne peuvent pas se connecter au domaine AD
  • Classicupgrade effectué sur Seth:
    • Les comptes sont bien présents
    • On perd le mot de passe du compte Administrator. Il faut le réinitialiser
    • Il est quand même nécessaire de sortir les postes du domaine NT pour les joindre au domaine AD

Voici les notes des commandes exécutées.

Préparer le Classicupgrade sur Scribe en prod en mode NT

Backup annuaire de Scribe

service slapd stop
tar czvf ldap.backup.tgz /etc/ldap* /var/lib/ldap/
# slapcat -f /etc/ldap/slapd.conf -o ldif-wrap=no -l ldap.backup.ldif
service slapd start

Backup Samba de Scribe

service smbd stop
service nmbd stop
mkdir /etc/samba.NT
mkdir /var/lib/samba.NT
#cp --preserve /etc/hostname{,.NT}
cp -r --preserve /etc/samba/* /etc/samba.NT/
cp -r --preserve /var/lib/samba/* /var/lib/samba.NT/

Préparer le classicupgrade

mkdir -p /var/lib/samba.PDC/{etc,dbdir}
cp -p /var/lib/samba/private/secrets.tdb /var/lib/samba.PDC/dbdir/
cp -p /var/lib/samba/private/schannel_store.tdb /var/lib/samba.PDC/dbdir/
cp -p /var/lib/samba/private/passdb.tdb /var/lib/samba.PDC/dbdir/
#cp -p /var/lib/samba/var/lock/gencache_notrans.tdb /var/lib/samba.PDC/dbdir/
cp -p /var/lib/samba/group_mapping.tdb /var/lib/samba.PDC/dbdir/
cp -p /var/lib/samba/account_policy.tdb /var/lib/samba.PDC/dbdir/
cp -p /var/lib/samba/wins* /var/lib/samba.PDC/dbdir/
sed -e "s/\(netbios name = \).*/\1seth/" -e "/logging/,/enable privileges/""s/^/#/" /etc/samba/smb.conf > /var/lib/samba.PDC/etc/smb.PDC.conf
#sed -i "s/\(netbios name = \).*/\1seth/" /var/lib/samba.PDC/etc/smb.PDC.conf
#sed -i "s/$(CreoleGet nom_machine)/seth/" /etc/hostname
tar czvf samba.PDC.tgz /var/lib/samba.PDC

Adapter les configuration ETB1

  • Amon
    • Forward de zone DNS : dompedago.etb1.lan 10.1.3.6 (ip de Seth en DMZ)
    • Authentification proxy en NTLM/KERBEROS
  • Scribe
    • domaine local passe à dompedago.etb1.lan
    • DHCP -> changer le DNS renvoyé avec l'IP de Seth ainsi que le domaine DNS à renvoyer (celui de Seth)
  • Seth
    • nom_machine : seth
    • domaine local : dompedago.etb1.lan
    • dns : ip Amon sur la dmz
    • NTP : ip Amon sur la dmz
    • Pas de DC additionnel

Option Classicupgrade depuis Scribe

Génération de la configuration Samba AD depuis Scribe

  • Exécuter la procédure
    samba-tool domain classicupgrade --dbdir=/var/lib/samba.PDC/dbdir --use-xattrs=yes --realm=dompedago.etb1.lan --dns-backend=SAMBA_INTERNAL /var/lib/samba.PDC/etc/smb.PDC.conf
    
  • Vérifier que la base sam est bien remplie
    apt-get install ldb-tools
    ldbsearch -H /var/lib/samba/private/sam.ldb -S '(objectclass=user)' cn
    
  • sauvegarde la conf générée
    mv /var/lib/samba{,AD}
    mv /etc/samba{,AD}
    tar czvf samba.AD.tgz /var/lib/sambaAD
    
  • Relancer Samba en mode NT
    mv /etc/hostname{.NT,}
    mv /etc/samba{.NT,}
    mv /var/lib/samba{.NT,}
    service smbd start
    service nmbd start
    

Mise en place sur Seth

  • Instancier Seth
  • Copier l'archive obtenue sur Scribe
    scp root@scribe.etb1.lan:/root/samba.AD.tgz .
    tar xzvf samba.AD.tgz -C /
    
  • Arrêter Samba
    service samba-ad-dc stop
    
  • Sauvegarder les bases samba
    mv /var/lib/samba{,SVG}
    
  • Restaurer les bases issues de Scribe
    mv /var/lib/samba{AD,}
    cp /var/lib/sambaSVG/.instance_ok /var/lib/samba/
    
  • Reconfigurer Seth
  • Ajouter une entrée DNS seth.dompedago.etb1.lan dans le DNS Samba
    samba-tool dns add 10.1.3.6 dompedago.etb1.lan seth A 10.1.3.6 -U admin
    

Option Classicupgrade depuis Seth

Instancier Seth

Le serveur est opérationnel en tant que DC

Préparer le classicupgrade sur Seth

  • Sur Seth instancié, arrêter samba
    service samba-ad-dc stop
    
  • Copier les backup obtenus sur Seth (depuis Seth)
    scp root@scribe.etb1.lan:~/ldap.backup.tgz .
    scp root@scribe.etb1.lan:/root/samba.PDC.tgz .
    
  • Installer openldap, restaurer l'annuaire et lancer le service
    apt-eole install slapd
    service slapd stop
    tar xzvf ldap.backup.tgz -C /
    tar xzvf samba.PDC.tgz -C /
    #service slapd start
    /usr/sbin/slapd -g openldap -u openldap -f /etc/ldap/slapd.conf
    
  • Lancer la procédure classic upgrade :
    samba-tool domain classicupgrade --dbdir=/var/lib/samba.PDC/dbdir/ --realm=dompedago.etb1.lan --dns-backend=SAMBA_INTERNAL /var/lib/samba.PDC/etc/smb.PDC.conf
    
  • Stopper le service slapd, relancer Samba et réinitialiser le mot de passe Administrator
    pkill slapd
    service samba-ad-dc restart
    samba-tool user setpassword Administrator

Effectuer la procédure d'intégration du serveur Scribe dans le domaine AD de Seth

http://eole.ac-dijon.fr/documentations/2.6/partielles/beta/ModuleSeth/co/eole-AD.html

Il est tout de même nécessaire de sortir les postes du domaine NT pour les joindre au domaine AD

Conclusion

Finalement, dans cette situation, on ne peut pas utiliser la méthode classicupgrade pour éviter l'opération de sortie/jonction au domaine AD à cause du changement de nom du serveur (Scribe->Seth).

On devra se contenter de la procédure avec eole-ad et LSC.

Il est toutefois possible de réinjecter les nt-hash des passwords des comptes de Scribe sur Seth :

  • Extraction des Hash sur Scribe
    pdbedit -L -w | sed -e "/^.*$:/d" |cut -d":" -f 1,4 > hash_passwd
    
  • Injection des Hash sur Seth pour chaque USERNAME
    pdbedit -u USERNAME --set-nt-hash PASSWORD_HASH
    

La jonction des postes sur le nouveau DC pourra se faire à l'aide du script joinDom.ps1 présent dans le dépôt GIT seth-ecologie de project:pne-sr en adaptant joinDom.psd1.
Ce script pourra être lancé à l'ouverture de session de chaque poste avant la procédure d'intégration du serveur Scribe dans le domaine AD de Seth.