Skip to content

Commit 67134a9

Browse files
New Crowdin updates (#1453)
* New translations vbox-rocky.md (Ukrainian) * New translations ossec-hids.md (Ukrainian) * New translations active_directory_authentication.md (French) * New translations index.md (French) * New translations active_directory_authentication.md (French) * New translations apache-sites-enabled.md (Ukrainian) * New translations ossec-hids.md (Ukrainian) * New translations rkhunter.md (Ukrainian) * New translations 07-file-systems.md (Ukrainian) * New translations apache-sites-enabled.md (Ukrainian) * New translations mod_SSL_apache.md (Ukrainian) * New translations nginx-mainline.md (Ukrainian) * New translations nginx-multisite.md (Ukrainian)
1 parent 0ea3736 commit 67134a9

File tree

9 files changed

+1916
-16
lines changed

9 files changed

+1916
-16
lines changed

docs/gemstones/index.fr.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ author: Steven Spencer
55

66
# Collection de gems
77

8-
Bienvenue dans la section **Gems** ! Vous direz : _"mais que viennent faire ces Gemstones dans la doc de Rocky Linux ?"_ C'est une bonne question. Alors que les guides contiennent notre documentation pratique de longueur normale et que les livres contiennent notre documentation plus longue, les gems ne sont que de petits exemples simples. Vous avez un morceau de code Linux que vous utilisez tout le temps ou une commande préférée ? Peut-être avez-vous écrit un script en `bash`, `python` ou un autre langage Linux courant, que vous aimeriez partager car il vous aide dans votre travail quotidien avec Linux ? Si c'est le cas, **Gems** est l'endroit idéal pous votre contribution !
8+
Bienvenue dans la section **Gems** ! Vous direz : _"mais que viennent faire ces Gemstones dans la doc de Rocky Linux ?"_ C'est une bonne question. Alors que les guides contiennent notre documentation pratique de longueur normale et que les livres contiennent notre documentation plus longue, les gems ne sont que de petits exemples simples. Vous avez un morceau de code GNU/Linux que vous utilisez tout le temps ou une commande préférée ? Peut-être avez-vous écrit un script en `bash`, `python` ou un autre langage Linux courant, que vous aimeriez partager car il vous aide dans votre travail quotidien avec Linux ? Si c'est le cas, **Gems** est l'endroit idéal pous votre contribution !
99

1010
## Critères
1111

Lines changed: 311 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,311 @@
1+
---
2+
author: Hayden Young
3+
contributors: Krista Burdine, Steven Spencer, Sambhav Saggi, Antoine Le Morvan
4+
---
5+
6+
# Authentification avec Active Directory
7+
8+
## Prérequis
9+
10+
- Connaissances de base de Active Directory
11+
- Connaissances de base de LDAP
12+
13+
## Présentation de Active Directory
14+
15+
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.
16+
17+
Alors que la connexion de Linux à un cluster AD ne peut pas prendre en charge _toutes_ les fonctionnalités mentionnées, elle peut gérer les utilisateurs, les groupes et le contrôle d'accès. Il est même possible (grâce à quelques ajustements de configuration du côté Linux et à certaines options côté AD) de distribuer des clés SSH à l'aide d'Active Directory.
18+
19+
Ce guide, cependant, ne couvrira que la configuration de l'authentification par rapport à Active Directory côté GNU/Linux, et n'inclura aucune configuration supplémentaire du côté Windows.
20+
21+
## Intégration de Active Directory en utilisant SSSD
22+
23+
!!! note "Remarque"
24+
25+
Tout au long de ce guide, le nom de domaine "ad.company.local" sera utilisé pour
26+
représenter le domaine Active Directory. En accord avec ce guide, remplacez-le par le nom réel utilisé par votre domaine AD.
27+
28+
La première étape pour relier un système GNU/Linux à AD consiste à connecter votre Cluster AD, pour s'assurer que la configuration réseau est correcte des deux côtés.
29+
30+
### Préparations
31+
32+
- Assurez-vous que les ports suivants sont ouverts sur votre hôte GNU/Linux dans le contrôleur de domaine :
33+
34+
| Service | Port(s) | Notes |
35+
| -------- | ----------------- | --------------------------------------------------------------------------------------------------------- |
36+
| DNS | 53 (TCP+UDP) | |
37+
| Kerberos | 88, 464 (TCP+UDP) | Utilisé par `kadmin` pour définir et mettre à jour des mots de passe |
38+
| LDAP | 389 (TCP+UDP) | |
39+
| LDAP-GC | 3268 (TCP) | Catalogue global LDAP - vous permet de trouver des identifiants d'utilisateur à partir d'Active Directory |
40+
41+
- Assurez-vous d'avoir configuré votre contrôleur de domaine AD en tant que serveur DNS sur votre hôte Rocky Linux :
42+
43+
**En utilisant NetworkManager :**
44+
45+
```sh
46+
# where your primary NetworkManager connection is 'System eth0' and your AD
47+
# server is accessible on the IP address 10.0.0.2.
48+
[root@host ~]$ nmcli con mod 'System eth0' ipv4.dns 10.0.0.2
49+
```
50+
51+
- Assurez-vous que les horloges sont synchronisées des deux côtés (hôte AD et système GNU/Linux)
52+
53+
**Pour vérifier la date et l'heure sur Rocky Linux :**
54+
55+
```sh
56+
[user@host ~]$ date
57+
Wed 22 Sep 17:11:35 BST 2021
58+
```
59+
60+
- Installez les paquets nécessaires pour la connexion à AD côté GNU/Linux :
61+
62+
```sh
63+
[user@host ~]$ sudo dnf install realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation
64+
```
65+
66+
67+
### Connexion automatique
68+
69+
Maintenant, vous devriez être en mesure de vous connecter avec succès à votre ou vos serveurs AD à partir de votre hôte GNU/Linux.
70+
71+
```sh
72+
[user@host ~]$ realm discover ad.company.local
73+
ad.company.local
74+
type: kerberos
75+
realm-name: AD.COMPANY.LOCAL
76+
domain-name: ad.company.local
77+
configured: no
78+
server-software: active-directory
79+
client-software: sssd
80+
required-package: oddjob
81+
required-package: oddjob-mkhomedir
82+
required-package: sssd
83+
required-package: adcli
84+
required-package: samba-common
85+
```
86+
87+
Cela sera découvert à l'aide des enregistrements SRV pertinents stockés dans votre service DNS d'Active Directory.
88+
89+
### Rejoindre
90+
91+
Une fois que vous avez effectué avec succès une découverte de votre installation Active Directory à partir de l'hôte Linux, vous devriez pouvoir utiliser `realmd` pour rejoindre le domaine, ce qui orchestrera la configuration de `sssd` en utilisant `adcli` et d'autres outils.
92+
93+
```sh
94+
[user@host ~]$ sudo realm join ad.company.local
95+
```
96+
97+
Si ce processus affiche un problème de chiffrement comme `KDC has no support for encryption type`, essayez de mettre à jour la stratégie de chiffrement globale pour autoriser les algorithmes de chiffrement plus anciens :
98+
99+
```sh
100+
[user@host ~]$ sudo update-crypto-policies --set DEFAULT:AD-SUPPORT
101+
```
102+
103+
Si ce processus réussit, vous devriez maintenant pouvoir extraire les informations `passwd` d'un utilisateur d'Active Directory.
104+
105+
```sh
106+
[user@host ~]$ sudo getent passwd [email protected]
107+
[email protected]:*:1450400500:1450400513:Administrator:/home/[email protected]:/bin/bash
108+
```
109+
110+
!!! note "Remarque"
111+
112+
La commande `getent` récupère les données des bibliothèques Name Service Switch (NSS). Cela signifie que, contrairement à `passwd` ou `dig` par exemple, il va interroger différentes bases de données, y compris `/etc/hosts` pour `getent hosts` ou depuis `sssd` dans le cas de `getent passwd`.
113+
114+
`realm` fournit des options intéressantes que vous pouvez utiliser :
115+
116+
| Option | Observations |
117+
| ---------------------------------------------------------- | ---------------------------------------------------------------------- |
118+
| --computer-ou='OU=LINUX,OU=SERVERS,dc=ad,dc=company.local' | Le OU où stocker le compte du serveur |
119+
| --os-name='rocky' | Spécifie le nom du système d'exploitation stocké dans Active Directory |
120+
| --os-version='8' | Indique la version de l'OS stockée dans Active Directory |
121+
| -U admin_username | Indique un compte administrateur |
122+
123+
### Tentative d'Authentification
124+
125+
Now your users should be able to authenticate to your Linux host against Active Directory.
126+
127+
**Sous Windows 10 :** (qui possède sa propre copie de OpenSSH)
128+
129+
```
130+
C:\Users\John.Doe> ssh -l [email protected] linux.host
131+
Password for [email protected]:
132+
133+
Activate the web console with: systemctl enable --now cockpit.socket
134+
135+
Last login: Wed Sep 15 17:37:03 2021 from 10.0.10.241
136+
137+
```
138+
139+
If this succeeds, you have successfully configured Linux to use Active Directory as an authentication source.
140+
141+
### Définir le domaine par défaut
142+
143+
In a completely default setup, you will need to log in with your AD account by specifying the domain in your username (e.g., `[email protected]`). If this is not the desired behavior, and you instead want to be able to omit the domain name at authentication time, you can configure SSSD to default to a specific domain.
144+
145+
This is a relatively straightforward process, requiring a configuration tweak in your SSSD configuration file.
146+
147+
```sh
148+
[user@host ~]$ sudo vi /etc/sssd/sssd.conf
149+
[sssd]
150+
...
151+
default_domain_suffix = ad.company.local
152+
```
153+
154+
En ajoutant le paramètre `default_domain_suffix`, vous indiquez à SSSD (si aucun autre domaine n'est spécifié) que l'utilisateur tente de s'authentifier en tant que membre du domaine `ad.company.local`. Cela vous permet de vous authentifier en tant que `john.doe` au lieu de `[email protected]`.
155+
156+
Pour que cette modification de configuration prenne effet, vous devez redémarrer `sssd.service` avec `systemctl`.
157+
158+
```sh
159+
[user@host ~]$ sudo systemctl restart sssd
160+
```
161+
162+
De la même manière, si vous ne voulez pas que vos répertoires personnels soient suffixés par le nom de domaine, vous pouvez ajouter ces options dans votre fichier de configuration `/etc/sssd/sssd. onf`:
163+
164+
```
165+
[domain/ad.company.local]
166+
use_fully_qualified_names = False
167+
override_homedir = /home/%u
168+
```
169+
170+
N'oubliez pas de redémarrer le service `sssd`.
171+
172+
### Restreindre à certains utilisateurs
173+
174+
Il existe différentes méthodes pour restreindre l'accès au serveur à une liste limitée d'utilisateurs, mais cela, comme le nom le suggère, est certainement le plus simple :
175+
176+
Ajoutez ces options dans votre fichier de configuration `/etc/sssd/sssd.conf` et redémarrez le service :
177+
178+
```
179+
access_provider = simple
180+
simple_allow_groups = groupe1, groupe2
181+
simple_allow_users = user1, user2
182+
```
183+
184+
Maintenant, seuls les utilisateurs du groupe1 et du groupe2, ou user1 et user2 pourront se connecter au serveur en utilisant sssd !
185+
186+
## Interagir avec la AD en utilisant `adcli`
187+
188+
`adcli` est un CLI pour effectuer des actions sur un domaine Active Directory.
189+
190+
- S'il n'est pas encore installé, installez le paquet requis :
191+
192+
```sh
193+
[user@host ~]$ sudo dnf install adcli
194+
```
195+
196+
- Tester si vous avez déjà rejoint un domaine Active Directory :
197+
198+
```sh
199+
[user@host ~]$ sudo adcli testjoin
200+
Validé avec succès pour rejoindre le domaine ad.company.local
201+
```
202+
203+
- Obtenir des informations plus détaillées sur le domaine :
204+
205+
```sh
206+
[user@host ~]$ adcli info ad.company.local
207+
[domain]
208+
domain-name = ad.company.local
209+
domain-short = AD
210+
domain-forest = ad.company.local
211+
domain-controller = dc1.ad.company.local
212+
domain-controller-site = site1
213+
domain-controller-flags = gc ldap ds kdc timeserv closest writable full-secret ads-web
214+
domain-controller-usable = yes
215+
domain-controllers = dc1.ad.company.local dc2.ad.company.local
216+
[computer]
217+
computer-site = site1
218+
```
219+
220+
- Plus qu'un outil de consultation, vous pouvez utiliser adcli pour interagir avec votre domaine : gérer les utilisateurs ou les groupes, modifier le mot de passe, etc.
221+
222+
Exemple : utiliser `adcli` pour obtenir des informations sur un ordinateur :
223+
224+
!!! note "Remarque"
225+
226+
Cette fois, nous fournirons un nom d'utilisateur admin grâce à l'option `-U`
227+
228+
```sh
229+
[user@host ~]$ adcli show-computer pctest -U admin_username
230+
Password for admin_username@AD:
231+
sAMAccountName:
232+
pctest$
233+
userPrincipalName:
234+
- not set -
235+
msDS-KeyVersionNumber:
236+
9
237+
msDS-supportedEncryptionTypes:
238+
24
239+
dNSHostName:
240+
pctest.ad.company.local
241+
servicePrincipalName:
242+
RestrictedKrbHost/pctest.ad.company.local
243+
RestrictedKrbHost/pctest
244+
host/pctest.ad.company.local
245+
host/pctest
246+
operatingSystem:
247+
Rocky
248+
operatingSystemVersion:
249+
8
250+
operatingSystemServicePack:
251+
- not set -
252+
pwdLastSet:
253+
133189248188488832
254+
userAccountControl:
255+
69632
256+
description:
257+
- not set -
258+
```
259+
260+
Exemple: utilisez `adcli` pour changer le mot de passe de l'utilisateur :
261+
262+
```sh
263+
[user@host ~]$ adcli passwd-user user_test -U admin_username
264+
Password for admin_username@AD:
265+
Password for user_test:
266+
[user@host ~]$
267+
```
268+
269+
## Dépannage
270+
271+
Parfois, le service réseau démarre après SSSD, ce qui pose problème avec l'authentification.
272+
273+
Aucun utilisateur AD ne sera en mesure de se connecter jusqu'à ce que vous redémarriez le service.
274+
275+
Dans ce cas, vous devrez remplacer le fichier de service du système pour gérer ce problème.
276+
277+
Copiez ce contenu dans `/etc/systemd/system/sssd.service` :
278+
279+
```
280+
[Unit]
281+
Description=System Security Services Daemon
282+
# SSSD must be running before we permit user sessions
283+
Before=systemd-user-sessions.service nss-user-lookup.target
284+
Wants=nss-user-lookup.target
285+
After=network-online.target
286+
287+
288+
[Service]
289+
Environment=DEBUG_LOGGER=--logger=files
290+
EnvironmentFile=-/etc/sysconfig/sssd
291+
ExecStart=/usr/sbin/sssd -i ${DEBUG_LOGGER}
292+
Type=notify
293+
NotifyAccess=main
294+
PIDFile=/var/run/sssd.pid
295+
296+
[Install]
297+
WantedBy=multi-user.target
298+
```
299+
300+
Lors du prochain redémarrage, le service sera relancé suivant ses nouvelles exigences et tout ira bien.
301+
302+
## Quitter l'Active Directory
303+
304+
Parfois, il est nécessaire de quitter la AD.
305+
306+
Vous pouvez à nouveau procéder avec `realm` et ensuite supprimer les paquets qui ne sont plus nécessaires :
307+
308+
```sh
309+
[user@host ~]$ sudo realm leave ad.company.local
310+
[user@host ~]$ sudo dnf remove realmd oddjob oddjob-mkhomedir sssd adcli krb5-workstation
311+
```

0 commit comments

Comments
 (0)