¿Qué configuración automática de notificación / detección de intrusiones es buena para el uso de escritorio en el hogar?

27

He estado usando Linux durante bastante tiempo y siempre siento la necesidad de tener una configuración pasiva de software / script que pueda alertarme sobre cualquier actividad sospechosa de la red como escaneos, intentos fallidos de inicio de sesión, etc. sobre la marcha por correo electrónico o por correo electrónico. notificaciones visuales / de audio.

Sé cómo mirar a través de registros y otras cosas, pero en su mayor parte es un proceso manual que requiere mucho tiempo. Estoy buscando algo que esté semi / totalmente automatizado con algunas buenas capacidades de análisis de registros.

Conozco los sistemas IDS para monitorear redes como Snort, etc., pero son una exageración para el usuario doméstico promedio y un proceso doloroso para comenzar a funcionar.

¿Cuál es una buena opción para mí como usuario doméstico?

irenicus09
fuente
¿Cómo se define 'pasivo'? Como en algo que corres tú mismo de vez en cuando para ver si algo sospechoso estaba pasando.
Nanne

Respuestas:

15

Una solución general simple y efectiva es usar logcheck .

sudo apt-get install logcheck
[edit /etc/logcheck/logcheck.conf to your liking]

logcheck escanea periódicamente todos los registros de manera eficiente (comenzando donde se quedó la última vez), filtra lo que ve para eliminar cualquier cosa que se considere normal y, opcionalmente, envía alertas por correo electrónico con cualquier cosa que no coincida con los patrones normales / de rutina.

La idea principal es estar atento a la aparición de entradas serias en sus archivos de registro, todas ellas, todo el tiempo, para que no tenga que hacerlo.

logcheck es altamente configurable (man logcheck). Puede configurar todo, incluyendo:

  • frecuencia de controles
  • qué archivos de registro se verifican
  • lo que se considera normal vs no
  • dónde enviar las alertas por correo electrónico (eventos anormales) a

y más. Sus patrones de ignorar (normal / rutina) residen en varios archivos en /etc/logcheck/ignore.d.* y puede personalizarlos según sus necesidades; principalmente es posible que desee agregar sus propios patrones para ignorar. El paquete predeterminado de Ubuntu viene con un extenso conjunto de archivos con patrones de ignorar para muchos servicios, por lo que no hay mucho que agregar a menos que su sistema sea inusual en lo que se ejecuta. Hay 3 conjuntos de perfiles de archivo de ignorar preconfigurados: ignore.d.workstation , ignore.d.server e ignore.d.paranoid que puede elegir.

La idea principal detrás de logcheck es que los diversos servicios que se ejecutan en un sistema ya registran eventos anormales. Por ejemplo, sshd o pam ya registran fallas de autenticación. Entonces, los principales componentes que faltan son:

  • filtrando lo que es normal
  • El servicio de alerta

Logcheck proporciona los dos en un paquete conveniente. Puede combinar logcheck con cualquier otro registro. Por ejemplo, iptables se puede configurar para registrar syslog cualquier intento de conexión de red que no esté explícitamente permitido al agregar las reglas:

 iptables -A input -j LOG
 iptables -A input -j DROP

inmediatamente después de todas las reglas de permiso.

Me parece que logcheck es mucho más útil que logwatch (sugerido en otras respuestas) porque viene preempacado con una gran cantidad de reglas para ignorar lo que se considera actividad normal. El resultado es una relación señal / ruido mucho mayor en las alertas que envía por correo electrónico. YMMV.

Otra ventaja de logcheck es que es ortogonal a cualquier servicio que registre, por lo que no hay duplicación de funciones. Cada vez que agrega un nuevo servicio que se utiliza syslogpara registrar eventos, anormales o no, en cualquier archivo debajo /var/log, comienza a recibir alertas automáticamente.

CÓMO:

Como logcheckya viene preconfigurado, dos líneas en la parte superior de esta respuesta cubren esencialmente todo lo que necesita para comenzar. Simplemente instálelo y vaya al archivo de configuración superior: /etc/logcheck/logcheck.confpara cambiar su dirección de correo electrónicologcheck correo electrónico para que le envíen alertas correo electrónico.

Aquí hay una referencia amistosa sobre el segundo paso con más detalle . Dado que Ubuntu se basa en Debian, estas instrucciones también deberían funcionar en Ubuntu. Aquí hay otra buena referencia .

Una vez que instale, comienza el proceso de mejora continua. Con el tiempo, refina sus reglas para ignorar todo lo que ya sabe y siente que no debería ser motivo de preocupación. Este proceso de refinamiento es tan simple como agregar líneas de texto a un archivo en su editor de texto favorito.

Cada línea en un archivo de ignorar es una expresión regular extendida (ver man 7 regex), pero puede usar cadenas simples siempre que coincidan con la línea de registro que desea ignorar. Sólo recuerde que los personajes como *, ?'+', [], ()son especiales en una expresión regular, por lo que si en realidad aparecen en las líneas de registro, que tendría que escapar de ellos con una barra invertida\ en el archivos de ignorar.

En otras palabras: si recibe una alerta que no desea recibir, mire la línea de registro que se le envió por correo electrónico y agregue un patrón que coincida, como una línea a cualquier archivo de ignoración que elija. Sugiero usar /etc/logcheck/ignore.d.<yourloglevel>/my-ignorescomo su archivo personal de ignorar. Dónde <yourloglevel>es uno de paranoid, servero workstation(como ya seleccionó en el archivo de configuración principal:) /etc/logcheck/logcheck.conf. Mire los ejemplos en otros archivos de ignorar para ver cómo dar cuenta del texto que cambia todo el tiempo como ID de proceso o marcas de tiempo. Hay muchos ejemplos existentes para aprender.

Un último consejo: logcheckviene con una pequeña utilidad útil llamada logcheck-testque es muy útil para probar nuevas reglas. man logcheck-testpara detalles.

arielf
fuente
Hola, me gusta la idea detrás de logcheck ... ¿podrías señalarme una guía detallada para eso? Gracias :)
irenicus09
1
@ irenicus09: Acabo de agregar una sección de instrucciones con un enlace opcional como referencia.
arielf
Felicidades por ganar la recompensa, respuesta muy bien escrita. Gracias :)
irenicus09
3

Si no tiene muchos sistemas en su red, configurar un IDS como Snort probablemente sea excesivo (especialmente si no tiene ningún servicio de red en su máquina). Sugiero comenzar configurando logwatch para enviarse un informe de lo que está sucediendo en su sistema. Una vez que tenga eso, configure su syslog para que obtenga la mayor cantidad de información relevante posible.

AndrewX192
fuente
Hola, me gusta tu respuesta ... pero ¿podrías compartir un poco más de detalles sobre cómo hacerlo? Arruinar las configuraciones puede ser bastante complicado, especialmente para un usuario inexperto. Pero te agradecería si me pudieras señalar una guía detallada para eso. Gracias.
irenicus09
@ irenicus09 Creo que esto debería ser suficiente: Cómo configurar Logwatch en sistemas basados ​​en Ubuntu
AndrewX192
gracias por la guía, configuré logwatch con éxito y me gusta. Para el puerto de escaneo de monitorear También he portsentry configuración y voy a estar tratando otras herramientas y cosas antes ultimo cuál es la mejor para mí :)
irenicus09
1

La detección de intrusiones es necesaria cuando ejecuta servicios (ftp, web, nfs, ssh, etc.) en su red. Esto se debe a que están expuestos en Internet y debido a:

  • configuración incorrecta
  • vulnerabilidades de software

necesitan monitoreo diario por parte de un administrador de red experimentado. Si ejecuta estos servicios, probablemente ya tenga el conocimiento mínimo sobre cómo evitar estos problemas.

Si no ejecuta ninguno de estos servicios, el firewall de su enrutador de Internet ya ha bloqueado cualquier conexión entrante en los puertos. Para escanear su enrutador de redes

Si todos ustedes son verdes, entonces todos son buenos.

Por último, pero no menos importante, probablemente su enrutador tiene un sistema de detección de intrusos incorporado (porque el 99% de todos los enrutadores ejecutan un servidor Linux simplificado). Para esto, debe consultar el manual del fabricante de sus enrutadores.

Salih Emin
fuente
Hola, gracias por tu respuesta. Es bastante perspicaz y estoy al tanto de todo lo que estás hablando. Pero mi punto es que digamos que estoy ejecutando varios servicios en mi sistema, ¿cómo hago un seguimiento exacto de las actividades desde una perspectiva de seguridad? Necesito una solución simple y fácil de usar como usuario doméstico y creo que
evitaste