mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2026-11-02 19:02:31 +00:00
docs: review security documentation in all seven translations
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Fail2Ban | Documentation ProxMenux",
|
||||
"description": "Installez Fail2Ban avec trois jails optimisés pour Proxmox (SSH agressif, Proxmox UI 8006, ProxMenux Monitor 8008). Inclut le correctif journald MaxLevelStore, des services de journalisation personnalisés pour plus de fiabilité, un backend nftables/iptables détecté automatiquement et le renforcement SSH MaxAuthTries.",
|
||||
"ogTitle": "Fail2Ban | Documentation ProxMenux",
|
||||
"ogDescription": "Protection contre la force brute pour SSH et les interfaces web Proxmox, avec des correctifs journald et backend propres à Proxmox."
|
||||
},
|
||||
"header": {
|
||||
"title": "Fail2Ban",
|
||||
"description": "Installe Fail2Ban pour Proxmox : trois jails (SSH agressif, interface Proxmox sur 8006, ProxMenux Monitor sur 8008 et proxy inverse), correction du niveau journald pour conserver les événements SSH, deux services copiant le journal vers des fichiers afin de contourner un problème connu du backend systemd, détection du backend de pare-feu et durcissement SSH avec MaxAuthTries.",
|
||||
"section": "Sécurité"
|
||||
},
|
||||
"intro": {
|
||||
"title": "Ce que ça fait",
|
||||
"body": "Installe Fail2Ban depuis les dépôts Debian et écrit une configuration Proxmox protégeant immédiatement SSH, l'interface web Proxmox et ProxMenux Monitor. Une installation existante est détectée et un menu de gestion propose de réinstaller ou de supprimer."
|
||||
},
|
||||
"firstLaunch": {
|
||||
"heading": "Boîte de dialogue Premier lancement",
|
||||
"body": "Sans Fail2Ban installé, le script résume dans un dialogue ce qu'il va installer et configurer. Annuler quitte sans modification ; confirmer lance l'installation.",
|
||||
"imageAlt": "Confirmation de Fail2Ban avec les trois jails, correction de journald et durcissement SSH"
|
||||
},
|
||||
"jails": {
|
||||
"heading": "Les trois jails",
|
||||
"headerJail": "Jail",
|
||||
"headerProtects": "Protège",
|
||||
"headerRetries": "Tentatives / Fenêtre",
|
||||
"headerBan": "Durée de blocage",
|
||||
"rows": [
|
||||
{
|
||||
"jail": "[sshd]",
|
||||
"protects": "SSH (mode agressif — couvre ddos, mode, normal)",
|
||||
"retries": "2 / 60 min",
|
||||
"ban": "9 heures"
|
||||
},
|
||||
{
|
||||
"jail": "[proxmox]",
|
||||
"protects": "UI web Proxmox (port 8006)",
|
||||
"retries": "3 / 10 min",
|
||||
"ban": "1 heure"
|
||||
},
|
||||
{
|
||||
"jail": "[proxmenux]",
|
||||
"protects": "ProxMenux Monitor (port 8008 + http/https proxy inverse)",
|
||||
"retries": "3 / 10 min",
|
||||
"ban": "1 heure"
|
||||
}
|
||||
],
|
||||
"outro": "Par défaut mondial à partir de <code>jail.local</code>: <code>ignoreip = 127.0.0.1/8 ::1</code>, <code>ignoreself = true</code>,<code> bantime = 86400</code> (24h pour les prisons qui ne le remplacent pas), <code>maxretry = 2</code>, <code>findtime = 1800</code>."
|
||||
},
|
||||
"journald": {
|
||||
"heading": "Pourquoi la correction de journald est importante",
|
||||
"intro": "Proxmox fournit <code>/etc/systemd/journald.conf</code> avec <codeNw>MaxLevelStore=warning</codeNw>. journald supprime les messages de niveau <em>inférieur</em> à warning avant de les stocker. SSH et PAM signalent les échecs d'authentification aux niveaux <em>info</em> / <em>notice</em>, donc :",
|
||||
"diagram": {
|
||||
"sshLabel": "SSH / PAM",
|
||||
"sshDetail": "échec d'authentification\n(niveau info / notice)",
|
||||
"journaldLabel": "journald",
|
||||
"journaldDetail": "MaxLevelStore=warning\n→ événement ignoré sans avertissement",
|
||||
"fail2banLabel": "Fail2Ban",
|
||||
"fail2banDetail": "ne voit rien\n→ n'interdit jamais rien",
|
||||
"arrowLabel": "Proxmox par défaut"
|
||||
},
|
||||
"afterDiagram": "L'installateur détecte cela et écrit un drop-in à <codeXs>/etc/systemd/journald.conf.d/proxmenux-loglevel.conf</codeXs> élevant à la fois <code>MaxLevelStore</code> et <code>MaxLevelSyslog</code> à <code>info</code>:",
|
||||
"code": "[Journal]\nMaxLevelStore=info\nMaxLevelSyslog=info",
|
||||
"outro": "Puis redémarre <code>systemd-journald</code>. Le drop-in est supprimé lors de la désinstallation, ce qui restaure le Proxmox original par défaut."
|
||||
},
|
||||
"loggers": {
|
||||
"heading": "Pourquoi deux services d'enregistreur personnalisé",
|
||||
"intro1": "Fail2Ban peut lire directement le journal systemd (<code>backend = systemd</code>), mais ce backend présente sur Proxmox des problèmes connus avec les processus de travail de <code>pvedaemon</code> : les événements d'authentification apparaissent dans le journal sans être toujours détectés. Le problème concerne aussi parfois <code>sshd</code>.",
|
||||
"intro2": "ProxMenux crée deux petits services systemd qui suivent les unités concernées avec <code>journalctl -f</code> et ajoutent chaque ligne à un fichier. Fail2Ban lit ces fichiers avec le fiable <code>backend = auto</code> (mode fichier) :",
|
||||
"headerService": "Services",
|
||||
"headerSource": "Unité source",
|
||||
"headerOutput": "Fichier de sortie",
|
||||
"rows": [
|
||||
{
|
||||
"service": "proxmox-auth-logger.service",
|
||||
"source": "pvedaemon.service",
|
||||
"output": "/var/log/proxmox-auth.log"
|
||||
},
|
||||
{
|
||||
"service": "ssh-auth-logger.service",
|
||||
"source": "ssh.service",
|
||||
"output": "/var/log/ssh-auth.log"
|
||||
}
|
||||
],
|
||||
"outro": "Les deux services sont déclarés <code>PartOf=fail2ban.service</code> donc ils redémarrent avec Fail2Ban et s'arrêtent avec elle. Mode 640 appartenant à <code>root:adm</code> dans les fichiers journaux. Le troisième journal utilisé par la prison <code>[proxmenux]</code> (<code>/var/log/proxmenux-auth.log</code>) est écrit directement par l'application ProxMenux Monitor Flask — aucun service d'enregistreur nécessaire pour celui-ci."
|
||||
},
|
||||
"backend": {
|
||||
"heading": "Détection du backend de pare-feu",
|
||||
"intro": "L'installateur sonde l'hôte : si <code>nft list ruleset</code> fonctionne, il choisit <code>nftables</code> comme mesure d'interdiction. Sinon, il revient à <code>iptables-multiport</code> / <code>iptables-allports</code>. Le choix est écrit dans <code>jail.local</code> :",
|
||||
"code": "# nftables host\nbanaction = nftables\nbanaction_allports = nftables[type=allports]\n\n# iptables host (fallback)\nbanaction = iptables-multiport\nbanaction_allports = iptables-allports"
|
||||
},
|
||||
"hardening": {
|
||||
"heading": "Durcissement SSH : MaxAuthTries",
|
||||
"intro": "Le contrôle Lynis <strong>SSH-7408</strong> recommande <code>MaxAuthTries 3</code> dans <code>sshd_config</code>. La jail SSH utilise <code>maxretry = 2</code> pour bloquer après des échecs répétés ; MaxAuthTries limite les tentatives dans une connexion. Ce réglage SSH ajoute une défense en profondeur, y compris lorsque Fail2Ban est arrêté pour maintenance.",
|
||||
"installerIntro": "L'installateur:",
|
||||
"items": [
|
||||
"Lit la valeur actuelle <code>MaxAuthTries</code> (ou par défaut 6 si elle est absente).",
|
||||
"Enregistre-le dans <code>/usr/local/share/proxmenux/sshd_maxauthtries_backup</code>.",
|
||||
"Modifie <code>sshd_config</code> sur place : remplace la ligne existante, décommente une ligne commentée ou ajoute une nouvelle ligne.",
|
||||
"Recharge <code>sshd</code> (recharger, pas redémarrer, pour garder les sessions existantes en vie)."
|
||||
],
|
||||
"outro": "Lors de la désinstallation, la valeur originale enregistrée est restaurée et <code>sshd</code> est rechargée."
|
||||
},
|
||||
"manage": {
|
||||
"heading": "Gérer une installation existante",
|
||||
"intro": "Si Fail2Ban est déjà installé lorsque vous ouvrez le menu, le script le détecte et affiche un menu de gestion au lieu de ré-exécuter l'installateur:",
|
||||
"headerAction": "Décision",
|
||||
"headerWhat": "Ce qu'il fait",
|
||||
"rows": [
|
||||
{
|
||||
"action": "Réinstaller",
|
||||
"what": "Relance l'installation complète et réécrit toutes les jails avec les valeurs actuelles de ProxMenux. À utiliser lorsqu'une mise à jour modifie les recommandations."
|
||||
},
|
||||
{
|
||||
"action": "Supprimer",
|
||||
"what": "Arrête fail2ban et les deux services d'enregistrement, purge le package apt, supprime tous les fichiers jail/filtre, supprime le drop-in journald (restauration de la valeur par défaut de Proxmox) et restaure l'original SSH MaxAuthTries."
|
||||
}
|
||||
]
|
||||
},
|
||||
"verify": {
|
||||
"heading": "Vérifiez que ça marche.",
|
||||
"intro": "Après l'installation, commandes utiles de l'hôte:",
|
||||
"code": "# Service status and version\nsystemctl status fail2ban\nfail2ban-client --version\n\n# All active jails\nfail2ban-client status\n\n# Detail on one jail\nfail2ban-client status sshd\nfail2ban-client status proxmox\nfail2ban-client status proxmenux\n\n# Currently banned IPs in a jail\nfail2ban-client status sshd | grep \"Banned IP\"\n\n# Manually unban an IP (use this if you ban yourself)\nfail2ban-client unban 192.0.2.10\n\n# Tail the auth logs Fail2Ban watches\ntail -f /var/log/ssh-auth.log\ntail -f /var/log/proxmox-auth.log\ntail -f /var/log/fail2ban.log"
|
||||
},
|
||||
"troubleshoot": {
|
||||
"heading": "Dépannage",
|
||||
"neverBansTitle": "Fail2Ban fonctionne mais n'interdit jamais rien",
|
||||
"neverBansBody": "Vérifiez que <code>tail -f /var/log/ssh-auth.log</code> reçoit une entrée après une tentative SSH avec un mauvais mot de passe depuis une autre machine. Sinon, examinez <code>systemctl status ssh-auth-logger.service</code>. Si le service est actif, consultez les événements récents avec <code>journalctl -u ssh.service -n 50 --no-pager -p info</code> et vérifiez que le complément journald autorise le niveau <em>info</em>.",
|
||||
"monitorEmptyTitle": "La jail ProxMenux Monitor ne contient aucune entrée malgré des connexions échouées",
|
||||
"monitorEmptyBody": "Le <code>[proxmenux]</code> jail lit <code>/var/log/proxmenux-auth.log</code>, qui est écrit par l'application ProxMenux Monitor Flask — et non par un enregistreur journald. Si vous n'exécutez pas le moniteur, le fichier reste vide et le jail ne se déclenche jamais. C'est prévu ; la configuration jail est inoffensive. Si vous exécutez le moniteur et que le journal est vide, vérifiez la configuration de journalisation Flask.",
|
||||
"selfBanTitle": "Je me suis bloqué moi-même",
|
||||
"selfBanIntro": "À partir d'une console / IPMI / iKVM (ou d'une autre IP sur liste blanche):",
|
||||
"selfBanCode": "fail2ban-client unban '<'YOUR_IP'>'\n\n# To prevent it next time, edit /etc/fail2ban/jail.local and add your IP:\nignoreip = 127.0.0.1/8 ::1 192.168.1.0/24 203.0.113.42\n\n# Then reload\nfail2ban-client reload",
|
||||
"aptFailTitle": "Échec d'apt-get : ''Unable to locate package fail2ban''",
|
||||
"aptFailBody": "Les dépôts Debian manquent sur l'hôte (fréquent sur les installations Proxmox minimales). L'installateur crée <code>/etc/apt/sources.list.d/debian.sources</code> avec le bon nom de code (<code>bookworm</code> / <code>trixie</code>), puis réessaie. Si cela échoue encore, vérifiez <code>VERSION_CODENAME</code> dans <code>/etc/os-release</code> et l'accessibilité du dépôt.",
|
||||
"lockoutTitle": "SSH me verrouille après l'installation",
|
||||
"lockoutBody": "L'installateur définit <code>MaxAuthTries=3</code>. Si votre gestionnaire de mot de passe / agent récupère plusieurs clés, vous pouvez dépasser cela sur une seule tentative de connexion. Limiter les clés offertes : <code>ssh -o IdentitiesOnly=yes -i ~/.ssh/specific_key user@host</code>. Ou augmenter temporairement <code>MaxAuthTries</code> en <code>sshd_config</code> pendant le débogage."
|
||||
},
|
||||
"files": {
|
||||
"heading": "Fichiers écrits",
|
||||
"code": "/etc/fail2ban/jail.local # global defaults + [sshd]\n/etc/fail2ban/jail.d/proxmox.conf # [proxmox]\n/etc/fail2ban/jail.d/proxmenux.conf # [proxmenux]\n/etc/fail2ban/filter.d/proxmox.conf # auth-failure regex for pvedaemon\n/etc/fail2ban/filter.d/proxmenux.conf # auth-failure regex for Monitor\n/etc/systemd/system/proxmox-auth-logger.service # journal → file (pvedaemon)\n/etc/systemd/system/ssh-auth-logger.service # journal → file (sshd)\n/etc/systemd/journald.conf.d/proxmenux-loglevel.conf # MaxLevelStore=info\n/etc/ssh/sshd_config # MaxAuthTries=3 (in-place edit)\n/var/log/proxmox-auth.log # written by logger service\n/var/log/ssh-auth.log # written by logger service\n/var/log/proxmenux-auth.log # written by Monitor Flask app\n/usr/local/share/proxmenux/sshd_maxauthtries_backup # for restore on uninstall"
|
||||
},
|
||||
"related": {
|
||||
"heading": "Autres",
|
||||
"monitorLabel": "ProxMenux Monitor → Onglet Sécurité",
|
||||
"monitorTail": " — installation depuis le tableau de bord, état des jails en direct, IP bloquées et réglage des tentatives et de la durée de blocage par jail dans le navigateur.",
|
||||
"lynisLabel": "Lynis",
|
||||
"lynisTail": " — lancer un audit avant et après pour vérifier que le contrôle SSH-7408 est satisfait.",
|
||||
"securityLabel": "Aperçu de la sécurité",
|
||||
"securityTail": "— retour à l'aperçu de la section."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Sécurité Proxmox — Fail2Ban et audit de durcissement Lynis | ProxMenux",
|
||||
"description": "Deux outils de sécurité installables pour Proxmox VE : Fail2Ban (prévention des intrusions pour SSH, l'interface web Proxmox et ProxMenux Monitor) et Lynis (audit de sécurité et de durcissement installé depuis le dépôt officiel GitHub).",
|
||||
"ogTitle": "Sécurité Proxmox — Fail2Ban et audit de durcissement Lynis",
|
||||
"ogDescription": "Fail2Ban et Lynis pour Proxmox VE : prévention des intrusions et audit de durcissement, installés et gérés par ProxMenux.",
|
||||
"twitterTitle": "Sécurité Proxmox | ProxMenux",
|
||||
"twitterDescription": "Fail2Ban et Lynis pour Proxmox VE : prévention des intrusions et audit de durcissement."
|
||||
},
|
||||
"header": {
|
||||
"title": "Sécurité",
|
||||
"description": "Deux outils complémentaires pour Proxmox VE : défense active (Fail2Ban bloque les IP attaquant SSH ou les interfaces web) et audit local (Lynis cherche les lacunes de durcissement et donne un score de 0 à 100). Chaque outil possède son menu d'installation et de gestion, qui détecte une installation existante avant toute action.",
|
||||
"section": "Sécurité"
|
||||
},
|
||||
"intro": {
|
||||
"title": "Défense active et audit local",
|
||||
"body": "Ils répondent à des questions différentes. <strong>Fail2Ban</strong> répond à <em>« Sommes-nous attaqués en ce moment ? »</em> en surveillant les journaux d'authentification et en bloquant les IP responsables. <strong>Lynis</strong> répond à <em>« Quel est le niveau de durcissement de cet hôte ? »</em> par un audit ponctuel avec des recommandations concrètes. Utilisez les deux : Lynis indique les améliorations, Fail2Ban réagit aux attaques en cours."
|
||||
},
|
||||
"opening": {
|
||||
"heading": "Ouverture du menu",
|
||||
"body": "Dans le menu principal ProxMenux, sélectionnez <strong>Sécurité</strong>. Voici ce qui apparaît :",
|
||||
"imageAlt": "Menu de sécurité avec options Fail2Ban et Lynis"
|
||||
},
|
||||
"pick": {
|
||||
"heading": "Choisissez votre outil",
|
||||
"body": "Les deux outils sont indépendants : installez-en un, les deux ou aucun. Chaque carte ci-dessous mène à la section détaillant cet outil."
|
||||
},
|
||||
"cards": {
|
||||
"fail2ban": {
|
||||
"title": "Fail2Ban",
|
||||
"body": "Prévention active des intrusions. Surveille les journaux d'authentification SSH et web et bloque les IP après des échecs répétés.",
|
||||
"bullets": [
|
||||
"Trois jails : SSH, interface Proxmox (8006), ProxMenux Monitor (8008)",
|
||||
"Corrige les paramètres journald de Proxmox qui bloquent les journaux d'authentification",
|
||||
"Auto-détecte nftables / iptables",
|
||||
"SSH durcissement: MaxAuthTries=3 (recommandation Lynis)"
|
||||
]
|
||||
},
|
||||
"lynis": {
|
||||
"title": "Lynis",
|
||||
"body": "Auditeur de sécurité local. Analyse l'hôte et affiche un score de durcissement et des conseils concrets pour corriger les problèmes.",
|
||||
"bullets": [
|
||||
"Installé depuis le dépôt officiel CISOfy sur GitHub (dernière version)",
|
||||
"Score de durcissement 0–100 et liste des avertissements et suggestions",
|
||||
"Audit et mise à jour depuis le menu",
|
||||
"Conçu en lecture seule : ne modifie jamais le système"
|
||||
]
|
||||
}
|
||||
},
|
||||
"workflowTip": {
|
||||
"title": "Flux de travail qui utilise les deux",
|
||||
"body": "Lancez d'abord Lynis pour connaître le score initial et les recommandations principales. Appliquez les corrections souhaitées. Installez ensuite Fail2Ban : il met automatiquement en place la protection SSH contre la force brute et ajuste <code>MaxAuthTries</code> dans <code>sshd_config</code> pour satisfaire le contrôle SSH-7408. Relancez Lynis pour vérifier l'amélioration."
|
||||
},
|
||||
"fail2banSection": {
|
||||
"heading": "Fail2Ban",
|
||||
"body": "ProxMenux installe Fail2Ban avec une configuration adaptée à Proxmox. En plus de la jail SSH standard, il protège l'interface web Proxmox et ProxMenux Monitor. Il contourne deux problèmes spécifiques : un paramètre journald supprimant les événements d'authentification et un problème du backend systemd empêchant la lecture fiable de certaines sources du journal. La page détaillée explique l'installation, les trois jails, la correction de journald, le durcissement SSH et le dépannage.",
|
||||
"optionTitle": "Fail2Ban — installer et gérer",
|
||||
"optionDescription": "Trois jails préconfigurées (sshd agressif, interface Proxmox sur 8006, ProxMenux Monitor sur 8008 et proxy inverse), détection de nftables/iptables, correction de journald et durcissement SSH avec MaxAuthTries."
|
||||
},
|
||||
"lynisSection": {
|
||||
"heading": "Lynis",
|
||||
"body": "ProxMenux clone Lynis depuis <code>github.com/CISOfy/lynis</code> dans <code>/opt/lynis</code> et le rend accessible par <code>/usr/local/bin/lynis</code>. Le paquet Debian est volontairement évité car il accuse plusieurs versions majeures de retard sur le projet original. La page détaillée explique installation, audit, mise à jour, désinstallation, lecture du rapport et traitement des résultats.",
|
||||
"optionTitle": "Lynis — installation, audit et gestion",
|
||||
"optionDescription": "Installe le dernier Lynis de la repo officielle CISOfy GitHub (pas l'ancien paquet Debian), exécute des audits système avec score de durcissement, et des mises à jour via git pull."
|
||||
},
|
||||
"componentStatus": {
|
||||
"heading": "État des composantes",
|
||||
"body": "Les deux installateurs enregistrent leur état en <code>/usr/local/share/proxmenux/components_status.json</code> dans la catégorie <code>security</code>. ProxMenux utilise ce fichier pour décider s'il faut afficher l'installation ou le menu de gestion lors d'exécutions ultérieures, et les mêmes données alimentent les tableaux de bord dans le ProxMenux Monitor lorsqu'elles sont présentes."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,170 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "Lynis | Documentation ProxMenux",
|
||||
"description": "Installez la dernière version de Lynis depuis le dépôt officiel CISOfy sur GitHub, lancez un audit avec score de durcissement de 0 à 100 et mettez à jour par git pull. Auditeur en lecture seule, sans modification du système.",
|
||||
"ogTitle": "Lynis | Documentation ProxMenux",
|
||||
"ogDescription": "Installez et exécutez Lynis sur Proxmox VE. Installation depuis le dépôt GitHub officiel, audit et mise à jour."
|
||||
},
|
||||
"header": {
|
||||
"title": "Lynis",
|
||||
"description": "Clone la dernière version de Lynis depuis le dépôt officiel CISOfy sur GitHub, la rend disponible par /usr/local/bin/lynis et propose audit, mise à jour, réinstallation et désinstallation dans le menu. L'auditeur est en lecture seule : il rapporte sans modifier le système.",
|
||||
"section": "Sécurité"
|
||||
},
|
||||
"intro": {
|
||||
"title": "Ce que ça fait",
|
||||
"body": "Installe Lynis, l'auditeur de sécurité libre de CISOfy, depuis son dépôt GitHub dans <code>/opt/lynis</code> et crée un script de lancement dans <code>/usr/local/bin/lynis</code> pour le rendre accessible dans <code>PATH</code>. Une installation existante ouvre un menu d'audit, mise à jour, réinstallation ou suppression."
|
||||
},
|
||||
"manageMenu": {
|
||||
"heading": "Menu de gestion (après installation)",
|
||||
"intro": "Une fois que Lynis est installé, chaque invocation subséquente ouvre le menu de gestion au lieu de relancer l'installateur. De là vous lancez un audit, mise à jour via git pull, réinstaller ou désinstaller:",
|
||||
"imageAlt": "Lynis menu de gestion avec audit, mise à jour, réinstaller et supprimer les options"
|
||||
},
|
||||
"whyUpstream": {
|
||||
"heading": "Pourquoi le dépôt officiel GitHub plutôt qu'apt",
|
||||
"intro": "Debian fournit Lynis via apt, mais le paquet accuse généralement plusieurs versions majeures de retard. Les nouveaux contrôles, correctifs pour de nouveaux vecteurs d'attaque et recommandations améliorées arrivent d'abord sur GitHub. Lynis est un script shell autonome, sans compilation ni dépendance d'installation au-delà de <code>git</code> ; cloner le dépôt est donc la méthode recommandée par CISOfy.",
|
||||
"headerSource": "Source",
|
||||
"headerPath": "Install path",
|
||||
"headerUpdate": "Méthode de mise à jour",
|
||||
"headerFresh": "Actualité de la version",
|
||||
"rows": [
|
||||
{
|
||||
"sourceRich": "<strong>ProxMenux (ce script)</strong>",
|
||||
"path": "/opt/lynis/",
|
||||
"update": "git pull (depuis le menu)",
|
||||
"fresh": "Dernière version du projet original"
|
||||
},
|
||||
{
|
||||
"sourceRich": "<strong>Debian apt</strong>",
|
||||
"path": "/usr/bin/lynis",
|
||||
"update": "apt upgrade",
|
||||
"fresh": "Souvent mois / années de retard"
|
||||
}
|
||||
]
|
||||
},
|
||||
"install": {
|
||||
"heading": "Comment fonctionne l'installation",
|
||||
"node1Label": "github.com/CISOfy/lynis",
|
||||
"node1Detail": "git clone\n(installer git d'abord si nécessaire)",
|
||||
"node2Label": "/opt/lynis/",
|
||||
"node2Detail": "dépôt complet\ny compris le script ./lynis",
|
||||
"node3Label": "/usr/local/bin/lynis",
|
||||
"node3Detail": "script de lancement :\ncd /opt/lynis && ./lynis $@",
|
||||
"outro": "Le lanceur est nécessaire : Lynis doit être exécuté depuis son propre répertoire pour charger les chemins relatifs des plugins et des profils. Le lanceur masque ce détail et permet à <code>lynis audit system</code> de fonctionner depuis n'importe quel répertoire."
|
||||
},
|
||||
"detection": {
|
||||
"heading": "Voies de détection",
|
||||
"intro": "Avant d'afficher le menu, le script vérifie trois emplacements pour déterminer si Lynis est déjà présent :",
|
||||
"items": [
|
||||
"<code>/usr/local/bin/lynis</code> — enveloppe installée par ProxMenux",
|
||||
"<code>/opt/lynis/lynis</code> — chemin direct (au cas où l'emballage serait enlevé)",
|
||||
"<code>/usr/bin/lynis</code> — version apt-installée, si l'utilisateur l'a installé de cette façon précédemment"
|
||||
],
|
||||
"outro": "Si un de ces chemins existe, le menu de gestion s'ouvre. Le script ne désinstalle <strong>pas</strong> un Lynis installé par apt, uniquement celui qu'il gère dans <code>/opt/lynis</code> et son lanceur."
|
||||
},
|
||||
"audit": {
|
||||
"heading": "Exécuter un audit",
|
||||
"intro": "Dans le menu de gestion, choisissez <strong>Lancer l'audit de sécurité maintenant</strong>. Cela revient à exécuter :",
|
||||
"code": "lynis audit system --no-colors",
|
||||
"outro": "L'audit prend de 30 secondes à quelques minutes selon la taille de l'hôte. La sortie apparaît directement dans le terminal, sans animation d'attente. Lynis classe les contrôles par catégorie et marque chaque test <ok>[ OK ]</ok>, <warn>[ WARNING ]</warn> ou <sugg>[ SUGGESTION ]</sugg>. Le résumé final affiche les chiffres principaux :",
|
||||
"summary": "================================================================================\n\n Détails de l’audit de sécurité Lynis:\n\n Indice de durcissement : 76 [############ ]\n Tests effectués : 247\n Plugins activés : 0\n\n Composants:\n - Pare-feu [V]\n - Analyseur de logiciels malveillants [X]\n\n Modules Lynis:\n - État de conformité [?]\n - Audit de sécurité [V]\n - Analyse de vulnérabilités [V]\n\n================================================================================"
|
||||
},
|
||||
"report": {
|
||||
"heading": "Lire le rapport",
|
||||
"intro": "Les deux sections importantes sont <strong>Avertissements</strong> (les choses que vous devriez fixer bientôt) et <strong>Suggestions</strong> (recommandations pour améliorer le durcissement). Chaque élément porte un ID de contrôle comme <code>SSH-7408</code> — utile lors de la recherche des documents Lynis pour la justification et la correction.",
|
||||
"headerMarker": "Marqueur",
|
||||
"headerMeaning": "Signification",
|
||||
"headerAction": "Décision",
|
||||
"rows": [
|
||||
{
|
||||
"markerRich": "<strong>OK</strong>",
|
||||
"meaning": "Essai réussi",
|
||||
"action": "Rien"
|
||||
},
|
||||
{
|
||||
"markerRich": "<strong>WARNING</strong>",
|
||||
"meaning": "Problème réel, correction recommandée",
|
||||
"action": "Lire la description du contrôle, planifier une correction"
|
||||
},
|
||||
{
|
||||
"markerRich": "<strong>SUGGESTION</strong>",
|
||||
"meaning": "Amélioration du durcissement disponible",
|
||||
"action": "Appliquer si elle correspond à votre modèle de menace"
|
||||
}
|
||||
],
|
||||
"outro": "Le rapport complet et les données lisibles par machine sont écrits à <code>/var/log/lynis.log</code> et <code>/var/log/lynis-report.dat</code> par Lynis lui-même."
|
||||
},
|
||||
"pairFail2ban": {
|
||||
"title": "À combiner avec Fail2Ban",
|
||||
"body": "SSH-7408 (MaxAuthTries) est l'un des avertissements les plus courants. L'installation de <link>Fail2Ban</link> à partir de ProxMenux l'élimine automatiquement parce que l'installateur définit <code>MaxAuthTries=3</code> dans le cadre de son processus de durcissement SSH. Lancez Lynis pour confirmer que l'avertissement a disparu."
|
||||
},
|
||||
"update": {
|
||||
"heading": "Mettre à jour Lynis",
|
||||
"body": "Dans le menu, <strong>Mettre Lynis à jour vers la dernière version</strong> exécute <code>git pull --quiet</code> dans <code>/opt/lynis</code>. Si le répertoire n'est pas une copie de travail Git, par exemple après une copie manuelle des fichiers, le script réinstalle entièrement."
|
||||
},
|
||||
"reinstall": {
|
||||
"heading": "Réinstaller / désinstaller",
|
||||
"headerAction": "Décision",
|
||||
"headerWhat": "Ce qu'il fait",
|
||||
"rows": [
|
||||
{
|
||||
"actionRich": "<strong>Réinstaller</strong>",
|
||||
"whatRich": "Supprime <code>/opt/lynis</code>, clone à nouveau depuis GitHub et recrée le lanceur. À utiliser si la copie locale est endommagée."
|
||||
},
|
||||
{
|
||||
"actionRich": "<strong>Supprimer</strong>",
|
||||
"whatRich": "Supprime <code>/opt/lynis</code> et <code>/usr/local/bin/lynis</code>. Conserve les journaux <code>/var/log/lynis*</code> comme historique des audits. Un Lynis installé par apt dans <code>/usr/bin/lynis</code> reste intact."
|
||||
}
|
||||
]
|
||||
},
|
||||
"cli": {
|
||||
"heading": "Options utiles CLI",
|
||||
"intro": "Une fois installé, Lynis peut être invoqué directement à partir d'un shell avec des options supplémentaires non exposées par le menu:",
|
||||
"code": "lynis show version # version + build date\nlynis show commands # list every available command\nlynis show details TEST-ID # explain a specific control\nlynis audit system --quick # skip slow tests (e.g. malware scan)\nlynis audit system --pentest # treat host as untrusted (more aggressive)\nlynis update info # check if a newer Lynis is available\n\n# Filter the report log for just the warnings\ngrep \"Warning\" /var/log/lynis.log\n\n# Same, for suggestions only\ngrep \"Suggestion\" /var/log/lynis.log"
|
||||
},
|
||||
"troubleshoot": {
|
||||
"heading": "Dépannage",
|
||||
"cloneTitle": "git clone échoue lors de l'installation",
|
||||
"cloneBody": "L'hôte a besoin d'un accès réseau et DNS pour atteindre <code>github.com</code>. Depuis une console : <code>curl -sI https://github.com</code> et <code>git ls-remote https://github.com/CISOfy/lynis.git</code> révèlent l'erreur réelle (DNS, TLS, proxy, repo URL). Si un proxy est requis, définissez <code>https_proxy</code> dans l'environnement avant de ré-exécuter le menu.",
|
||||
"notFoundTitle": "lynis: commande introuvable après installation",
|
||||
"notFoundIntro": "Le lanceur <code>/usr/local/bin/lynis</code> n'a pas été créé ou a été supprimé. La solution la plus rapide est de réinstaller depuis le menu. Correction manuelle :",
|
||||
"notFoundCode": "cat > /usr/local/bin/lynis <<'EOF'\n#!/bin/bash\ncd /opt/lynis && ./lynis \"$@\"\nEOF\nchmod +x /usr/local/bin/lynis",
|
||||
"sshTitle": "L'audit affiche \"Warning: Test SSH-7408 — MaxAuthTries set incorrectly\"",
|
||||
"sshIntro": "Le démon SSH permet trop de tentatives d'auth par connexion. Soit installer <link>Fail2Ban</link> à partir de ProxMenux (qui définit <code>MaxAuthTries=3</code> automatiquement) soit éditer <code>/etc/ssh/sshd_config</code> à la main:",
|
||||
"sshCode": "sed -i 's/^#?MaxAuthTries.*/MaxAuthTries 3/' /etc/ssh/sshd_config\nsystemctl reload sshd",
|
||||
"scoreTitle": "Le score a baissé après une mise à niveau Proxmox",
|
||||
"scoreBody": "Exécutez <code>lynis update info</code> d'abord — une mise à jour de Lynis peut avoir ajouté de nouvelles commandes qui annoncent la configuration existante. Mettre à jour Lynis dans le menu, revérifier et traiter des nouvelles constatations."
|
||||
},
|
||||
"files": {
|
||||
"heading": "Fichiers écrits",
|
||||
"code": "/opt/lynis/ # full Lynis git checkout\n/usr/local/bin/lynis # wrapper script (cd + exec)\n/var/log/lynis.log # human-readable audit log (Lynis itself)\n/var/log/lynis-report.dat # machine-readable report (Lynis itself)"
|
||||
},
|
||||
"sample": {
|
||||
"heading": "Exemple de rapport",
|
||||
"intro": "ProxMenux Monitor produit pour chaque exécution de Lynis un PDF de plusieurs pages depuis l'<link>onglet Sécurité</link>. La première page résume score de durcissement, informations système et état de sécurité. Les suivantes détaillent les avertissements, les suggestions classées par impact et l'inventaire des paquets utilisé lors de l'audit.",
|
||||
"imageAlt": "Première page du rapport d'audit de sécurité de Lynis PDF — résumé avec l'index de durcissement 71/100, bloc d'information système, et vue d'ensemble de la posture de sécurité avec pare-feu, scanner de malware et les paquets installés",
|
||||
"captionPrefix": "Première page d'un exemple de rapport. Le PDF complet (",
|
||||
"captionLink": "échantillon",
|
||||
"captionSuffix": ") continue avec des avertissements détaillés, des suggestions et la liste des paquets installés.",
|
||||
"cli": "Sur le côté CLI les mêmes données sont dans <code>/var/log/lynis-report.dat</code> (fichier plat lisible par machine) et <code>/var/log/lynis.log</code> (le journal d'exécution lisible par l'homme). Le PDF est généré sur demande par ProxMenux Monitor — l'exécution de <code>lynis</code> à partir de la ligne de commande n'en produit pas."
|
||||
},
|
||||
"related": {
|
||||
"heading": "Autres",
|
||||
"items": [
|
||||
{
|
||||
"href": "/docs/monitor/dashboard/security",
|
||||
"label": "ProxMenux Monitor → Onglet Sécurité",
|
||||
"tail": "— exécuter l'audit, parcourir les rapports historiques et télécharger le PDF directement à partir du tableau de bord."
|
||||
},
|
||||
{
|
||||
"href": "/docs/security/fail2ban",
|
||||
"label": "Fail2Ban",
|
||||
"tailRich": "— met en œuvre la protection de la force brute SSH que recommande Lynis."
|
||||
},
|
||||
{
|
||||
"href": "/docs/security",
|
||||
"label": "Aperçu de la sécurité",
|
||||
"tail": "— retour à l'aperçu de la section."
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,169 @@
|
||||
{
|
||||
"meta": {
|
||||
"title": "HTTPS pour ProxMenux Monitor — certificat de l'hôte Proxmox ou chemins personnalisés | ProxMenux",
|
||||
"description": "Servez ProxMenux Monitor en HTTPS avec le certificat de l'hôte Proxmox (détecté automatiquement, y compris le certificat Let’s Encrypt installé via ACME de Proxmox) ou un certificat personnalisé à un emplacement quelconque sur disque.",
|
||||
"ogTitle": "HTTPS pour ProxMenux Monitor — Hôte Proxmox ou certificat personnalisé",
|
||||
"ogDescription": "Activer HTTPS sur le port 8008 avec le certificat hôte Proxmox ou toute paire de .pem / .key personnalisée."
|
||||
},
|
||||
"header": {
|
||||
"title": "HTTPS pour ProxMenux Monitor",
|
||||
"description": "Activez HTTPS pour Monitor sur le port 8008 avec le certificat de l'hôte Proxmox détecté automatiquement ou un certificat personnalisé sur disque. L'option Proxmox privilégie le certificat ACME, s'il existe, et réutilise Let’s Encrypt géré par Proxmox sans tâche de renouvellement supplémentaire.",
|
||||
"section": "Sécurité"
|
||||
},
|
||||
"intro": {
|
||||
"title": "Ce que cette page couvre",
|
||||
"body": "Comment changer le moniteur de HTTP à HTTPS dans le panneau Paramètres → Sécurité, ce que chaque source de certificat pointe en fait sur le disque, comment l'option Proxmox se comporte quand l'hôte a un cert Let's Encrypt et comment définir des chemins personnalisés si vous gérez des certs en dehors de Proxmox."
|
||||
},
|
||||
"wheresetting": {
|
||||
"heading": "Emplacement du réglage",
|
||||
"body": "Ouvrez Monitor et allez dans <strong>Paramètres → Sécurité → HTTPS / SSL</strong>. Le panneau affiche HTTP ou HTTPS et, si HTTPS est désactivé, les sources de certificats détectées.",
|
||||
"imageAlt": "Paramètres → Sécurité → Panneau HTTPS / SSL dans le moniteur montrant l'état HTTPS-off, le certificat Proxmox détecté automatiquement (sujet, émetteur, expiration) et l'option Utiliser un certificat personnalisé",
|
||||
"caption": "Panneau Paramètres → Sécurité → HTTPS / SSL avant activation. Monitor affiche le certificat utilisé par Proxmox et permet de le choisir en un clic."
|
||||
},
|
||||
"twoways": {
|
||||
"heading": "Deux façons d'activer HTTPS",
|
||||
"proxmox": {
|
||||
"title": "Utiliser le certificat Proxmox",
|
||||
"summary": "Un clic : Monitor réutilise le certificat présenté par Proxmox VE sur le port 8006.",
|
||||
"items": [
|
||||
"Détecté automatiquement, aucun chemin à saisir",
|
||||
"Privilégie le certificat ACME s'il existe, sinon le certificat autosigné par défaut",
|
||||
"Proxmox renouvelle ; Monitor valide et charge le certificat à la prochaine nouvelle connexion TLS"
|
||||
]
|
||||
},
|
||||
"custom": {
|
||||
"title": "Utiliser un certificat personnalisé",
|
||||
"summaryRich": "Pointez le moniteur sur une paire <code>.pem</code> / <code>.key</code> n'importe où sur le disque.",
|
||||
"items": [
|
||||
"Chemins absolus seulement (le processus Monitor doit pouvoir lire les deux)",
|
||||
"Utile lorsque les certificats proviennent de <code>certbot</code>, <code>acme.sh</code> ou d'un wildcard",
|
||||
"Vous gérez le renouvellement : redémarrez Monitor après modification des fichiers"
|
||||
]
|
||||
}
|
||||
},
|
||||
"proxmoxCert": {
|
||||
"heading": "Certificat Proxmox — ce qu'il indique en réalité à",
|
||||
"intro": "Proxmox VE conserve deux paires de certificats dans <code>/etc/pve/local/</code> :",
|
||||
"table": {
|
||||
"headers": {
|
||||
"file": "Fichier",
|
||||
"origin": "Origine",
|
||||
"when": "Lorsque le moniteur l'utilise"
|
||||
},
|
||||
"rows": [
|
||||
{
|
||||
"fileRich": "<code>pveproxy-ssl.pem</code><br /><code>pveproxy-ssl.key</code>",
|
||||
"originRich": "Certificat personnalisé téléchargé via l'interface utilisateur Proxmox — y compris le certificat Let's Encrypt émis sous <em>Datacenter → Node → Certificats → ACME</em>.",
|
||||
"when": "Préféré si les deux fichiers existent ; Monitor utilise le certificat présenté par Proxmox."
|
||||
},
|
||||
{
|
||||
"fileRich": "<code>pve-ssl.pem</code><br /><code>pve-ssl.key</code>",
|
||||
"originRich": "Certificat autosigné généré au moment de l'installation par l'ICP Proxmox.",
|
||||
"whenRich": "Certificat de repli en l'absence de <code>pveproxy-ssl.pem</code>."
|
||||
}
|
||||
]
|
||||
},
|
||||
"callout": {
|
||||
"title": "Même priorité que Proxmox",
|
||||
"bodyRich": "<code>pveproxy</code> applique la même sélection. Avec l'option Proxmox, Monitor utilise le certificat présenté par l'interface Proxmox sur 8006, sans copie ni processus de renouvellement séparé."
|
||||
}
|
||||
},
|
||||
"letsencrypt": {
|
||||
"heading": "Obtenir un certificat Let's Encrypt via Proxmox ACME",
|
||||
"intro": "Proxmox VE inclut son client ACME. <em>« Order Certificate Now »</em> enregistre le résultat dans <code>/etc/pve/local/pveproxy-ssl.pem</code>, lu par Monitor. Les cinq étapes suivantes résument le <extlink1>guide officiel Proxmox</extlink1> avec les commandes nécessaires.",
|
||||
"prereqs": {
|
||||
"title": "Préalables",
|
||||
"items": [
|
||||
"Le noeud a un vrai nom DNS (pas seulement un IP) pointant dessus.",
|
||||
"<strong>Soit</strong> le port 80 accessible depuis Internet (validation HTTP-01, la plus simple), <strong>soit</strong> un fournisseur DNS avec identifiants API (DNS-01, fonctionne derrière NAT et accepte les certificats génériques).",
|
||||
"Une adresse email pour le compte ACME."
|
||||
]
|
||||
},
|
||||
"step1": {
|
||||
"heading": "Étape 1 — Enregistrer le compte ACME",
|
||||
"introRich": "Remplacer le courriel par le vôtre. Le nom de compte <code>default</code> n'est qu'une étiquette — vous pouvez utiliser n'importe quelle chaîne.",
|
||||
"code": "pvenode acme account register default you@example.com",
|
||||
"afterRich": "Proxmox vous invite à accepter les termes de service Let's Encrypt. Après cela, le compte est maintenu sous <code>/etc/pve/priv/acme/</code> et l'onglet ACME dans l'interface graphique l'affichera."
|
||||
},
|
||||
"step2": {
|
||||
"heading": "Étape 2 — Choisir un type de défi",
|
||||
"http01Rich": "<strong>HTTP-01</strong> est le plus facile : il est intégré, pas de plugin supplémentaire. Let's Encrypt se connecte à <code>http://<your-host>/.well-known/acme-challenge/...</code> sur le port 80, de sorte que le port 80 doit être ouvert de l'Internet public à votre noeud — généralement un port vers l'avant sur votre routeur.",
|
||||
"dns01Rich": "<strong>DNS-01</strong> fonctionne sans exposer le port 80 (bon pour les homelabs derrière CG-NAT) et est la seule option pour les certificats wildcard. Vous ajoutez un plugin DNS une fois avec le jeton API de votre fournisseur. Exemple Cloudflare:",
|
||||
"code": "pvenode acme plugin add dns cf \\\n --api cloudflare \\\n --data CF_Token=YOUR_CLOUDFLARE_API_TOKEN",
|
||||
"outroRich": "Pour d'autres fournisseurs (Gandi, OVH, AWS Route 53, etc.), consultez <code>pvenode acme plugin add dns --help</code>. Proxmox inclut <extlink2>tous les plugins DNS acme.sh</extlink2>."
|
||||
},
|
||||
"step3": {
|
||||
"heading": "Étape 3 — Relier le domaine à votre nœud",
|
||||
"http01Rich": "Pour HTTP-01 (utilise le plugin <code>standalone</code> intégré):",
|
||||
"code1": "pvenode config set --acme domains=host.example.com,account=default",
|
||||
"dns01": "Pour DNS-01 avec le plugin Cloudflare de l'étape 2 :",
|
||||
"code2": "pvenode config set --acmedomain0 domain=host.example.com,plugin=cf\npvenode config set --acme account=default",
|
||||
"wildcardRich": "Certificat générique ? Ajoutez <code>domain=*.example.com</code> dans une entrée séparée <code>--acmedomainN</code>. Les certificats génériques nécessitent DNS-01."
|
||||
},
|
||||
"step4": {
|
||||
"heading": "Étape 4 — Commander le certificat",
|
||||
"code": "pvenode acme cert order",
|
||||
"afterRich": "Le premier tour prend généralement 30–60 secondes pendant que le défi se propage. Sur succès Proxmox écrit <code>/etc/pve/local/pveproxy-ssl.pem</code> + <code>.key</code>, redémarre <code>pveproxy</code>, et une cron de renouvellement est programmée automatiquement (Let's Encrypt certs sont valides 90 jours; Proxmox renouvelle à 60)."
|
||||
},
|
||||
"step5": {
|
||||
"heading": "Étape 5 — Vérifier l'émetteur",
|
||||
"code": "openssl x509 -in /etc/pve/local/pveproxy-ssl.pem -noout -issuer",
|
||||
"afterRich": "devrait imprimer un émetteur commençant par <code>O = Let's Encrypt</code>. S'il lit plutôt <code>CN = Proxmox Virtual Environment</code> l'ordre a échoué et le fichier est toujours le certificat PVE autosigné — re-exécuter <code>pvenode acme cert order --debug 1</code> pour voir pourquoi."
|
||||
},
|
||||
"gui": {
|
||||
"title": "Vous préférez l'interface utilisateur ? Mêmes cinq étapes",
|
||||
"bodyRich": "<em>Datacenter → ACME</em> enregistre le compte ; <em>Datacenter → ACME → Plugins</em> ajoute le plugin DNS ; <em>Node → Certificates → ACME</em> associe le domaine ; <em>Order Certificates Now</em> exécute l'étape 4. Les commandes précédentes servent à automatiser et à travailler sans interface graphique."
|
||||
}
|
||||
},
|
||||
"switchToHttps": {
|
||||
"heading": "Changez le moniteur en HTTPS",
|
||||
"bodyRich": "Une fois <code>/etc/pve/local/pveproxy-ssl.pem</code> signé par Let's Encrypt, ouvrez <strong>Paramètres → Sécurité → HTTPS / SSL</strong>, vérifiez que l'émetteur est <em>Let's Encrypt</em> et non l'AC locale de Proxmox, puis cliquez sur <strong>Utiliser le certificat Proxmox</strong>. Monitor redémarre et le prochain chargement utilise HTTPS sur 8008 avec une chaîne de confiance publique. Les renouvellements ACME suivants sont validés et sélectionnés à la prochaine nouvelle connexion TLS, sans interrogation périodique ni redémarrage à chaque renouvellement. <strong>Actualiser le certificat</strong> reste disponible dans Sécurité pour le diagnostic et la récupération."
|
||||
},
|
||||
"custom": {
|
||||
"heading": "Certificat personnalisé — quand l'utiliser",
|
||||
"intro": "Cliquez sur <strong>Utiliser un certificat personnalisé</strong> et saisissez deux chemins absolus :",
|
||||
"items": [
|
||||
"<strong>Certificat</strong> — chaîne complète en PEM (<code>.pem</code> ou <code>.crt</code>).",
|
||||
"<strong>Clé privée</strong> : clé correspondante en PEM (<code>.key</code>)."
|
||||
],
|
||||
"outro": "Les deux fichiers sont lus par le processus Monitor au démarrage. Assurez-vous qu'ils restent lisibles par l'utilisateur que l'unité systemd fonctionne comme (root par défaut). Emplacements communs lorsque l'ACME est géré à l'extérieur de Proxmox:",
|
||||
"code": "# certbot\n/etc/letsencrypt/live/<your-host>/fullchain.pem\n/etc/letsencrypt/live/<your-host>/privkey.pem\n\n# acme.sh\n~/.acme.sh/<your-host>_ecc/fullchain.cer\n~/.acme.sh/<your-host>_ecc/<your-host>.key",
|
||||
"symlinkCallout": {
|
||||
"title": "Symlink cibles vs fichiers",
|
||||
"bodyRich": "<code>certbot</code> stocke les fichiers réels dans <code>/etc/letsencrypt/archive/</code> et le chemin <code>live/</code> est un lien symbolique. Pointez le moniteur sur le lien symbolique <code>live/</code> et non sur le fichier <code>archive/</code> — de cette façon, chaque cycle de renouvellement réécrit simplement la cible de lien symbolique et le moniteur récupère le nouveau certificat au début du service suivant."
|
||||
}
|
||||
},
|
||||
"afterHttps": {
|
||||
"heading": "Après avoir activé HTTPS",
|
||||
"bodyRich": "Enregistrer le changement écrit <code>/etc/proxmenux/ssl_config.json</code> et déclenche un redémarrage de l'unité <code>proxmenux-monitor</code> systemd. L'onglet navigateur perdra sa connexion actuelle — rechargez-la sur <code>https://<host>:8008/</code>. La première charge avec un certificat Let's Encrypt ne doit montrer aucun avertissement; avec le certificat Proxmox autosigné, le navigateur aura besoin d'une exception, la même que pour le port 8006.",
|
||||
"reverse": {
|
||||
"heading": "Proxies inverses et webhooks",
|
||||
"bodyRich": "Lorsque le moniteur passe à HTTPS, les URL Proxmox VE webhook enregistrées pour les notifications retournent automatiquement de <code>http://</code> à <code>https://</code>. Les entrées existantes de webhook sont réécrites la prochaine fois qu'une règle de notification est enregistrée ou redétectée, de sorte qu'aucune modification manuelle de la configuration de notification Proxmox n'est nécessaire."
|
||||
}
|
||||
},
|
||||
"trustCa": {
|
||||
"heading": "Faites confiance à l'AC autosignée Proxmox",
|
||||
"intro1Rich": "Pour conserver le certificat Proxmox par défaut sans ACME, importez l'AC racine du cluster dans le magasin de confiance du système ou du navigateur. Monitor détecte <code>/etc/pve/local/pve-ssl.pem</code> comme certificat de repli. Le client fait alors confiance à l'émetteur ; l'URL doit toujours correspondre à un nom du certificat.",
|
||||
"intro2Rich": "Le fichier CA vit à <code>/etc/pve/pve-root-ca.pem</code> sur chaque nœud. Dans un cluster, le chemin est sur le système de fichiers partagé <code>pmxcfs</code> de sorte que tous les nœuds partagent la même racine, et une seule importation couvre l'ensemble du datacenter. Copiez-le sur votre machine :",
|
||||
"code": "scp root@<your-host>:/etc/pve/pve-root-ca.pem ./pve-root-ca.pem",
|
||||
"thenImport": "Importez-le du côté client :",
|
||||
"items": [
|
||||
"<strong>Linux (tout le système) :</strong> exécutez <code>sudo cp pve-root-ca.pem /usr/local/share/ca-certificates/pve-root-ca.crt</code>, puis <code>sudo update-ca-certificates</code>. Les navigateurs utilisant le magasin système (Chromium, Edge) la reconnaissent après redémarrage ; Firefox utilise son propre magasin et nécessite l'importation manuelle ci-dessous.",
|
||||
"<strong>macOS :</strong> ouvrez le fichier <code>.pem</code> par double-clic dans Trousseaux d'accès, ajoutez-le au trousseau <em>Système</em>, puis choisissez <em>Se fier → Toujours approuver</em>.",
|
||||
"<strong>Windows :</strong> clic droit sur le fichier → <em>Installer le certificat</em> → placez-le dans <em>Autorités de certification racines de confiance</em>.",
|
||||
"<strong>Firefox (tout OS) :</strong> <em>Paramètres → Vie privée et sécurité → Certificats → Afficher les certificats → Autorités → Importer</em> ; cochez <em>Faire confiance à cette AC pour identifier les sites web</em>."
|
||||
],
|
||||
"standalone": {
|
||||
"title": "Nœuds autonomes en dehors d'un cluster",
|
||||
"bodyRich": "Chaque hôte Proxmox non clustered possède son propre <code>pve-root-ca.pem</code>. Si vous gérez plusieurs hôtes autonomes, répétez la copie/import pour chacun, ou rejoignez-les à un cluster afin qu'ils partagent une seule racine."
|
||||
}
|
||||
},
|
||||
"disable": {
|
||||
"heading": "Désactivation de HTTPS",
|
||||
"bodyRich": "Cliquez sur <strong>Désactiver HTTPS</strong> dans le même panneau. Monitor redémarre en HTTP non chiffré, utile si un certificat personnalisé illisible empêche le démarrage. Aucune désinstallation supplémentaire n'est nécessaire ; les fichiers de certificats restent intacts.",
|
||||
"stateCallout": {
|
||||
"title": "Emplacement de l'état",
|
||||
"bodyRich": "<code>/etc/proxmenux/ssl_config.json</code> stocke les chemins de cert actif et la source (<code>none</code>, <code>proxmox</code>, <code>custom</code>). La suppression du fichier équivaut à la désactivation de HTTPS — le prochain démarrage du moniteur revient à HTTP."
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user