Sunteți pe pagina 1din 30

ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO

Academia Linux - ESPOCH

Curso: Seguridades en Linux

Seguridades en Linux

Capitulo III La suite de protocolos TCP/IP

Objetivos
Despus de completar esta unidad, usted debe ser capaz de: Hablar acerca de los protocolos Ip y su direccionamiento Describir acerca del contenido de los paquetes IP; TCP, UDP, y ICMP Rastrear trfico TCP/IP con tcpdump Cambiar las opciones del kernel TCP/IP

Capas del TCP/IP

El protocolo IP
Protocolo de Internet Definido en RFC 791, 950, 919, 922 y 1349 Protocolo Principal para enviar datos al host de destino. Usa datagramas (paquetes) para enviar datos La fuente y destino son identificados con una direccin IP. Servicio sin establecer conexin, por lo tanto es no confiable. Reenva salto-a-salto a travs de los routers

Direccionamiento IP
Es posible que desee recompilar el kernel Cada interfase necesita una direccin IP nica. Las direcciones IP tienen 32 bits Normalmente escritas en notacin de cuatro campos separados con punto.

Asignacin de direcciones IP
Direcciones IP son asignadas por IANA
Internet Addressing and Naming Agency www.iana.net

Existen 5 clases
A: 8 bits asignados, 24 libres B: 16 bits asignados, 16 libres C: 24 bits asignados, 8 libres D: multicast asignados individualmente por IANA E: experimental no usados

Clases reservadas para redes privadas


A: 10.0.0.0 B: 172.16.0.0 hasta 172.31.0.0 C: 192.168.0.0 hasta 192.168.255.0

Otra Especial:
Clase A 127.0.0.0 usada para interface loopback

Asignacin de direcciones IANA

Clase A: 2^7= 128 redes de 2^24= 16M direcciones Clase B: 2^14= 16K redes de 2^16= 64K direcciones Clase C: 2^21= 2M redes de 2^8= 256 direcciones Clase D: 2^28= 256M redes multicast

Uso de la direcciones IP
Ej.: Usar una direccin privada 10.0.0.0 para crear 64K redes de 256 hosts cada una Los primeros 8 bits son arreglados: 00001010 (10) Los siguientes 16 bits identifican la red (2^16=64K) Los ltimos 8 bits identifican el host de la red (2^8=256) Usar mscara de subred 255.255.255.0 para identificar qu parte es ID de red y qu parte es ID de host

Formato de un paquete IP

Importancia de cabecera IP
Longitud Total: Podra ser usado para forzar la fragmentacin o sobrecarga del buffer. ID, FLG y Fragment Offset: Podran ser usados en ataques DoS ya que, los fragmentos requieren ser poner en el buffer. Direccin IP de origen: Podra ser spoofeda Para prevenir el rastreo de un ataque Para esconderse de un host verdadero Direccin IP de destino: Podra ser una direccin detrs del firewall para descubrir capacidades en el firewall. Opciones IP: El Ruteo origen podra ser usado para sortear los algoritmos de ruteo.

El protocolo ICMP
Protocolo de Control de mensajes en internet Definido en RFC 792 y 950 Usado para reportar el regreso de errores en la red hacia el remitente. Excepto errores desde ICMP Usado para descubrir informacin sobre otro host Usa IP para enviar paquetes

Formato del paquete ICMP

0 --- echo reply 3 --- destino inalcanzable 4 --- indicador de congestin 5 --- Indicad errores en las tablas de ruteo 8 --- echo request 11 --- tiempo excedido 12 --- problema en el parmetro

Importancia los tipos ICMP


echo request (8)/echo reply (0): Prueba si un host est activo o no:
Usado en ataques smurf con una direccin fuente spoofed para inundar un objetivo

Destino inalcanzable (3):


Desde un router: No conoce la ruta hacia el objetivo
Puede usarse para obtener informacin sobre el firewall

Desde un host: Protocolo o puerto no habilitado


Usado en escaneo de puertos para verificar que un puerto no est activo

Importancia los tipos ICMP (2)


Apagar fuente (4): Paquetes llegan muy rpido retrasados
Puede ser usado para ataques DoS

Redireccionar (5): Usar otra ruta para rutear esos paquetes Puede ser usado para redireccionar trfico sobre otra ruta as esta puede ser husmeada

Formato del paquete UDP

El protocolo TCP
Protocolo de Control de la Transmisin Definido en RFC 793 Usa IP para enviar datos Usa puertos de fuente y destino para seleccionar el servicio Es confiable ya que es un Servicio Orientado a la Conexin

Importancia cabecera UDP


Puerto origen: Puerto desde donde se originan los paquetes
Puede ser spoofeada para simular un puerto seguro (<1024) Puede ser spoofeada para simular un servicio bien conocido

Puerto Destino: Puerto hacia dnde va el paquete


Usado para seleccionar el servicio del objetivo

UDP no soporta pacing: El remitente puede enviar tantos paquetes por segundo como su conexin de red lo permita.
Puede ser usado en ataques DDoS para sobrecargar la red

Formato del paquete TCP

Importancia cabecera TCP (2)


URG: Datos Urgentes
Ciertas aplicaciones son conocidas para colgarse o recibir este seal.

SYN: Usado en ataques SYN donde un primer paquete SYN es enviado pero la conexin no es establecida ms adelante
Llena la tabla de conexin (DoS) Los Cookies SYN previenen esto

Rastrear trfico de la red


Hecho con sniffers tcpdump es el sniffer por defecto de UNIX Sintaxis: tcpdump [opciones] [expresin] Opciones importantes:
-i <interfase>: Escuchar en <interface> -p: Poner la interface en modo promiscuo -l: Hacer buffer a la salida -n: No traduce direcciones IP a hostnames -s <number>: Muestra nmero de bytes del paquete -x: Imprime el paquete entero en hexadecimal

Expresiones Importantes:
host <hostname o direccin IP> ether <direccin MAC> port <portnumber> tcp o udp

Ejemplos de tcpdump

Entendiendo la salida tcpdump

Opciones configuracin Kernel


Opciones por defecto establecidas en tiempo de compilacin Puede ser cambiado en el sistema de archivos virtual /proc
echo 1 > /proc/sys/net/ipv4/ip_forward

Debera ser configurado antes que la red sea iniciada Configuraciones en /etc/sysctl.conf net.ipv4.ip_forward=1 CentOS: Activado por /etc/rc.d/rc.sysinit Documentacin detallada en: /usr/src/linux/Documentation/proc.txt

Opciones configuracin Kernel


ICMP Ignora la peticin de repeticin ICMP a una direccin broadcast: net.ipv4.icmp_echo_ignore_broadcast=1 Limita el envio de paquetes ICMP (en # por 1/100s) net.ipv4.icmp_ratelimit = 100 net.ipv4.icmp_ratemask = <mask> icmp_ratemask determina a cuales paquetes ICMP se aplica Ver ms informacin en:
/usr/src/linux/Documentation/networking/ip-sysctl.txt

Opciones configuracin Kernel


IP Valor por defecto TTL net.ipv4.ip_default_ttl = 255 Rango del Puerto Local para conexiones TCP y UDP net_ipv4.ip_local_port_range = 1024 32000 Sin ruta MTU Discovery net.ipv4.ip_no_pmtu_disc = 1 Memoria de fragmentacin IP thresholds y timeouts net.ipv4.ipfrag_high_thresh = 262144 net.ipv4.ipfrag_low_thresh = 19660 net.ipv4.ipfrag_time = 30

Opciones configuracin Kernel


TCP Detectar conexiones rotas previamente: net.ipv4.tcp_keepalive_probes = 5 net.ipv4.tcp_keepalive_time = 600 Proteccin en contra de ataques SYN: net.ipv4.tcp_syncookies = 1 Proteccin en contra de conexiones no finalizadas: net.ipv4.tcp_retries = 3 Proteccin en contra de ataques FIN: net.ipv4.tcp_fin_timeout = 30

Opciones configuracin Kernel


Interfaz de red Opciones especficas de interface estn en: /proc/sys/net/ipv4/conf/<interface-name>
Cambia a la interface por defecto default aplicar a todas las interfaces que sern configuradas ms tarde Cambia a todas las interfaces aplicar a todas las interfaces que estn ya configuradas

No accepta/enva paquetes ICMP de redireccionamiento net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.default.send_redirects = 0

Opciones configuracin Kernel


Interfaz de red No aceptar paquetes source-routed net.ipv4.conf.default.accept_source_route = 0 Registrar paquetes con la direccin fuente sin ruta conocida net.ipv4.conf.default.lo_martians = 1 Validacin de la direccin fuente: net.ipv4.conf.default.rp_filter = 1

Resumen de la unidad

El Protocolo Suite TCP/IP consiste de cuatro protocolos importantes: IP, ICMP, UDP y TCP IP enva datos al host de destino ICMP reporta errores, usando IP UDP ofrece, transporte de datos no confiable a aplicaciones sin conexin, usando IP TCP ofrece, transporte de datos confiable a aplicaciones, orientado a la conexin, usando IP tcpdump puede ser usado para localizar todos los paquetes de datos en una red Varias opciones de kernel para TCP/IP pueden ser cambiadas en la jerarqua /proc/sys/net/ipv4

S-ar putea să vă placă și