Pular para o conteúdo

rssh - Cópia segura de arquivos entre máquinas GNU/Linux

Dica publicada em Linux / Segurança
Daniel Zaia Manzano dzm_linux
Hits: 6.134 Categoria: Linux Subcategoria: Segurança
  • Indicar
  • Impressora
  • Denunciar

rssh - Cópia segura de arquivos entre máquinas GNU/Linux

Uma das formas mais tradicionais de transferir arquivos entre duas máquinas GNU/Linux, é utilizando a ferramenta scp, derivada das ferramentas ssh e companhia.

O único inconveniente deste método, é ter que fornecer sua própria senha de usuário para quem for transferir os arquivos para sua máquina.

A solução que encontrei para isso, foi criar um usuário específico para esta finalidade. Mas esta solução comporta os mesmos problemas que antes, uma vez que eu continuo tendo que fornecer uma senha para os outros. E uma pessoa mal intencionada, pode acabar acessando minha máquina sem minha autorização.

Depois de pesquisar sobre como resolver este problema, encontrei a solução ideal, que é o shell rssh.

O rssh é um shell muito específico, cuja função é prover acesso a determinados serviços que trabalhem com transferência remota de arquivos, como SCP ou rSync, por exemplo. O grande detalhe, é que ele apenas provê acesso aos serviços estipulados, mas não propriamente a aplicações de acesso remoto, como o SSH, por exemplo.

Desta forma, uma vez configurado, qualquer pessoa que for transferir arquivos para minha máquina, mesmo sabendo a senha de um usuário, nada poderá fazer além de transferir arquivos.

Vamos implementar o rssh em 3 etapas:
  • Instalação;
  • Criação de um usuário específico para a finalidade de transferências remotas;
  • Configuração.

Instalação

1. Para instalar o pacote rssh:

apt-get install rssh

2. Em seguida, criaremos um usuário específico para receber as transferências remotas, chamado transfer. Já vamos estabelecer que seu shell padrão será o próprio /usr/bin/rssh, e em seguida vamos estabelecer uma senha para ele:

# useradd --create-home --shell /usr/bin/rssh transfer
# passwd transfer

3. Especificar no arquivo de configuração /etc/rssh.conf, quais serviços de transferência remota serão permitidos via rssh:

# cat /etc/rssh.conf
  # This is the default rssh config file

  # set the log facility. "LOG_USER" and "user" are equivalent.
  logfacility = LOG_USER

  # Leave these all commented out to make the default action for rssh to lock
  # users out completely...

  allowscp
  #allowsftp
  #allowcvs
  #allowrdist
  #allowrsync
  #allowsvnserve

  # set the default umask
  umask = 022
  ...


No exemplo acima, descomentei a linha allowscp, para habilitar o acesso via SCP. Os serviços que estiverem comentados, serão desabilitados via rssh.

Feito isso, quando alguém for copiar algum arquivo para mim, fornecerei a senha do usuário transfer, e somente conseguirão transferir arquivos via scp para minha máquina.

Exemplo: Na máquina de quem for transferir arquivos para minha máquina:

scp exemplo.txt transfer@{máquina configurada com rssh}:/home/transfer

Obs.: no caso deste exemplo, a conta do usuário transfer não poderá ser usada para operar o sistema normalmente, pois o rssh não é um shell projetado para esta finalidade.

Para mais informações, consulte:

Macete para apagar conteúdo de arquivo sem excluí-lo

netstat -ltunp: Descobrindo serviços rodando no sistema e respectivos PIDs

Debug em Shell Scripts

dd - Instalação correta do GNU/Linux em pendrive

type - Determinar o tipo de um comando

Projeto Root - Protegendo o Apache

Série de webinars e podcasts sobre Análise Forense Computacional e CHFI

Série de Webinars - Auditoria de Segurança em Aplicações WEB

Verificação de segurança do servidor DNS

Obtendo acesso a hosts internos de uma rede remota com SSH

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.