Pages : 1
#1 Le 07/03/2019, à 11:23
- Demg
Empêcher la remontée d'un dossier parent
Bonjour à tous,
Voici la configuration actuelle, je possède un serveur Ubuntu 16.04 LTS et un poste sous Ubuntu 10.04 LTS. Tout deux sont en réseau local (sans internet). Plusieurs utilisateurs (sur un compte commun) viennent sur le poste afin de déposer des fichiers sur le serveur via l'interface graphique par le biais du connecteur réseau mis en place par "Raccourcis -> Se connecter à un serveur..." en SSH.
Sauf que je me suis rendu compte que n'importe quel utilisateur pouvait remonter dans l'arborescence et donc accéder aux dossiers système. Si on est dans un monde de bisounours aucun soucis sauf qu'on est pas à l'abri d'avoir un petit rebelle
Du coup, j'ai mené des recherches pour "cloisonner" l'utilisateur à n'accéder qu'aux dossiers de partage ou stockage du serveur.
J'ai testé ce tuto : ICI même si cela ne répond que partiellement à ce que je souhaite avoir.
Sauf que je suis confronté à une erreur lors du redémarrage du service SSH :
root@ciborg-server-2:/ciborg/store/test_partage# service ssh restart
Job for ssh.service failed because the control process exited with error code. See "systemctl status ssh.service" and "journalctl -xe" for details.
Voici la partie modifiée dans le sshd_config :
Subsystem sftp /usr/lib/openssh/sftp-server
#insertion du groupe chroot
Match group sftpuser
ChrootDirectory /ciborg/store/test_partage/test_chroot/
X11Forwarding no
AllowTcpForwarding no
Peut-être qu'il y a d'autres (ou meilleures) solutions pour arriver à mes fins : empêcher les utilisateurs de remonter dans le dossier parent tout en pouvant déposer des fichiers sur les différents répertoires utiles.
Hors ligne
#2 Le 07/03/2019, à 13:19
- bruno
Re : Empêcher la remontée d'un dossier parent
Bonjour,
Ce que tu as fait devrait fonctionner à condition que le dossier /ciborg/store/test_partage/test_chroot/ appartienne à root et que tes utilisateurs soient membres du groupe sftpuser et il manque une directive :
Match group sftpuser
ChrootDirectory /ciborg/store/test_partage/test_chroot/
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Après avoir relancer le service ssh donne, comme demandé, le retour de :
systemctl status ssh
journalctl -xe
#3 Le 07/03/2019, à 13:27
- mazarini
Re : Empêcher la remontée d'un dossier parent
Bonjour,
Eventuellement : See "systemctl status ssh.service" and "journalctl -xe" for details.
Donc il faudrait regarder le résultat de ces 2 commandes pour voir ce qui coince.
Ton sshd_config semble bon si le groupe sftpuser existe.
S'il existait une école de la politique, les locaux devraient être édifiés rue de la Santé. Les élèves pourraient s'habituer. (Pierre Dac)
Hors ligne
#4 Le 11/03/2019, à 14:03
- Demg
Re : Empêcher la remontée d'un dossier parent
Bonjour,
Ce que tu as fait devrait fonctionner à condition que le dossier /ciborg/store/test_partage/test_chroot/ parotidienne à root et que tes utilisateurs soient membres du groupe sftpuser et il manque une directive :
Match group sftpuser ChrootDirectory /ciborg/store/test_partage/test_chroot/ X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
Après avoir relancer le service ssh donne, comme demandé, le retour de :
systemctl status ssh
journalctl -xe
Désolé du retard de réponse, je n'étais pas retourné au boulot depuis...:P
Alors pour te répondre : j'ai ajouté le ForceCommand
Le ls -l de mon dossier donne ça
drwxr-x--- 3 root sftpuser 4096 mars 4 12:56 test_chroot
Mais j'ai toujours le message d'erreur :(
Bonjour,
Eventuellement : See "systemctl status ssh.service" and "journalctl -xe" for details.
Donc il faudrait regarder le résultat de ces 2 commandes pour voir ce qui coince.Ton sshd_config semble bon si le groupe sftpuser existe.
Je n'ai pas systemctl d'installer, le journalctl me retourne un fichier de 123Ko que j'ai parcouru. J'ai l'impression que la directive UsePAM n'est pas appréciée avec un bloc Match
Je vais refaire un test
Hors ligne
#5 Le 11/03/2019, à 14:21
- bruno
Re : Empêcher la remontée d'un dossier parent
Au vu de ce que tu dis en #1 : Ubuntu 16.04 et le retour « Job for ssh.service failed » tu as forcément systemd installé et donc la commande systemctl est disponible.
Je passe sur le client en version totalement obsolète 10.04 (plus de mises à jour depuis 4ans )…
Il faut donner un retour complet des commandes demandées, i.e. la commande et son retour ⇒ en #4 on ne sait pas ce que tu as vérifié avec ta commande ls -l. En l’occurrence il aurait fallu, le retour complet de :
ls -al /ciborg/store/test_partage/test_chroot/
Note bien que si le redémarrage du service ssh échoue, c'est très certainement dû à une erreur dans le fichier de configuration.
Dernière modification par bruno (Le 11/03/2019, à 14:21)
#6 Le 11/03/2019, à 14:50
- Demg
Re : Empêcher la remontée d'un dossier parent
Désolé j'avais fait un ls -l du dossier parent
root@ciborg-server-2:/# ls -al /ciborg/store/test_partage/test_chroot/
total 12
drwxr-x--- 3 root sftpuser 4096 mars 4 12:56 .
drwxr-xr-x 32 nobody nogroup 4096 mars 11 12:15 ..
drwxr-x--- 3 root sftpuser 4096 mars 4 13:00 operateur
Hors ligne
#7 Le 11/03/2019, à 15:37
- bruno
Re : Empêcher la remontée d'un dossier parent
Ok, mais cela n'explique pas pourquoi tu n'as pas la commande systemctl. Ce n'est pas normal !
Sur le serveur donne le retour de :
lsb_release -a
apt-cache policy systemd
Et pour le SSH :
grep sftpuser /etc/group
cat /etc/ssh/sshd_config
Dernière modification par bruno (Le 11/03/2019, à 15:37)
#8 Le 11/03/2019, à 16:03
- Demg
Re : Empêcher la remontée d'un dossier parent
Ok, mais cela n'explique pas pourquoi tu n'as pas la commande systemctl. Ce n'est pas normal !
Sur le serveur donne le retour de :lsb_release -a
apt-cache policy systemd
Et pour le SSH :
grep sftpuser /etc/group
cat /etc/ssh/sshd_config
Laisse... j'avais mal tapé la commande
Voici les résultats pour le reste, là j'ai commenté les lignes pour pouvoir travailler sur mon poste :
root@ciborg-server-2:/# grep sftpuser /etc/group
sftpuser:x:1001:
root@ciborg-server-2:/# cat /etc/ssh/sshd_config
# Package generated configuration file
# See the sshd_config(5) manpage for details
# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes
# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 1024
# Logging
SyslogFacility AUTH
LogLevel INFO
# Authentication:
LoginGraceTime 120
PermitRootLogin prohibit-password
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes
# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no
# Change to no to disable tunnelled clear text passwords
#PasswordAuthentication yes
# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes
# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no
#MaxStartups 10:30:60
Banner /etc/issue.net
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
#insertion du groupe chroot
#Match group sftpuser
# ChrootDirectory /ciborg/store/SECTIONS/SYMI/test_chroot/
# X11Forwarding no
# AllowTcpForwarding no
# ForceCommand internal-sftp
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
Hors ligne
#9 Le 11/03/2019, à 16:14
- bruno
Re : Empêcher la remontée d'un dossier parent
Ok. Il faut déplacer le bloc Match group en fin de fichier:
…
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
UsePAM yes
Subsystem sftp /usr/lib/openssh/sftp-server
#insertion du groupe chroot
Match group sftpuser
ChrootDirectory /ciborg/store/SECTIONS/SYMI/test_chroot/
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Sinon la dernière directive qui était UsePAM yes est considérée comme faisant partie du bloc Match group ce qui provoque une erreur.
Dernière modification par bruno (Le 11/03/2019, à 16:17)
Pages : 1