TRAVAUX PRATIQUES 04
1 - Renommer le server Ubuntu (SRV-DC10) ===> Fichiers /etc/hostname et /etc/hosts
2 - Configurer l'adresse réseau /etc/netplan/[Link]
3 - Vérifier la connectivité (ping [Link], ping [Link])
4 - Autoriser le service SSH (/etc/ssh/sshd_config)
5 - Créer 3 utilisateurs (alice "Alice Dupont", bob "Bob Dove" et shannon "Gueu Patrice")
6 - Créer 3 groupes (Dev, IT et Desk)
7 - Affecter alice dans le groupe Dev, bob dans le groupe Desk et shannon dans tous les
groupes avec droits administrateur principal (root)
8 - Installer et Configurer DHCP + RESERVATION
9 - Installer et Configurer FTP AVANCE
10 - Installer et Configurer SAMBA AVANCE ET APPLIQUE AUX UILISATEURS
CREES
11 - Installer et Configurer iptables (SSH, DHCP, FTP, DNS)
12 - Installer et Configurer Fail2ban (SSH, DHCP, FTP, DNS)
13 - Installer et Configurer Firewalld (SSH, DHCP, FTP, DNS
14 - Un script automatique pour déployer
✅ Script : setup_srv-[Link]
#!/bin/bash
# Vérification des droits root
if [[ $EUID -ne 0 ]]; then
echo "Ce script doit être exécuté en tant que root."
exit 1
fi
echo "=== 1. Renommage du serveur ==="
hostnamectl set-hostname SRV-DC10
echo "[Link] SRV-DC10" >> /etc/hosts
echo "[Link] SRV-DC10" >> /etc/hosts
echo "=== 2. Configuration réseau Netplan ==="
cat > /etc/netplan/[Link] <<EOF
network:
version: 2
ethernets:
e0:
addresses:
- [Link]/24
gateway4: [Link]
nameservers:
addresses: [[Link], [Link]]
EOF
netplan apply
echo "=== 3. Activation du SSH ==="
sed -i 's/#PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
sed -i 's/#PasswordAuthentication.*/PasswordAuthentication yes/' /etc/ssh/sshd_config
systemctl restart ssh
echo "=== 4. Création des utilisateurs et groupes ==="
addgroup Dev
addgroup IT
addgroup Desk
adduser --gecos "Alice Dupont" --disabled-password alice
adduser --gecos "Bob Dove" --disabled-password bob
adduser --gecos "Gueu Patrice" --disabled-password shannon
usermod -aG Dev alice
usermod -aG Desk bob
usermod -aG Dev,IT,Desk,adm,sudo shannon
echo "=== 5. Installation des services DHCP, FTP, Samba ==="
apt update && apt install -y isc-dhcp-server vsftpd samba firewalld iptables-persistent
fail2ban
echo "=== 6. Configuration DHCP ==="
cat > /etc/dhcp/[Link] <<EOF
subnet [Link] netmask [Link] {
range [Link] [Link];
option routers [Link];
option domain-name-servers [Link], [Link];
}
EOF
echo 'INTERFACESv4="e0"' > /etc/default/isc-dhcp-server
systemctl restart isc-dhcp-server
echo "=== 7. Configuration FTP ==="
sed -i 's/#write_enable=YES/write_enable=YES/' /etc/[Link]
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/[Link]
systemctl restart vsftpd
echo "=== 8. Configuration Samba ==="
mkdir -p /home/partage
chown :Dev /home/partage
chmod 770 /home/partage
cat >> /etc/samba/[Link] <<EOF
[partage]
path = /home/partage
browseable = yes
read only = no
valid users = alice, bob, shannon
EOF
echo -e "alice\nalice" | smbpasswd -a alice
echo -e "bob\nbob" | smbpasswd -a bob
echo -e "shannon\nshannon" | smbpasswd -a shannon
systemctl restart smbd
echo "=== 9. Configuration iptables ==="
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p udp --dport 67 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -P INPUT DROP
netfilter-persistent save
echo "=== 10. Configuration Fail2ban ==="
cat > /etc/fail2ban/[Link] <<EOF
[sshd]
enabled = true
[vsftpd]
enabled = true
[dns]
enabled = true
EOF
systemctl restart fail2ban
echo "=== 11. Configuration Firewalld ==="
systemctl enable firewalld
systemctl start firewalld
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=ftp
firewall-cmd --permanent --add-port=67/udp
firewall-cmd --permanent --add-service=dns
firewall-cmd --reload
echo "=== ✔️Configuration terminée avec succès ==="
14 - Mise en place Hardening du système (SSH sécurisé et lynis)
15 - Mise en place Sauvegarde et contrôle d’intégrité (Sauvegardes (rsync, tar) ; Contrôle
d’intégrité (md5sum, sha256sum, AIDE et Tripwire))
16 - Un script bash complet d’automatisation de ces tâches (14 – et 15 -)
✅ Script : secure_backup_integrity.sh
#!/bin/bash
# =========================
# SCRIPT: secure_backup_integrity.sh
# DESCRIPTION: Sécurisation SSH, Audit Lynis, Sauvegardes et Contrôle d'intégrité
# =========================
# === Variables ===
USER_ADMIN="adminuser"
SSH_PORT=2222
BACKUP_DIR="/backup"
DATE=$(date +%F)
LYNIS_LOG="/var/log/lynis_audit_$[Link]"
# === Étape 1 : Sécurisation SSH ===
echo "[1] Sécurisation SSH..."
sudo sed -i "s/^#*Port .*/Port $SSH_PORT/" /etc/ssh/sshd_config
sudo sed -i "s/^#*PermitRootLogin .*/PermitRootLogin no/" /etc/ssh/sshd_config
sudo sed -i "s/^#*PasswordAuthentication .*/PasswordAuthentication no/"
/etc/ssh/sshd_config
if ! grep -q "^AllowUsers $USER_ADMIN" /etc/ssh/sshd_config; then
echo "AllowUsers $USER_ADMIN" | sudo tee -a /etc/ssh/sshd_config
fi
sudo systemctl restart sshd
echo "[OK] SSH sécurisé sur port $SSH_PORT."
# === Étape 2 : Installation et audit avec Lynis ===
echo "[2] Installation et audit avec Lynis..."
sudo apt update -y && sudo apt install lynis -y
sudo lynis audit system > "$LYNIS_LOG"
echo "[OK] Rapport Lynis enregistré dans $LYNIS_LOG"
# === Étape 3 : Sauvegarde ===
echo "[3] Sauvegardes en cours..."
# Créer répertoire si inexistant
sudo mkdir -p $BACKUP_DIR
# Sauvegarde avec rsync
sudo rsync -av /etc/ "$BACKUP_DIR/etc_backup_$DATE"
sudo rsync -av /home/ "$BACKUP_DIR/home_backup_$DATE"
# Sauvegarde compressée avec tar
sudo tar -czf "$BACKUP_DIR/etc_backup_$[Link]" /etc
sudo tar -czf "$BACKUP_DIR/home_backup_$[Link]" /home
echo "[OK] Sauvegardes terminées."
# === Étape 4 : Contrôle d’intégrité ===
echo "[4] Contrôle d'intégrité simple (md5sum, sha256sum)..."
md5sum /etc/passwd | sudo tee "$BACKUP_DIR/md5_passwd_$[Link]"
sha256sum /etc/shadow | sudo tee "$BACKUP_DIR/sha256_shadow_$[Link]"
# === Étape 5 : Installation et configuration AIDE ===
echo "[5] Installation et initialisation d'AIDE..."
sudo apt install aide -y
sudo aideinit
sudo cp /var/lib/aide/[Link] /var/lib/aide/[Link]
sudo aide --check | sudo tee "$BACKUP_DIR/aide_report_$[Link]"
# === Étape 6 : Installation et configuration Tripwire ===
echo "[6] Installation et initialisation de Tripwire..."
sudo apt install tripwire -y
sudo tripwire-setup-keyfiles <<EOF
EOF
sudo tripwire --init
sudo tripwire --check | sudo tee "$BACKUP_DIR/tripwire_report_$[Link]"
echo "[✔️] Tâches de sécurisation et sauvegarde terminées avec succès."