Complément d’informations sur les attributs Mail, ProxyAddresses et LegacyExchangeDN

Salut à tous

Cet article a pour but de vous présenter :
– Le rôle des attributs Mail, ProxyAddresses et LegacyExchangeDN
– Comment affecter toutes les adresses d’un objet Exchange (contact de messagerie, utilisateur avec adresse de messagerie externe, groupe avec adresse de messagerie, utilisateur avec boîte aux lettres) à un autre objet Exchange.

1. Quel est le rôle des attributs Mail, ProxyAddresses et LegacyExchangeDN
L’attribut mail contient l’adresse email principal de l’utilisateur.
Il correspond au champ « Email » dans l’onglet « Général d’un compte utilisateur ».
Ce champ a la même valeur que l’adresse qui commence par « SMTP: » de l’attribut ProxyAddresses.
Il est mis à jour automatiquement par Exchange en cas de changement au niveau de l’onglet Email addresses » d’une boîte aux lettres.

L’attribut ProxyAddresses contient toutes les adresses SMTP, X500, SIP (ou autres types) d’un compte utilisateur. Il est utilisé entre autres par des logiciels comme Exchange 2013 et Lync 2013.
L’adresse SMTP principale s’écrit de la manière suivante : SMTP:emailprincipal@proservia.fr
Un alias de messagerie s’écrit de la manière suivante : smtp:alias.email@proservia.fr
Le champ ProxyAddresses peut aussi contenir d’adresse comme une adresse SIP, X500.

L’attribut LegacyExchangeDN correspond lui à l’adresse de routage interne d’Exchange 2013. Il n’a donc rien de Legacy. Le format de cette adresse est (exemple avec une boîte aux lettres Proservia dans une organisation appelée TPONET) :
X500:/o=tponet/ou=exchange administrative group (fydibohf23spdlt)/cn=recipients/cn=d60620cf8db7469abd3e26a483e119ff-proservia
Le champ LegacyExchangeDN ne doit pas être modifié et ne peut contenir qu’une seule valeur.

2. Comment affecter toutes les adresses d’un objet Exchange (contact de messagerie, utilisateur avec adresse de messagerie externe, groupe avec adresse de messagerie, utilisateur avec boîte aux lettres) à un autre objet Exchange ?
Dans notre cas, on va partir du principe qu’on remplace un groupe avec adresse de messagerie par un utilisateur avec boîte aux lettres. C’est un cas relativement courant. Au lieu d’envoyer un mail à plusieurs utilisateurs, on centralise tous les mails dans une unique boîte aux lettres.

Cette action nécessite 5 étapes :
– Sauvegarder la valeur des attributs ProxyAddresses et LegacyExchangeDN du groupe avec adresse de messagerie.
– Supprimer le groupe avec adresse de messagerie.
– Créer la nouvelle boîte aux lettres
– Modifier manuellement l’attribut ProxyAddresses via la console web Exchange 2013. Pour cela aller « Recipients | Mailbox ». Au niveau de la boîte aux lettres, aller dans l’onglet « Email addresses » et saisir les adresses contenu dans le champ ProxyAddresses sans les préfix comme « SMTP: » ou « SIP: ». Attention de décocher la case « Automatically update email address based on the email address policy applied to this recipient ».
– Il faut aussi ajouter l’adresse contenu dans le champ LegacyExchangeDN de l’ancien groupe avec adresse de messagerie dans l’attribut ProxyAddresses (donc toujours dans l’onglet « Email addresses » de la boîte aux lettres. Pour cela, il faut créer une entrée de type X500 et saisir la valeur du LegacyExchangeDN de l’ancien groupe.
Au niveau de l’attribut ProxyAddresses de notre boîte aux lettres Exchange, on obtient donc :
SMTP:proservia@tp.msreport.eu
smtp:alias.proservia@tp.msreport.eu
X500:/o=tponet/ou=exchange administrative group (fydibohf23spdlt)/cn=recipients/cn=d60620cf8db7469abd3e26a483e119ff-proservia

Attention :
Si deux objets Exchange ont le même LegacyExchangeDN, ils ne peuvent plus se connecter à leur Mailbox. L’erreur suivante va apparaître.
Log Name: Application
Source: MSExchange Assistants
Date: 11/05/2014 22:34:02
Event ID: 11006
Task Category: (11)
Level: Warning
Keywords: Classic
User: N/A
Computer: TPOEXCH1.tpo.net
Description:
The description for Event ID 11006 from source MSExchange Assistants cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.
If the event originated on another computer, the display information had to be saved with the event.
The following information was included with the event:
tpo.net/TPO/Users/Tigrou Mathieu
Microsoft.Exchange.Data.Storage.StoragePermanentException: There was a problem accessing Active Directory. Check your network connections and try again. —> Microsoft.Exchange.Data.Directory.Recipient.NonUniqueRecipientException: Multiple objects with legacy DN /o=TPONET/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=e37311bf79a24588894f5a1e68855894-Tigrou Mathieu were found.
at Microsoft.Exchange.Data.Directory.Recipient.ADRecipientObjectSession.FindByLegacyExchangeDN(String legacyExchangeDN)

Astuces :
– Pour afficher une boîte aux lettres que l’on vient de supprimer sous Exchange 2013, il faut lancer ces deux commandes :
Get-MailboxStatistics -Database DB1 | ForEach { Update-StoreMailboxState -Database $_.Database -Identity $_.MailboxGuid -Confirm:$false }
Get-MailboxStatistics -Filter ‘DisconnectDate -ne `$null’ -Server ‘TPOEXCH1’
Pour plus d’informations :
http://technet.microsoft.com/en-us/library/jj860462(v=exchg.150).aspx
– Penser à forcer la génération de l’OAB (par défaut 1 fois par jour) sur Exchange 2013. Sur Office 365 (offre mutualisée), on est obligé d’attendre 24h. L’ajout de l’ancien LegacyExchangeDN permet donc d’éviter des problèmes de remise de mail pendant 24h.
– Penser aussi à purger le cache des clients Outlook en cas de changement massif (les fameux fichiers NK2).

A+

Guillaume MATHIEU
Consultant Proservia
La connaissance s’accroît quand on la partage.
http://msreport.free.fr

Publié dans Active Directory, Annuaire, Messagerie, Office 365, Troubleshouting | Marqué avec , , | Laisser un commentaire

Office 365 au banc d’essaie 1/10

Bonjour

Dans cet article, nous allons vous présenter les principales fonctionnalités de la suite Office 365, les différentes éditions, les différents modes d’hébergement, le taux de disponibilité et les avantages / inconvénients de la solution. Dans les prochains articles, nous vous présenterons :
– Comment mettre en place l’authentification unique (SSO) avec Office 365.
– Comment administrer la solution Office 365 (avec ou sans authentification unique).
– Comment et pourquoi déployer le mode hybride Exchange.
– Comment et pourquoi déployer le mode hybride Lync.
– Les spécificités de l’offre Office 365 dédiée et pourquoi choisir cette offre.
– Les prérequis réseaux d’Office 365 et les solutions pour optimiser la bande passante, latence de vos lignes.
– Les fonctionnalités de sauvegarde / rétention et de vos données Office 365 et les solutions tierces (payantes / gratuites).
– Comment migrer vers Office 365 si on dispose d’un environnement Exchange / Lync existant ou d’un environnement non Microsoft (Lotus Domino).

1. Les fonctionnalités d’Office 365
Office 365 est la plateforme collaborative de Microsoft en ligne (dans le cloud). Elle intègre 99 pourcents des fonctionnalités des produits Microsoft suivants :
– Exchange Online : les utilisateurs disposent d’une boîte aux lettres de 50 Go avec toutes les fonctionnalités collaboratives d’Exchange 2013. Avec la licence E3 / E4, les utilisateurs disposent d’un archivage email illimité. Les utilisateurs peuvent chiffrer / signer leur email avec S/MIME ou s’appuyer sur la solution Windows Azure Active Directory Rights Management pour sécuriser les échanges emails.
– Lync Online : les utilisateurs disposent des fonctionnalités de présence, messagerie instantanée, d’audio-conférence et de vidéo-conférence de Lync 2013. Dans certains pays (Etats-Unis…), il est même possible d’interfacer directement Lync Online avec le système de téléphonie des opérateurs (nécessite licence E4 Office 365).
– SharePoint Online : les utilisateurs disposent d’un espace de stockage en ligne de 25 Go (bibliothèque de documents SharePoint) qu’ils peuvent synchroniser hors connexion avec OneDrive for Business (anciennement SharePoint Workspace puis SkyDrive Pro). Les utilisateurs peuvent aussi disposer de tous les types de sites web SharePoint 2013 (Intranet collaboratifs, sites web d’équipes). Office 365 permet de sécuriser toutes les données SharePoint avec Windows Azure Active Directory Right (basé sur Right Management Services).
– Windows Azure Active Directory Rights Management : Office 365 intègre les fonctionnalités d’Active Directory Right Management Services. Cette solution vous permet chiffrer / signer vos documents, d’empêcher le transfert des documents hors de votre entreprise, de bloquer des fonctionnalités comme le copier / coller, l’impression, la modification de vos documents. Pour plus d’informations, consulter l’article suivant : http://technet.microsoft.com/fr-fr/library/jj585026.aspx
– Yammer Enterprise : Microsoft a récemment fait l’achat d’une solution de réseau social d’entreprise. Vous pouvez voir Yammer comme une sorte de Facebook d’entreprise (création d’événements, partages de liens, sondages, création de groupes, partages de fichiers, conversations, articles). Pour plus d’informations, voir http://www.zdnet.com/yammer-enterprise-in-office-365-enterprise-first-take-deeper-integration-7000023229
– Office 365 ProPlus : il s’agit d’une version spéciale d’Office 2013 Professionnel. Cette version nécessite un compte Office 365 pour s’activer (activation périodique tous les 30 jours) et dispose d’un nouveau système de déploiement accéléré en streaming appelé Click to Run. Pour plus d’informations, voir:
http://technet.microsoft.com/en-us/library/jj219423(v=office.15).aspx
– Des applications pour les terminaux mobiles / tablettes : Microsoft permet de disposer de tous les outils de la suite Office 365 (Outlook Web App, Lync, Word, Excel…) sur les terminaux mobiles et les tablettes. A titre d’informations, les utilisateurs qui disposent d’une licence Office 365 E3 peuvent télécharger Office 365 ProPlus sur leur IPAD depuis quelques jours et éditer tous leurs documents Office (plus de 12 millions de téléchargement d’Office pour IPAD).

Tous ces services s’appuient sur un annuaire Windows Azure Active Directory (mixe entre un annuaire Active Directory standard et un annuaire Active Directory Lightweight Services (LDS).

2 Les différentes éditions :
Office 365 est décliné en plusieurs éditions selon les besoins des particuliers, PME ou les grandes entreprises. Le lien ci-dessous liste les fonctionnalités disponibles pour chaque édition d’Office 365 :
http://office.microsoft.com/en-us/business/compare-all-office-365-for-business-plans-FX104051403.aspx
Attention, il n’est pas toujours possible de basculer d’un type de licence (plan) vers un autre. Le choix de mode de licence Office 365 doit donc faire l’objet d’une étude minutieuse.

3 Les différents modes d’hébergement ?
Les données d’Office 365 sont répartis dans plusieurs centre de données Microsoft selon la localisation des clients. Les données des clients européens sont situées par exemple dans les centres de données de Dublin (Ireland) et des Pays Bas. Je vous invite à consulter les liens ci-dessous pour plus d’informations sur ces centres de données et la politiques de Microsoft en matière de stockage des données (qui est le propriétaire des données…) :
http://office.microsoft.com/en-us/business/office-365-trust-center-cloud-computing-security-FX103030390.aspx
http://office.microsoft.com/fr-FR/business/office-365-trust-center-top-10-trust-tenets-cloud-security-and-privacy-FX104029824.aspx#shouldAskACloudServiceProvider
http://cdn.globalfoundationservices.com/videos/Video_Data_Center_Long_Tour_8000k.wmv
Microsoft propose deux modes d’hébergement pour son service Office 365 :
– Mutualisé (multi-tenant / shared): il s’agit du mode par défaut (le plus mis en avant par Microsoft). Chaque serveur Office 365 peut héberger les données de plusieurs clients Microsoft Office 365.
– Dédié (dedicated) : les données de l’entreprise sont hébergées sur des serveurs dédiés. Ce mode permet de disposer de toutes les fonctionnalités d’Office 365 mutualisé et permet de bénéficier de nouvelles fonctionnalités comme la personnalisation des sites web SharePoint, l’hébergement chez Microsoft des contrôleurs de domaine de la société. Il est à noter que l’architecture Office 365 en mode dédié est complètement différente de l’architecture en mode mutualisé (pas le même système de provisionning des comptes…). Je vous invite à consulter les liens ci-dessous pour plus d’informations sur le mode d’hébergement dédié : http://technet.microsoft.com/en-us/library/dn270088.aspx
http://blogs.msdn.com/b/mstehle/archive/2013/08/09/understand-how-microsoft-delivery-exchange-in-office-365-dedicated.aspx

4. Le taux de disponibilité de la solution :
Microsoft annonce un taux de disponibilité de 99,98 % au quatrième trimestre 2013.

5 Les avantages / inconvénients de la solution:
Office 365 est une solution très riche en termes de fonctionnalités avec un taux de disponibilité très élevé. Le rapport fonctionnalités / disponibilité / coût plaide clairement du côté d’Office 365. Exemple :
– Pour disposer en interne d’une solution Exchange 2013 avec un taux de disponibilité de 99,98 pourcents, vous devez disposer d’un ingénieur expert sur Exchange 2013, de 2 centres de données et de 8 serveurs Exchange 2013 (2 serveurs avec le rôle Mailbox et 2 serveurs avec le rôle CAS Exchange 2013 dans chaque centre de données) et toutes les licences Microsoft Exchange.
– Avec Office 365 E1, vous payez 6,5 € par mois par utilisateur (offre mutualisée).
Un des autres points forts de la solution Office 365 est l’intégration très poussée entre les différents composants (Exchange Online, SharePoint Online, Lync Online, Windows Azure Right Management).
– Les fonctionnalités de messagerie instantanée et de présences de Lync 2013 sont par exemple activées de base dans l’interface d’Outlook Web App.
– Les utilisateurs disposent d’un espace de 25 Go (bibliothèque de documents SharePoint) qu’ils peuvent synchroniser hors connexion avec OneDrive for Business.
– Plusieurs utilisateurs peuvent modifier en même temps un document hébergé sur un site web SharePoint (coédition).
Microsoft propose à travers le Microsoft Online Portal une interface web très simple pour effectuer l‘administration de base de la solution :
– Création des comptes Office 365 et affectation des licences
– Administration d’Exchange Online
– Administration de Lync Online
– Administration de SharePoint Online
Toutes les fonctionnalités de l’interface web sont disponibles sous forme de plugin PowerShell, ce qui permet d’automatiser l’administration de la solution.
http://technet.microsoft.com/library/jj151815.aspx
http://technet.microsoft.com/fr-fr/library/jj984289(v=exchg.150).aspx
http://office.microsoft.com/en-us/sharepoint-help/introduction-to-the-sharepoint-online-management-shell-HA102915057.aspx
http://technet.microsoft.com/fr-fr/library/dn362795.aspx
Si l’on ne souhaite pas mettre en place l’authentification unique, un assistant permet de configurer l’ensemble de la solution en quelques minutes (ajout des domaines de messagerie de l’entreprise…).
Si l’on souhaite activer l’authentification unique, il est alors nécessaire de déployer en interne un serveur ADFS (fédération d’identité) et un serveur DirSync (pour synchroniser l’annuaire Active Directory de l’entreprise avec l’annuaire Windows Azure Active Directory). Nous reviendrons dans un prochain article sur la mise en œuvre de ces deux technologies. Il est nécessaire de prendre en compte les 3 éléments suivants :
– La mise en œuvre d’ADFS / DirSync nécessite de modifier l’attribut UserPrincipalName (login) de chaque compte utilisateur. Cet attribut doit prendre la valeur de l’adresse email de l’utilisateur. Cela peut impacter les applications métiers.
– Une fois DirSync activé au niveau du Tenant Office 365, l’administration des comptes utilisateurs se fait uniquement via l’annuaire local. L’administration des comptes utilisateurs via le Microsoft Online Portal est bloquée. Pour ajouter une adresse SMTP à un utilisateur, il faut modifier manuellement l’attribut ProxyAddresses du compte utilisateur dans l’annuaire Active Directory et exécuter DirSync pour que le changement soit répliqué dans Windows Azure Active Directory.
– En cas de défaillance du serveur ADFS (fédération d’identité), les utilisateurs ne peuvent plus se connecter aux services Office 365.
La mise en œuvre d’Office 365 ne sera pas sans impact sur vos accès Internet principalement pour les raisons suivantes :
– Microsoft permet de disposer de boîte aux lettres de 50 Go. Il ne faut cependant pas oublier que les clients Outlook vont télécharger ces 50 Go et générer du trafic messagerie. Il est à noter que depuis Outlook 2013, il est possible de configurer le volume de données mis en cache. Je vous invite à utiliser cet outil pour calculer votre besoin au niveau de vos accès Internet :
http://blogs.technet.com/b/exchange/archive/2012/02/10/announcing-the-exchange-client-network-bandwidth-calculator-beta.aspx
– Les services d’audioconférence et vidéoconférence de Lync Online sont très gourmands en bande passante et nécessite une latence et gigue correcte. Je vous invite à utiliser cet outil pour estimer vos besoins :
http://www.microsoft.com/en-us/download/details.aspx?id=19011
– Office 365 nécessite que certains sites web soient accessible et parfois sans authentification. Il sera donc probablement nécessaire de reconfigurer vos serveurs proxy (nouvelles règles) et de valider que ces derniers supportent la charge réseau générée par les services Office 365. Je vous invite à consulter ces deux articles :
http://technet.microsoft.com/en-us/library/hh373144.aspx
http://support.microsoft.com/kb/2637629/en-us
– En moyenne un utilisateur Office 365 utilise en permanence une dizaine de connexions TCP uniquement pour les services Office 365. Si on dispose de plus de 4000 utilisateurs sur la même connexion Internet avec une seule adresse IP publique, il est possible d’occuper tous les ports TCP au niveau du routeur NAT et donc d’entraîner des problèmes de connectivité Internet.
Nous reviendrons sur tous ces points dans l’article consacré à l’optimisation des connexions Internet pour Office 365.
Office 365 est un service en perpétuelle évolution. Il existe peu de documentations sur le produit et cette documentation est souvent obsolète car basée sur une version précédente d’Office 365.
Nous sommes déjà à la version 3 d’Office 365 lancée le 28 février 2013 (V1 = BPOS, V2 = Office 365 génération 2010 d’Exchange, Lync et SharePoint). Des composants comme DirSync ont beaucoup évolués (ajout de fonctionnalités comme le filtrage par OU, le déploiement sur des contrôleurs de domaine, la synchronisation des mots de passe entre l’annuaire locale et l’annuaire Windows Azure Active Directory…).
Pour cette raison, je vous invite à toujours valider la date de rédaction d’un article sur Office 365 et de se référer au maximum au site web Technet (dont le site EXDEPLOY) et aux blogs de l’équipe Office 365.
http://technet.microsoft.com/en-us/exchange/jj657516.aspx
http://technet.microsoft.com/fr-fr/office365/hh528489.aspx
http://community.office365.com/fr-fr/default.aspx
http://blogs.office.com/

Pour conclure, je vous invite à vous créer un compte Office 365 d’évaluation pour vous faire votre propre avis : http://office.microsoft.com/fr-fr/business/microsoft-office-365-entreprise-e3-FX103030346.aspx

A+

Guillaume MATHIEU
Consultant Proservia
La connaissance s’accroît quand on la partage.

Publié dans Annuaire, Exchange, Office 365, Réseau | Laisser un commentaire

Comment simplifier et automatiser la migration d’un serveur de fichiers SAMBA vers Windows 2012

1. OBJECTIFS DE CET ARTICLE :
– Présenter le fonctionnement d’un serveur de fichiers SAMBA.
– Présenter une procédure de migration d’un serveur de fichiers SAMBA vers un serveur de fichiers Windows 2012 membre d’un domaine Active Directory.

2. INSTALLATION ET TEST D’UN SERVEUR DE FICHIERS SAMBA :
2.1 Installation d’un serveur de fichiers SAMBA 3.X :

L’article ci-dessous présente la procédure d’installation d’un serveur de fichiers SAMBA sous CENTOS 6 membre d’un domaine Active Directory.
http://phreek.org/guides/centos-6-samba-ad-member-server
Il faut configurer / désactiver SE LINUX pour que ce serveur fonctionne correctement.
https://www.centos.org/docs/5/html/5.1/Deployment_Guide/sec-sel-enable-disable.html

2.2 Test d’un serveur de fichiers SAMBA 3.X :
Pour accéder aux données partagées, un utilisateur doit disposer de permissions au niveau de SAMBA (smb.conf) et de permissions sur le système de fichiers (EXT3 / EXT4 généralement).
C’est le cumul le plus restrictif qui s’applique. Si un utilisateur a le droit Lire et écrire avec les permissions SAMBA et le droit Lire au niveau des permissions EXT3 / EXT4, l’utilisateur aura uniquement le droit de lire le fichier.
Il n’y a pas de notions d’héritage en Linux avec le système de fichiers EXT3 / EXT4.
Les paramètres create mask = 0770 et directory mask = 0770 permettent de définir les droits sur un nouveau fichier / nouveau dossier créé par un utilisateur au niveau des permissions EXT3/EXT4.
Avec un create mask = 0770, lorsque le compte utilisateur guillaume.mathieu accède au partage SAMBA et crée un fichier, seul le compte guillaume.mathieu et son groupe primaire (utilisa du domaine par défaut) ont le droit de lire et écrire sur ce fichiers. Les autres utilisateurs n’ont pas d’accès à ce fichier.
Il est possible de corriger ce comportement en exécutant tous les jours un script qui modifie les permissions pour chaque dossier.
Ce comportement fait que généralement le groupe Utilisa du domaine a trop de permissions sur le système de fichiers Linux. C’est pour cette raison que généralement, je ne migre pas les permissions Linux.

3. INSTALLER LE SERVEUR DE FICHIERS WINDOWS 2012 :
Désactiver l’UAC sur le serveur Windows 2012 (Panneau de configuration | Comptes utilisateurs).
Configurer PowerShell pour autoriser l’exécution de script :
Set-ExecutionPolicy Unrestricted
Installer Quest ActiveRoles Management Shell (permet le fonctionnement de la solution sur des domaines Active Directory géré par des contrôleurs de domaine Windows 2000 et versions ultérieures) :
http://www.quest.com/powershell/activeroles-server.aspx

4. RECREER L’ARBORESCENCE DE FICHIERS VIDE :
La première étape est de recréer l’arborescence de fichiers vide.
Pour cela, partager le ou les dossiers racines sur le serveur de fichiers non Windows (avec SAMBA).
Monter chaque partage sous forme d’un lecteur réseau sur une machine Windows.
Exporter l’arborescence vide  à l’aide de la commande suivante :
Get-ChildItem -Recurse | Where-Object {$_.Attributes -eq “Directory”} | Select-Object FullName | Export-Csv -Path C:\Scripts\Arborescences\arborescences.csv -UseCulture -Encoding UTF8
Remarque :
Pour une arborescence avec 300000 fichiers, on obtient un fichier de 50 Mo.
Ce fichier doit être au format UTF8 pour que la solution fonctionne.

Il faut maintenant importer l’arborescence vide sur le serveur Windows 2012 à l’aide de ce script :
$base = Import-csv -Path C:\Scripts\Arborescences\arborescences.csv -UseCulture -Encoding UTF8
foreach ($line in $base)
{
$line.FullName
New-Item $line.FullName -Type Directory -force
}

5. CREER UN FICHIER EXCEL AVEC LA LISTE DES DOSSIERS AVEC DES PERMISSIONS NTFS SPECIFIQUES ET LA LISTE DES PARTAGES :

5.1 Créer le fichier Excel :
Le fichier doit contenir les colonnes suivantes :
– Name : nom du partage (utilisé si CreateShare égale à Yes).
– Path : cette valeur est utilisée pour créer le partage et définir les permissions NTFS.
– Description : cette valeur est copiée dans le champ Description du partage.
– RO : tous les groupes / comptes utilisateurs qui disposent d’un accès en lecture uniquement. Utiliser une virgule comme séparateur entre les groupes / comptes utilisateurs.
– RW : tous les groupes / comptes utilisateurs qui disposent d’un accès en lecture et écriture. Utiliser une virgule comme séparateur entre les groupes / comptes utilisateurs.
– CreateShare : si contient la valeur Yes, le script créera un partage.

5.2 Analyser le fichier SMB.CONF et les permissions EXT3 / EXT4 :
Analyser le fichier SMB.CONF du serveur de fichiers SAMBA :
– Créer une entrée dans le fichier Excel pour chaque partage.
– Ne pas mettre de guillemets ou de points virgules dans le fichier Excel.
– Compléter les colonnes RO et RW du fichier Excel selon les permissions SAMBA définis dans le fichier SMB.CONF et les permissions EXT3 / EXT4 (analyse avec la commande Linux getfacl).
Pour cela, il faut s’appuyer sur les règles de conversion permissions SAMBA – permissions SMB Windows ci-dessous.
Règle 1 :
– Permissions SAMBA : aucun paramètre.
– Permissions SMB Windows : lecture seule pour tout le monde
Règle 2 :
– Permissions SAMBA : writable = yes
– Permisions SMB Windows : lecture / écriture pour tout le monde
Règle 3 :
– Permissions SAMBA : read only = yes
– Permisions SMB Windows : lecture seule pour tout le monde
Règle 4 :
– Permissions SAMBA : read only = yes
write list = guillaume.mathieu
– Permissions SMB Windows : lecture seule pour tout le monde et lecture / écriture pour guillaume.mathieu
Règle 5 :
– Permissions SAMBA : read only = yes
writable = yes
– Permissions SMB Windows : lecture / écriture pour tout le monde
Règle 6 :
– Permissions SAMBA : valid users = guillaume.mathieu
– Permissions SMB Windows : Accès en lecture seule pour guillaume.mathieu. Pas d’accès pour les autres utilisateurs.
Règle 7 :
– Permissions SAMBA : valid users = guillaume.mathieu
read only = no
– Permissions SMB Windows : Accès en lecture / écriture pour guillaume.mathieu. Pas d’accès pour les autres utilisateurs.
Règle 8 :
– Permissions SAMBA : valid users = guillaume.mathieu, tigrou.mathieu
read only = no
read list = tigrou.mathieu
– Permissions SMB Windows : accès en lecture seule pour tigrou.mathieu, accès en lecture / écriture pour guillaume.mathieu, pas d’accès pour les autres utilisateurs.

5.3 Conversion du fichier Excel au format CSV :
Sélectionner la colonne Path et afficher les lignes par ordre alphabétique.
Copier / coller le résultat dans un nouveau fichier Excel.
Exporter le nouveau fichier au format CSV avec des points virgules comme séparateur.
http://office.microsoft.com/en-us/excel-help/import-or-export-text-txt-or-csv-files-HP010342598.aspx
Ouvrir le fichier obtenu avec NOTEPAD et l’enregistrer au format UTF8.

5.4 Créer les groupes, les partages et les permissions de partage :
Télécharger et exécuter le script suivant : http://msreport.free.fr/articles/Create-Groups-Share.txt
Ce script génère un fichier appelé startCreateGroupsShare.txt
Il faudra ensuite renommer ce fichier avec l’extension .ps1 et l’exécuter. Ce script permet de :
– Créer un groupe NomPartage_L pour les accès en lecture  uniquement.
– Créer un groupe NomPartage_M pour les accès en lecture / écriture.
– Créer un partage si la colonne CreateShare a pour valeur Yes. Donner les permissions de lecture seule sur ce partage au groupe NomPartage_L et lecture / écriture au groupe NomPartage_M.
Astuces :
– Utiliser PowerShell ISE pour vérifier le bon fonctionnement du script StartCreateGroupsShare.ps1.
– Vérifier qu’aucun champ ne contient des guillemets.

6. APPLICATION DES PERMISSIONS NTFS :
6.1 Définir les permissions NTFS sur chaque dossier racine sur le serveur de fichiers Windows :
Au niveau de chaque dossier racine, aller dans l’onglet Sécurité puis cliquer sur le bouton Avancé.
Cliquer sur le bouton Désactivé l’héritage et supprimer les permissions héritées.
Donner le droit contrôle totale aux objets System et administrateurs (le groupe administrateurs du serveur).
Forcer tous les sous dossiers à hériter leur droit de ce dossier.

6.2 Définir les permissions NTFS à partir du fichier Excel :
Télécharger et exécuter le script suivant : http://msreport.free.fr/articles/Define-NTFSPermissions.txt
Ce dernier permet de définir sur chaque dossier du fichier Excel :
– Les permissions NTFS Lecture au groupe NomPartage_L
– Les permissions NTFS Lecture / écriture au groupe NomPartage_M
– Forcer l’application de l’héritage sur tous les fichiers / dossiers enfants.

A+
Guillaume MATHIEU
Consultant Proservia
http://msreport.free.fr
La connaissance s’accroît quand on la partage.

 

Publié dans Active Directory, Annuaire, Outils, SAMBA, Scripts | Laisser un commentaire

Protection contre le vol de jeton d’accès (access token) avec INCOGNITO.EXE

Salut à tous

Cet article a pour but :
– De vous présenter ce qu’est un SID, un service, un processus.
– De vous présenter ce qu’est un jeton d’accès (access token).
– De vous présenter ce qu’est un privilège et l’impersonation.
– Vous expliquez comment voler un jeton d’accès pour récupérer des droits (comme admins du domaine) avec un compte administrateur local uniquement.
– Vous protégrer contre le vol de jeton.

1. QU’EST-CE QU’UN SID, SERVICE, PROCESSUS ?
Un SID est un identifiant unique qui correspond à une ressource : un compte utilisateur, un groupe ou un compte ordinateur. Un SID permet de donner des permissions.
Quand on donne des permissions à l’utilisateur Admin-ldap sur un dossier appelé Divers (dans l’onglet Sécurité), seul le SID de ce compte est stocké au niveau du système de fichiers. Windows résout le SID en nom pour l’afficher dans l’onglet Sécurité pour simplifier la tâche de l’administrateur. Si on supprime le compte utilisateur Admin-ldap et que l’on ferme / ouvre de nouveau la session, l’ancien compte utilisateur apparaît sous forme d’un SID inconnu dans l’onglet Sécurité du dossier appelé Divers.
Le SID est unique par domaine et ne peut pas être affecté à une autre ressource.
Pour afficher le SID d’un utilisateur, utiliser ADSIEDIT ou l’outil PSGETSID :
http://technet.microsoft.com/en-us/sysinternals/bb897417.aspx
Un SID dispose de 3 parties.
Exemple avec S-1-5-21-1712426984-1618080182-1209977580-1109 :
S-1-5- : indique que le SID a été généré par Windows Security_NT_Authority.
21-1712426984-1618080182-1209977580 : représente l’identifiant unique du domaine
1109 : c’est l’identifiant unique de la ressource (un compte utilisateur dans notre cas).
Certains SID s’affichent sous la forme suivante : S-1-5-32-544, S-1-5-32-545. Il s’agit des SID des groupes par défaut comme administrateurs ou utilisateurs authentifiés.

Les services sont des exécutables qui démarrent manuellement ou automatiquement dans le contexte d’un compte utilisateur spécifique (voir console services.msc).
Par exemple, le service NETLOGON s’exécute avec le compte SYSTEM (compte système local) et lance l’exécutable c:\windows\system32\lsass.exe.

Un processus est généré pour chaque exécutable qui démarre sur le système Windows (un service ou une application). On peut voir la liste des processus dans le gestionnaire des tâches (onglet Processus).

2. QU’EST-CE QU’UN JETON D’ACCÈS ?
Un jeton d’accès (ou Token, Access Token, Security Token : ce sont des synonymes / traductions) contient :
– Le SID (et le(s) SID History) du compte utilisateur du domaine.
– Le SID (et le(s) SID History) de chaque groupe du domaine auquel l’utilisateur appartient directement ou indirectement (un groupe membre d’un autre groupe).- Le SID de chaque groupe local (groupe de la base SAM de la machine) auquel l’utilisateur appartient
– La liste des privilèges de l’utilisateur (voir paragraphe ci-dessous pour plus d’informations).
Pour visualiser le contenu d’un jeton d’accès, il est possible d’utiliser l’outil Token SZ téléchargeable à cette adresse :
http://www.microsoft.com/en-us/download/details.aspx?id=1448
Sur une machine Windows 2003, lancer la commande suivante :
tokensz.exe /compute_tokensize /dump_groups
Cette commande liste tous le SID du compte utilisateur et des groupes dont il est membre directement (ou indirectement) ainsi que tous ses privilèges.
Un jeton d’accès est généré quand un processus démarre.
Un jeton d’accès permet d’accéder à une ressource (validation des ACL sur les volumes en NTFS…).
Il existe différents types de jeton d’accès :
– Jeton primaire (Primary Token) : ce type de jeton est généré lors des ouvertures de session interactive (locale) ou Batch et sont dit de type 2 dans les événements du journal de sécurité.
– Impersonation jeton (Impersonation Token) : ce type de jeton est généré lors des ouvertures de session réseau et sont dit de type 3 dans les événements du journal de sécurité.

Dans l’exemple ci-dessous, le processus d’ouverture de session Novell (quand on installe le client Novell) initie une ouverture de session interactive (type = 2) :
Type de l’événement : Audit des succès
Source de l’événement : Security
Catégorie de l’événement : Ouverture/Fermeture de session
ID de l’événement : 528
Date : 12/5/2013
Heure : 12:24:14 PM
Utilisateur : ARCHIDFS\administrateur
Ordinateur : SRVDFSR1
Description :
Ouverture de session réseau réussie :
Utilisateur : administrateur
Domaine : ARCHIDFS
Id. de la session : (0x0,0x10BB91)
Type de session : 2
Processus de session : NWGINA
Package d’authentification : Negotiate
Station de travail : SRVDFSR1
GUID d’ouv. de session : {c1d9aa40-fb49-ef62-aa1a-c3b1274d8389}
Nom de l’utilisateur appelant : SRVDFSR1$
Domaine appelant : ARCHIDFS
Id. de session de l’appelant : (0x0,0x3E7)
ID de processus appelant : 372
Services en transit : -% Adresse réseau source : –
Port source : –

Pour plus d’informations sur les jetons d’accès :
http://blogs.technet.com/b/askds/archive/2007/11/02/what-s-in-a-token.aspx
http://blogs.technet.com/b/askds/archive/2008/01/11/what-s-in-a-token-part-2-impersonation.aspx

3. QU’EST-CE QU’UN PRIVILÈGE ET L’IMPERSONATION ?
Pour simplifier, les privilèges ce sont des droits donnés à un utilisateur comme le fait de pouvoir contourner les permissions NTFS (Take ownership of files or other objects) ou d’accéder à la mémoire (Debug programs) au niveau de la base de registre.
Les comptes administrateur et SYSTEM dispose de tous les droits sur une machine Windows car ils disposent d’un accès presque complet au système de fichiers (permissions NTFS) et de tous privilèges.

L’article Microsoft http://technet.microsoft.com/en-us/library/bb457125.aspx explique la notion de privilège en détails sur un système Windows. Ci-dessous la liste des privilèges (autres que ceux pour ouvrir une session…) :
– Act as part of the operating system(SeTcbPrivilege) : ce privilège permet d’outrepasser certains contrôles lors de l’ouverture de session. Il est réservé aux processus censés ouvrir les sessions des utilisateurs. Par exemple, winlogon.exe et le service seclogon ont besoin de ce privilège. Il est recommandé de donner ce privilège à personne.
– Add workstations to domain (SeMachineAccountPrivilege) : permet d’ajouter une machine dans le domaine (jusqu’à 10 stations de travail par défaut).
Adjust memory quotas for a process(SeIncreaseQuotaPrivilege)
– Back up files and directories(SeBackupPrivilege) : permet de sauvegarder les données même sans avoir les permissions.
– Bypass traverse checking (SeChangeNotifyPrivilege)
– Change the system time (SeSystemTimePrivilege) : permet de changer l’heure sur une machine.
– Create a token object (SeCreateTokenPrivilege) : créer un jeton d’accès.
– Create a pagefile (SeCreatePagefilePrivilege) : permet de créer le fichier pagefile.sys.
– Create global objects (SeCreateGlobalPrivilege)
– Debug programs (SeDebugPrivilege) : ce droit permet à un utilisateur d’accéder à l’espace mémoire de n’importe quels processus. C’est sur ce privilège que repose l’outil INCOGNITO.EXE (pour le vol de jeton d’accès). Normalement, aucun service de production ne doit reposer sur ce privilège, il sert en général au développement d’applications et au troubleshooting avancé. Par défaut, les Administrateurs ont ce privilège. Il est recommandé de changer ce paramètre par défaut (définir la GPO avec aucun compte sauf besoin spécifique).
– Enable computer and user accounts to be trusted for delegation (SeEnableDelegationPrivilege) : permet de faire de la délégation (voir paragraphe sur la délégation ci dessous).
– Force shutdown from a remote system (SeRemoteShutdownPrivilege) : permet d’arrêter la machine à distance.
– Generate security audits (SeAuditPrivilege) : détermine le compte qui peut générer des événements dans le journal sécurité.
– Impersonate a client after authentication (SeImpersonatePrivilege) : permet à un processus de prendre l’identité d’un utilisateur qu’il aurait authentifié.  Par défaut, les Administrateurs, SERVICE, LOCAL SERVICE et NETWORK SERVICE ont ce privilège. Seuls des comptes de services (dont ceux built-ins) réalisant de l’impersonation devraient avoir ce privilège.
– Increase scheduling priority (SeIncreaseBasePriorityPrivilege) : permet de déterminer quel compte utilisateur a le droit de changer la priorité d’un processus dans le gestionnaire de tâches.
– Load and unload device drivers (SeLoadDriverPrivilege) : permet de déterminer qui peut charger / décharger un pilote.
– Lock pages in memory (SeLockMemoryPrivilege) : détermine les comptes utilisateurs peuvent utiliser un processus destiné à conserver les données en mémoire physique pour éviter leur pagination en mémoire virtuelle sur le disque.
– Manage auditing and security log (SeSecurityPrivilege) : détermine les comptes utilisateurs qui peuvent définir des entrées d’audit au niveau d’un dossier / registre et qui peuvent accéder / purger au journal Sécurité.
– Modify firmware environment values (SeSystemEnvironmentPrivilege) : Permet de configurer le mode dernière bonne configuration sur un système 32 bits et 64 bits et d’exécuter la commande bootcfg (modification du démarrage) sur OS Windows 64 bits uniquement.
– Perform volume maintenance tasks (SeManageVolumePrivilege) : déterminer les comptes utilisateurs qui peuvent planifier des tâches de maintenance sur un volume disque.
– Profile single process (SeProfileSingleProcessPrivilege) : détermine les comptes utilisateurs qui peuvent des analyses de performance sur des processus non systèmes.
– Profile system performance (SeSystemProfilePrivilege) : détermine les comptes utilisateurs qui peuvent des analyses de performance sur des processus systèmes.
– Remove computer from docking station (SeUndockPrivilege)
– Replace a process-level token (SeAssignPrimaryTokenPrivilege) : permet de changer ou d’assigner le jeton principal d’une application. Permet notamment de lancer un processus en tant qu’un autre utilisateur après s’être authentifié. C’est un usage plutôt orienté service. Par défaut seuls Network Service et Local Service ont ce privilège. Seuls les comptes de services réalisant de l’impersonation devraient avoir ce privilège.
– Restore files and directories (SeRestorePrivilege) : permet de déterminer les comptes utilisateurs qui peuvent passer outre les permissions lors des opération de restauration. L’utilisateur dispose d’un équivalent des permissions NTFS Traverse Folder / Execute file et Write.
– Shut down the system (SeShutdownPrivilege) : détermine quel utilisateur peuvent arrêter un ordinateur.
– Synchronize directory service data (SeSynchAgentPrivilege) : voir article
https://www.ultimatewindowssecurity.com/wiki/WindowsSecuritySettings/Synchronize-directory-service-data
– Take ownership of files or other objects (SeTakeOwnershipPrivilege) : permet de devenir propriétaire d’un fichier / dossier et donc de redéfinit les permissions NTFS. Ce droit permet donc d’outrepasser les permissions NTFS.

Il est possible d’affecter ces privilèges à des comptes utilisateurs en modifiant les paramètres dans Computer Configuration\Security Settings\Local Policies\User Rights Assignment.

Parfois un processus s’exécute dans le contexte d’un compte utilisateur A mais a besoin d’effectuer une autre tâche dans le contexte d’un autre compte utilisateur B.
Exemple d’un serveur de fichiers (applicable aussi à un serveur web) :
Le service « Serveur » s’exécute dans le contexte du compte SYSTEM et gère l’accès aux partages de fichiers. Quand un utilisateur se connecte à un serveur de fichiers, le service «Server » va générer un jeton d’accès dans le contexte du compte de l’utilisateur pour contrôler les accès aux ressources par cet utilisateur.
Pour pouvoir effectuer cette impersonnalisation, le processus du service de partages de fichiers doit avoir le privilège Impersonate a client after authentication(SeImpersonatePrivilege.).
Il existe 4 types d’impersonation :
– Anonymous : un processus peut générer un jeton d’accès avec les privilèges d’un utilisateur anonyme.
– Identification : un processus peut prendre votre jeton pour valider votre identité mais ne peut rien faire d’autres avec (pas de contrôle d’accès).
– Impersonation : un processus peut faire une tâche différente en tant qu’un autre utilisateur. L’impersonation est limité à l’ordinateur local et ne peut être utilisé pour effectuer des actions sur d’autres machines (autres machines membres du domaine par exemple).
– Delegation : même principe que l’impersonation mais il est possible d’effectuer des tâches sur l’ordinateur local et d’autres ordinateurs (autres machines du domaine par exemple). Cette fonctionnalité s’appuie sur le protocole Kerberos (on parle de “Double Hop Authentication).

4. UTILISATION DE L’OUTIL INCOGNITO POUR VOLER UN JETON D’ACCES
L’outil INCOGNITO ne s’appuie pas sur la fonctionnalité d’impersonation.
Il vole les jetons d’accès en s’appuyant sur le privilège Debug programs (SeDebugPrivilege). Pour rappel ce droit permet à un utilisateur « d’ouvrir » n’importe quel processus, d’accéder à son espace mémoire et de copier ses ressources.
L’outil INCOGNITO est disponible à l’adresse suivante :
http://sourceforge.net/projects/incognito/
De nombreux antivirus le détectent comme un virus. Il sera donc nécessaire de l’installer sur une machine avec un antivirus dont le scan temps réel est désactivé.
Incognito est maintenant intégré dans l’outil METASPLOIT (détecté aussi comme un virus parfois). Voir :
http://www.offensive-security.com/metasploit-unleashed/Fun_With_Incognito
http://blogs.technet.com/b/askds/archive/2008/01/11/what-s-in-a-token-part-2-impersonation.aspx

Pour lister tous les jetons disponibles :
Ouvrir une invite de commande en system sous Windows XP.
Lancer la commande suivante pour effectuer cela :
at 01:23 /interactive cmd.exe
http://verbalprocessor.com/2007/12/05/running-a-cmd-prompt-as-local-system/
http://technet.microsoft.com/en-us/library/cc771525.aspx

Une fois l’invite de commande exécuté en tant qu’utilisateur SYSTEM, taper la commande suivante :
incognito.exe -h localhost -u administrateur -p P@ssword list_tokens -u
Une fois que l’on voit les jetons d’accès. Ceux qui sont marqués « Delegation » peuvent être volés et utiliser pour lancer une invite de commande avec la commande suivante (on vole le jeton de archidfs\administrator dans cet exemple qui est Domain Admins sur ma plateforme de tests):
incognito.exe -h localhost -u administrateur -p P@ssword execute -c archidfs\administrator cmd
Entrer la commande whoami pour valider l’utilisateur en cours dans l’invite de commande.

Pour supprimer le processus lancés par INCOGNITO :
incognito.exe -h localhost cleanup

5. COMMENT SE PROTEGER DE L’OUTIL INCOGNITO ?
Si on supprime le privilège “Deboguer ces paramètres de stratégie” (Debug programs – SeDebugPrivilege) l’outil ne fonctionne plus.

A+
Guillaume MATHIEU
Consultant Proservia
La connaissance s’accroît quand on la partage.
http://msreport.free.fr

Publié dans Active Directory, Annuaire, Outils, Sécurité, Scripts, Système, Troubleshouting, Windows 2000 Pro, Windows 2000 Server, Windows 2003 Server, Windows 2012, Windows NT4, Windows Server 2008, Windows Server 2008 R2, Windows Seven, Windows Vista, Windows XP | Un commentaire

Désactiver les comptes utilisateurs qui ne se sont pas connectés depuis plus de X jours -> merci PowerShell

Salut

Objectifs
– Désactiver les comptes utilisateurs qui ne se sont pas connectés depuis plus de X jours (67 dans l’exemple).
– Générer un rapport.

Architecture :
– 1 domaine Active Directory appelé MSREPORT.INTRA géré par deux contrôleurs de domaine Windows 2003 R2, MSREPORTDC1 et MSREPORTDC2.
– Un serveur de gestion sous Windows 2008 R2 avec le plugin Quest ActiveRoles Management Shell.
– Les comptes utilisateurs se trouvent dans une OU appelée Utilisateurs à la racine du domaine.

Solutions :
Installer sur une machine membre du domaine (ou contrôleur de domaine) PowerShell V2 et le module Quest ActiveRoles Management Shell.
Créer le fichier C:\_adm\Disable-accounts\Disable-UnsuedAccounts.ps1 et copier le code disponible à cette emplacement http://msreport.free.fr/articles/Disable-UnsuedAccounts.txt
Créer le fichier C:\_adm\Disable-UnsuedAccounts\Disable-UnsuedAccounts.bat. Copier le contenu ci-dessous dans ce fichier :
C:\Windows\System32\WindowsPowerShell\v1.0\Powershell.exe -file C:\_adm\Disable-accounts\Disable-UnsuedAccounts.ps1
Configurer une tâche planifiée pour exécuter ce fichier au moins une fois par mois. Vous devez exécuter cette tâche avec un compte utilisateur qui a le droit de désactiver les comptes utilisateurs au niveau de l’OU Utilisateurs.
Cette solution fonctionne avec des annuaires gérés par des contrôleurs de domaine Windows 2003 et versions ultérieures.

A+

Guillaume MATHIEU
Consultant Proservia
La connaissance s’accroît quand on la partage.
http://msreport.free.fr

Publié dans Active Directory, ActiveRoles for Server, Annuaire, Outils, PowerShell, Scripts, Système, Windows 2003 Server, Windows Server 2008, Windows Server 2008 R2 | Marqué avec , , | Laisser un commentaire