Ajouter Script/post_install.sh
This commit is contained in:
		
							
								
								
									
										83
									
								
								Script/post_install.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								Script/post_install.sh
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,83 @@
 | 
				
			|||||||
 | 
					#!/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 <<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 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 <<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."
 | 
				
			||||||
		Reference in New Issue
	
	Block a user