You are on page 1of 41

Fundamento Avanzado

TCP/IP
Curso: Gestin de Servidores
Equipo de Profesores del Curso

Logro del Curso


Al termino del curso, el alumno implementa y
administra sistema de proteccin de datos
RAID y LVM, servidores de seguridad de red
Firewall, Proxy y VPN sobre el sistema
operativo GNU/Linux.

Logro de la Unidad
Al termino de la Unidad, el alumno identifica
y analiza detalles avanzados acerca del
protocolo TCP/IP y la implementacin de
medidas en el sistema que estn
relacionados con la seguridad de la red.

Temario

Protocolo TCP/IP
Address Resolution Protocol (ARP)
Internet Control Messages Protocol (ICMP)
Internet Protocol (IP)
Transmission Control Protocol (TCP)
User Datagram Protocol (UDP)
Saludo de tres vas (Handshake)
Seguridad TCP/IP

Protocolo TCP/IP
La suite del modelo TCP/IP es un conjunto de capas
de protocolos estndar relacionados que garantiza que
los datos se transmiten correctamente por la red.
Debido a la interoperabilidad de TCP/IP con distintos
tipos de equipos, es soportado por la mayora de
redes siendo el protocolo estndar para la
comunicacin a travs de Internet.

Protocolo TCP/IP
Debido a su naturaleza abierta el conjunto de
protocolos TCP/IP
requiere de estndares de
referencia disponibles en documentos de acceso
pblico. Actualmente todos los estndares descritos
para los protocolos TCP/IP son publicados como RFC
(Requests for Comments) que detallan lo relacionado
con la tecnologa de la que se sirve Internet: protocolos,
recomendaciones, comunicaciones, etc.

Protocolo TCP/IP

Protocolo TCP/IP

Proceso de transferencia de datos a travs de las capas del modelo TCP/IP

Protocolo TCP/IP
A medida que un paquete de datos se transfiere de una capa
a otra en la suite del modelo TCP/IP, cada protocolo aade su
propia informacin de cabecera, esto recibe un nombre
distinto cuando se identifica con los diferentes protocolos.
Segmento
Un segmento es la unidad de transmisin en TCP, contiene
una cabecera TCP acompaada de los datos de una
aplicacin.
Mensaje
Es la unidad de transmisin de protocolos no fiables como
ICMP, UDP, IGMP y ARP. Esta formado por una cabecera de
protocolo, acompaado de datos de aplicacin o protocolo.

Protocolo TCP/IP
Datagrama
Un datagrama es la unidad de transmisin en IP. Esta
formado por una cabecera IP, acompaada de datos de la
capa de transporte y se considera no fiable.
Trama
Es la unidad de transmisin en la capa de interfaz de red y
esta formada por una cabecera adicional a la capa de interfaz
de red, acompaada de los datos de la capa del Protocolo de
Internet.

Address Resolution Protocol (ARP)


El protocolo ARP esta ubicado en la capa de
Internet del modelo TCP/IP encargado de la
resolucin de direcciones IP, este proceso se
realiza a travs del envi de solicitud ARP a la
direccin broadcast (multidifusin) de una red,
esto permite a un equipo consultar sobre una
direccin MAC (Media Access Control) asociado
a una direccin IP. Las resolucin de direcciones
es almacenado en una tabla ARP que contiene
cada equipo de una determinada red.

Address Resolution Protocol (ARP)

Formato de datagrama ARP

Address Resolution Protocol (ARP)

El equipo cliente comprueba en su tabla ARP si se


encuentra la direccin MAC del equipo destino.
El equipo cliente enva un datagrama de peticin ARP
a todos los equipos de la red.

Address Resolution Protocol (ARP)

El protocolo ARP del equipo destino verifica que el


solicitante pide su direccin IP.
Emite un datagrama de respuesta ARP incorporando la
direccin MAC de esa direccin IP.
Se recibe la respuesta guardando el resultado en la tabla
ARP para emitir a partir de entonces datagramas IP.

Address Resolution Protocol (ARP)


Procedimiento
Se ejecuta el comando ping especificando la direccin IP del equipo
ping -c 4 192.168.1.2
Se muestra el registro de la tabla ARP correspondiente a un equipo
especificado.

arp -a
? (192.168.1.1) at 4A:0B:CB:A3:19:7E [ether] on eth0
? (192.168.1.2) at F6:CF:E7:98:1E:BC [ether] on eth0

Address Resolution Protocol (ARP)


Procedimiento
Para agregar un registro se utiliza el parmetro -s seguido del nombre
del equipo y la direccin MAC correspondiente.

arp -s 192.168.1.4 2E:E0:45:43:2A:B2


Para eliminar un registro se utiliza el parmetro -d seguido del nombre
del equipo especificado.
arp -d 192.168.1.4

Address Resolution Protocol (ARP)


El protocolo ARP esta especificado en el RFC 826, las peticiones ARP
aparecen de la siguiente manera:
tcpdump -i eth0 arp
17:08:38.236458 arp who-has 192.168.1.2 tell 192.168.1.4

17:08:38.236503 arp reply 192.168.1.2 is-at f6:cf:e7:98:1e:bc

El equipo con la direccin IP 192.168.1.4 quiere preguntar quin tiene la


direccin IP 192.168.1.2 en la primera lnea. La segunda lnea indica una
respuesta devolviendo la direccin fsica de la tarjeta de red.

Protocolo ICMP
El protocolo ICMP esta ubicado en la capa de Internet del
modelo TCP/IP encargado de informar cuando se presenta
problemas de transmisin de un datagrama en llegar a su
destino por lo que emite un mensaje de error o control a la
fuente que emiti los datos, es utilizado por el protocolo IP
para el diagnostico y notificacin de errores que se
presente en la red.

Formato de cabecera ICMP

Protocolo ICMP
Los campos que constituye la cabecera del ICMP son los siguientes:
Type: Identifica el tipo especifico de mensaje ICMP.
Code: Indica las diferentes condiciones para un mismo tipo de mensaje
Checksum: Comprueba la integridad para el mensaje ICMP completo.
Contents: Su longitud varia dependiendo del tipo de mensaje
Tipo

Tipo de Mensaje ICMP

Repuesta de eco (Echo Reply)

Destino inaccesible (Destination Unreachable)

Disminucin del trafico desde el origen (Source Quench

Redireccionar (Redirect)

Solicitud de eco (Echo Request)

Protocolo ICMP
El protocolo ICMP esta especificado en el RFC 792. El formato de la
cabecera ICMP aparecen de la siguiente manera:
tcpdump -i eth0 icmp
18:54:42.192035 IP 192.168.1.2 > 192.168.1.4: icmp 64: echo request seq 1

18:54:42.192062 IP 192.168.1.4 > 192.168.1.2: icmp 64: echo reply seq 1

El equipo con direccin IP 192.168.1.2 enva un mensaje de eco (echo


request) con destino a la direccin IP 192.168.1.4 en la primera lnea. La
segunda lnea indica un mensaje de respuesta de eco (echo reply)
respectivamente.

Internet Protocol (IP)


El protocolo IP esta ubicado en la capa de Internet,
es un protocolo de entrega de datagramas no
fiable, los datagramas pueden perderse o llegar
con errores a su destino, por lo tanto ser utilizado
por los protocolos del nivel de transporte para la
transmisin y enrutamiento de los datos a travs de
la red.

Internet Protocol (IP)

Formato de datagrama IP

User Datagram Protocol (UDP)


El protocolo UDP esta presente en la capa de transporte
del modelo TCP/IP, es un protocolo estndar no fiable, los
mensajes UDP se pueden perder o llegar daados y no
orientado a conexin, por lo que los protocolos de niveles
superiores son los encargados de asegurar la transmisin
correcta de los datos.

Formato de mensaje UDP

User Datagram Protocol (UDP)


El protocolo UDP esta especificado en el RFC 768. El formato de la
cabecera UDP aparecen de la siguiente manera:
tcpdump -i eth0 udp
16:59:56.013499 IP 192.168.1.4.51310 > ns1.landsraad.net.domain: 152+ PTR? 2.64.5.195.inaddr.arpa. (41)
16:59:56.180353 IP ns1.landsraad.net.domain > 192.168.1.4.51310: 152* 1/2/2 PTR[|domain]

Transmission Control Protocol (TCP)


El protocolo TCP esta presente en la capa de
transporte del modelo TCP/IP, es un protocolo
utilizado por las aplicaciones dentro de una red
para sesiones orientado a conexin significa que
espera a recibir confirmacin del destinatario de
que la transmisin esta siendo recibida
correctamente esto garantiza la entrega de los
datos.

Transmission Control Protocol (TCP)

Formato del segmento TCP

Transmission Control Protocol (TCP)


El funcionamiento de la conexin TCP se determina en el campo
Flags (6 bits) donde se especifica una serie de indicadores de
control de estado de sesin, de nico bit cada uno, que se define a
continuacin.
URG: Especifica la existencia de informacin urgente, indicando
que la informacin contenida en el campo Urgent Point es
significativo.
ACK: Reconoce recepcin correcta de datos indicando que el
campo Numero de confirmacin es significativo.
PSH: Indica al receptor que ha de pasar los datos a la capa de
aplicacin tan rpido como sea posible.
RST: Indica reinicio de la conexin.

Transmission Control Protocol (TCP)


SYN: Se indica un paquete que se utiliza al inicio de la sesin para
sincronizar los nmeros de secuencia y se comienza la
negociacin con el receptor que se desea establecer una nueva
conexin.
FIN: Se indica que no existe mas datos y se comienza la
negociacin del fin de la conexin.

Establecimiento de conexin TCP

Establecimiento de conexin TCP


El protocolo TCP esta especificado en el RFC 793. El formato de la
cabecera TCP se detalla de la siguiente manera:
tcpdump -i eth0 tcp
19:47:48.019467 IP 192.168.1.2.39525 > 192.168.1.4.www: S 829929137:829929137(0) win 5840
<mss 1460,sackOK,timestamp 980531 0,nop,wscale 1>

El equipo cliente enva al servidor Web un paquete TCP con el bit de SYN
activo. El numero de secuencia es 0 con una ventana que indica al
servidor que el siguiente paquete que reciba de respuesta deber ser de
5840 bytes o un valor menos respectivamente.

Establecimiento de conexin TCP


El servidor Web responde al cliente con el bit de SYN y ACK activados,
responde con un acuse de recibo que equivale al numero de secuencia
del paquete anterior mas uno (829929138) con una ventana de 5792
bytes, tambin el paquete contiene opciones.
19:47:48.024163 IP 192.168.1.4.www > 192.168.1.2.39525: S 834546955:834546955(0) ack
829929138 win 5792 <mss 1460,sackOK,timestamp 980145 980531,nop,wscale 1>

El equipo cliente responde solamente con el bit de ACK, el punto (.) indica
que no hay otros bits de control con una ventana de 2920 bytes y tambin
el paquete contiene sus opciones respectivas
19:47:48.019520 IP 192.168.1.2.39525 > 192.168.1.4.www: . ack 1 win 2920 <nop,nop,timestamp
980531 980145>

Estados de conexin TCP


En una conexin de TCP pasa por cierto numero de
estados. Primero se establece la conexin mediante un
intercambio de mensajes, despus se transmiten los datos
y despus se cierra la conexin mediante un intercambio
de mensajes. Cada paso en el progreso de una conexin
se corresponde con un estado de la conexin. La
aplicacin de TCP en cada extremo de una conexin
mantiene un registro del estado de su lado en todo
momento.

Estados de conexin TCP

Estados de conexin TCP


Los estados de conexiones TCP se definen en el RFC 793 que a
continuacin se menciona.
LISTEN: Representa la espera una peticin de conexin por parte
del cliente.
SYN-SENT: La espera de respuesta tras haber mandado una
peticin de conexin.
SYN-RECEIVED: Representa la espera por la confirmacin (ACK)
de la peticin de conexin.
ESTABLISHED: El estado normal para la fase de transferencia de
datos de una conexin.
FIN-WAIT-1:Se espera una respuesta con un ACK o FIN incluso
con ambos por parte del TCP remoto a la peticin de finalizacin
de la conexin.

Estados de conexin TCP

FIN-WAIT-2: Se espera una respuesta FIN despus de una


confirmacin (ACK) por parte del TCP remoto a la peticin de
finalizacin de la conexin.
CLOSE-WAIT: Espera por una peticin de finalizacin de conexin
por parte del usuario local.
CLOSING: Ambos extremos estn de acuerdo en finalizar la
conexin .
LAST-ACK: Esta en espera por un ACK de la peticin de
finalizacin de la conexin.
TIME-WAIT: Representa la espera para asegurar que el TCP
remoto recibi el ACK de su peticin de cierre de la conexin.
CLOSED: Es un estado sin conexin activo.

Informacin estadstica de la red


Para examinar el estado actual de las conexiones se utiliza netstat
(Network Statistics) que muestra un listado de las conexiones activas
de un ordenador, tanto entrantes como salientes, tambin informacin
del protocolo en uso, las tablas de ruteo, estadsticas de las interfaces
de red y los estados de conexin.
Sintaxis:

netstat <opciones>
Opciones:
-a: Muestra todas las conexiones activas.
-t: Muestra conexiones a puertos TCP.
-u: Muestra conexiones a puertos UDP.
-r: Se muestra la tabla de enrutamiento.
-n: Muestra puertos y direcciones en formato numrico.
-l: Se muestra los server sockets que estn en modo escucha.
-c: Muestra continuamente las estadsticas de red.

Informacin estadstica de la red


La informacin que netstat proporciona en cada conexin se describe
a continuacin.
Proto: Muestra el protocolo utilizado para establecer la conexin.
Recv-Q: Representa el nmero de bytes que an no han pasado a la
aplicacin en espacio de usuario conectada al socket.
Send-Q: Muestra el nmero de bytes para los que el otro extremo
an no ha devuelto confirmacin.
Local Address: El nombre o direccin IP del ordenador local y el
numero de puerto asociado a la conexin.
Foreign Address. La direccin IP externa y el numero o nombre del
puerto asociado a la conexin.
State. Muestra el estado de la conexin.

Seguridad TCP/IP
En el sistema GNU/Linux, existen varias opciones del kernel que
estn relacionados con la seguridad de la red, como descartar
paquetes que ingresan a travs de la interface de red o ignorar
solicitudes de mensajes ICMP, etc. Esto se puede establecer en el
archivo /etc/sysctl.conf y son cargados hacia cada inicio del sistema o
reinicio del servicio network en el sistema.
Para visualizar todos los valores sysctl actualmente disponibles se
ejecuta el siguiente comando

sysctl -a

Seguridad TCP/IP
Realizado cualquier cambio en el archivo /etc/sysctl.conf, los
parmetros del kernel sern modificados en tiempo real al ejecutar el
comando:
sysctl -p /etc/sysctl.conf
A continuacin, se explica el procedimiento a seguir para habilitar o
deshabilitar parmetros que son necesarios para proteger su sistema.

Prevenir al sistema que responda solicitudes ping


Prevenir que tu sistema responda a solicitudes ping puede hacer
mejorar en forma considerable la seguridad de tu red, dado que
nadie puede hacer ping a tu servidor y recibas solamente
respuesta a tus solicitudes
net.ipv4.icmp_echo_ignore_all=1

Seguridad TCP/IP

Rechazar a responder a solicitudes broadcast


Cundo un paquete es enviado a una direccin IP de transmisin o
difusin de mensajes (broadcast) en la red local, este paquete es
entregado a todas las mquinas de esta red. Entonces, todas las
mquinas de la red responden a este pedido de mensaje ICMP (echo
request) y el resultado es que se producir una congestin severa de la
red o ataques de Denegacin de Servicio.

net.ipv4.icmp_echo_ignore_broadcats=1

Habilitar la Proteccin de Cookie TCP SYN


Un ataque SYN es una negacin de servicio (DoS) que consume todos los
recursos en su mquina, forzando a reiniciar tu sistema. Las negaciones
de ataques de servicio son ataques que incapacitan a tu servidor debido a
un alto volumen de negociacin consumiendo recursos del sistema, de tal
modo que el servidor no pueda responder a un pedido legtimo.
net.ipv4.tcp_syncoockies=1

Preguntas

You might also like