Configuração adequada das permissões do usuário para o OpenSSH no Windows?

6

Estou tentando configurar o OpenSSH no Windows para fornecer sites de SFTP. Estou com alguns problemas com as configurações de segurança do usuário.

Aqui estão os passos básicos que passei para criar um usuário:

  1. Crie um novo usuário na máquina host
  2. Adicionar usuário ao arquivo openssh passwd com caminho de arquivo ajustado para o cygwin que aponta para a pasta base do cliente (exemplo: / cygdrive / e / homefolders / username)
  3. Permitir acesso de leitura / gravação do usuário à pasta

O problema que estou encontrando é que o usuário precisa ter permissão de execução para a pasta do programa OpenSSH para que eles possam fazer o login. Descobri que posso desativar o acesso a pastas específicas, como "etc", mas estou preocupado em ter de fornecer permissões aqui. Ao usar o FileZilla, é mostrada uma hierarquia de pastas "/ cygdrive / e / homefolders / username" e pode navegar o "/" para pastas com acesso de leitura.

Existe uma estratégia específica que eu devo usar para a segurança adequada nessa configuração? Um arquivo ou pasta específico eu preciso fornecer permissões de execução, mas nada mais? Eu gostaria de bloquear completamente tudo, exceto o acesso de leitura / gravação à sua própria pasta, mas isso não parece ser possível.

    
por dmr83457 02.10.2009 / 17:59

3 respostas

1

Quão ruim você quer o SFTP? O Cygwin é um pouco hacky e o OpenSSH for Windows está muito desatualizado. Minha abordagem foi usar o WebDAV, que resolve a maioria dos problemas que você tem:

  • Ler e gravar arquivos
  • Criptografado protege tokens e arquivos de autenticação
  • suportado em quase todos os SO
  • configuração de firewall com excesso de zelo resistente

O IIS suporta isso, mesmo na versão que vem com o servidor 2000.

    
por 11.10.2009 / 00:27
1

Depois de mais pesquisas, descobri que minha sugestão original abaixo para usar a funcionalidade interna chroot não é suportada pelo cygwin.

Talvez seja melhor você procurar outras alternativas. Talvez webdav, talvez um servidor ftps (filezilla), ou talvez um dos outros proprietários dos servidores sftp.

Uma opção que está disponível se você deve fazer isso com o cygwin OpenSSH seria usar o shell scponly. Aqui está um pdf descrevendo o procedimento.

Não tenho certeza de qual versão do openssh você tem no Windows. Mas parece que você quer configurar um chroot sftp.

Você pode querer verificar essas questões relacionadas.

por 05.10.2009 / 23:04
0

The problem I am running into is that the user needs to have execute permission to the OpenSSH program folder for them to be able to login. I found I can disable access to specific folders such as "etc" but I'm concerned I have to provide permissions in here at all. When using FileZilla I am shown a folder hierarchy "/cygdrive/e/homefolders/username" and can browser the "/" to folders with read access.

Isso faz parte da configuração priv-sep do OpenSSH.

Este (PDF) é um bom artigo sobre ele e outros recursos de segurança do OpenSSH

Em suma, o daemon principal muda para um processo não privilegiado, na tentativa de impedir que quaisquer explorações no resto do programa permitam o acesso "root".

Você também pode querer usar um chroot como a configuração para impedir totalmente o acesso fora do usuário homedir.

Também gostaria de destacar a sugestão do webdav, mesmo que eu tenha desistido de trabalhar com qualquer coisa, exceto com clientes do OS X.

    
por 11.10.2009 / 05:35