MODOP – PARTIE 1 – Installation Serveur SFTP Centos7

Machine Virtuelle CentOS 7

  • CPU : 2
  • RAM : 2Go
  • Disque : 10Go
  • IP adresse : 175.16.186.10/24
  • Host : sftp.house.cpb
  • Alias DNS sftp

Une Machine virtuelle sous Proxmox pour servir le service DHCP

  • sftp.house.cpb

Trois Machines Clientes sous Proxmox

Partie 1 – Serveur SFTP

1°) Configurer le réseau de la machine

[root@sftp ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="eth0"
UUID="35f09dc8-9c13-4ce3-873f-85282775bf7c"
DEVICE="eth0"
ONBOOT="yes"
IPADDR="172.16.186.10"
PREFIX="24"
GATEWAY="172.16.186.201"
DNS1="192.168.1.1"
DOMAIN="house.cpb"
IPV6_PRIVACY="no"

2°) Désactivation du SElinux

[root@sftp ~]# vi /etc/selinux/config
SELINUX=disabled

Redémarrer la machine.

[root@sftp ~]# reboot

3°) Désactiver l’IPV6 (je n’utilise pas l’Ipv6)

[root@sftp ~ ]# vi /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.default.autoconf = 0
[root@sftp ~]# sysctl –p

4°) Installation des middlewares

[root@dhcp ~]# yum update && yum upgrade
[root@dhcp ~]# yum install htop net-tools nmap iotop vim

Dans notre cas nous passerons par le Protocol SFTP pour plus de sécurité. Le mode FTP n’est plus conseillé pour le transfert de vos données.
Dans le cas présent, nous utiliserons donc OpenSSH pour faire du FTP à travers le tunnel SSH d’OpenSSH.

[root@sftp ~]# yum install openssh-server openssh-client

5°) Installation des rules Firewalld

[root@sftp ~]# firewall-cmd --zone=public --add-service=ssh --permanent
[root@sftp ~]# firewall-cmd --reload

5°) Création des Utilisateurs/Groupe

Création Groupe

[root@sftp home]# groupadd sftpusers

Création des utilisateurs

[root@sftp home]# useradd -g sftpusers -d /home/tony -s /usr/sbin/nologin tony
[root@sftp home]# useradd -g sftpusers -d /home/texavery -s /usr/sbin/nologin texavery
[root@sftp home]# useradd -g sftpusers -d /home/chris -s /usr/sbin/nologin chris

Création des Mots depasse Utilisateurs

[root@sftp home]# passwd chris
Changing password for user chris.
New password: « mot de passe »
Retype new password: « mot de passe »
passwd: all authentication tokens updated successfully.

[root@sftp home]# passwd tony
Changing password for user tony.
New password: « mot de passe »
Retype new password: « mot de passe »
passwd: all authentication tokens updated successfully.

[root@sftp home]# passwd texavery
Changing password for user texavery.
New password: « mot de passe »
Retype new password: « mot de passe »
passwd: all authentication tokens updated successfully.

Modification des Droits pour les Comptes racine des Users SFTP

[root@sftp ~]# chown root:root /home/chris
[root@sftp ~]# chown root:root /home/tony
[root@sftp ~]# chown root:root /home/texavery

Cela va interdire l’ajout de données sur la racine de l’utilisateur pour des raisons de sécurité.

Création d’un dépôt « Projet » sur la racine de chaque utilisateur

[root@sftp ~]# mkdir /home/chris/Chris_Pojet
[root@sftp ~]# mkdir /home/tony/Tony_Pojet
[root@sftp ~]# mkdir /home/texavery/Texavery_Pojet

Attribution des droits User sur chaque Projet

[root@sftp ~]# chown -R chris.sftpusers /home/chris/Chris_Pojet
[root@sftp ~]# chown -R tony.sftpusers /home/tony/Tony_Pojet
[root@sftp ~]# chown -R texavery.sftpusers /home/texavery/Texavery_Pojet

6°) Configurer OpenSSH pour le groupe sftpusers

[root@sftp ~]# vim /etc/ssh/ssh_config

Ajouter à la fin du fichier

### Service SFTP
Match Group sftpusers
 ChrootDirectory /home/%u
 AllowTcpForwarding no
 ForceCommand internal-sftp

Il aussi possible de faire des match Users pour s’assurer d’un chroot ciblé.

[root@sftp ~]# systemctl reload sshd

7°) Test local des comptes users.

[root@sftp ~]# sftp chris@localhost
chris@localhost's password:
Connected to localhost.
sftp> ls
Chris_Pojet
sftp> exit

[root@sftp ~]# sftp tony@localhost
tony@localhost's password:
Connected to localhost.
sftp> ls
Tony_Pojet
sftp> exit

[root@sftp ~]# sftp texavery@localhost
texavery@localhost's password:
Connected to localhost.
sftp> ls
Texavery_Pojet
sftp> exit

Views: 19

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *