0% ont trouvé ce document utile (0 vote)
5 vues3 pages

Configuration d'un serveur SFTP complet

Transféré par

abdessamadaitfaraj86
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues3 pages

Configuration d'un serveur SFTP complet

Transféré par

abdessamadaitfaraj86
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats TXT, PDF, TXT ou lisez en ligne sur Scribd

Je vais vous expliquer la configuration d'un serveur SFTP (SSH File Transfer

Protocol) :

1. Installation des paquets nécessaires :


```bash
# Debian/Ubuntu
sudo apt-get install openssh-server

# Fedora/RHEL
sudo dnf install openssh-server
```

2. Configuration SSH (/etc/ssh/sshd_config) :


```bash
# Configuration de base SFTP
Subsystem sftp internal-sftp

# Configuration pour groupe SFTP dédié


Match Group sftp-users
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
PasswordAuthentication yes
```

3. Création du groupe et des utilisateurs :


```bash
# Créer groupe SFTP
sudo groupadd sftp-users

# Créer utilisateur
sudo useradd -g sftp-users -d /sftp/sftpuser -s /bin/false sftpuser
sudo passwd sftpuser

# Créer structure de dossiers


sudo mkdir -p /sftp/sftpuser/upload
```

4. Configuration des permissions :


```bash
# Permissions racine
sudo chown root:root /sftp/sftpuser
sudo chmod 755 /sftp/sftpuser

# Permissions dossier upload


sudo chown sftpuser:sftp-users /sftp/sftpuser/upload
sudo chmod 770 /sftp/sftpuser/upload
```

5. Configuration du pare-feu :
```bash
# UFW (Ubuntu)
sudo ufw allow ssh

# Firewalld (Fedora)
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
```
6. Configuration avec authentification par clé :
```bash
# Générer une clé sur le client
ssh-keygen -t rsa -b 4096

# Copier la clé sur le serveur


ssh-copy-id sftpuser@server

# Désactiver l'authentification par mot de passe


PasswordAuthentication no
```

7. Limites et quotas :
```bash
# Installer quota
sudo apt-get install quota

# Configurer /etc/fstab
UUID=xxx /sftp ext4 defaults,usrquota,grpquota 0 0

# Activer quota
sudo quotacheck -ugm /sftp
sudo quotaon -v /sftp

# Définir quota
sudo edquota -u sftpuser
```

8. Monitoring et logs :
```bash
# Vérifier les connexions
sudo tail -f /var/log/[Link]

# Surveiller les transferts


sudo tail -f /var/log/syslog
```

9. Configuration avancée pour plusieurs utilisateurs :


```bash
# Script de création d'utilisateur SFTP
#!/bin/bash
USERNAME=$1
sudo useradd -g sftp-users -d /sftp/$USERNAME -s /bin/false $USERNAME
sudo mkdir -p /sftp/$USERNAME/upload
sudo chown root:root /sftp/$USERNAME
sudo chmod 755 /sftp/$USERNAME
sudo chown $USERNAME:sftp-users /sftp/$USERNAME/upload
sudo chmod 770 /sftp/$USERNAME/upload
```

10. Restrictions supplémentaires (sshd_config) :


```bash
Match Group sftp-users
AllowUsers sftpuser1 sftpuser2
DenyUsers root
MaxSessions 2
ClientAliveInterval 300
ClientAliveCountMax 0
```

Bonnes pratiques :

1. Sécurité :
- Utiliser des clés SSH plutôt que des mots de passe
- Limiter l'accès à des IPs spécifiques
- Changer le port SSH par défaut
- Activer la journalisation détaillée
- Utiliser des permissions restrictives

2. Performance :
- Configurer des limites de bande passante
- Mettre en place des quotas disque
- Surveiller l'utilisation des ressources

3. Maintenance :
- Sauvegarder régulièrement la configuration
- Nettoyer les anciens fichiers
- Vérifier régulièrement les logs

Commandes client SFTP utiles :


```bash
# Connexion
sftp user@server

# Commandes de base
pwd # Afficher répertoire actuel
ls # Lister fichiers
get # Télécharger fichier
put # Envoyer fichier
mkdir # Créer dossier
rm # Supprimer fichier
cd # Changer de répertoire
```

Dépannage :
```bash
# Vérifier configuration SSH
sudo sshd -T

# Tester connexion en mode verbeux


sftp -v user@server

# Vérifier permissions
ls -la /sftp/user/
```

SELinux (pour Fedora/RHEL) :


```bash
# Permettre SFTP
sudo setsebool -P ssh_chroot_rw_homedirs on

# Contexte correct
sudo semanage fcontext -a -t ssh_home_t "/sftp(/.*)?"
sudo restorecon -R /sftp
```

Vous aimerez peut-être aussi