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?