Negar SSH para um usuário específico da rede externa

4

Então eu tenho um servidor na minha rede local executando um servidor OpenSSH. O servidor está configurado para permitir o SSH a partir de redes externas, o que é pretendido. No entanto, quero criar um usuário específico (localUser), que não deve fazer login fora da minha LAN.

Atualmente, tenho um grupo chamado sshusers, que é o único grupo com permissão para fazer login via SSH.

De acordo com as páginas do manual, deve ser possível usar os usuários "Permitir / Negar", mas não descobri como fazê-lo. Aqui está o que eu tentei:

Primeira tentativa:

AllowGroups sshusers
AllowUsers [email protected].* # 2 is not a typo
# localUser not in group sshusers. Intention: AllowUsers should override
# previous configuration, allowing access for localUser, even if he is
# not member of sshusers

Segunda tentativa:

AllowGroups sshusers
DenyUsers localUser@!192.168.2.*
# localUser is member of sshusers. Intention: Access is granted, but with
# the negotiation of the match-expression for the LAN, access should be
# denied for external login.
# Also tried "[email protected].*"

Devo mencionar que negar o usuário da LAN, mas conceder acesso a trabalhos externos:

# localUser member of sshusers
AllowGroups sshusers
DenyUsers [email protected].*

No entanto, quero inverter essa configuração.

Qualquer ajuda é apreciada, mas eu prefiro não usar o PAM ou o iptables para isso.

    
por xwst 09.05.2015 / 23:45

1 resposta

6

Você pode tentar seguir:

AllowGroups sshusers
DenyUsers localuser@!192.168.2.*,

Observe a vírgula após o asterisco. Portanto, a sintaxe usando ! para negar o sentido da correspondência do nome do host deve ser:

DenyUsers localuser@!192.168.2.*,!10.8.0.*,

, o que significa que o usuário local não poderá se conectar se o host for diferente daqueles na lista.

Como observado nos comentários, isso não funciona com a versão igual ou superior a OpenSSH_7.4p1 . Então eu tentei seguir (testado com openssh-7.5p1 ) que funciona perfeitamente:

DenyUsers localuser@*,!10.8.0.*

Desta forma, o localuser é negado em qualquer lugar, exceto no 10.8.0. *

    
por 10.05.2015 / 01:07

Tags