Acabo de cat /var/log/auth.logregistrarme y ver que hay muchos | grep "Failed password for"registros.
Sin embargo, hay dos tipos de registros posibles: para usuarios válidos / no válidos. Se complica mis intentos de | cutellos.
Me gustaría ver crear una lista (archivo de texto) con direcciones IP de posibles atacantes y número de intentos para cada dirección IP. ¿Hay alguna manera fácil de crearlo?
Además, solo en relación con ssh: ¿Qué registros /var/log/auth.logdebo tener en cuenta al hacer una lista de posibles atacantes?
Ejemplo de mi 'auth.log' con números ocultos:
cat /var/log/auth.log | grep "Failed password for" | sed 's/[0-9]/1/g' | sort -u | tail
Resultado:
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for invalid user ucpss from 111.11.111.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for invalid user vijay from 111.111.11.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for invalid user webalizer from 111.111.11.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for invalid user xapolicymgr from 111.111.11.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for invalid user yarn from 111.111.11.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for invalid user zookeeper from 111.111.11.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for invalid user zt from 111.11.111.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for mysql from 111.111.11.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for root from 111.11.111.111 port 11111 ssh1
Mar 11 11:11:11 vm11111 sshd[111]: Failed password for root from 111.111.111.1 port 11111 ssh1

/etc/ssh/sshd_config... configuraciones de búsquedaPasswordAuthentication noyPermitRootLogin without-password... luego, todos los intentos de contraseña se frustrarán antes de ingresar al auth.log ...Respuestas:
Podrías usar algo como esto:
Busca la cadena
Failed password fory extrae (-o) la dirección IP. Se ordena yuniqcuenta el número de ocurrencias.La salida se vería así (con su ejemplo como archivo de entrada):
El último en la salida ha intentado 6 veces.
fuente
| sort -na la cadena.sed -nr '/Failed/{s/.*([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+).*/\1/;p}'reemplaza a ambos greps.zgrep "Failed" /var/log/auth.log*buscar a través de los archivos de registro comprimidos, losedque no puede.Puede ser una solución hinchada, pero le sugiero que busque instalar algo como Fail2Ban
Está hecho para este tipo de inicio de sesión + agrega la ventaja de poder agregar reglas (temporales) en su firewall para bloquear a los infractores reincidentes. Asegúrese de lista blanca, aunque su propio de IP, logré encerrarme a cabo temporalmente en algunas ocasiones
fuente
Esto funcionó muy bien para mí. (Las IP se han cambiado para proteger al culpable)
fuente
fuente
passwordno funciona. Que ni siquiera cubre diferentes tipos de entrada,awkimprimir columna es alternativa a lacut, no la solución.uniq -ccomo en la mejor respuesta.