Proxmox/Script/post_install.sh

84 lines
2.8 KiB
Bash
Raw Normal View History

2024-11-04 19:58:50 +00:00
#!/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."