+ Responder ao Tópico



  1. #1

    Padrão Acesso SSH Externo

    Boa tarde galera,

    eu estou com problema, eu percebi q, mesmo se eu estiver na CHINA, se eu tentar fazer um acesso ssh em meus servidores, eu consigo de boa, basta ter o IP.
    A minha pergunta é a seguinte, tem como eu liberar acesso SSH, mas somente para determinada faixa de IP??? ( quero liberar somente o ip da ADSL de casa, e do pessoal de suporte ao meu sistema, que fica em campo grande)
    e outra, tem como eu logar acessos no meu firewall???

    Desculpe-me se estou falando bobagem, mas é q estou aprendendo.... eu procurei em alguns lugares, mas nao encontrei nada a respeito, essa é minha ultima opçao



  2. #2

    Padrão Re: Acesso SSH Externo

    Opa! Dá para fazer tudo isto, e é fácil de fazer!

    #Logar
    iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "Acesso SSH"

    Vai aparecer uma mensagem mais ou menos assim:
    Feb 17 09:20:06 BOSS kernel: SSH Accesso Int. IN=eth0 OUT= MAC=00:e0:7d:f6:85:23:00:11:2f:de:5f:4a:08:00 SRC=10.1.57.108 DST=10.1.57.1 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=10671 DF PROTO=TCP SPT=1419 DPT=3122 WINDOW=65535 RES=0x00 SYN URGP=0

    Agora liberar somente as faixas que você quer

    iptables -A INPUT -s 200.201.0.0/24 -p tcp --dport 22 -j ACCEPT

    Faça analogia destas regras para as outras que você quiser...

    Trabalhe com as faixas de ip que desejar, ou se preferir você também pode validar o ip source por domínio, instale o no-ip na sua máquina e faça a regra -s dominio.no-ip.info e pronto.
    (Não testei, mas não vejo por que não funcionar).

  3. #3

    Padrão Re: Acesso SSH Externo

    Citação Postado originalmente por edmafer
    Opa! Dá para fazer tudo isto, e é fácil de fazer!

    #Logar
    iptables -A INPUT -p tcp --dport 22 -j LOG --log-prefix "Acesso SSH"

    Vai aparecer uma mensagem mais ou menos assim:
    Feb 17 09:20:06 BOSS kernel: SSH Accesso Int. IN=eth0 OUT= MAC=00:e0:7d:f6:85:23:00:11:2f:de:5f:4a:08:00 SRC=10.1.57.108 DST=10.1.57.1 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=10671 DF PROTO=TCP SPT=1419 DPT=3122 WINDOW=65535 RES=0x00 SYN URGP=0

    Agora liberar somente as faixas que você quer

    iptables -A INPUT -s 200.201.0.0/24 -p tcp --dport 22 -j ACCEPT

    Faça analogia destas regras para as outras que você quiser...

    Trabalhe com as faixas de ip que desejar, ou se preferir você também pode validar o ip source por domínio, instale o no-ip na sua máquina e faça a regra -s dominio.no-ip.info e pronto.
    (Não testei, mas não vejo por que não funcionar).
    Blza, valeu pela resposta, mas vamos às dúvidas:

    No caso da regra para logar os acessos, vai gerar algum arquivo de log ??? onde ???

    e sobre os acessos ssh para determinado ip, eu sinceramente nao entendi direito essa regra q vc colocou, vou colar minha regra aqui e explicar melhor o q eu quero:
    olhae

    #Redirecionando para Empresa 1 ( q fica em outro estado )
    iptables -t nat -A PREROUTING -p tcp -d 201.x.x.x --dport 7022 -j DNAT --to 192.168.3.2

    nessa regra, eu estou atribuindo que quando eu digitar no puty, por exemplo, esse ip 201.x.x.x eu vou acessar a maquina 192.168.3.2 , certo?
    mas se eu estiver na australia por exemplo e digitar esse ip 201.x.x.x eu consigo acesso do mesmo jeito, e é isso q quero bloquear.
    eu quero liberar acesso SSH pro pessoal de suporte ao meu sistema e para o ip da adsl de casa, somente esses.

    obs.: essa regra está no meu firewall centralizado aqui em Rondonopolis - MT ( minha internet é centralizada aqui, possuo vetores, etc ) e essa regra q coloquei é para poder acessar a uma filial q fica em Ji-Parana.
    Possuo mais regras como essa, para acesso a outras filiais de outras cidades tb.

    estou no aguardo, e desde já muito obrigado

  4. #4

    Padrão Re: Acesso SSH Externo

    Opa!
    Os log's estarão em
    /var/log/kern.log
    e
    /var/log/messages

    O que eu quiz dizer é o seguinte:
    -s = source = de onde esta vindo a conexão.

    Ex.:

    iptables -A INPUT -s 201.202.203.204 -p tcp --dport 7022 -j ACCEPT

    Só vou aceitar conexões do tipo TCP na porta 7022 e que tenham vindo do ip 201.202.203.204

    Se todas as condições baterem ele aceita a conexão.

    -d = destino = para onde vai o pacote

    Eu uso o -d quando eu vou fazer um redirecionamento desta porta, caso contrário não é necessário.

    Ex.
    Tenho dois servidores, um na minha rede e outro no Paquistão. Os dois usam a porta 7022 para acesso SSH, então quando eu for fazer o redirecionamento, eu preciso especificar o destino para ele não pegar as conexões que eram para a máquina local e mandar para lá.

    Então no seu caso que são vários servidores você precisa especificar a regra no redirecionamento.

    Cara agora eu aconselho você dar uma lida sobre o assunto.
    http://focalinux.cipsga.org.br/guia/...w-iptables.htm

  5. #5
    jotacekm
    Visitante

    Padrão Re: Acesso SSH Externo

    uma maneira bem facil de vc fazer isso eh o seguinte:
    no /etc/hosts.allow vc bota todos os ips q vc quer liberar
    sshd:200.100.100.100
    sshd:192.168.2.0/255.255.255.0 (pra liberar a range de ips)

    e entao no /etc/hosts.deny vc bota
    sshd:* (bloqueia todos os acessos)

    o daemon do ssh lê o hosts.allow antes do hosts.deny, entao ele so vai liberar acesso pros ips q vc quiser e bloquear todos os outros.

    quanto a logs, vc pode olhar no /var/log/secure as tentativas que foram bloqueadas. Elas ficam assim:
    Feb 17 18:01:52 localhost sshd[17325]: refused connect from ::ffff:192.168.2.254 (::ffff:192.168.2.254)

  6. #6

    Padrão Re: Acesso SSH Externo

    ae jotacekm e edmafer, brigadao ae pela ajuda, era isso mesmo q eu precisava......

    devo uma a voces!!!