Gestion de l'accès au shell sécurisé dans Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Septembre 2014
 
 

Création d'un répertoire isolé pour les fichiers sftp

Cette procédure permet de configurer un répertoire sftponly créé spécifiquement pour les transferts sftp. Les utilisateurs ne peuvent voir aucun fichier ou répertoire se trouvant en dehors du répertoire de transfert.

Avant de commencer

Vous devez prendre le rôle root. Pour plus d'informations, reportez-vous à la section A l’aide de vos droits administratifs attribués du manuel Sécurisation des utilisateurs et des processus dans Oracle Solaris 11.2 .

  1. Sur le serveur Shell sécurisé, créez le répertoire isolé en tant qu'environnement chroot.
    # groupadd sftp
    # useradd -m -G sftp -s /bin/false sftponly
    # chown root:root /export/home/sftponly
    # mkdir /export/home/sftponly/WWW
    # chown sftponly:staff /export/home/sftponly/WWW

    Dans cette configuration, /export/home/sftonly est le répertoire chroot auquel seul le compte root peut accéder. L'utilisateur dispose de l'autorisation d'écriture sur le sous-répertoire sftponly/WWW.

  2. En restant sur le serveur, configurez un bloc match pour le groupe sftp.

    Dans le fichier /etc/ssh/sshd_config, localisez l'entrée sftp subsystem et modifiez le fichier comme suit :

    # pfedit /etc/ssh/sshd_config
    ...
    # sftp subsystem
    #Subsystem       sftp    /usr/lib/ssh/sftp-server
    Subsystem       sftp    internal-sftp
    ...
    ## Match Group for Subsystem
    ## At end of file, to follow all global options
    Match Group sftp
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no

      Vous pouvez spécifier le chemin chroot à l'aide des variables suivantes :

    • %h : spécifie le répertoire d'accueil.

    • %u : spécifie le nom d'utilisateur de l'utilisateur authentifié.

    • %% : séquence d'échappement du signe %.

  3. Vérifiez que la configuration fonctionne correctement sur le client.

    Les fichiers de votre environnement chroot sont susceptibles d'être différents.

    root@client:~# ssh sftponly@server
    This service allows sftp connections only.
    Connection to server closed. No shell access, sftp is enforced.
    root@client:~# sftp sftponly@server
    sftp> pwd sftp access granted
    Remote working directory: /chroot directory looks like root directory
    sftp> ls
    WWW             local.cshrc     local.login     local.profile
    sftp> get local.cshrc
    Fetching /local.cshrc to local.cshrc
    /local.cshrc    100%  166     0.2KB/s   00:00user can read contents
    sftp> put /etc/motd
    Uploading /etc/motd to /motd
    Couldn't get handle: Permission denieduser cannot write to / directory
    sftp> cd WWW
    sftp> put /etc/motd
    Uploading /etc/motd to /WWW/motd
    /etc/motd     100%  118     0.1KB/s   00:00user can write to WWW directory
    sftp> ls -l
    -rw-r--r--    1 101  10    118 Jul 20 09:07 motdsuccessful transfer
    sftp>