|
|
## Monitoreo: Prevención/Detección de intrusiones
|
|
|
Un sistema de detección de intrusiones (IDS) es un programa de detección de accesos no autorizados a un computador o a una red, es decir cuando la violación a la seguridad ya fue explotada. Un sistema de prevención de intrusos (IPS) es un software que ejerce el control de acceso en una red informática para proteger a los sistemas computacionales de ataques y abusos.
|
|
|
|
|
|
[Snort](https://www.snort.org/) es un IDS que implementa un motor de detección de ataques y escaneo de puertos. Permite registrar, alertar y responder ante cualquier anomalía previamente definida.
|
|
|
|
|
|
Por otro lado, [Fail2Ban](https://www.fail2ban.org/wiki/index.php/Main_Page) es un IPS que protege a los servidores de ataques por fuerza bruta. Opera monitoreando distintos archivos de logs (p.e. de apache, de intentos de conexiones), y es usado más comúnmente para bloquear direcciones de IP (actualizando el firewall, típicamente utilizando iptables ) que pertenecen a hosts que intentan violar la seguridad del sistema.
|
|
|
|
|
|
### IPS: fail2ban
|
|
|
|
|
|
Instalar fail2ban
|
|
|
|
|
|
```sh
|
|
|
apt-get install fail2ban
|
|
|
```
|
|
|
|
|
|
Crear el archivo de configuración. Para ello, copiar la plantilla original `jail.conf` en un archivo local que llamaremos `jail.local`
|
|
|
|
|
|
```sh
|
|
|
cp -p /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
|
|
|
```
|
|
|
|
|
|
> La opción **-p** preserva los permisos, el propietario, el grupo y los tiempos de los ficheros originales
|
|
|
|
|
|
El archivo de configuración se organiza en partes diferenciadas llamadas _jaulas_, o jails en inglés, cada una de las cuales protege una cosa diferente. De forma predeterminada fail2ban viene con unas cuantas jails activadas, por ejemplo:
|
|
|
|
|
|
```sh
|
|
|
[sshd]
|
|
|
enabled = true
|
|
|
port = ssh
|
|
|
```
|
|
|
|
|
|
> Activar la jail [sshd] con la opción `enabled = true`, la cuál opera en el servicio ssh (puerto 22 por defecto).
|
|
|
|
|
|
Por último, habilitar y ejecutar una instancia del fail2ban
|
|
|
|
|
|
```sh
|
|
|
systemctl enable fail2ban && systemctl start fail2ban
|
|
|
```
|
|
|
|
|
|
Para ver el estado del servicio de fail2ban
|
|
|
|
|
|
```sh
|
|
|
fail2ban-client status
|
|
|
```
|
|
|
|
|
|
Para consultar las IP’s bloqueadas por fail2ban
|
|
|
|
|
|
```sh
|
|
|
iptables -L -n
|
|
|
```
|
|
|
|
|
|
### IDS: tripwire
|
|
|
Tripwire es un sistema de detección de intrusiones (IDS), de código abierto y totalmente gratuita, que brinda la posibilidad de monitorear y alertar sobre cualquier cambio no deseado que se efectúe en los archivos en el sistema operativo, incluidos los archivos del sitio web.
|
|
|
|
|
|
> **(!) Atención (!)**: sector en construcción
|
|
|
|
|
|
## Monitoreo: Watchdogs
|
|
|
Un watchdog en términos informáticos es un servicio que monitorea el comportamiento "normal" en un sistema y, si detecta una falla, realiza acciones preventivas o correctivas, según pueda con el fin de recuperar la operación normal.
|
|
|
|
|
|
### Watchdog: SNMP
|
|
|
El protocolo simple de administración de red o SNMP (del inglés Simple Network Management Protocol) es uno de los protocolos más utilizados para monitorear de forma remota los servidores de diversos dispositivos. Al usar SNMP, la estación de administración puede recopilar información, configurar dispositivos, servidores, enrutadores e impresoras. Por lo general, el agente administrado informa sobre: uso del espacio en disco, tráfico de red, fallas ocurridas (falla del ventilador, falla de hardware, desconexión del cable). Otra característica útil de algunos agentes es la capacidad de monitorear varios aspectos del host, enviar trampas si se cumplen condiciones específicas o generar un indicador de error para varios aspectos monitoreados del host.
|
|
|
SNMP se puede utilizar para realizar comprobaciones simples en un servidor que ejecuta el agente net-snmp, como probar si un proceso está activo y ejecutar los comandos apropiados para corregir un posible error, sin utilizar un proceso de vigilancia complicado. La buena noticia es que este watchlog puede ejecutarse en una máquina diferente.
|
|
|
SNMP es una herramienta diseñada para la gestión y supervisión de dispositivos de red.
|
|
|
|
|
|
Instalar el paquete snmpd
|
|
|
|
|
|
```sh
|
|
|
apt install snmpd
|
|
|
```
|
|
|
|
|
|
Configurar el archivo `/etc/snmp/snmpd.conf` modificando los siguientes campos:
|
|
|
|
|
|
> (buscar por separado y modificar los siguientes atributos)
|
|
|
|
|
|
```sh
|
|
|
agentAddress udp:161
|
|
|
rocommunity unrn-netdev
|
|
|
sysLocation Belgrano 526, Viedma, Rio Negro, Argentina
|
|
|
sysContact Soporte <soporte@unrn.edu.ar>
|
|
|
```
|
|
|
|
|
|
Reiniciar el servicio
|
|
|
|
|
|
```sh
|
|
|
service snmpd restart
|
|
|
```
|
|
|
|
|
|
### Observium: herramienta gráfica de monitorización
|
|
|
La información recopilada mediante SNMP se puede poner en buenos gráficos con herramientas como [Cacti](https://www.cacti.net/), o se puede utilizar para alarmas con herramientas de monitoreo como [Nagios](https://www.nagios.org/).
|
|
|
|
|
|
La [Universidad Nacional de Rio Negro](https://www.unrn.edu.ar/) utiliza [Observium](https://www.observium.org/) para realizar estos monitoreos. **Observium** es una plataforma de monitoreo de redes de descubrimiento automático de bajo mantenimiento que admite una amplia gama de tipos de dispositivos, plataformas y sistemas operativos, incluídos Cisco, Windows, Linux, HP, Juniper, Dell, FreeBSD, Brocade, Netscaler, NetApp y muchos más. Observium se enfoca en proporcionar una interfaz hermosa, poderosa pero simple e intuitiva para el estado y la salud de la red. Observium utiliza SNMP y [Collectd](https://collectd.org/) como herramientas de recopilación de estadísticas.
|
|
|
|
|
|
[imagen de observium] |