Diretório Home SSH do SSH da prisão no Linux

Diretório Home SSH do SSH da prisão no Linux

Prender um usuário SSH ao diretório doméstico permite que você (o administrador) exerça muito controle e segurança sobre as contas de usuário em um sistema Linux.

O usuário preso ainda tem acesso ao diretório doméstico, mas não pode atravessar o restante do sistema. Isso mantém todo o resto no sistema privado e impedirá que qualquer coisa seja adulterada por um usuário SSH. É uma configuração ideal para um sistema que possui vários usuários e os arquivos de cada usuário precisam permanecer privados e isolados dos outros.

Neste guia, mostraremos as instruções passo a passo para prender um usuário SSH ao diretório doméstico deles.

Neste tutorial, você aprenderá:

  • Como prender o usuário ssh para diretório inicial
Diretório Home SSH do SSH da prisão no Linux Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Qualquer distro Linux
Programas OpenSsh Server
Outro Acesso privilegiado ao seu sistema Linux como raiz ou através do sudo comando.
Convenções # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
$ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Usuário da prisão para diretório doméstico com chroot



Abra um terminal e prepare -se para digitar muitos comandos, pois o processo para configurar um chroot seguro é bastante desenhado. Você vai querer elevar à conta de usuário root ou usar sudo para cada comando.

  1. Comece fazendo o diretório chroot, que conterá os vários nós, libs e shell para o nosso (s) usuário (s) preso (s).
    # mkdir /var /chroot 
  2. Em seguida, vamos copiar alguns essenciais /dev nós para o diretório chroot, que permite o uso básico dos usuários do terminal.
    # mkdir/var/chroot/dev # cd/var/chroot/dev # mknod -m 666 null c 1 3 # mknod -m 666 tty c 5 0 # mknod -m 666 zero c 1 5 # mknod -m 666 aleatório c 1 8 


  3. Em seguida, defina permissões no diretório chroot. O usuário root precisará possuir o diretório para garantir que os usuários presos não possam deixá -lo. Outros usuários só podem ter lido e executar permissões.
    # Raiz CHOW: raiz /var /chroot # chmod 755 /var /chroot 
  4. Em seguida, vamos dar um shell ao nosso (s) usuário (s) preso (s). Estaremos usando o shell de bash neste exemplo, embora você possa usar um diferente se quisesse.
    # mkdir/var/chroot/bin # cp/bin/bash/var/chroot/bin 
  5. A casca de bash requer vários Libs para correr, para que eles também precisem ser copiados para o chroot diretório. Você pode ver o que Libs são necessários com o LDD comando:
    # ldd /bin /bash linux-vdso.então.1 (0x00007FFD59492000) Libtinfo.então.6 =>/lib/x86_64-linux-gnu/libbinfo.então.6 (0x00007F91714CD000) libdl.então.2 =>/lib/x86_64-linux-gnu/libdl.então.2 (0x00007F91714C7000) LIBC.então.6 =>/lib/x86_64-linux-gnu/libc.então.6 (0x00007f91712d5000) /lib64 /ld-linux-x86-64.então.2 (0x00007F917163A000) 

    Copie esses arquivos para o diretório chroot:

    # mkdir -p/var/chroot/lib/x86_64-linux-gnu/var/chroot/lib64 # cp/lib/x86_64-linux-gnu/libltinfo.então.6, libdl.então.2, libc.então.6/var/chroot/lib/x86_64-linux-gnu # cp/lib64/ld-linux-x86-64.então.2/var/chroot/lib64 


  6. Agora podemos criar o usuário e definir uma senha para a conta.
    # userAdd Exemplo # Passwd Exemplo 
  7. Adicione o /etc/passwd e /etc/grupo arquivos no diretório chroot.
    # mkdir/var/chroot/etc # cp/etc/passwd, grupo/var/chroot/etc 
  8. Em seguida, precisamos fazer algumas edições para o arquivo de configuração SSH. Usar Nano ou seu editor de texto favorito para abri -lo.
    # sudo nano/etc/ssh/sshd_config 

    Adicione as seguintes linhas à parte inferior do arquivo.

    Combine o exemplo do usuário chrootdirectory /var /chroot 
    Configure o chroot para prender um usuário ssh

    Salve suas alterações e reinicie o serviço SSH para que as mudanças tenham efeito.

    # SystemCtl Reiniciar SSHD 


  9. Crie um diretório doméstico para o usuário e forneça permissões adequadas.
    # mkdir -p/var/chroot/home/exemplo # CHOW 
  10. Neste ponto, o usuário deve poder fazer login e usar comandos nativos de bash, mas eles não terão acesso a muito. Vamos dar a eles acesso a mais alguns básicos como ls, gato, eco, rm, vi, data, mkdir. Em vez de copiar manualmente todas as bibliotecas compartilhadas para esses comandos, você pode usar o seguinte script para otimizar o processo.
    #!/bin/bash # Este script pode ser usado para criar um ambiente simples de chroot # escrito por linuxconfig.org # (c) 2020 LinuxConfig sob GNU GPL V3.0+ #!/bin/bash chroot = '/var/chroot' mkdir $ chroot para i em $ (ldd $* | grep -v dinâmico | cut -d "" -f 3 | sed 's/: //' | classy | uniq ) do cp-Parents $ i $ chroot feito # arch amd64 se [-f /lib64 /ld-linux-x86-64.então.2]; Então CP-Parents /lib64 /ld-linux-x86-64.então.2 /$ chroot fi # arch i386 se [-f /lib /ld -linux.então.2]; Então CP-Parents /Lib /Ld-Linux.então.2 /$ chroot fi echo "CHROOT CHANIL. Para acessá -lo executar: chroot $ chroot " 
    cópia de

    Usando esse script, vamos ativar alguns desses comandos.

    # ./chroot.sh /bin /ls, gato, eco, rm, vi, data, mkdir 

Finalmente terminamos. Você pode ssh com o usuário que você criou para garantir que tudo funcione corretamente.

# ssh exemplo@localhost 
O usuário do SSH é preso ao chroot, mas tem acesso a comandos básicos

Como você pode ver, nosso usuário tem acesso aos comandos que damos e não podemos acessar o restante do sistema fora de Chroot.

Conclusão

Neste guia, vimos como prender um usuário SSH ao diretório inicial do Linux. É um processo longo, mas o script que fornecemos que você deve economizar uma quantidade enorme de trabalho tedioso. Prender um usuário a um único diretório é uma maneira muito boa de manter a privacidade para usuários individuais em um servidor compartilhado.

Tutoriais do Linux relacionados:

  • Coisas para instalar no Ubuntu 20.04
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Arquivos de configuração do Linux: os 30 primeiros mais importantes
  • Como remover Bloatware do seu Samsung Android Mobile…
  • Manipulando a entrada do usuário em scripts bash
  • Linux pode obter vírus? Explorando a vulnerabilidade do Linux…
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
  • Download do Linux
  • Como fazer bota dupla kali linux e windows 10