#!/bin/bash # Variables SSH_PORT=2222 # Port SSH personnalisé USER_NAME="user" # Nom d'utilisateur non-root pour l'administration PROXMOX_IP="192.168.1.100" # Remplacez par l'adresse IP de votre serveur # Mise à jour des paquets et des dépôts echo "Mise à jour des paquets..." apt update && apt upgrade -y # Désactivation de l’abonnement Proxmox (évite les erreurs d'absence d'abonnement) echo "Suppression du message d'erreur d'abonnement Proxmox..." sed -i "s/^deb/#deb/g" /etc/apt/sources.list.d/pve-enterprise.list echo "deb http://download.proxmox.com/debian/pve $(lsb_release -sc) pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list apt update # Création d'un utilisateur non-root pour l'administration echo "Création d'un utilisateur administrateur non-root..." adduser $USER_NAME usermod -aG sudo $USER_NAME # Configuration du SSH : modification du port et interdiction de l’accès root echo "Configuration du SSH..." sed -i "s/#Port 22/Port $SSH_PORT/" /etc/ssh/sshd_config sed -i "s/PermitRootLogin yes/PermitRootLogin no/" /etc/ssh/sshd_config systemctl restart sshd # Configuration du pare-feu Proxmox echo "Activation du pare-feu Proxmox..." pve-firewall enable # Activation de l’authentification à deux facteurs (TFA) pour Proxmox GUI echo "Configuration de l'authentification à deux facteurs..." echo "Veuillez configurer manuellement l'authentification à deux facteurs pour les utilisateurs dans l'interface Proxmox GUI." # Installation et configuration de Fail2ban pour Proxmox echo "Installation de Fail2ban..." apt install fail2ban -y echo "Configuration de Fail2ban pour SSH..." cat < /etc/fail2ban/jail.local [DEFAULT] bantime = 1h findtime = 10m maxretry = 5 [sshd] enabled = true port = $SSH_PORT logpath = /var/log/auth.log EOF systemctl restart fail2ban # Désactivation de l'ICMP pour réduire les risques de scan de réseau echo "Désactivation de l'ICMP..." echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf sysctl -p # Optimisation du réseau pour Proxmox echo "Optimisation des paramètres réseau pour Proxmox..." echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf sysctl -p # Configuration de l’accès NTP pour assurer une bonne synchronisation de l’heure echo "Configuration du service NTP..." apt install ntp -y systemctl enable ntp systemctl start ntp # Création d'un alias pour le mot de passe de l'utilisateur root (optionnel) echo "Modification de l'authentification root sur Proxmox..." cat <> /etc/pve/priv/realm.cfg pam:root comment Proxmox root user EOF # Affichage de l'adresse d'accès à Proxmox echo "L'installation et la configuration de Proxmox sont terminées." echo "Accédez à l'interface Proxmox via https://$PROXMOX_IP:8006/" echo "Le SSH est configuré sur le port $SSH_PORT."