diff --git a/docs/gemstones/containers/podman.fr.md b/docs/gemstones/containers/podman.fr.md index 09dc549f86..9f31a32adb 100644 --- a/docs/gemstones/containers/podman.fr.md +++ b/docs/gemstones/containers/podman.fr.md @@ -99,7 +99,7 @@ Podman fournit également la sous-commande `generate systemd`. Il peut être uti !!! warning "Avertissement" ``` -`generate systemd` est désormais obsolète et ne recevra plus de fonctionnalités supplémentaires. L'utilisation de Quadlet est recommandée. +`generate systemd` est maintenant désuet et ne recevra plus de fonctionnalités. L'utilisation de `Quadlet` est recommandée. ``` Faisons-le désormais avec Nextcloud. Exécuter : diff --git a/docs/gemstones/network/RL9_network_manager.fr.md b/docs/gemstones/network/RL9_network_manager.fr.md index 7f55a6a20c..0c54b8bfed 100644 --- a/docs/gemstones/network/RL9_network_manager.fr.md +++ b/docs/gemstones/network/RL9_network_manager.fr.md @@ -42,7 +42,7 @@ Pour RockyLinux 8.x, nous avons expliqué comment configurer son réseau [ici](. ## Règles de nommage pour udev device manager -Pour RockyLinux 9.x, si vous allez dans le répertoire **/etc/sysconfig/network-scripts/** , il y aura un **readme-ifcfg-rh.txt** texte de description qui vous invite à vous rendre dans le répertoire **/etc/NetworkManager/system-connections/**. +Pour RockyLinux 9.x, si vous allez dans le répertoire **/etc/sysconfig/network-scripts/** , il y aura un texte descriptif **readme-ifcfg-rh.txt** qui vous invite à vous rendre dans le répertoire **/etc/NetworkManager/system-connections/**. ```bash Shell > cd /etc/NetworkManager/system-connections/ && ls diff --git a/docs/gemstones/network/nmtui.fr.md b/docs/gemstones/network/nmtui.fr.md index 2503ebb009..d3c4e5fd6e 100644 --- a/docs/gemstones/network/nmtui.fr.md +++ b/docs/gemstones/network/nmtui.fr.md @@ -50,7 +50,7 @@ Toutes les distributions RHEL 7.x ou !!! warning "Avertissement" - Dans les distributions RHEL 9.x, l'emplacement du répertoire où le fichier de configuration du réseau est stocké a été modifié, c'est-à-dire **/etc/NetworkManager/system-connections/**. Veuillez consulter [ce site](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/configuring_and_managing_networking/index) pour plus d'informations. + Dans les distributions RHEL 9.x, l'emplacement du répertoire où le fichier de configuration de la carte réseau est stocké a été modifié, soit **/etc/NetworkManager/system-connections/**. Veuillez consulter [ce site](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html-single/configuring_and_managing_networking/index) pour plus d'informations. ```bash shell > ls /etc/sysconfig/network-scripts/ diff --git a/docs/guides/security/authentication/active_directory_authentication.de.md b/docs/guides/security/authentication/active_directory_authentication.de.md new file mode 100644 index 0000000000..24a4c6e5db --- /dev/null +++ b/docs/guides/security/authentication/active_directory_authentication.de.md @@ -0,0 +1,311 @@ +--- +title: Active Directory-Authentifizierung +author: Hayden Young +contributors: Steven Spencer, Sambhav Saggi, Antoine Le Morvan, Krista Burdine, Ganna Zhyrnova, Neel Chauhan +tested_with: 9.4 +--- + +## Voraussetzungen + +- Grundverständnis von Active Directory +- Grundverständnis von LDAP + +## Einleitung + +Microsofts Active Directory (AD) ist in den meisten Unternehmen das de facto Authentifizierungssystem für Windows-Systeme und für externe LDAP-angeschlossene Dienste. Es erlaubt Ihnen, Benutzer und Gruppen zu konfigurieren, sowie Zugriffskontrolle, Berechtigungen, Auto-Mount und mehr. + +Während Linux mit einem AD-Cluster verbunden wird, können _nicht alle_ der genannten Funktionen unterstützt werden, es kann jedoch Benutzer, Gruppen und Zugriffskontrolle verwalten. Es ist sogar möglich SSH-Schlüssel unter Verwendung von AD zu verteilen (durch einige Konfigurationseinstellungen auf der Linux-Seite und durch einige fortgeschrittene Optionen auf der AD-Seite). + +Diese Anleitung deckt jedoch nur die Konfiguration der Authentifizierung gegen Active Directory ab und enthält keine zusätzliche Konfiguration auf der Windowsseite. + +## AD mit Hilfe von SSSD finden und verbinden + +!!! note "Hinweis" + + In dieser Anleitung wird der Domainname `ad.company.local` verwendet, um + die Active Directory Domain zu simulieren. Um dieser Anleitung zu folgen, ersetzen Sie sie durch den aktuellen Domain-Namen, den Ihre AD-Domain verwendet. + +Der erste Schritt auf dem Weg zu einem Linux-System in AD ist es, den AD-Cluster zu finden, um sicherzustellen, dass die Netzwerkkonfiguration auf beiden Seiten korrekt ist. + +### Zubereitung + +- Stellen Sie sicher, dass die folgenden Ports für Ihren Linux-Host auf Ihrem Domain Controller offen sind: + + | Dienst | Port(s) | Beschreibung | + | -------- | ----------------- | ------------------------------------------------------------------------------- | + | DNS | 53 (TCP+UDP) | | + | Kerberos | 88, 464 (TCP+UDP) | Verwendet von `kadmin` für die Einstellung & die Aktualisierung von Passwörtern | + | LDAP | 389 (TCP+UDP) | | + | LDAP-GC | 3268 (TCP) | LDAP Global Catalog - ermöglicht die Quell-Benutzer-IDs von AD zu übernehmen | + +- Stellen Sie sicher, dass Sie Ihren AD Domänencontroller als DNS-Server auf Ihrem Rocky Linux Host konfiguriert haben: + + **Mit dem NetworkManager:** + + ```sh + # where your primary NetworkManager connection is 'System eth0' and your AD + # server is accessible on the IP address 10.0.0.2. + [root@host ~]$ nmcli con mod 'System eth0' ipv4.dns 10.0.0.2 + ``` + +- Stellen Sie sicher, dass die Zeit auf beiden Seiten (AD Host und Linux System) synchronisiert ist (siehe chronyd) + + **Um die Zeit auf Rocky Linux zu überprüfen:** + + ```sh + [user@host ~]$ date + Wed 22 Sep 17:11:35 BST 2021 + ``` + +- Installieren bitte Sie die benötigten Pakete für die AD-Verbindung auf der Linux-Seite: + + ```sh + [user@host ~]$ sudo dnf install realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation + ``` + + +### Discovery + +Jetzt sollten Sie in der Lage sein, Ihre AD-Server erfolgreich von Ihrem (Rocky) Linux-Host zu finden. + +```sh +[user@host ~]$ realm discover ad.company.local +ad.company.local + type: kerberos + realm-name: AD.COMPANY.LOCAL + domain-name: ad.company.local + configured: no + server-software: active-directory + client-software: sssd + required-package: oddjob + required-package: oddjob-mkhomedir + required-package: sssd + required-package: adcli + required-package: samba-common +``` + +Die relevanten SRV-Einträge, die in Ihrem Active Directory-DNS-Dienst gespeichert sind, ermöglichen die Erkennung. + +### Verbindung + +Sobald Sie Ihre Active Directory Installation vom Linux-Host gefunden haben, sollten Sie in der Lage sein mit `realmd` der Domain beizutreten, welche die Konfiguration von `sssd` unter Verwendung von `adcli` und anderen solchen Tools orchestriert. + +```sh +[user@host ~]$ sudo realm join ad.company.local +``` + +Wenn sich dieser Prozess über die Verschlüsselung mit folgender Meldung beschwert `KDC has no support for this encrption type`, versuchen Sie, die globalen Verschlüsselungsrichtlinien zu aktualisieren, um ältere Verschlüsselungsalgorithmen zu zulassen: + +```sh +[user@host ~]$ sudo update-crypto-policies --set DEFAULT:AD-SUPPORT +``` + +Wenn dieser Prozess erfolgreich ist, sollten Sie jetzt in der Lage sein, `passwd` Informationen für einen Active Directory Benutzer zu bekommen. + +```sh +[user@host ~]$ sudo getent passwd administrator@ad.company.local +administrator@ad.company.local:*:1450400500:1450400513:Administrator:/home/administrator@ad.company.local:/bin/bash +``` + +!!! note "Hinweis" + + `getent` liest Einträge von Name Service Switch Bibliotheken (NSS). Es bedeutet, dass es im Gegensatz zu `passwd` oder `dig` zum Beispiel verschiedene Datenbanken abgefragen werden inklusive `/etc/hosts` für `getent hosts` oder von `sssd` im `getent passwd` Fall. + +`realm` bietet einige interessante Optionen, die Sie verwenden können: + +| Option | Beschreibung | +| ---------------------------------------------------------- | --------------------------------------------------- | +| --computer-ou='OU=LINUX,OU=SERVERS,dc=ad,dc=company.local' | Das OU, wo das Server-Konto gespeichert werden soll | +| --os-name='rocky' | Gibt den OS-Namen an, der im AD gespeichert ist | +| --os-version='8' | Gibt die OS-Version an, die im AD gespeichert ist | +| -U admin_username | Admin-Konto | + +### Authentifizierungs-Versuch + +Jetzt sollten Ihre Benutzer in der Lage sein, sich bei Ihrem Linux-Host gegen Active Directory zu authentifizieren. + +**Unter Windows 10** (welches eine eigene Kopie von OpenSSH bereitstellen sollte): + +```dos +C:\Users\John.Doe> ssh -l john.doe@ad.company.local linux.host +Password for john.doe@ad.company.local: + +Activate the web console with: systemctl enable --now cockpit.socket + +Last login: Wed Sep 15 17:37:03 2021 from 10.0.10.241 +[john.doe@ad.company.local@host ~]$ +``` + +Wenn dies gelingt, haben Sie Linux erfolgreich für die Verwendung von Active Directory als Authentifizierungsquelle konfiguriert. + +### Einstellung der Standard-Domain + +Bei einer vollständig standardmäßigen Einrichtung müssen Sie sich mit Ihrem AD-Konto anmelden, indem Sie die Domäne in Ihrem Benutzernamen angeben (z. B. `john.doe@ad.company.local`). Wenn dies nicht das gewünschte Verhalten ist und Sie stattdessen den Domänennamen bei der Authentifizierung weglassen möchten, können Sie SSSD so konfigurieren, dass standardmäßig eine bestimmte Domäne verwendet wird. + +Dies ist ein relativ unkomplizierter Vorgang, der eine Konfigurationsoptimierung in Ihrer SSSD-Konfigurationsdatei erfordert. + +```sh +[user@host ~]$ sudo vi /etc/sssd/sssd.conf +[sssd] +... +default_domain_suffix = ad.company.local +``` + +Durch Hinzufügen des `default_domain_suffix` weisen Sie SSSD an, (wenn keine andere Domäne angegeben ist) daraus zu folgern, dass der Benutzer versucht, sich als Benutzer aus der Domäne `ad.company.local` zu authentifizieren. Dadurch können Sie sich beispielsweise als `john.doe` statt als `john.doe@ad.company.local` authentifizieren. + +Damit diese Konfigurationsänderung wirksam wird, müssen Sie die Einheit `sssd.service` mit `systemctl` neu starten. + +```sh +[user@host ~]$ sudo systemctl restart sssd +``` + +Wenn Sie nicht möchten, dass Ihre Home-Verzeichnisse mit dem Domänennamen als Suffix versehen werden, können Sie diese Optionen auf die gleiche Weise in Ihre Konfigurationsdatei `/etc/sssd/sssd.conf` einfügen: + +``` +[domain/ad.company.local] +use_fully_qualified_names = False +override_homedir = /home/%u +``` + +Vergessen Sie nicht, den Dienst `sssd` neu zu starten. + +### Auf bestimmte Benutzer beschränken + +Es gibt verschiedene Methoden, den Zugriff auf den Server auf eine begrenzte Anzahl von Benutzern zu beschränken, aber diese ist, wie der Name schon sagt, sicherlich die einfachste: + +Fügen Sie diese Optionen in Ihre Konfigurationsdatei `/etc/sssd/sssd.conf` ein und starten Sie den Dienst neu: + +``` +access_provider = simple +simple_allow_groups = group1, group2 +simple_allow_users = user1, user2 +``` + +Jetzt können nur Benutzer aus `group1` und `group2` oder `user1` und `user2` über sssd eine Verbindung zum Server herstellen! + +## Interagieren Sie mit dem AD über `adcli` + +`adcli` ist eine CLI zum Ausführen von Aktionen in einer Active Directory-Domäne. + +- Falls noch nicht geschehen, installieren Sie das erforderliche Paket: + +```sh +[user@host ~]$ sudo dnf install adcli +``` + +- Testen Sie, ob Sie bereits einer Active Directory-Domäne beigetreten sind: + +```sh +[user@host ~]$ sudo adcli testjoin +Successfully validated join to domain ad.company.local +``` + +- Erhalten Sie weitere Informationen zur Domäne: + +```sh +[user@host ~]$ adcli info ad.company.local +[domain] +domain-name = ad.company.local +domain-short = AD +domain-forest = ad.company.local +domain-controller = dc1.ad.company.local +domain-controller-site = site1 +domain-controller-flags = gc ldap ds kdc timeserv closest writable full-secret ads-web +domain-controller-usable = yes +domain-controllers = dc1.ad.company.local dc2.ad.company.local +[computer] +computer-site = site1 +``` + +- `adcli` ist mehr als nur ein Anzeige-Tool. Sie können damit mit Ihrer Domäne interagieren: Benutzer oder Gruppen verwalten, Passwörter ändern usw. + +Beispiel: Verwenden Sie `adcli`, um Informationen über einen Computer abzurufen: + +!!! note "Hinweis" + + Dieses Mal geben Sie dank der Option `-U` einen Administrator-Benutzernamen an + +```sh +[user@host ~]$ adcli show-computer pctest -U admin_username +Password for admin_username@AD: +sAMAccountName: + pctest$ +userPrincipalName: + - not set - +msDS-KeyVersionNumber: + 9 +msDS-supportedEncryptionTypes: + 24 +dNSHostName: + pctest.ad.company.local +servicePrincipalName: + RestrictedKrbHost/pctest.ad.company.local + RestrictedKrbHost/pctest + host/pctest.ad.company.local + host/pctest +operatingSystem: + Rocky +operatingSystemVersion: + 8 +operatingSystemServicePack: + - not set - +pwdLastSet: + 133189248188488832 +userAccountControl: + 69632 +description: + - not set - +``` + +Beispiel: Verwenden Sie `adcli`, um das Passwort des Benutzers zu ändern: + +```sh +[user@host ~]$ adcli passwd-user user_test -U admin_username +Password for admin_username@AD: +Password for user_test: +[user@host ~]$ +``` + +## Problembehandlung + +Manchmal wird der Netzwerkdienst nach SSSD gestartet, was zu Problemen bei der Authentifizierung führt. + +Bis Sie den Dienst neu starten, können AD-Benutzer keine Verbindung herstellen. + +In diesem Fall müssen Sie die Servicedatei von systemd überschreiben, um das Problem zu beheben. + +Kopieren Sie diesen Inhalt in `/etc/systemd/system/sssd.service`: + +``` +[Unit] +Description=System Security Services Daemon +# SSSD must be running before we permit user sessions +Before=systemd-user-sessions.service nss-user-lookup.target +Wants=nss-user-lookup.target +After=network-online.target + + +[Service] +Environment=DEBUG_LOGGER=--logger=files +EnvironmentFile=-/etc/sysconfig/sssd +ExecStart=/usr/sbin/sssd -i ${DEBUG_LOGGER} +Type=notify +NotifyAccess=main +PIDFile=/var/run/sssd.pid + +[Install] +WantedBy=multi-user.target +``` + +Beim nächsten Reboot wird der Dienst entsprechend seinen Anforderungen gestartet und alles wird gut gehen. + +## Verlassen des Active Directory + +Manchmal ist es notwendig, die Active Directory zu verlassen. + +Sie können erneut mit `realm` fortfahren und dann die nicht mehr benötigten Pakete entfernen: + +```sh +[user@host ~]$ sudo realm leave ad.company.local +[user@host ~]$ sudo dnf remove realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation +``` diff --git a/docs/guides/security/authentication/active_directory_authentication.fr.md b/docs/guides/security/authentication/active_directory_authentication.fr.md index 35fa14acb9..eef6acb81a 100644 --- a/docs/guides/security/authentication/active_directory_authentication.fr.md +++ b/docs/guides/security/authentication/active_directory_authentication.fr.md @@ -10,7 +10,7 @@ tested_with: 9.4 - Connaissances de base de Active Directory - Connaissances de base de LDAP -## Présentation de Active Directory +## Introduction Active Directory (AD) de Microsoft est, dans la plupart des entreprises, le système d'authentification standard pour les systèmes Windows et pour les applications externes connectées à LDAP. Il permet de configurer les utilisateurs et les groupes, le contrôle d'accès, les permissions, le montage automatique, etc. @@ -100,7 +100,7 @@ Si ce processus affiche un problème de chiffrement comme `KDC has no support fo [user@host ~]$ sudo update-crypto-policies --set DEFAULT:AD-SUPPORT ``` -Si ce processus réussit, vous devriez maintenant pouvoir extraire les informations `passwd` d'un utilisateur d'Active Directory. +Si la procédure est couronnée de succès, vous devriez maintenant pouvoir extraire les informations `passwd` d'un utilisateur d'Active Directory. ```sh [user@host ~]$ sudo getent passwd administrator@ad.company.local @@ -124,7 +124,7 @@ administrator@ad.company.local:*:1450400500:1450400513:Administrator:/home/admin Now your users should be able to authenticate to your Linux host against Active Directory. -**Sous Windows 10 :** (qui possède sa propre copie de OpenSSH) +**Sous Windows 10** (qui possède sa propre implémentation de OpenSSH) : ```dos C:\Users\John.Doe> ssh -l john.doe@ad.company.local linux.host