Bloqueio de usuários com o chroot

Ao disponibilizarmos o acesso aos clientes em nossos servidores Linux, o ideal é podermos bloquear o que eles conseguem acessar e alterar, disponibilizando o acesso apenas aos diretórios relativos as suas pastas no servidor web. Para essa configuração de segurança, podemos enjaular os usuários com o chroot.

[ Hits: 5.586 ]

Por: Diego Mendes Rodrigues em 09/09/2020 | Blog: https://www.linkedin.com/in/diegomendesrodrigues/


Bloqueio de usuários com o chroot



Ao disponibilizarmos o acesso aos clientes em nossos servidores Linux, utilizando o SFTP (SSH File Transfer Protocol), o ideal é podermos bloquear o que cada usuário consegue acessar e alterar remotamente, liberando o acesso apenas aos diretórios relativos ao servidor web, como por exemplo, o Apache.

Para que esses usuários consigam enxergar apenas seus diretórios de trabalhamos, iremos enjaulá-los utilizando o chroot, desta forma, quando eles realizarem a conexão pelo SFTP, não poderão sair de seus diretórios.

Neste material utilizamos um servidor com o Debian GNU/Linux 10 (Buster).

Iniciaremos alterando nosso usuário atual para o root, com o comando:

su -l

Usuários para o SFTP

Iniciaremos criando um grupo de usuários, onde iremos colocar todos os clientes que terão acesso ao SFTP, desta forma, as configurações podem ser trabalhadas futuramente.

# groupadd usuarios_sftp

Irei criar um usuário com o username cliente, colocando ele no grupo criado anteriormente. Depois, irei atribuir a senha 12345678 ao usuário criado.

# useradd -m -G usuarios_sftp cliente
# echo "cliente:12345678" | chpasswd

Devemos alterar o grupo usuarios_sftp para que ele seja o principal do nosso novo usuário.

# usermod -G usuarios_sftp cliente

Devemos ajustar as permissões do diretório raiz deste usuário.

# chown root /home/cliente

Agora, criaremos o diretório onde este usuário pode salvar seu conteúdo web, ou seja, o conteúdo de seu website.

# mkdir /home/cliente/web
# chown cliente /home/cliente/web

Para finalizar a configuração, devemos alterar as configurações do servidor SSH para criarmos as regras de enjaulamento com o [B]chroot[/B].

# nano /etc/ssh/sshd_config

Iremos ao final do arquivo para localizar essa linha:


Devemos alterar da seguinte forma:

Subsystem       sftp    internal-sftp
Match Group usuarios_sftp
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp

Devemos reiniciar o serviço do SSH.

# systemctl restart sshd

Agora, ao utilizar o software FileZilla e realizar a conexão nesse servidor, com o protocolo SFTP na porta 22, com o usuário cliente criado anteriormente, ele possui acesso apenas ao seu diretório home.
Observe na imagem anterior, que o usuário consegue acessar apenas sua pasta pessoal.

Conclusões

Espero que esse material seja útil na segurança e no controle de acesso aos usuários em seus servidores. Você utiliza o enjaulamento, ou alguma outra configuração para limitar o acesso dos seus clientes em seus servidores?

   

Páginas do artigo
   1. Bloqueio de usuários com o chroot
Outros artigos deste autor

Port Scanner com Python

FIND - Encontrar informações no Linux

Bodhi Linux 6.0

Ubuntu ou Debian com KDE Plasma

ISPConfig 3.1 - Instalação no Debian 9

Leitura recomendada

Biometria facial na autenticação do usuário root

Prey Project - Localizando seu notebook roubado

Configurando Proxy Reverso NGINX com SSL e Apache em Virtual Hosts no Debian

PHLAK :: [P]rofessional [H]acker's [L]inux [A]ssault [K]it

Explorando celulares Android via Web com airbase-ng

  
Comentários
[1] Comentário enviado por maurixnovatrento em 09/09/2020 - 20:39h


Bom artigo.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[2] Comentário enviado por roomik em 13/09/2020 - 20:37h

Muito bom parceiro, parabéns.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts