martes, 19 de junio de 2012

TRES HERRAMIENTAS DE MONITOREO LINUX


TRES HERRAMIENTAS DE MONITOREO LINUX

NESSUS: es un programa de escaneo de vulnerabilidades en diversos sistemas operativos. Consiste en un daemon, nessusd, que realiza el escaneo en el sistema objetivo, y nessus, el cliente (basado en consola o gráfico) que muestra el avance y reporte de los escaneos. Desde consola nessus puede ser programado para hacer escaneos programados con cron.
En operación normal, nessus comienza escaneando los puertos con nmap o con su propio escaneador de puertos para buscar puertos abiertos y después intentar varios exploits para atacarlo. Las pruebas de vulnerabilidad, disponibles como una larga lista de plugins, son escritos en NASL (Nessus Attack Scripting Language, Lenguaje de Scripting de Ataque Nessus por sus siglas en inglés), un lenguaje scripting optimizado para interacciones personalizadas en redes.
Opcionalmente, los resultados del escaneo pueden ser exportados en reportes en varios formatos, como texto plano, XML, HTML, y LaTeX. Los resultados también pueden ser guardados en una base de conocimiento para referencia en futuros escaneos de vulnerabilidades.
Algunas de las pruebas de vulnerabilidades de Nessus pueden causar que los servicios o sistemas operativos se corrompan y caigan. El usuario puede evitar esto desactivando "unsafe test" (pruebas no seguras) antes de escanear.

 




SNORT: es un sniffer de paquetes y un detector de intrusos basado en red (se monitoriza todo un dominio de colisión). Es un software muy flexible que ofrece capacidades de almacenamiento de sus bitácoras tanto en archivos de texto como en bases de datos abiertas como lo es MySQL. Implementa un motor de detección de ataques y barrido de puertos que permite registrar, alertar y responder ante cualquier anomalía previamente definida. Así mismo existen herramientas de terceros para mostrar informes en tiempo real (ACID) o para convertirlo en un Sistema Detector y Preventor de Intrusos.
Este IDS implementa un lenguaje de creación de reglas flexible, potente y sencillo. Durante su instalación ya nos provee de cientos de filtros o reglas para backdoor, DDoS, finger, FTP, ataques web, CGI, Nmap...
Puede funcionar como sniffer (podemos ver en consola y en tiempo real qué ocurre en nuestra red, todo nuestro tráfico), registro de paquetes (permite guardar en un archivo los logs para su posterior análisis, un análisis offline) o como un IDS normal (en este caso NIDS). Cuando un paquete coincide con algún patrón establecido en las reglas de configuración, se logea. Así se sabe cuándo, de dónde y cómo se produjo el ataque.
Aún cuando tcpdump es considerada una herramienta de auditoría muy útil, no se considera un verdadero IDS puesto que no analiza ni señala paquetes por anomalías. tcpdump imprime toda la información de paquetes a la salida en pantalla o a un archivo de registro sin ningún tipo de análisis. Un verdadero IDS analiza los paquetes, marca las transmisiones que sean potencialmente maliciosas y las almacena en un registro formateado, así, Snort utiliza la biblioteca estándar libcap y tcpdump como registro de paquetes en el fondo.



  


 NETCAT: es una herramienta de red originalmente desarrollada por Hobbit en 1996 y liberada bajo una licencia de software libre permisiva (no copyleft, similar a BSD, MIT) para UNIX. Posteriormente fue portada a Windows y Mac OS X entre otras plataformas. Netcat permite a través de intérprete de comandos y con una sintaxis sencilla abrir puertos TCP/UDP en un HOST (quedando netcat a la escucha), asociar una shell a un puerto en concreto (para conectarse por ejemplo a MS-DOS o al intérprete bash de Linux remotamente) y forzar conexiones UDP/TCP (útil por ejemplo para realizar rastreos de puertos o realizar transferencias de archivos bit a bit entre dos equipos). Existen muchos forks de esta herramienta que añaden características nuevas como GNU Netcat o Cryptcat.
Entre sus múltiples aplicaciones, es frecuente la depuración de aplicaciones de red. También es utilizada a menudo para abrir puertas traseras en un sistema.

 


PROTOCOLOS


PROTOCOLOS 

FTP(transferencia de ficheros): 

es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red TCP (Transmission Control Protocol), basado en la arquitectura cliente-servidor. Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo. 

El servicio FTP es ofrecido por la capa de aplicación del modelo de capas de red TCP/IP al usuario, utilizando normalmente el puerto de red 20 y el 21. Un problema básico de FTP es que está pensado para ofrecer la máxima velocidad en la conexión, pero no la máxima seguridad, ya que todo el intercambio de información, desde el login y password del usuario en el servidor hasta la transferencia de cualquier archivo, se realiza en texto plano sin ningún tipo de cifrado, con lo que un posible atacante puede capturar este tráfico, acceder al servidor y/o apropiarse de los archivos transferidos. 





SSH(intérprete de órdenes segura):

es un protocolo que facilita las comunicaciones seguras entre dos sistemas usando una arquitectura cliente/servidor y que permite a los usuarios conectarse a un host remotamente. A diferencia de otros protocolos de comunicación remota tales como FTP o Telnet, SSH encripta la sesión de conexión, haciendo imposible que alguien pueda obtener contraseñas no encriptadas.
SSH está diseñado para reemplazar los métodos más viejos y menos seguros para registrarse remotamente en otro sistema a través de la shell de comando, tales como telnet o rsh. Un programa relacionado, el scp, reemplaza otros programas diseñados para copiar archivos entre hosts como rcp. Ya que estas aplicaciones antiguas no encriptan contraseñas entre el cliente y el servidor, evite usarlas mientras le sea posible. El uso de métodos seguros para registrarse remotamente a otros sistemas reduce los riesgos de seguridad tanto para el sistema cliente como para el sistema remoto.

SMTP(Protocolo Simple de Transferencia de Correo)

es un protocolo de la capa de aplicación. Protocolo de red basado en textos utilizados para el intercambio de mensajes de correo electrónico entre computadoras u otros dispositivos (PDA's, teléfonos móviles, etc.). Está definido en el RFC 2821 y es un estándar oficial de Internet.

HTTP(protocolo de transferencia de hipertexto)

es el protocolo usado en cada transacción de la World Wide Web. HTTP fue desarrollado por el World Wide Web Consortium y la Internet Engineering Task Force, colaboración que culminó en 1999 con la publicación de una serie de RFC, el más importante de ellos es el RFC 2616 que especifica la versión 1.1. HTTP define la sintaxis y la semántica que utilizan los elementos de software de la arquitectura web (clientes, servidores, proxies) para comunicarse. Es un protocolo orientado a transacciones y sigue el esquema petición-respuesta entre un cliente y un servidor. Al cliente que efectúa la petición (un navegador web o un spider) se lo conoce como "user agent" (agente del usuario). A la información transmitida se la llama recurso y se la identifica mediante un localizador uniforme de recursos (URL). Los recursos pueden ser archivos, el resultado de la ejecución de un programa, una consulta a una base de datos, la traducción automática de un documento, etc.

DNS(sistema de nombres de dominio)


lunes, 11 de junio de 2012

COMANDOS PARA MONITOREAR UNA RED

Las redes de cómputo de las organizaciones, se vuelven cada vez más complejas y la exigencia de la operación es cada vez mas demandante. Las redes, cada vez mas, soportan aplicaciones y servicios estratégicos de las organizaciones. Por lo cual el análisis y monitoreo de redes se ha convertido en una labor cada vez mas importante y de caracter pro-activo para evitar problemas.

Monitoreo de peticiones de DNS:
Si administras un servidor de DNS, en alguna ocasión vas a querer saber cuantas peticiones tu servidor de DNS tu servidor recibe. Para monitorear esto utilizo el programa dnstop con este se puede monitorear cuantas peticiones esta teniendo tu servidor ya sea por clase de dominio .net .org, direcciones ip, por dominio o por sub dominios.

Para ejecutarlo solo ejecutas el comando:  dnstop eth1

Tienes que especificar la interface en la cual quieres que “escuche” el programa. Presionando los botones de 1 2 3 4 puedes ver los diferentes tipos de reportes que tiene.
Adjunto imagen del programa:


dnstop 


Monitoreo de puertos abiertos
Otra de las tareas de un sysadmin es estar al tanto de que puertos hay abiertos en un servidor. Como lo dice la regla, si un servicio no te sirve, quitalo del sistema. Para monitorear puertos uso la herramienta llamada nmap.

Con el comando:  nmap -v 127.0.0.1

Saque un listado de puertos abiertos en el servidor. Si su servidor tiene varias direcciones IP es importante que hagan un escaneo de puertos a todos los IP.

Adjunto imagen del resultado que muestra nmap:


nmap





netstat:
 
 
sudo netstat -lptu
netstat es un comando que nos puede mostrar las conexiones de red, tablas de enrutamiento, estadisticas de las diferentes interfaces de red,  conexiones enmascaradas entre otras funciones. Con la opcion -lptu en realidad le estamos diciendo a netstat que nos muestre multiples opciones de informacion (cada letra equivale a una opcion) por lo que en este caso le estamos pidiendo que liste los sockets abierto "l", nos mueste los programas que estan usando esos sockets "p" y que sean mediante protocolos TCP "t" y UTP "u"

una salida tipica de este comando seria similar a esto:
Conexiones activas de Internet (solo servidores)
Proto  Recib Enviad Dirección local         Dirección remota       Estado       PID/Program name
tcp        0      0 *:domain                *:*                        ESCUCHAR    1214/dnsmasq
tcp        0      0 localhost.localdoma:ipp *:*                     ESCUCHAR    1327/cupsd
tcp6       0      0 [::]:domain             [::]:*                     ESCUCHAR    1214/dnsmasq
tcp6       0      0 PC-Linux:ipp          [::]:*                      ESCUCHAR    1327/cupsd
udp        0      0 *:mdns                  *:*                                 1056/avahi-daemon:
udp        0      0 *:domain                *:*                                 1214/dnsmasq
udp        0      0 *:53814                 *:*                                 1056/avahi-daemon:
udp6       0      0 [::]:mdns               [::]:*                              1056/avahi-daemon:
udp6       0      0 [::]:42850              [::]:*                              1056/avahi-daemon:
udp6       0      0 [::]:domain             [::]:*                              1214/dnsmasq

Para saber mas de este comando y sus posibilidades teclea en la terminal:

man netstat
 
 
Herramienta de monitoreo de red ''fping'': 

# fping -c1 -sg 192.168.1.1 192.168.1.10

192.168.1.2  : [0], 96 bytes, 0.88 ms (0.88 avg, 0% loss)
192.168.1.4  : [0], 96 bytes, 0.99 ms (0.99 avg, 0% loss)
192.168.1.4  : [0], 96 bytes, 1.44 ms (1.21 avg, 200% return)
192.168.1.5  : [0], 96 bytes, 0.56 ms (0.56 avg, 0% loss)
192.168.1.6  : [0], 96 bytes, 0.67 ms (0.67 avg, 0% loss)
192.168.1.7  : [0], 96 bytes, 1.50 ms (1.50 avg, 0% loss)
192.168.1.8  : [0], 96 bytes, 1.03 ms (1.03 avg, 0% loss)
192.168.1.9  : [0], 96 bytes, 0.66 ms (0.66 avg, 0% loss)
192.168.1.10 : [0], 96 bytes, 1.71 ms (1.71 avg, 0% loss)

192.168.1.1  : xmt/rcv/%loss = 1/0/100%
192.168.1.2  : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.88/0.88/0.88
192.168.1.3  : xmt/rcv/%loss = 1/0/100%
192.168.1.4  : xmt/rcv/%return = 1/2/200%, min/avg/max = 0.99/1.21/1.44
192.168.1.5  : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.56/0.56/0.56
192.168.1.6  : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.67/0.67/0.67
192.168.1.7  : xmt/rcv/%loss = 1/1/0%, min/avg/max = 1.50/1.50/1.50
192.168.1.8  : xmt/rcv/%loss = 1/1/0%, min/avg/max = 1.03/1.03/1.03
192.168.1.9  : xmt/rcv/%loss = 1/1/0%, min/avg/max = 0.66/0.66/0.66
192.168.1.10 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 1.71/1.71/1.71