Proxmox/Script/post_install.sh

84 lines
2.8 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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 labonnement 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 laccè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 lauthentification à 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 <<EOF > /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 laccès NTP pour assurer une bonne synchronisation de lheure
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 <<EOF >> /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."