+ Responder ao Tópico



  1. #1

    Padrão Liberação de acesso a SSH por usuário e por interface de rede

    Olá pessoal,

    Tenho um firewall e gostaria de liberar para o meu corpo técnico acesso via ssh apenas quando eles estiverem dentro da empresa, do lado de fora apenas o meu usuário pode se conectar via ssh.

    Como posso implementar tal funcionalidade ?

    Grato.

    Fred

  2. #2

    Padrão

    Se vc habilitar o ssh nesse server, qualquer usuário da rede que souber o ip do server na rede, a porta do ssh, usuário e senha conseguirá acessar....

    Agora, para ser feito o acesso externo a pessoa tem q ter seu ip real....
    Tem como vc configurar nesse firewall, acesso externo vindo apenas de um único endereço... vc libera o acesso para o endereço 200.200.200.200 e dropa os outros endereços... isso é uma segurança interessante. Porém, caso voce viaje muito e nao tenha como ter um endereço ip específico de acesso, voce pode configurar o ddns e liberar o acesso apenas para esse host... por exemplo:

    Voce configura o ddns para o seguinte host vc.ddns.com

    entao voce vai no seu firewall e faz seguinte regra:

    iptables -A INPUT -p tcp -s vc.ddns.com --dport 22 -j ACCEPT
    iptables -A INPUT -p tcp -i eth0 --dport 22 -j DROP

    obs.: contando que sua interface de rede externa é a eth0

    com essa regra vc libera acesso ssh externo apenas para o host vc.ddns.com
    aí basta voce, nao importando onde estiver, conectar o ddns com esse host...

    Deu pra entender ??

    qualquer coisa vc posta ae..

    vlw
    Última edição por mastellaro; 21-09-2007 às 15:04.



  3. #3

    Padrão

    Não era bem essa a minha intenção. Nem sempre conecto pelo meu computador para poder registrar o DDNS.

    O ideal era alguma configuração no próprio ssh.

    Grato.

    Fred

  4. #4

    Padrão

    abre o sshd_config, e add as linhas,,

    denyusers fulano cicrano beltrano ( blokeados )
    allowusers fulano cicrano (liberados)

    vlw



  5. #5

    Padrão

    Alan,

    Isso não resolve o meu problema.
    Eu gostaria de fazer assim:


    if int=eth0
    {
    denyusers a b c
    allowusers d
    }
    else
    if int=eth1
    {
    allowusers a b c d
    }


    De acordo com a interface de origem da conexão.

  6. #6

    Padrão

    Olá,

    Olha se fosse o caso de eu implementar isso não faria usando o arquivo de configuração do ssh porque eu imagino que isso não existe!

    O que você pode fazer é usar o iptables!

    Código :
    iptables -P INPUT DROP
    iptables -t filter -A INPUT -i $wan_if -p tcp --dport 22 --match owner --uid-owner <seu userid> -j ACCEPT
    iptables -t filter -A INPUT -i $lan_if -p tcp --dport 22 -j ACCEPT

    Olha a descrição aqui esse parametro no manual do iptables:

    Código :
    --uid-owner userid
        Matches if the packet was created by a process with the given effective user id.

    Eu tentaria assim!!
    Testa aee se der certo posta aqui!
    Falows!!