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

Publicado por Daniel Zaia Manzano em 25/07/2014

[ Hits: 5.377 ]

 


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:
Outras dicas deste autor

Debug em Shell Scripts

Alterar resolução de tela do terminal (modo texto)

Acompanhando progresso na cópia de arquivos

Cálculos matemáticos no próprio bash

Convertendo imagem JPG em ASCII art

Leitura recomendada

Redirecionammento de portas

Ferramentas e informações para correção do bug do OpenSSL (HeartBleed)

Cartilha de segurança

Instalando PortSentry 1.2 no CentOS 7

Quebrando senhas com John the Ripper!

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts