SFTP para chroot e SSH para gerenciar o sistema em uma configuração?

1

Temos um servidor web onde os usuários podem fazer upload de arquivos grandes (SFTP) em um ambiente chroot. Também queremos poder usar o SSH para gerenciar esse servidor.

Em nossa antiga situação, usamos o sistema sshd e um ambiente chroot com um sshd separado rodando por dentro. Eu esperava poder simplificar a configuração com a opção 'new' ChrootDirectory.

Nosso servidor tem dois endereços IP, um para acesso público e outro para acesso interno. É possível que um único sshd ouça dois IPs / interfaces separados, mas os trate de maneira diferente? Em toda a documentação que li, parece que só é possível distinguir entre usuários ou grupos, mas não IPs / interfaces.

Se isso não for possível, é a configuração dual sshd a melhor opção, devo fazer melhor User Management para filtrá-los por grupo ou existe uma maneira mais elegante para configurar um servidor como este?

    
por Jorisslob 06.07.2009 / 12:20

3 respostas

3

Você pode usar Match de maneira inversa. Chroot por padrão e, em seguida, negar a diretiva se conectar a partir da rede interna.

ChrootDirectory /chroot/somedir
Match Address 10.0.0.0/24
    ChrootDirectory none

No entanto, você deve considerar as implicações de colocar decisões de segurança nas redes. Incluindo a possibilidade de um usuário autenticado criar uma nova sessão através de loopback, para ignorar essas políticas. Geralmente, seria mais seguro definir User e Group , se possível.

(editar: digitado antes de ler corretamente)

    
por 06.07.2009 / 12:35
2

A solução que usei no final é a seguinte:

Subsystem sftp internal-sftp
ChrootDirectory <my chroot directory>
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

Match User <my admin account> Address <my ip>
  ChrootDirectory none
  X11Forwarding yes
  AllowTcpForwarding yes
  ForceCommand /bin/bash

Match User <my admin account>
  ForceCommand none

Por isso, é uma mistura das respostas que vi antes e fiz dois blocos de Correspondência, para que as pessoas de outros IPs, mas tentando usar minha conta de administrador, não possam usar sftp ou ssh. Eu monitorarei a atividade no servidor de perto para ver se isso funciona, mas os testes internos parecem promissores.

    
por 12.07.2009 / 17:07
1

Eu criei um grupo chamado sftpuplod. Todo cliente sem acesso ssh está nesse grupo e só pode usar o sftp:

# sshd_config:
Subsystem sftp internal-sftp
Match group sftpupload
    ChrootDirectory /home
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

Você também pode usar ChrootDirectory% h para chrooting real em ~

veja a página de manual

    
por 06.07.2009 / 14:08

Tags