Call-Informatique
Call-Informatique
Le média tech
NAS Synology DSM 7 : configuration avancée et sécurisation
InformatiqueGuides10 min de lecture

NAS Synology DSM 7 : configuration avancée et sécurisation

Configuration complète d'un NAS Synology sous DSM 7 : RAID, accès SSH, certificat SSL, fail2ban, Hyper Backup et accès VPN sécurisé.

NAS Synology DSM 7 : configuration avancée et sécurisation

Ce guide s'adresse à ceux qui ont déjà un NAS Synology fonctionnel et veulent aller plus loin : SSH proprement configuré, certificat SSL valide, durcissement sécurité, sauvegarde automatisée et accès VPN sans exposer DSM sur internet.

Touté testé sur DSM 7.x (7.1 et 7.2). La plupart des points s'appliquent aussi à DSM 6.2.

Prérequis

  • NAS Synology avec DSM 7.x installé
  • Volume de stockage créé (SHR, RAID 1 ou RAID 5 selon nombre de disques)
  • Accès administrateur à DSM
  • Un domaine ou sous-domaine pointant vers votre IP publique (pour Let's Encrypt)
  • Port 80 et 443 ouverts sur votre routeur vers le NAS

1. Sécuriser le compte admin par défaut

Le compte admin créé lors de l'installation est une cible privilégiée. Première chose à faire : créer un vrai compte admin avec un autre nom, lui donner les droits administrateur, puis désactiver le compte admin générique.

bash
## Dans DSM : Panneau de configuration > Utilisateur et groupe > Créer
## Créez un compte avec un identifiant non trivial
## Attribuez-lui le groupe "administrators"
## Puis désactivez le compte "admin" :
## Panneau de configuration > Utilisateur et groupe > admin > Modifier > Désactiver ce compte

Activez aussi l'authentification à deux facteurs pour tous les comptes admin :

  1. Panneau de configuration > Sécurité > Compte > cochez Appliquer la vérification en 2 étapes pour les administrateurs
  2. Chaque admin devra configurer TOTP (Google Authenticator, Aegis, 1Password...)

2. Activer SSH avec accès par clé uniquement

SSH sur un NAS Synology est désactivé par défaut. Pour l'activer proprement :

bash
## Panneau de configuration > Terminal et SNMP > Terminal
## Cochez "Activer le service SSH"
## Changez le port par défaut (22 -> 2222 ou autre port non standard)

Ensuite, configurez l'accès par clé SSH uniquement. Depuis votre PC :

bash
## Générer une paire de clés si vous n'en avez pas
ssh-keygen -t ed25519 -C "nas-synology" -f ~/.ssh/id_nas

## Copier la clé publique sur le NAS
ssh-copy-id -i ~/.ssh/id_nas.pub -p 2222 votre_admin@192.168.1.50

## Tester la connexion par clé
ssh -i ~/.ssh/id_nas -p 2222 votre_admin@192.168.1.50

Une fois la connexion par clé confirmée, désactivez l'authentification par mot de passe. Sur le NAS via SSH :

bash
## Éditer la config SSH
sudo vi /etc/ssh/sshd_config

## Modifier ou ajouter ces lignes :
## PasswordAuthentication no
## PubkeyAuthentication yes
## PermitRootLogin no

## Redémarrer le service SSH
sudo synoservice —restart sshd

⚠️ Assurez-vous que votre clé fonctionne avant de désactiver le mot de passe. Sans ça, vous ne pourrez plus vous connecter en SSH.

3. Configurer un certificat SSL avec Let's Encrypt

DSM intègre nativement Let's Encrypt. Prérequis : votre domaine (ou sous-domaine) doit pointer vers l'IP publique de votre NAS, et le port 80 doit être accessible depuis internet pour la validation HTTP.

bash
## Panneau de configuration > Sécurité > Certificat > Ajouter
## Choisissez "Obtenir un certificat auprès de Let's Encrypt"
## Domaine principal : nas.votre-domaine.com
## Email : votre@email.com

DSM gère le renouvellement automatique. Une fois le certificat obtenu, assignez-le à tous vos services :

  1. Cliquez sur Configurer à côté du certificat
  2. Dans la liste des services, assignez votre certificat à DSM, WebDAV, FileStation, etc.

Forcer HTTPS pour DSM :

bash
## Panneau de configuration > Portail de connexion > DSM
## Cochez "Rediriger automatiquement les connexions HTTP vers HTTPS"

4. Configurer le pare-feu DSM

Le pare-feu intégré de DSM est souvent ignoré, alors qu'il permet de restreindre l'accès par IP ou plage d'adresses.

bash
## Panneau de configuration > Sécurité > Pare-feu
## Activez le pare-feu
## Créez un profil avec ces règles (dans l'ordre) :

Règles recommandées :

  1. Autoriser SSH (port 2222) depuis votre réseau local (192.168.1.0/24)
  2. Autoriser DSM (port 5000/5001) depuis le réseau local uniquement
  3. Autoriser HTTP/HTTPS (80/443) depuis toutes les IP (pour Let's Encrypt et accès externe)
  4. Refuser tout le reste

Attention à l'ordre des règles : DSM les applique de haut en bas et s'arrête à la première correspondance.

5. Auto Block et protection contre les brute-force

DSM a une fonction native de blocage IP après plusieurs tentatives échouées :

bash
## Panneau de configuration > Sécurité > Protection > Blocage automatique
## Activez et configurez :
## - Tentatives de connexion : 5
## - Délai : 5 minutes
## - Activer l'expiration du blocage : 30 jours

Activez aussi les notifications par email pour être alerté en cas de tentative :

bash
## Panneau de configuration > Notification > Email
## Configurez votre SMTP (Gmail, Mailgun, etc.)
## Activez les alertes pour : tentatives de connexion échouées, état des disques, volume dégradé

6. Vérification SMART et surveillance des disques

Sur un NAS, les disques sont critiques. Planifiez des tests SMART réguliers :

bash
## Gestionnaire de stockage > Disques durs > Sélectionner un disque > Test SMART
## Ou via SSH :
sudo smartctl -a /dev/sda
sudo smartctl -a /dev/sdb

## Tester la santé (test court)
sudo smartctl -t short /dev/sda

## Lire le résultat
sudo smartctl -l selftest /dev/sda

Script de vérification automatique à placer dans un cron DSM :

bash
#!/bin/bash
## /volume1/scripts/check_smart.sh
## Vérifie l'état SMART de tous les disques et envoie un mail si problème

DISKS=(sda sdb sdc sdd)
MAIL_TO="votre@email.com"
HOST=$(hostname)

for disk in "${DISKS[@]}"; do
  if [ -b "/dev/$disk" ]; then
    RESULT=$(sudo smartctl -H /dev/$disk 2>/dev/null | grep -E "SMART overall-health|result")
    if ! echo "$RESULT" | grep -q "PASSED"; then
      echo "ALERTE SMART sur $HOST : /dev/$disk" | mail -s "[NAS] Disque $disk en erreur" $MAIL_TO
    fi
  fi
done

Pour planifier ce script dans DSM :

bash
## Panneau de configuration > Planificateur de tâches > Créer > Tâche planifiée > Script défini par l'utilisateur
## Planification : tous les jours à 6h00
## Commande : bash /volume1/scripts/check_smart.sh

7. Hyper Backup : stratégie 3-2-1

La règle 3-2-1 : 3 copies, sur 2 supports différents, dont 1 hors site. Hyper Backup permet de la mettre en place facilement.

Sauvegarde vers un disque USB externe branché sur le NAS :

bash
## Centre de paquets > Installer Hyper Backup
## Ouvrez Hyper Backup > + > Périphérique de sauvegarde de données
## Destination : dossier local ou USB
## Sélectionnez les dossiers à sauvegarder
## Planification : quotidienne à 3h00
## Rétention : 7 versions quotidiennes, 4 versions hebdomadaires, 3 versions mensuelles

Sauvegarde hors site vers Backblaze B2 (très économique, ~0,006$/Go/mois) :

bash
## Dans Hyper Backup > + > Compatible S3
## Server address : s3.us-west-004.backblazeb2.com
## Bucket : votre-bucket-b2
## Access Key ID et Secret Access Key : depuis la console B2
## Activez le chiffrement côté client avec une passphrase forte

⚠️ Notez bien la passphrase de chiffrement hors du NAS. Sans elle, vos sauvegardes sont irrécupérables.

8. Accès sécurisé via VPN (WireGuard)

Plutôt que d'exposer DSM sur internet, l'approche la plus propre est d'y accéder uniquement via VPN. DSM 7.2 intègre le serveur VPN WireGuard nativement.

bash
## Centre de paquets > VPN Server > Installer
## Ouvrez VPN Server > WireGuard > Activer
## Configurez :
##   - Interface réseau : LAN 1
##   - IP du tunnel : 10.0.0.1/24
##   - Port UDP : 51820
##   - DNS : 192.168.1.1 (votre box) ou 1.1.1.1

Ajout d'un client (par exemple, votre téléphone) :

bash
## VPN Server > WireGuard > Clients > Ajouter
## Donnez un nom au client
## DSM génère automatiquement les clés et le QR code
## Scannez le QR avec l'app WireGuard sur votre téléphone

Ouvrez le port 51820 UDP sur votre routeur vers l'IP du NAS, et vous pouvez accéder à tout votre réseau local depuis n'importe où, de façon chiffrée.

9. Snapshot Replication pour la protection contre le ransomware

Les snapshots de volume permettent de revenir à un état antérieur en cas de corruption ou d'attaque ransomware :

bash
## Centre de paquets > Snapshot Replication > Installer
## Ouvrez Snapshot Replication > Snapshots > Paramètres
## Pour chaque dossier partagé important :
##   - Planification : toutes les heures
##   - Rétention : 24 snapshots horaires, 7 snapshots quotidiens
##   - Activez : "Rendre les snapshots visibles" (permet aux utilisateurs de restaurer eux-mêmes)

Dépannage : problèmes courants

Volume dégradé après panne d'un disque

Si un disque tombe en panne, DSM envoie une alerte et passe le volume en état "dégradé". Le NAS reste accessible. Remplacez le disque défaillant :

bash
## Gestionnaire de stockage > Pool de stockage
## L'état indique "Dégradé" avec le disque fautif identifié
## Éteignez le NAS (si hot-swap non supporté par votre modèle)
## Remplacez le disque physiquement
## Rallumez : DSM détecte le nouveau disque et propose de réparer
## Cliquez sur "Réparer" : la reconstruction RAID démarre automatiquement
## Temps de reconstruction : 4 à 12h selon la taille des disques

Connexion SSH refusée (Permission denied)

bash
## Vérifier que le service SSH est démarré
sudo synoservice —status sshd

## Si la clé est refusée, vérifier les permissions :
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
chown -R votre_admin:users ~/.ssh

## Vérifier les logs SSH :
sudo tail -50 /var/log/messages | grep sshd

Certificat Let's Encrypt ne se renouvelle pas

bash
## Vérifier que le port 80 est accessible depuis internet
## Sur votre PC (pas depuis le réseau local) :
curl -I http://nas.votre-domaine.com

## Vérifier les logs dans DSM :
## Panneau de configuration > Journal > Filtrer par "Certificate"

## Forcer le renouvellement manuellement :
## Panneau de configuration > Sécurité > Certificat > Renouveler

Espace disque consommé par les snapshots

bash
## Les snapshots peuvent consommer beaucoup d'espace
## Pour voir l'espace utilisé :
## Snapshot Replication > Snapshots > Utilisation

## Supprimer les anciens snapshots manuellement :
## Sélectionnez-les et cliquez sur Supprimer

## Ajuster la politique de rétention si l'espace manque :
## Snapshot Replication > Snapshots > Paramètres > Planification avancée

Script de diagnostic complet

Script à lancer en SSH pour un état rapide du NAS :

bash
#!/bin/bash
## /volume1/scripts/nas_status.sh
## Rapport d'état complet du NAS Synology

echo "=== NAS STATUS REPORT - $(date) ==="
echo ""

## Uptime
echo "[UPTIME]"
uptime
echo ""

## Utilisation RAM
echo "[MEMOIRE]"
free -h
echo ""

## Température CPU
echo "[TEMPERATURE CPU]"
cat /sys/class/thermal/thermal_zone0/temp 2>/dev/null | awk '{printf "CPU: %.1f°C\n", $1/1000}'
echo ""

## État volumes
echo "[VOLUMES]"
cat /proc/mdstat 2>/dev/null || echo "mdstat non disponible"
echo ""

## Espace disque
echo "[ESPACE DISQUE]"
df -h | grep -E "volume|Filesystem"
echo ""

## SMART rapide
echo "[ETAT SMART]"
for disk in /dev/sd[a-z]; do
  if [ -b "$disk" ]; then
    health=$(sudo smartctl -H $disk 2>/dev/null | grep -E "result|PASSED|FAILED" | tail -1)
    echo "$disk: $health"
  fi
done
echo ""

echo "=== FIN DU RAPPORT ==="
bash
## Rendre le script exécutable
chmod +x /volume1/scripts/nas_status.sh

## Lancer
bash /volume1/scripts/nas_status.sh

Pour aller plus loin

Une fois cette base en place, les extensions naturelles sont : conteneurs Docker via Container Manager (DSM 7.2), serveur Plex ou Jellyfin pour le streaming, et Tailscale comme alternative à WireGuard pour un VPN mesh sans ouverture de port.

La documentation officielle Synology (https://kb.synology.com/fr-fr) reste la référence pour toutes les configurations spécifiques à chaque modèle.

Sur le même sujet

À lire aussi

#tutoriel#guide-technique#NAS#Synology#DSM#homelab#sécurité