Quais são algumas alternativas seguras ao FTP? [fechadas]

22

Esta história do Hacker News é sobre as desvantagens do FTP. A única razão pela qual eu poderia configurar o FTP é que é fácil.

Eu já conheço e uso scp, mas às vezes quero compartilhar arquivos com alguém sem dar a eles sshacesso ao meu servidor. Quero que eles possam carregar e baixar arquivos, mas nada mais, e quero restringi-los a um único diretório. Eu também quero que a conexão deles seja criptografada ssh.

Quais são algumas alternativas ao FTP que atendem a esses critérios?

Nathan Long
fonte
2
Você pode usar o scp sem o ssh, consulte: serverfault.com/questions/354615/allow-sftp-but-disallow-ssh
Stone
1
Não vou me incomodar em ler esse artigo, mas vale lembrar que o FTP foi projetado para uso em uma rede fechada (laboratório no andar de cima de / para os servidores no porão), portanto a segurança nunca foi considerada. É surpreendente que ele ainda esteja sendo usado em redes públicas.
John Gardeniers
1
Alguns podem argumentar que o ftp não foi projetado, mas evoluiu através de Boas Idéias imaginadas por Várias pessoas criando software para transferência de arquivos muito antes de o fechamento se tornar uma propriedade observável para redes, quando o controle de acesso acontecia com portas trancadas e olhares furiosos.
Eroen

Respostas:

7

O Proftpd possui um servidor sftp interno que permite que você separe completamente os usuários do sshd para fins de transferência de arquivos. Você pode configurá-lo para que ele use um arquivo passwd completamente separado para isolá-los ainda mais (é difícil fazer login em um sistema com ssh e interromper um chroot se você não tiver um usuário em / etc / passwd .. .)

O proftpd também permite chroot e isolar o usuário sftp em um conjunto de diretórios com bastante facilidade.

Fazemos algo assim:

LoadModule mod_sftp.c

<VirtualHost 10.1.1.217>

    ServerName  "ftp.example.com"

    # from http://www.proftpd.org/docs/howto/NAT.html
    MasqueradeAddress   1.2.3.4
    PassivePorts 27001 27050

    UseSendfile off

    ExtendedLog         /var/log/proftpd/access.log WRITE,READ default
    ExtendedLog         /var/log/proftpd/auth.log AUTH auth

    AuthUserFile /etc/proftpd/AuthUsersFile
    AuthOrder           mod_auth_file.c 

    <IfModule mod_sftp.c>
        Port 10022
    SFTPAuthorizedUserKeys file:/etc/proftpd/ssh_authorized_keys/%u
        SFTPEngine On
        SFTPLog /var/log/proftpd/sftp.log
        SFTPHostKey /etc/ssh/proftpd-ssh_host_rsa_key
        SFTPHostKey /etc/ssh/proftpd-ssh_host_dsa_key
        MaxLoginAttempts 6
    </IfModule>
</VirtualHost>
Travis Campbell
fonte
1
Para ajudar o novato, se o OP precisar de ajuda para configurá-lo, tenho um tutorial completamente básico aqui: csrdu.org/nauman/2011/02/13/…
recluze
3

Eu usaria o WebDav com um servidor habilitado para https! A autenticação é então baseada no esquema de autorização http padrão. Um guia para configurar o webdav com apache pode ser encontrado aqui ; é necessário apenas colocar esse recurso atrás de https, e aqui encontrei uma boa descrição de como fazer isso .

joecks
fonte
Dado o idioma em uso aqui, você poderia pelo menos ter um link para uma versão em inglês do artigo.
John Gardeniers
haha desculpe não percebi esse erro. Obrigado por corrigir!
joecks
1

Você não especificou "free" como requisito, por isso vou jogar fora o pacote de transporte de massa por grouplogic. Provavelmente é um pouco exagerado para a maioria das pessoas, e está fora da faixa de preço, mas o conjunto de recursos é nada menos que fantástico. Obtenha um segundo servidor de transporte de massa e acenda a automação. Você está movendo alguns arquivos muito rápido.

SpacemanSpiff
fonte
0

Você pode configurar o sftpque usa sshem um modo semelhante aoftp .

Você pode criar alguns usuários (um ou mais, depende se está ok ou não para cada usuário acessar os arquivos uns dos outros) em sua máquina, conceder a eles shell / bin / false e chrootcada usuário em algum diretório em que esses arquivos devem estar colocou.

Luis
fonte
0

Você pode usar o ftpd puro com a criptografia TLS ativada. A configuração é muito simples, para habilitar a opção TLS de descompasso de criptografia no arquivo de configuração (apenas uma linha :)), configure seus clientes para se conectarem via ftps e é isso. (Você deve se lembrar que nem todos os clientes ftp suportam ftps).

B14D3
fonte
-1

Você pode ativar e baixar o rsync sobre ssh sem permitir logins, configurando o rsync como o shell de logon para o usuário. Isso habilita todos os benefícios do ssh, incluindo logins de certificado, criptografia e operação de permissões padrão do sistema de arquivos, enquanto não habilita contas shell (como a conta não terá um shell, mas rsync =)).

Eroen
fonte
E como isso seria mais seguro? Ainda texto não criptografado ...
EEAA 31/01
Isso depende de como você o configura. A maneira mais comum (a única maneira que eu já vi) é usar ssh e definir o rsync como o shell de login ou (para acesso root) ssh certs específicos de comandos.
Eroen
1
Rsync, ao executar um serviço (como você recomenda na sua resposta) não tem criptografia. Obviamente, esse não é o caso do rsync + ssh. Você pode editar sua resposta para tornar seu significado mais claro.
EEAA
Mudanças ocorreram (caso alguém ache os comentários acima muito adequados).
Eroen
Embora não tenha sido solicitado, também vale a pena mencionar que, embora existam inúmeras interfaces fáceis de usar para protocolos FTP e do tipo FTP, eu pessoalmente não conheço uma para o rsync. Se os usuários pretendidos não forem técnicos, isso pode ser um problema.
John Gardeniers