Práctica 9 – Configuraciones de ayuda a la seguridad.

Post on 23-Jan-2016

227 views 0 download

Transcript of Práctica 9 – Configuraciones de ayuda a la seguridad.

Seguridad en Sistemas Informáticos

Bloque de seguridad en redesPráctica 9 – Configuraciones de ayuda a la

seguridad

Es un servicio de login remoto seguro (Secure Shell Daemon)◦ Servidor (sshd) en TCP puerto 22◦ Cliente (ssh)

Comprobamos que están operativos◦ Comando ssh◦ Comando service◦ Comando netstat

SSHD

SSHD

Sistema de control de acceso a servicios según:◦ Servicio◦ Nombre de host◦ Dirección de red o IP

Controlado por dos archivos◦ /etc/hosts.allow◦ /etc/hosts.deny

TCP Wrappers

Usualmente instalado en Debian como tcpd

TCP Wrappers

hosts.allow

hosts.deny

TCP Wrappers

Limitación de acceso a subred◦ sshd: ALL EXCEPT 192.168.0.0/24 en hosts.deny.

TCP Wrappers

Acceso imposible desde 37.59.48.48 Registrado en /var/log/auth.log

TCP Wrappers

Acceso posible desde 192.168.0.x Registrado en /var/log/auth.log

TCP Wrappers

Acceso posible desde 192.168.0.x Registrado en /var/log/auth.log

TCP Wrappers

Limitación de acceso a un único host◦ sshd: ALL EXCEPT 37.59.48.48/24 en hosts.deny.

TCP Wrappers

Acceso posible desde samus.nl (37.59.48.48)

TCP Wrappers

Acceso imposible desde cualquier otro host.

TCP Wrappers

Sysctl es un comando para controlar configuración del sistema.◦ Más de 700 variables

sysctl

Archivo cargado en el arranque Permite cambiar las variables de sysctl. Se puede cargar manualmente con sysctl -p

Sysctl.conf

Son paquetes con direcciones de origen o destino imposibles.

net.ipv4.conf.all.log_martians = 1◦ Se registran los paquetes marcianos en

/var/log/messages.◦ Registrar paquetes extraños puede ayudar a

detectar algunos ataques con spoofing.

Probamos a enviar paquetes con 127.0.0.1 como dirección de origen.

Martian Packets

Martian Packets

Net.ipv4.tcp_syncookies = 1

Ayudan a evitar ataques de tipo SYN Flood Elige valores del número de secuencia tales

que codifican la información de la conexión.◦ Se puede responder a SYN con SYN+ACK y

descartar la conexión de la cola evitando la saturación.

◦ Si se completa la conexión, se reconstruira la entrada de la cola mediante el número de secuencia en el ACK recibido.

SYN Cookies

Los paquetes ICMP Redirect son enviados por routers a los hosts para actualizar sus tablas de ruta si detectan que están enrutando paquetes del host hacia otro router visible por éste.

Se pueden utilizar estos paquetes para realizar ataques Man in the Middle redirigiendo el tráfico del host a un router comprometido.

ICMP Redirect

net.ipv4.conf.all.accept_redirects = 0◦ Bloquea todos los mensajes de tipo ICMP Redirect.

net.ipv4.conf.all.secure_redirects = 0◦ Sólo acepta ICMP redirects si provienen de un

router que ya estaba en la tabla de rutas del host.◦ Se puede evitar si el atacante realiza spoofing de

la IP de origen del ICMP Redirect.

ICMP Redirect

Seguridad en Sistemas Informáticos

Bloque de seguridad en redesPráctica 10 – Análisis de servicios activos

Herramienta (network statistics) que permite listar las conexiones existentes en un equipo.

Disponible en Linux, Windows, OSX, etc.

Netstat

Invocar sin argumentos omite los sockets en escucha.

Muestra también los sockets de dominio UNIX◦ Mecanismo de comunicación entre procesos que

utiliza la infraestructura de sockets

Debemos filtrar la salida◦ -a | -l Muestran los sockets en escucha◦ --inet Muestra sólo sockets de la familia AF_INET

Netstat - Linux

*.* en dirección externa indica que escuchan conexiones de cualquier procedencia.

Netstat - Linux

-p muestra el proceso que ha creado el socket

-numeric permite evitar la resolución de nombres o el uso de nombres simbólicos de puerto (/etc/services).

Netstat - Linux

Netstat - Linux

MDA (dovecot)◦ TCP 110 – POP3◦ TCP 143 – IMAP

MTA (exim4)◦ TCP 25 – SMTP

DNS (named)◦ UDP 53 – DNS

SSH (sshd)◦ TCP 22

Servidor de BBDD◦ TCP 3306 - MySQL

Netstat - Linux

Faltan algunos servicios.◦ Apache?

Dichos servicios funcionan con IPv6 mapeadas a IPv4◦ Añadimos el switch -6 a netstat

Netstat - Linux

Apache en◦ TCP 80 (HTTP)◦ TCP 443 (HTTPS)

Netstat - Linux

También aparecen conexiones en curso... Conectamos mediante SSH

Netstat - Linux

Dos nuevas conexiones (se ha conectado al propio equipo)◦ Cliente◦ Servidor

Netstat - Linux

Similar a Linux, sólo cambian los switches.

Netstat - Windows

Invocamos igual◦ -a Mostrar todas las conexiones◦ -f Resolver IPs a FQDN◦ -b Mostrar proceso creador de la conexión

NOTA: localhost aparece como activation.guitar-pro.com (está definido en el archivo HOSTS)

Netstat - Windows

Netstat - Windows

Netstat - Windows Esta máquina no tiene apenas servicios

◦ MySQL en TCP 3306◦ KMService (Activador Office) ◦ VMWare

La mayoría son sockets para IPC

Hay conexiones web activas

Netcat Herramienta básica de creación de

conexiones.

Puede utilizarse para comprobar conexiones a puertos conocidos de servicios.

Netcat Herramienta básica de creación de

conexiones.

Puede utilizarse para comprobar conexiones a puertos conocidos de servicios.◦ Opción –v (verbose)◦ Opción –z (escanear respuesta, no conectar)

Probamos a los puertos reservados (1-1023) en nuestra propia máquina.

nmap Herramienta de análisis de redes muy

madura y potente.

Preinstalada en la mayoría de distribuciones Linux.

Escaneo de hosts y puertos

nmap Especificación de objetivos

◦ Dirección IP◦ Notación Red/Prefijo◦ Rangos de IP◦ Nombres de host

Especificación de puertos◦ Puertos únicos◦ Rangos◦ Por Protocolo mediante prefijos

U: (UDP) T: (TCP) S: (SCTP)

nmap

nmap Varios modos de escaneo

◦ -sS TCP SYN◦ -sT TCP connect()◦ -sU UDP◦ -sN, -sF, -sX TCP NULL, FIN y Christmas◦ -sA TCP ACK◦ -sM TCP Maimon◦ -sW TCP Window◦ -sI Idle scan◦ -b FTP Bounce◦ Otros...

Nmap – SYN Scan Se envían sondas SYN

◦ Respuesta SYN + ACK > Abierto◦ Respuesta RST > Cerrado◦ ICMP Unreachable o timeout > Filtrado

Muy rápido y discreto◦ No se llegan a crear conexiones

Requiere root para crear paquetes RAW

Nmap – SYN Scan

Nmap – SYN Scan

Nmap – TCP Scan Se realiza con connect()

◦ Respuesta SYN + ACK > Abierto◦ Respuesta RST > Cerrado◦ ICMP Unreachable o timeout > Filtrado

Menos discreto◦ Se crean conexiones, quedan registradas en logs

No requiere root

Nmap – TCP Scan

Nmap – TCP Scan

Nmap – UDP Scan Se envían datagramas UDP vacíos

◦ Recibir respuesta > Abierto◦ ICMP Port Unreachable (Tipo 3, Cód. 3) > Cerrado◦ Cualquier otro ICMP Tipo 3 > Filtrado

Mucho más lento◦ No recibir respuesta puede significar pérdida de

sonda, es necesario retransmitir◦ Los hosts pueden limitar el flujo de ICMP a uno

por segundo

Nmap – UDP Scan

Nmap – UDP Scan

Nmap – NULL, FIN & Xmas Scan Envían sondas sin SYN, ACK ni RST Según el RFC de TCP si se recibe una sonda

así◦ Un puerto cerrado responde con RST◦ Un puerto abierto la descarta

Flags activas◦ NULL: Ninguna◦ FIN: FIN◦ Xmas: URG, PSH y FIN

Es menos fiable y más sensible a implementaciones de pila y firewalls.

Nmap – NULL, FIN & Xmas Scan

Nmap – NULL, FIN & Xmas Scan

Envían sondas con flag ACK◦ Puertos abiertos o cerrados responden con RST

ACK Scan no permite diferenciar abierto o cerrado, solo filtrado o no filtrado

Es muy dependiente de firewalls e implementaciones de pila

Window scan usa el valor del campo Window de las respuestas RST◦ 0 indica cerrado◦ >0 indica abierto

Nmap – ACK Scan y Window Scan

Nmap – ACK Scan y Window Scan

Nmap

Maimon es análogo a NULL Scan, pero con las flags FIN y ACK

Algunos sistemas BSD descartan estas sondas en contra del protocolo.

--scanflags permite especificar que flags llevarán activas las sondas

Nmap – Maimon Scan y scanflags

Es completamente ciego y silencioso. No se envía nada desde el equipo que escanea al objetivo.

Se utiliza un host «zombie» aprovechando un exploit de Ids de fragmentación IP predecibles.

Permite explorar relaciones de confianza en las firewalls usando diferentes «zombies»

Nmap – Idle scan

Se basa en la característica Proxy FTP Connection del protocolo FTP

Si conectamos a un servidor FTP con esta característica, se puede usar el servidor para que haga el escaneo, mejorando el sigilo

No es una característica muy soportada hoy en día

Nmap – FTP Bounce

Utiliza diversas técnicas de sondeo con payloads específicos para obtener más información de los servicios del objetivo.

Puede averiguar números de versión, tipos de SO, etc.

Nivel de agresividad controlable ◦ -–version-intensity <nivel>

Nmap – Service Scan

Nmap – Service Scan

Seguridad en Sistemas Informáticos

Bloque de seguridad en redesPráctica 11 – Ataques de denegación de

servicios

• Dsniff es un conjunto de herramientas de “análisis de tráfico” que trabaja a diferentes niveles con el fin de obtener información útil del equipo o equipos “monitorizados

• Utilidades• dsniff• mailsnarf• webspy• arpspoof• dnspoof• macof• tcpnice

DSniff

Ataque consistente en introducirse en el medio de una conexión haciéndonos pasar para cada extremo por el interlocutor esperado.

Permite visualizar y manipular los datos de la víctima.

Man in the Middle

ARP Poisoning

Man in the Middle

Man in the middle (II)• Envenenamos las cachés arp de los dos equipos que se comunican.

Primero se ha de activar el IP forwarding en el equipo, para poder actuar como un router.

A continuación se envenenan las tablas con arpspoof

Man in the Middle

Comprobamos que el ataque se ha realizado correctamente.

Man in the Middle

Una vez situados en medio de la comunicación utilizamos dsniff para «olfatear» (sniffing) credenciales de autenticación de protocolos en texto plano.◦ HTTP◦ FTP◦ Telnet◦ ...

Dsniff – Man in the Middle

El equipo atacante actúa como un servidor DNS y falsifica las resoluciones de nombres.

Redirige las solicitudes del usuario a donde el atacante quiera.

Se crea un fichero con las resoluciones falsas deseadas.

DNSSpoof

DNSSpoof

Permite monitorizar en tiempo real las páginas que visita la víctima.

Webspy

Los ataques de denegación de servicio distribuidos (Distributed Denial of Service) consisten en colapsar determinados servicios mediante una sobrecarga de solicitudes coordinadas entre varias fuentes, consiguiendo un volumen de tráfico mucho mayor.

Se pueden realizar sin consentimiento del usuario mediante botnets.

Herramientas como LOIC (Low Orbit ION Cannon)

Ataques DDoS

Ataques DDoS

Ataque DDoS masivo a los datacenters de Blizzard en Irvine, California.

Ocurre durante los días siguientes al lanzamiento de la última expansión de World of Warcraft (13/11/2014)

Causa colapsos en los servidores de autenticación y de juego, desconexiones, latencias altísimas y colas de entrada

Ataques DDoS

Ataques DDoS

Monitorización del ataque por la herramienta NORSE.

Ataques DDoS

Se trata de mensajes o advertencias engañosas.

Se trata de conseguir la mayor distribución posible.

Sirven para captar direcciones de usuarios para enviar spam o malware, suplantar identidades, etc.

Hoaxes

Hay algunas pautas para reconocerlos◦ Son anónimos◦ Ocultan u omiten fechas de publicación◦ Contienen «ganchos» como ofertas imposibles◦ Contienen peticiones de reenvío

Hoaxes

Hoaxes en Whatsapp, Facebook, etc.

Hoaxes

Amenazas falsas de virus...

Hoaxes

Seguridad en Sistemas Informáticos

Bloque de seguridad en redesPráctica 12 – Netfilter e IPTables

Módulo de kernel Linux. Instalado en la mayoría de distribuciones Funciones

◦ Filtrado de paquetes◦ Manipulación de paquetes◦ Traducción de direcciones (NAT)◦ Otros

NETFILTER

Provee un framework sobre el que construir aplicaciones

«Hooks» en la pila de red que permiten registrar funciones «Callback»

Se llama a dichas funciones cuando un paquete atraviesa un «hook» en la pila.

NETFILTER

Varios subsistemas y extensiones◦ IPTables◦ ConnTrack◦ NAT◦ Múltiples APIs para extensiones de terceros.

NETFILTER

Estructura de tablas genéricas para definición de reglas.

Niveles de estruturado◦ Tablas◦ Cadenas◦ Reglas

IPTABLES

Tabla FILTER se encarga del filtrado de paquetes según las reglas.

Se opera sobre ella si no se especifica otra. Consta de tres cadenas por defecto.

◦ INPUT: Paquetes cuyo destino es el sistema.◦ OUTPUT: Paquetes generados en el sistema.◦ FORWARD: Paquetes que deben ser enrutados por

el sistema.

IPTABLES

Tabla NAT se encarga de las traducciones de direcciones de red.

Consta de tres cadenas por defecto.◦ PREROUTING: Paso previo a consultar la tabla de

rutas. Realiza DNAT (Traducción de destino)◦ POSTROUTING: Paso posterior a consultar la tabla

de rutas. Realiza SNAT (Traducción de origen)◦ OUTPUT: Paquetes generados en el sistema.

Realiza DNAT limitada.

IPTABLES

Tabla MANGLE manipula paquetes que pasan por sus cadenas, como por ejemplo, bits QoS.

Es la más avanzada y consta de las cinco cadenas ya vistas.

IPTABLES

Cadenas son listas ordenadas de reglas Las reglas especifican criterios de

coincidencia y objetivos◦ Los paquetes coincidentes se mandan al objetivo

de la regla◦ El resto de paquetes proceden a la siguiente regla

de la cadena◦ Si se llega al final de la cadena, se continua por la

cadena «madre» o se sigue la política por defecto.

IPTABLES

Objetivos◦ ACCEPT : Aceptar◦ DROP : Descartar◦ QUEUE : Encolar paquete◦ RETURN : Salir de la cadena actual◦ LOG : Registrar paquete◦ REJECT : Descartar con notificación◦ SNAT, DNAT : Realizar traducción NAT◦ MASQUERADE : Traducción NAT dinámica◦ Otros...

IPTABLES

Permite registrar las conexiones en curso. Categoriza paquetes en función de su

asociación a una conexión como:◦ NEW : No asociado◦ ESTABLISHED : Ya asociado a una conexión◦ RELATED : Relacionado con la conexión pero no

estrictamente parte de ella (p.e. ICMP)◦ INVALID

Permite la creación de firewalls con estado.

CONNTRACK

Comando iptables para modificar reglas y cadenas.

USO DE IPTABLES

Limitar acceso a un servidor web a la subred local.◦ Descartar paquetes destinados al puerto 80 que

no procedan de la subred 192.168.0.0/24

EJEMPLO 1

Equipo de la subred192.168.0.11

Equipo192.168.0.22

Log en dmesg

Bloqueado desdeequipos externos

37.59.48.48

Añadimos37.59.48.48a los equipospermitidos.

Limitación de conexiones salientes SSH◦ Permitir sólo a samus.nl (37.59.48.48)◦ Descartar paquetes dirigidos al puerto TCP 22 si la

dirección de destino no es 37.59.48.48

Ejemplo 2

37.59.48.48Válido

192.168.0.12Bloqueado

Registrado en dmesg

Bloqueo de todo el tráfico excepto pings◦ Cambio de políticas por defecto a DROP◦ Aceptar explícitamente

ICMP Echo Request de 37.59.48.48 ICMP Echo Reply a 37.59.48.48

◦ NOTA: Se debe poner la IP del servidor, al bloquear las solicitudes DNS no se podría resolver samus.nl.

Ejemplo 3

Pings desde elequipo.

Pings hacia elequipo.