+ Responder ao Tópico



  1. #1

    Padrão Expressão Regular Bash no auth.log

    Estou com uma dificuldade, na verdade por não programar muito em bash so fazer rotinas.
    Preciso pegar o auth.log os seguintes dados do ssh.

    sshd:resultado:ip

    com o comando cat /var/log/auth.log | grep sshd eu tenho reste resultado

    Nov 13 10:28:42 ldaptst sshd[13722]: Failed password for root from 192.168.0.10 port 54679 ssh2
    Nov 13 10:28:55 ldaptst sshd[13724]: reverse mapping checking getaddrinfo for mail.0.168.192.in-addr.arpa failed - POSSIBLE BREAK-IN ATTEMPT!
    Nov 13 10:29:00 ldaptst sshd[13724]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.0.3 user=root
    Nov 13 10:29:02 ldaptst sshd[13724]: Failed password for root from 192.168.0.3 port 35162 ssh2
    Nov 13 10:57:02 ldaptst sshd[13920]: Accepted password for root from 192.168.0.37 port 58448 ssh2
    Nov 13 10:57:02 ldaptst sshd[13922]: (pam_unix) session opened for user root by root(uid=0)

    Agora preciso percorrer este arquivo, separando o sshd o resultado seria F ou A (fail ou accept) e o IP e concatenando num outro arquivo com o formato: sshd:resultado:ip

    Alguem tem alguma solução para isto?

  2. #2

    Padrão

    Linhas como essa:
    Nov 13 10:57:02 ldaptst sshd[13922]: (pam_unix) session opened for user root by root(uid=0)

    podem ser desprezadas??

    e considerar somente as linhas com o seguinte formato:
    Nov 13 10:29:02 ldaptst sshd[13724]: Failed password for root from 192.168.0.3 port 35162 ssh2
    Nov 13 10:57:02 ldaptst sshd[13920]: Accepted password for root from 192.168.0.37 port 58448 ssh2

    Pode ser?? Porque (pelo que sei) uma é consequencia da outra...



    Citação Postado originalmente por oicreal Ver Post
    Estou com uma dificuldade, na verdade por não programar muito em bash so fazer rotinas.
    Preciso pegar o auth.log os seguintes dados do ssh.

    sshd:resultado:ip

    com o comando cat /var/log/auth.log | grep sshd eu tenho reste resultado

    Nov 13 10:28:42 ldaptst sshd[13722]: Failed password for root from 192.168.0.10 port 54679 ssh2
    Nov 13 10:28:55 ldaptst sshd[13724]: reverse mapping checking getaddrinfo for mail.0.168.192.in-addr.arpa failed - POSSIBLE BREAK-IN ATTEMPT!
    Nov 13 10:29:00 ldaptst sshd[13724]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=192.168.0.3 user=root
    Nov 13 10:29:02 ldaptst sshd[13724]: Failed password for root from 192.168.0.3 port 35162 ssh2
    Nov 13 10:57:02 ldaptst sshd[13920]: Accepted password for root from 192.168.0.37 port 58448 ssh2
    Nov 13 10:57:02 ldaptst sshd[13922]: (pam_unix) session opened for user root by root(uid=0)

    Agora preciso percorrer este arquivo, separando o sshd o resultado seria F ou A (fail ou accept) e o IP e concatenando num outro arquivo com o formato: sshd:resultado:ip

    Alguem tem alguma solução para isto?

  3. #3

    Padrão

    Testa esse comando aqui pra ver se ta bom pra você...

    cat /var/log/auth.log | grep sshd | egrep "Accepted|Failed" | sed '/[[]/ /g' | cut -d' ' -f5,7,12 | sed 's/ Failed /:F:/g' | sed 's/ Accepted /:A:/g'

    Qualquer coisa posta ai...

  4. #4

    Padrão

    Desde ja agradeço a ajuda.
    Ao executar o comando deu um eror aqui:

    Código :
    ldaptst:~# cat /var/log/auth.log | grep sshd | egrep "Accepted|Failed"| sed '/[[]/ /g' | cut -d' ' -f5,7,12 | sed 's/ Failed /:F:/g'
    sed: -e expressão #1, caractere 7: unknown command: `/'

  5. #5

    Padrão

    Opa, foi mal! Esqueci de um s no sed!

    cat /var/log/auth.log | grep sshd | egrep "Accepted|Failed"| sed 's/[[]/ /g' | cut -d' ' -f5,7,12 | sed 's/ Failed /:F:/g' | sed 's/ Accepted /:A:/g'

    Testa ai...

  6. #6

    Padrão

    Cara era exactamente isto que eu precisava, adiantou em muito meu trabalho de diplomação, vou agradecer tu e ao forum da under nele

  7. #7

    Padrão

    Que bom que ajudou!

    Até mais...

  8. #8

    Padrão

    Citação Postado originalmente por oicreal Ver Post
    Cara era exactamente isto que eu precisava, adiantou em muito meu trabalho de diplomação, vou agradecer tu e ao forum da under nele
    Só tem um problema, se um usuário tentar algo como:

    ssh '192.168.0.70 asd fgh qwe rty'@exemplo.com

    vai aparece o IP errado podendo ser usado para DOS... Portanto não vá usar isso pra bloquear niguém!
    Última edição por PEdroArthurJEdi; 14-11-2008 às 11:21. Razão: só pra enfatizar o problema que poderia ser gerado caso usado para gerar blacklists