Skip to content

Commit 482ba34

Browse files
Jessica FankamJessica Fankam
authored andcommitted
duplicate FR content for securing an esxi server
1 parent 2fdcc45 commit 482ba34

File tree

1 file changed

+302
-0
lines changed

1 file changed

+302
-0
lines changed
Lines changed: 302 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,302 @@
1+
---
2+
title: 'Maîtriser et sécuriser votre serveur dédié ESXi dès son premier démarrage'
3+
slug: esxi-hardening
4+
excerpt: 'Découvrez les différents moyens vous permettant de sécuriser efficacement votre serveur dédié ESXi'
5+
section: 'Sécurité'
6+
order: 5
7+
updated: 2023-03-07
8+
---
9+
10+
**Dernière mise à jour le 07/03/2023**
11+
12+
## Objectif
13+
14+
Cette documentation a pour objectif de vous accompagner pour élaborer au mieux la sécurisation de votre système ESXi.
15+
16+
En particulier, ce guide présente comment :
17+
18+
- limiter l'accès à votre ESXi à une adresse IP ou une plage réseau spécifique ;
19+
- désactiver des services augmentant la surface d'attaque de votre serveur.
20+
21+
Nous nous appuierons pour cela sur les fonctions embarquées que propose VMware, mais aussi celles offertes par OVHcloud.
22+
23+
> [!warning]
24+
>
25+
> Récemment, les systèmes ESXi ont été victimes d'une faille que des groupes malveillants ont exploitée très rapidement à travers les réseaux publics.
26+
>
27+
> Vous trouverez plus d'informations sur cette attaque dans [une FAQ complémentaire](https://docs.ovh.com/ca/fr/dedicated/esxi-faq/).
28+
>
29+
30+
### Rappel des bonnes pratiques de sécurité :
31+
32+
- Mettez à jour régulièrement vos systèmes ESXi.
33+
- Restreignez l’accès aux seules adresses IP de confiance.
34+
- Désactivez les ports ainsi que les services inutilisés.
35+
- Assurez-vous que les accès à vos serveurs ou vos équipements réseaux sont limités, contrôlés et protégés avec des mots de passe robustes.
36+
- Sauvegardez vos données critiques dans des disques externes et des serveurs de backup protégés et isolés d’Internet.
37+
38+
**Optionnel** :
39+
40+
- Mettez en place des solutions de journalisation nécessaires pour contrôler les évènements survenus sur vos serveurs critiques et vos équipements réseaux.
41+
- Mettez en place des packs de sécurité pour la détection des actions malveillantes, des intrusions (IPS / NIDS) et pour le contrôle de la bande passante de trafic réseau.
42+
43+
## Prérequis
44+
45+
- Être connecté à l'[espace client OVHcloud](https://ca.ovh.com/auth/?action=gotomanager&from=https://www.ovh.com/ca/fr/&ovhSubsidiary=qc){.external}.
46+
- Posséder un serveur dédié avec la solution ESXi déployée.
47+
- Avoir souscrit à une offre compatible avec notre fonctionnalité [Network Firewall](https://docs.ovh.com/ca/fr/dedicated/firewall-network/) si vous souhaitez l'utiliser pour effectuer le filtrage.
48+
49+
## En pratique
50+
51+
### La protection anti-intrusion native
52+
53+
Rappel de sa définition et son principe de fonctionnement :
54+
55+
> [!primary]
56+
>
57+
> Le système ESXi embarque un mécanisme de sécurité lié au compte administrateur.
58+
> En effet, en cas de plusieurs tentatives d'accès érronées, le compte administrateur est temporairement vérrouillé.
59+
> Ce mécanisme permet de protéger votre système et ainsi d'éviter les tentatives de connexions malveillantes.
60+
61+
> [!warning]
62+
>
63+
> Si ce système se déclenche et que vous souhaitez vous connecter à votre ESXi immédiatement, il vous faudra déverrouiller manuellement le compte administrateur.
64+
>
65+
> Pour cela, il vous sera nécessaire de [redémarrer](https://docs.ovh.com/ca/fr/dedicated/premiers-pas-serveur-dedie/#redemarrage-de-votre-serveur-dedie_1) votre serveur ESXi à travers l'espace client OVHcloud.
66+
>
67+
68+
Vous pouvez consulter l'historique des logs d'accès dans les fichiers suivants à partir d'un shell SSH :
69+
70+
- `/var/run/log/vobd.log` contient les logs qui peuvent être utilisés pour la supervision et la résolution de problèmes :
71+
72+
```
73+
2023-02-13T16:22:22.897Z: [UserLevelCorrelator] 410535559us: [vob.user.account.locked] Remote access for ESXi local user account 'root' has been locked for 900 seconds after 6 failed login attempts.
74+
2023-02-13T16:22:22.897Z: [GenericCorrelator] 410535559us: [vob.user.account.locked] Remote access for ESXi local user account 'root' has been locked for 900 seconds after 6 failed login attempts.
75+
2023-02-13T16:22:22.897Z: [UserLevelCorrelator] 410535867us: [esx.audit.account.locked] Remote access for ESXi local user account 'root' has been locked for 900 seconds after 6 failed login attempts.
76+
```
77+
78+
- `/var/run/log/hostd.log` contient les logs de l'hôte ESXi (tâches, accès à l'interface WEB, etc.) :
79+
80+
```
81+
2023-02-21T08:44:19.711Z error hostd[2101004] [Originator@6876 sub=Default opID=esxui-d48c-26a4] [module:pam_lsass]pam_do_authenticate: error [login:root][error code:2]
82+
2023-02-21T08:44:19.711Z error hostd[2101004] [Originator@6876 sub=Default opID=esxui-d48c-26a4] [module:pam_lsass]pam_sm_authenticate: failed [error code:2]
83+
2023-02-21T08:44:19.712Z warning hostd[2101004] [Originator@6876 sub=Default opID=esxui-d48c-26a4] Rejected password for user root from xxx.xxx.xxx.xxx
84+
2023-02-21T08:44:19.712Z info hostd[2101004] [Originator@6876 sub=Vimsvc.ha-eventmgr opID=esxui-d48c-26a4] Event 175 : Cannot login [email protected]
85+
```
86+
87+
Toutes ces informations sont également disponibles à travers l'interface d'administration web. Cliquez sur le menu `Host`{.action} et accédez à la section `Monitor`{.action}, puis cliquez sur `Logs`{.action}.
88+
89+
![interface](images/gui_logs_.png){.thumbnail}
90+
91+
### La solution Network Firewall
92+
93+
> [!primary]
94+
>
95+
> Pour rappel, le Network Firewall n’est pas pris en compte au sein du réseau OVHcloud. Par conséquent, les règles configurées n’affectent pas les connexions provenant de ce réseau interne.
96+
>
97+
98+
Nous vous proposons d'activer et d'utiliser notre solution de filtrage [Network Firewall](https://docs.ovh.com/ca/fr/dedicated/firewall-network/).
99+
Cette solution vous permettra de gérer facilement les accès légitimes, en complément de ceux que vous aurez mis en place à travers votre système ESXi.
100+
101+
Elle vous évitera aussi de verrouiller inopinément votre compte administrateur en cas d'attaque.
102+
103+
Il est donc recommandé de filtrer les accès légitimes de cette manière :
104+
105+
- La règle 1 (Priority 0) autorise des réseaux externes de confiance à accèder à votre système ESXi.
106+
- La règle 2 (Priority 1) bloque tout le reste.
107+
108+
![Network_Firewall](images/firewall_network_.png){.thumbnail}
109+
110+
### Le filtrage sous ESXi
111+
112+
> [!primary]
113+
>
114+
> Vous avez également la possibilité de filtrer les accès à votre système ESXi grâce au pare-feu intégré.
115+
> Vous pourrez aussi désactiver les services inutiles, en fonction de votre usage.
116+
>
117+
118+
> [!warning]
119+
>
120+
> La désactivation des services **SSH** et **SLP** est fortement conseillée.
121+
> Si malgré tout, vous continuez à utiliser le service SSH, restreignez au maximum son uilisation et ses accès.
122+
> Ceci est valable également pour les accès au **shell**.
123+
> Ne prévilégiez que le strict nécessaire pour chacun de vos besoins.
124+
125+
#### Manipulation via l'interface graphique
126+
127+
**Services**
128+
129+
Cliquez sur le menu `Host`{.action} et accédez à la section `Manage`{.action} puis cliquez sur `Services`{.action}.
130+
131+
Trouvez dans la liste le service `TSM-SSH` et faites un clic droit sur la ligne associée.
132+
133+
Arrêtez le service en cliquant sur `Stop`{.action} :
134+
135+
![services_ssh](images/stop_service.png){.thumbnail}
136+
137+
Selectionnez la `Policy` puis modifiez-la comme sur l'exemple présenté.
138+
139+
Choisissez l'option `Start anc stop manually`{.action} afin d'éviter que le service ne soit actif au démarrage du serveur.
140+
141+
![services_ssh](images/ssh_disabled_.png){.thumbnail}
142+
143+
Appliquez les mêmes paramètres pour le service `slpd` :
144+
145+
![services_slp](images/slpd_.png){.thumbnail}
146+
147+
**Règles de pare-feu**
148+
149+
Cliquez sur le menu `Networking`{.action} puis sur `Firewall rules`{.action} et choisissez `Edit settings`{.action} pour chacun des services à protéger :
150+
151+
![rules](images/firewall_web_.png){.thumbnail}
152+
153+
Éditez la règle pour n'ajouter que les adresses IP ou les réseaux qui doivent avoir accès à votre système ESXi.
154+
155+
Exemple autorisant uniquement les connexions depuis l'IP 192.168.1.10 :
156+
157+
![custom](images/custom_fw_rule.png){.thumbnail}
158+
159+
#### Manipulation via le shell
160+
161+
**Services**
162+
163+
Désactivez les services inutiles :
164+
165+
- Service SLP
166+
167+
```bash
168+
/etc/init.d/slpd stop
169+
esxcli network firewall ruleset set -r CIMSLP -e 0
170+
chkconfig slpd off
171+
```
172+
173+
- Service SSH
174+
175+
```bash
176+
/etc/init.d/SSH stop
177+
esxcli network firewall ruleset set -r sshServer -e 0
178+
chkconfig SSH off
179+
```
180+
181+
Vérifiez l'ensemble des services actifs au démarrage :
182+
183+
```bash
184+
chkconfig --list | grep on
185+
```
186+
<br/>
187+
<br/>
188+
189+
**Règles de pare-feu**
190+
191+
Affichez les règles de pare-feu existantes :
192+
193+
```bash
194+
esxcli network firewall ruleset list
195+
esxcli system account list
196+
```
197+
198+
> Explications sur les modification/ajustement de règle d'accès :
199+
>
200+
> - Le service `vSphereClient` : ce service correspond à l'interface WEB d'administration sur le port 443 (HTTPS).
201+
> - Le service `sshServer` : ce service correspond aux accès en SSH sur le port 22.
202+
203+
Exemple avec le service vSphereClient :
204+
205+
```bash
206+
esxcli network firewall ruleset list --ruleset-id vSphereClient
207+
```
208+
209+
Assurez-vous que la règle de pare-feu soit active :
210+
211+
```bash
212+
esxcli network firewall ruleset set --ruleset-id vSphereClient --enabled true
213+
```
214+
215+
Affichez la liste des IP autorisées pour cette règle :
216+
217+
```bash
218+
esxcli network firewall ruleset allowedip list --ruleset-id vSphereClient
219+
```
220+
221+
Résultat :
222+
223+
```console
224+
Ruleset Allowed IP Addresses
225+
------------- --------------------
226+
vSphereClient All
227+
```
228+
229+
Changez le statut du tag en le désactivant :
230+
231+
```bash
232+
esxcli network firewall ruleset set --ruleset-id vSphereClient --allowed-all false
233+
```
234+
235+
Autorisez exclusivement l'adresse IP légitime 192.168.1.10 :
236+
237+
```bash
238+
esxcli network firewall ruleset allowedip add --ruleset-id vSphereClient --ip-address 192.168.1.10
239+
```
240+
241+
Vérifiez la présence de l'adresse dans la liste d'accès :
242+
243+
```bash
244+
esxcli network firewall ruleset allowedip list --ruleset-id vSphereClient
245+
```
246+
247+
Résultat :
248+
249+
```
250+
Ruleset Allowed IP Addresses
251+
------------- --------------------
252+
vSphereClient 192.168.1.10
253+
```
254+
<br/>
255+
<br/>
256+
257+
Si vous souhaitez malgré tout utiliser le service SSH, nous vous expliquons ici comment mettre en place un accès par clé SSH.
258+
259+
Générez les clés sur la machine devant se connecter au serveur ESXi, l'algorithme **ECDSA** sur 521 bits est à privilégier pour une sécurité maximale :
260+
261+
> [!warning]
262+
> L'authentification fonctionne avec une paire de clés : une publique et une autre privée.
263+
> Ne partagez en aucun cas votre clé **privée**, celle-ci doit rester sur la machine où elle a été générée.
264+
265+
Exécutez la commande suivante :
266+
267+
```bash
268+
ssh-keygen -t ecdsa -b 521 -C "key-ecdsa-esxi-host" -f /path-to-my-key/key-ecdsa
269+
```
270+
271+
```
272+
Generating public/private ecdsa key pair.
273+
Enter file in which to save the key (/path-to-my-key/key-ecdsa_rsa):
274+
```
275+
276+
Renseignez un mot de passe robuste :
277+
278+
```
279+
Enter passphrase (empty for no passphrase):
280+
Enter same passphrase again:
281+
```
282+
283+
Seule la clé publique (key-ecdsa.pub) devra être communiquée ou déposée sur les machines auxquelles vous souhaitez vous connecter.
284+
285+
```
286+
Your identification has been saved in /path-to-my-key/key-ecdsa.
287+
Your public key has been saved in /path-to-my-key/key-ecdsa.pub.
288+
The key fingerprint is:
289+
SHA256:******************************************* key-ecdsa-esxi-host
290+
```
291+
292+
Transférez la clé publique vers votre hôte ESXi pour qu'elle puisse être déclarée comme étant de confiance :
293+
294+
```bash
295+
cat /path-to-my-key/key-ecdsa.pub | ssh root@esxi-host-ip 'cat >> /etc/ssh/keys-root/authorized_keys'
296+
```
297+
298+
## Aller plus loin
299+
300+
Vous pourrez trouver encore plus de détails sur les bonnes pratiques de sécurité dans [ce guide](https://core.vmware.com/security-configuration-guide) proposé par VMware.
301+
302+
Échangez avec notre communauté d'utilisateurs sur <https://community.ovh.com/>.

0 commit comments

Comments
 (0)