Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CAPITULO I
PROTOCOLO DE CONFIGURACION DINAMICA DE HOST
1. Debido a que RARP opera en un nivel bajo, su uso requiere de un acceso directo
hacia el hardware de red. Así pues, puede resultar difícil o imposible para un
programador de aplicaciones construir un servidor.
red. Por último, el DHCP admite una configuración dinámica completa, con la cual el
servidor "presta" una dirección a una computadora por tiempo limitado.
DHCP utiliza la identidad del cliente para decidir cómo proceder. Cuando un cliente
contacta un servidor DHCP, envía un identificador, por lo general, la dirección de
hardware del cliente. El servidor utiliza el identificador del cliente y la red a la que el
cliente se ha conectado para determinar cómo asignar el cliente y la dirección IP.
Así, el administrador tiene un control completo sobre la forma en que se asignan las
direcciones. Un servidor puede configurarse para asignar direcciones a
computadoras específicas de manera estática, mientras permite a otras
computadoras obtener dinámicamente direcciones de manera permanente o
temporal.
1
Comer Douglas redes globales de información con internet y TCP/IP, pág 375
2
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Cuando se utiliza el DHCP para obtener una dirección IP, el cliente se encuentra en
1 de 6 estados. La figura 1.1 muestra los estados de transición sus eventos y
mensajes que ocasionan que un cliente cambie de estado.
DH
Fin de
SELEC- DHCPNACK
DHCPOFFER DHCPNACK
CIONAR
Cancelación arrendamiento
DHCPREQUEST UNIR DE DHCPREQUEST RENO-
NUEVO 87% de arrendamiento VAR
SOLICI-
DHCPACK
TAR DHCPACK
DHCPREQUEST
50% de arrendamiento
DHCPACK
ENLA-
ZAR
DHCPRELEASE
Cuando un cliente arranca por primera vez lo hace con una dirección IP 0.0.0.0,
entra en el estado INITIALIZE (INICIALIZAR). Para comenzar a adquirir una
dirección IP, el cliente primero contacta a todos los servidores DHCP en la red local.
Para hacerlo, el cliente difunde (utiliza la dirección IP 255.255.255.255) un mensaje
DHCPDISCOVER y cambia al estado con el nombre SELECT(SELECCIONAR). El
cliente envía el mensaje DHCPDISCOVER en un datagrama UDP con el puerto de
destino activado para el puerto el puerto 67. Todos los servidores DHCP de la red
3
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
local reciben el mensaje y los servidores que hayan sido programados para
responder a un cliente enviarán un mensaje DHCPOFFER emitido por broadcast al
puerto 68 de UDP, cliente DHCP. Así, un cliente puede recibir ceros o más
respuestas.
4
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
5
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
0 8 16 24
31
OP Tipo Hardware Longitud Hardware Saltos
Identificador de transacción
Segundos Banderas
Dirección IP del cliente
Su dirección IP
Dirección IP del servidor
Dirección IP del ruteador
Dirección de hardware del cliente (16 octetos de longitud máximo)
Nombre de anfitrión servidor (64 octetos)
Nombre de archivo de arranque (128 octetos)
Opciones (variable)
Campo Significado
OP Especifica si el mensaje es una solicitud con el valor 1 o una
8 bits respuesta con el valor 2
Tipo de Hardware Indica el tipo de hardware de red, en el caso de Ethernet vale
8 bits 1
Longitud Hardware Longitud de la dirección de Hardware, para Ethernet tiene un
8 bits valor de 6
Saltos 8 bits Indica la cantidad de servidores que reenviaron la solicitud
Identificador de Contiene un valor que el cliente utiliza para determinar si la
transacción respuesta corresponde a su solicitud. El valor de la respuesta
32 bits es igual al de la solicitud.
Segundos Especifica el tiempo transcurrido desde que se inicio el
16 bits arranque de la computadora
Banderas Solo el primer bit de este campo tienen asignado un
16 bits significado. El cliente activa este bit (valor 1) para solicitar que
el servidor responda por medio de difusión (255.255.255.255)
y no utilice unidifusión mediante la dirección de hardware del
cliente, debido a que puede suceder que la dirección IP no
concuerde con la dirección de la computadora, y el software IP
puede descartar el datagrama.
Dirección IP del Si la computadora (cliente) conoce su dirección IP debido a
cliente 32 bits que ya le fue asignada, la ubicará en este campo.
Su dirección IP Es el campo en el cual el servidor entrega a la IP solicitada al
32 bits cliente.
Dirección IP del Es llenado por el cliente si este conoce la dirección IP del
servidor 32 bits servidor, caso contrario estará puesto a cero, por lo que
responderá cualquier servidor que reciba la solicitud.
Dirección IP del Contiene la dirección IP del ruteador predeterminado
ruteador 32 bits
Dirección de Contiene la dirección de hardware de la interfaz del cliente, en
Hardware del el caso de ethernet es una dirección de 6 octetos.
cliente
6
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
1.7 EJERCICIOS
7
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
A al anfitrión B)? ¿La respuesta difiere para BOOTP? Explique por qué si o por
qué no.
12. El DHCP especifica que un anfitrión debe prepararse para manejar por lo menos
312 octetos de opciones. ¿Cómo se obtiene el número 312?
13. ¿Puede una computadora que utiliza al DHCP obtener una dirección IP operando
un servidor? Si así es, ¿cómo accede un cliente al servidor?
CAPITULO II
TELNET
1. Define una terminal virtual de red (network virtual terminal) que proporciona una
interfaz estándar para los sistemas remotos. Los programas clientes no tienen
que comprender los detalles de todos los sistemas remotos, se construyen para
utilizarse con la interfaz estándar.
CLIENTE SERVIDOR
TELNET TELNET
El servidor
envía a una
pseudo terminal
TCP TCP
Dispositivo
de E/S IP IP
Usuario
Red de redes
TCP/IP
Se utiliza el término pseudo terminal para describir el punto de entrada del sistema
operativo que permite que un programa, que se está corriendo como el servidor
TELNET, transfiera caracteres al sistema operativo como si vinieran de un teclado.
El arreglo del servidor TELNET para que sea un programa de nivel de aplicación
tiene sus ventajas y sus desventajas. La ventaja más obvia es que hace la
modificación y el control del servidor más fácil que si el código estuviera enclavado
en el sistema operativo. La desventaja evidente es su ineficiencia. Cada pulso de
teclado viaja del teclado del usuario a través del sistema operativo hacia el
programa cliente, del programa cliente regresa a través del sistema operativo y a
través de la red de redes hacia la máquina servidor. Después de llegar a su
máquina destino, los datos deben viajar a través del sistema operativo del servidor
al. programa de aplicación del servidor, y del programa de aplicación del servidor
de regreso al sistema operativo del servidor, en un punto de entrada de pseudo
9
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
2.2 HETEROGENEIDAD
Para hacer que TELNET interopere entre tantos sistemas como sea posible, debe
adaptar los detalles de las computadoras heterogéneas y los sistemas operativos.
Por ejemplo, algunos sistemas requieren de líneas de texto que se terminen
mediante el carácter de control de retorno de carro (CR) de ASCII. Para otros es
necesario el carácter de alimentación de línea (LF) de ASCII. Incluso, algunos
necesitan la secuencia de los dos caracteres CR-LF. Aunado a lo anterior, los
sistemas más interactivos permiten que el usuario pulse una tecla para que
interrumpe un programa que se está corriendo. Sin embargo, el pulso de teclado
empleado para interrumpir un programa varía de sistema a sistema (por ejemplo,
algunos sistemas emplean Control-C, mientras otros se valen de ESCAPE.
2
Comer Douglas redes globales de información con internet y TCP/IP, pág 412
10
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
11
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
SEÑAL SIGNIFICADO
La mayor parte de los teclados no posee teclas extra para los comandos. De hecho,
los sistemas operativos individuales o los interpretadores de comandos tienen una
gran variedad de maneras para generarlos. La técnica más común es construir un
carácter ASCII individual para una función de control, de modo que, cuando el
usuario pulsa esa tecla, el sistema operativo lleve a cabo las acciones apropiadas en
lugar de aceptar al carácter como entrada. Los diseñadores de NVT eligieron
mantener a los comandos separados del conjunto de caracteres ASCII normales por
dos razones. En primer lugar, definir las funciones de control de manera separada
significa que TELNET tiene una mayor flexibilidad. Puede transferir todas las
secuencias de caracteres posibles en ASCII entre el cliente y el servidor así como
también todas las funciones de control posibles. En segundo lugar, mediante la
separación de señales de los datos normales, NVT permite que el cliente
especifique las señales de manera no ambigua, nunca hay confusión acerca de si un
carácter de entrada se deberá tratar como dato o como función de control.
Para transferir las funciones de control a través de la conexión TCP, TELNET las
codifica mediante la secuencia de escape. Una secuencia de escape se vale de un
octeto reservado para indicar que sigue a continuación un octeto de código de
control. En TELNET, el octeto reservado que inicia una secuencia de escape se
conoce como el octeto interpret as command (interpretar como comando o IAC). En
la figura 2.5, se listan los comandos posibles y las codificaciones decimales
utilizados para cada uno.
Como se muestra en la tabla, las señales generadas por las teclas conceptuales en
cada teclado NVT tienen un comando correspondiente. Por ejemplo, para pedir que
el servidor interrumpa el programa que se está ejecutando, el cliente debe mandar la
secuencia de dos octetos IAC IP (255 seguido de 244). Los comandos adicionales
permiten que el cliente y el servidor negocien qué opciones utilizarán y la
comunicación sincronizada.
Enviar funciones de control junto con datos normales no siempre es suficiente para
garantizar los resultados deseados. A fin de ver la razón, consideremos la situación
en la que un usuario podría enviar la función de control de interrupción de proceso al
servidor. Normalmente, dicho control sólo se necesita cuando el programa que se
ejecuta en una máquina remota se está conduciendo mal y el usuario quiere que el
servidor deje de correr el programa. Por ejemplo, el programa podría estar
ejecutando un ciclo sin fin sin leer la entrada o generando una salida. Por desgracia,
si la aplicación en la localidad del servidor se detiene a leer la entrada, los buffers
del sistema operativo en ocasiones se llenarán y el servidor será incapaz de escribir
más datos en la pseudo terminal. Cuando esto sucede, el servidor debe dejar de leer
datos de la conexión TCP que hacen que los bufers se llenen. En ocasiones, el TPC
de la máquina servidor comenzará a anunciar un tamaño de ventana cero,
previniendo que los datos fluyan a través de la conexión.
Si el usuario genera una función de interrupción de control, cuando los bufers están
llenos, la función de control no llegará al servidor. Es decir que el cliente puede
formar la secuencia de comandos IAC IP y escribirla en la conexión TCP, pero como
el TCP ha dejado de enviar a la máquina del servidor, el servidor no leerá la
secuencia de control. El punto es que: TELNET no puede confiarse al flujo de datos
13
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
En la figura 2.6, se listan algunas de las opciones de TELNET que se implantan con
mayor frecuencia.
En razón de que en algunas ocasiones tiene sentido para el servidor iniciar una
opción en particular, el protocolo está diseñado para permitir o dejar de hacer una
petición. De este modo, se dice que el protocolo es simétrico con respecto al
procesamiento de opciones. El extremo de recepción puede responder a una
petición con una aceptación positiva o un rechazo. En la terminología de TELNET, la
petición es WILL x, que significa estarías de acuerdo en dejarme usar la opción X; y
la respuesta podría ser DO x o DON'T x, que significa estoy de acuerdo en dejarte
utilizar la opción X o no estoy de acuerdo en dejarte utilizar la opción X. La simetría
surge porque DO X pide que la parte receptora comience a usar la opción X, y WILL
X o WON'T X significa comenzaré a usar la opción X no comenzaré a usar la opción
X.
Existen unos cuantos requisitos de seguridad orientados a conexión que debe tener
en mente cuando inicie una sesión Telnet:
• Confidencialidad
• Integridad
• Autenticación entidad-igual
• Control de acceso basado en identidad
15
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Una de las ventajas de basarse en este mecanismo de seguridad en los niveles más
bajos es que puede evitarse duplicar los esfuerzos de seguridad. Pero, de nuevo, no
estoy seguro de cuántos desarrolladores o profesionales de la implementación
desearían introducir software nuevo en núcleos de sistemas operativos. Por tanto,
sería mucho mejor ofrecer seguridad para las conexiones Telnet en el nivel de
aplicación que en el nivel de transporte o de red.
3
Goncalves Marcus. Manual de firewalls. Pág. 66
16
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
estos datos después de que la entrada se haya verificado por una firma
electrónica.
Si las sesiones Telnet inician desde el hogar o desde cualquier otra ubicación
remota mediante marcado telefónico, debería requerir una segunda contraseña o
un procedimiento de llamada de verificación de origen.
Registre en bitácora todos los accesos por contraseña y las direcciones de red y
genere informes de uso con el nombre del usuario, la dirección de red y la fecha
(rastro de la auditoría del acceso).
Implemente un firewall.
2.8 EJERCICIOS
17
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
CAPITULO III
FTP
Acceso Interactivo. A pesar de que FTP está diseñado para ser usado por
programas, la mayoría de las implementaciones proporcionan al usuario un
interfaz con servidores remotos para importar o exportar archivos.
Existen localizaciones públicas que admiten que cualquier usuario inicie sesiones
FTP denominadas anónimas, en las cuales se proporciona como nombre de usuario
la palabra anonymous y como contraseña la dirección electrónica de usuario o la
palabra guest, para iniciar la sesión.
4
Comer Douglas redes globales de información con internet y TCP/IP, pág 426
18
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
CLIENTE SERVIDOR
21 20
TCP TCP
IP IP
RED TCP/IP
Para enviar datos a través de la conexión de control FTP utiliza el protocolo NVT de
TELNET . A diferencia de TELNET, el FTP no permite la negociación de opciones,
emplea sólo la definición básica de NVT. De esta manera, la administración de una
conexión de control FTP es mucho más sencilla que la administración de una
conexión estándar de TELNET. Sin importar las limitaciones, usar la definición de
TELNET, en lugar de inventar una, ayuda a simplificar considerablemente al FTP.
Los usuarios ven a FTP como un sistema interactivo. Una vez que se ha invocado,
el cliente ejecuta una serie de submandatos de forma repetitiva: leer una línea de
entrada, analizar la línea para extraer un comando y sus argumentos, así como
ejecutar el comando con los argumentos especificados.
19
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
c:\> ftp
ftp> help
Para tener información sobre un comando , el usuario debe teclear (help comando)
por ejemplo:
ftp> help ls
ls mostrar el contenido del directorio remoto
ftp> bell
Modo Bell activo
20
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
COMANDOS DE SERVICIO
RETR (Recuperar)
Hace que el server-FTP transfiera una copia del fichero especificado en el
nombre de ruta
STOR (Almacenar)
Hace que el servidor lea los datos transferidos por la conexión de datos y los guarde
en un fichero en el servidor. Si el fichero especificado en el nombre de ruta existe en
el servidor, su contenido se debe reemplazar con los datos recibidos. Se crea un
fichero nuevo en el servidor si el indicado no existía ya.
STOU (Almacenamiento único)
Igual que STOR sólo que el fichero resultante se crea en el directorio actual con un
nombre único para ese directorio
APPE (Añadir)
Si el fichero especificado en el nombre de ruta existe, los datos se añaden a ese
fichero; si no, se crea un fichero nuevo en el servidor
ALLO (Solicitar espacio)
Reserva suficiente espacio de almacenamiento en el servidor para recibir el nuevo
fichero. A continuación de esta orden se deberá indicar una orden STOR o APPE
REST (Recomenzar)
El argumento representa un marcador del servidor a partir del cual debe recomenzar
la transferencia. La orden no realiza la transferencia del fichero, pero hace que el
puntero de lectura o escritura del fichero se sitúe a continuación del punto indicado.
A continuación de esta orden se debe enviar la orden de servicio FTP apropiada que
hará que continúe la transferencia del fichero
RNFR (Renombrar de)
Indica el fichero que queremos cambiar de nombre en el servidor
RNTO (Renombrar a)
Especifica el nuevo nombre para el fichero indicado mediante el comando RNFR.
Las dos órdenes seguidas hacen que el fichero cambie de nombre
ABOR (abortar)
Pide al servidor que interrumpa la orden de servicio FTP previa y cualquier
transferencia de datos asociada. Hay dos posibles casos para el servidor al recibir
esta orden: (1) la orden de servicio FTP está ya terminada, o (2) aún está en
ejecución. En el primer caso, el servidor cierra la conexión de datos (si está abierta)
y devuelve una respuesta 226 indicando que la orden de interrumpir se ha
procesado correctamente. En el segundo caso, el servidor interrumpe el servicio
FTP en proceso y cierra la conexión de datos, devolviendo una respuesta 426 para
indicar que la solicitud de servicio terminó anormalmente. Luego, el servidor envía
una respuesta 226 para indicar que la orden de interrumpir se ha procesado
correctamente.
DELE (Borrar)
Borra en el servidor el fichero indicado en el nombre de ruta
RMD (Borrar directorio)
Borra en el servidor el directorio indicado
MKD
Borra el directorio del servidor especificado
PWD
Muestra el directorio de trabajo del servidor
21
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
LIST
Envía una listado de los ficheros a través del proceso de transferencia de datos
pasivo. Si el nombre de ruta u otra agrupación de ficheros, el servidor debe transferir
una lista de los ficheros en el directorio indicado. Si el nombre de ruta especifica un
fichero, el servidor debería enviar información sobre el fichero. Si no se indica
argumento alguno, implica que se quiere listar el directorio de trabajo actual o
directorio por defecto
NLST (Listar nombres)
Envía listado de directorio desde el servidor. El nombre de ruta indica un directorio
u otra agrupación de ficheros específica del sistema; si no hay argumento, se
asume el directorio actual
SITE (Parámetros del sistema)
Proporciona servicios específicos propios del sistema del servidor que son
fundamentales para transferir ficheros pero no lo suficientemente universales como
para ser incluidos como órdenes en el protocolo
SYST
Devuelve el tipo de sistema operativo del servidor
STAT
El servidor devolverá información general del estado del proceso servidor FTP
HELP
El servidor envía información sobre la implementación del FTP
NOOP (No operación)
No hace nada más que provocar que el servidor envíe una respuesta OK
22
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
controlar y asegurar. Así que, por razones de seguridad, las compañías conectadas
a Internet a menudo bloquean el acceso a FTP y Telnet . Los firewalls y los
servidores proxy pueden proteger su sitio al controlar el acceso a sitios FTP
autenticados.
La seguridad es uno de los oponentes más importantes de los servicios de FTP.
Muchas compañías bloquean FTP, porque temen a los ataques de los hackers, o
incluso a un intruso que intervenga las líneas de comunicación del sitio.
Estos dos problemas pueden superarse al utilizar una versión de la Secure Socket
Layer (SSL, Capa de Socket Seguro) del servidor FTP y el programa cliente. Cuando
se utiliza SSL, todo el tráfico de red se encripta y el cliente y el servidor pueden
utilizar autenticación sólida. Sin embargo, éste es un inconveniente; el protocolo SSL
requiere un tercero independiente, por ejemplo una Certification Authority (CA,
Autoridad de Certificación). Esta CA debe ser confiable para ambas partes y se
utiliza en el establecimiento de la identidad verdadera del cliente y del servidor. En el
caso de un navegador web, esta CA es una de las autoridades de "verdad", como
VeriSign (para mayor información acerca de VeriSign, revise su sitio en (http: / /www.
verisign.com). Sin embargo, para una conexión FTP dedicada entre un cliente y un
servidor, esta CA puede ser cualquier organización que goce de la confianza entre
las partes.
Para solucionar este problema, hay varios productos proxy disponibles para
incorporar un servidor FTP anónimo asegurado, el cual proporciona acceso de sólo
lectura a una jerarquía de archivos limitada y protegida. Estos productos ofrecen un
mecanismo de interfaz que habilita un directorio de entrada para escritura con el fin
de permitir el envío de archivos a un firewall. Después se tiene acceso a las áreas
de datos sólo desde la red interna.
Intente desarrollar una lista de control de configuración con base en el entorno, que
tiene; no esté copiando recomendaciones de libros o de la web. En lugar de ello,
úselas como una plantilla para personalizarlas según las necesidades y
características del sistema de su compañía. A continuación se dan algunas
23
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
No debe existir diferencia entre la interacción con un servidor local así como con
otros clientes Windows 2000 y la mayoría de los clientes Linux. Esto también puede
utilizarse para determinar si los directorios, permisos, etc., en el servicio de servidor
FTP están configurados apropiadamente.
FTP anónimo puede ser un servicio valioso en su sitio, pero usted debe configurarlo
correctamente y tomarse el tiempo para administrarlo. De lo contrario, estará
abriendo puertas, invitando a entrar a intrusos, hackers y crackers. Como se alerta
anteriormente, no todas las recomendaciones que se está listando aquí se aplicarán
necesariamente a usted puesto que su entorno o plataforma de sistema podrían
diferir. Así que, por favor, recuerde lo siguiente:
a) Asegúrese de tener la última versión del daemon/servidor FTP.
b) Cuando instale directorio FTP, asegúrese de que el directorio raíz de FTP
anónimo, ~ftp, y sus subdirectorios no pertenecen a la cuenta FTP o incluso al
mismo grupo. De lo contrario, como se remarcó previamente, éstos pueden ser
24
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
c) Su directorio raíz FTP y sus subdirectorios deben pertenecer a una raíz y sólo
la raíz debe tener permisos para escribir en ella. De esta forma usted
mantendrá su servicio FTP seguro. El siguiente ejemplo muestra una es-
tructura de directorio de FTP anónimo:
drwxr-xr-x 7 root system 512 Mar 1 15:17 ./
drwxr-xr-x 25 root system 512 Jan 4 11:30 ../
drwxr-xr-x 2 root system 512 Dec 20 15:43 bin/
drwxr-xr-x 2 root system 512 Mar 12 16:23 etc/
drwxr-xr-x 10 root system 512 Jun 5 10:54 pub/
Observe que los archivos y las bibliotecas, incluyendo aquellos utilizados por
el daemon FTP y aquellos en ~ftp/bin y ~ftp/etc, deben tener las mismas
protecciones que estos directorios: no pertenecer a FTP o estar en el mismo
grupo y protegidos contra escritura.
25
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
3.5 EJERCICIOS
26
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
CAPITULO IV
DNS
La forma en que se utiliza el DNS es la siguiente; para relacionar un nombre con una
dirección IP, un programa de aplicación llama a un procedimiento de biblioteca
llamado resolvedor (figura 4.1), y le pasa el nombre como parámetro. El resolvedor
envía un paquete UDP a un servidor DNS local, que después busca el nombre y
devuelve la dirección IP al resolvedor, que entonces lo devuelve al solicitante. Una
vez que tiene la dirección IP, el programa puede establecer una conexión TCP con
el destino, o enviarle paquetes UDP.
Generalmente los resolvedores que son conocidos como clientes puros trabajan en
forma recursiva y los servidores DNS los hacen en forma iterativa.
27
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Para evitar los problemas asociados a tener una sola fuente de información, el
espacio de nombres DNS se divide en zonas no traslapantes. Por lo general, una
zona tendrá un servidor de nombres primario, que obtiene su información de un
archivo en su disco, y uno o más servidores de nombres secundarios, que obtienen
su información del primario. Para mejorar la confiabilidad, algunos servidores de
cierta zona pueden situarse fuera de la zona.
El lugar donde se colocan los límites de las zonas dentro de una zona es
responsabilidad del administrador de esa zona. Esta decisión se toma en gran
medida con base en la cantidad de servidores de nombres deseados y su ubicación.
“.“
Referencia
a au
Servidor DNS au
Ref. a gov.au
gov.au
Ref. a space.gov.au
space.gov.au
Respuesta
Pregunta mars.space.gov.au 128.66.45.12
Respuesta
Resolvedor
Figura 4.1 Utilización del DNS para relacionar un nombre con una dirección IP
28
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Genérico De País
Cada uno de los dominios se nombra por la ruta hacia arriba desde él a la raíz (sin
nombre). Los componentes se separan con puntos. Por lo tanto, el departamento de
ingeniería de Sun Microsystems podría utilizar eng.sun.com., en lugar de un nombre
tipo UNIX como /com/sun/eng. Observe que esta asignación jerárquica significa que
eng.sun.com. no entra en conflicto con un uso potencial de eng por ejemplo,
eng.mit.edu., que podría usarse en el departamento de inglés de M.I.T.
29
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Cada dominio controla cómo se asignan los dominios que están debajo de él. Por
ejemplo, Japón tiene los dominios ac.jp y co.jp que son espejos de edu y com. Los
Países Bajos no hacen esta distinción y ponen a todas las organizaciones
directamente bajo ni. Por lo tanto, los siguientes tres son departamentos
universitarios de informática;
Los nombres reflejan los límites organizacionales, no las redes físicas. Por ejemplo,
si los departamentos de informática e ingeniería eléctrica se ubican en el mismo
edificio y comparten la misma LAN, de todas maneras pueden tener dominios
diferentes.
Cada dominio, sea un host individual o un dominio de nivel superior, puede tener un
grupo de registros de recursos asociados a él. En un host individual, el registro de
recursos más común es simplemente su dirección IP, pero también existen muchos
otros tipos de registros de recursos. Cuando un resolvedor da un nombre de dominio
al DNS, lo que recibe son los registros de recursos asociados a ese nombre. Por lo
tanto, la función real del DNS es relacionar los dominios de nombres con los
registros de recursos.
30
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Un registro de recursos tiene cinco tuplas. Aunque éstas se codifican en binario por
cuestión de eficiencia, en la mayoría de las presentaciones, los registros de recursos
se dan como texto ASCII, una línea por registro de recursos. El formato que
usaremos es el siguiente:
Nombre_dominio Tiempo_de_vida Clase Tipo Valor
El campo Tipo indica el tipo de registro de que se trata. En la figura 4.3 se listan los
tipos más importantes.
31
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
DNS se puede configurar para iterar a través de éstos, regresando el primer registro
en la primera solicitud, el segundo registro en la segunda solicitud, y así
sucesivamente.
El siguiente tipo de registro más importante es MX, que especifica el nombre del
dominio que está preparado para aceptar correo electrónico del dominio
especificado. Se utiliza porque no todas las máquinas están preparadas para
aceptar correo electrónico. Si alguien desea enviar correo electrónico a, por ejemplo,
bill@microsoft.com, el host emisor necesita encontrar un servidor de correo en
microsoft.com que esté dispuesto a aceptar correo electrónico. El registro MX puede
proporcionar esta información.
Los registros CNAME permiten la creación de alias. Por ejemplo, una persona
familiarizada con los nombres de Internet en general que quiere enviar un mensaje a
alguien cuyo nombre de inicio de sesión es paúl y que está en el departamento de
informática del M.I.T., podría suponer que paul@cs.mit.edu funcionará. De hecho,
esta dirección no funcionará, puesto que el dominio del departamento de informática
del M.I.T. es lcs.mit.edu. Sin embargo, como servicio para la gente que no sabe
esto, el M.I.T. podría crear una entrada CNAME para encaminar a la gente y a los
programas en la dirección correcta. La entrada podría ser como la siguiente:
Al igual que CNAME, PTR apunta a otro nombre. Sin embargo, a diferencia de
CNAME, que en realidad es sólo una definición de macro, PTR es un tipo de datos
DNS normal, cuya interpretación depende del contexto en el que se encontró. En la
práctica, PTR casi siempre se usa para asociar un nombre a una dirección IP a fin
de permitir búsquedas de la dirección IP y devolver el nombre de la máquina
correspondiente. Éstas se llaman búsquedas invertidas.
Los registros HINFO permiten que la gente conozca el tipo de máquina y sistema
operativo al que corresponde, un dominio. Por último, los registros TXT permiten a
los dominios identificarse de modos arbitrarios. Ambos tipos de registro son para el
provecho de los usuarios. Ninguno es obligatorio, por lo que los programas no
pueden contar con que los recibirán (y probablemente no puedan manejarlos si los
obtienen).
Por último, llegamos al campo Valor. Este campo puede ser un número, un nombre
de dominio o una cadena ASCII. La semántica depende del tipo de registro. En la
tabla 4.1 se presenta una descripción corta de los campos de Valor para cada uno
de los tipos principales de registro.
Como ejemplo del tipo de información que podría encontrarse en la base de datos
DNS de un dominio, vea la figura 4.4. En ésta se ilustra una parte de una base de
32
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
flits.
cs.vu.nl. 86400 IN HINFO Sun Unix
flits.
cs.vu.nl. 86400 IN A 130.37.16.112
flits.
cs.vu.nl. 86400 IN A 192.31.231.165
flits.
cs.vu.nl. 86400 IN MX 1 flits.cs.vu.nl.
flits.
cs.vu.nl. 86400 IN MX 2 zephyr.cs.vu.nl.
flits.
cs.vu.nl. 86400 IN MX 3 top.cs.vu.nl.
www. cs.vu.nl. 86400 IN CNAME Star.cs.vu.ni
ftp .cs.vu.nl. 86400 IN CNAME Zephyr.cs.vu.nl
Rowboat IN A 130.37.56.201
IN MX 1 rowboat
IN MX 2 zephyr
IN HINFO Sun Unix
little -sister IN A 130.37,62.23
IN HINFO Mac MacOS
Laserjet IN A 192.31.231.216
Después de la línea en blanco, que se agregó para hacer más clara la lectura,
siguen líneas que indican que la flits es una estación de trabajo Sun que ejecuta
UNIX, y dan sus dos direcciones IP. Después se indican tres posibilidades para
manejar el correo electrónico enviado a flits.cs.vu.nl. La primera opción naturalmente
es la flits misma, pero si está inactiva, Ia zephyr y la top son la segunda y tercera
opciones, respectivamente. Luego viene un alias, www.cs.vu.nl, para que esta
dirección pueda usarse sin designar una máquina específica. La creación de este
alias permite a cs.vu.nl cambiar su servidor Web sin invalidar la dirección que la
gente usa para llegar a él. Un argumento similar es válido para ftp.cs.vu.nl.
Las siguientes cuatro líneas contienen una entrada típica de una estación de trabajo,
en este caso, rowboat.cs.vu.nl. La información proporcionada contiene la dirección
IP, los destinos de correo primarios y secundarios, así como información sobre la
33
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
máquina. Luego viene una entrada para un sistema no UNIX incapaz de recibir
correo por sí mismo, seguida de una entrada para una impresora láser que está
conectada a Internet.
Lo que no se muestra (y no está en este archivo) son las direcciones IP a usar para
buscar los dominios de nivel superior. Éstas son necesarias para buscar hosts
distantes pero, dado que no son parte del dominio cs.vu.nl, no están en este archivo.
Tales direcciones son suministradas por los servidores raíz, cuyas direcciones IP
están presentes en un archivo de configuración del sistema y se cargan en el caché
del DNS cuando se arranca el servidor DNS. Hay aproximadamente una docena de
servidores raíz esparcidos en todo el mundo, y cada uno conoce las direcciones IP
de todos los servidores de dominio de nivel superior. Por lo tanto, si una máquina
conoce la dirección IP de por lo menos un servidor raíz, puede buscar cualquier
nombre DNS.
De lo que se ha visto DNS convierte los nombres de dominio en direcciones IP. Sin
embargo en ciertos casos, es necesario realizar la conversión contraria; dada una
dirección IP puede ser necesario determinar el nombre de dominio asociado. Internet
cuenta con un dominio especial que permite realizar conversiones inversas, este
dominio es in-addr.arpa. La forma de proceder para solucionar el problema es la
siguiente como se explica mediante un ejemplo.
“ “.
arpa
in-addr
0
255
198
0 255
70
0
255
148
0
10 255
mcp.com
34
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
0 16 31
Identificación Parámetro
Número de solicitudes Número de respuestas
Número de autoridad Número de adicional
Sección de solicitudes
Sección de respuestas
Sección de autoridad
Cada mensaje comienza con un encabezado fijo que contiene los siguientes
campos:
BIT Significado
0 Operación del primer bit:
0 Solicitud
1 Respuesta
Tipo de solicitud :
1 Estándar (nombre de dominio a dirección IP) (bit a 0)
2 Inversa (dirección IP a nombre de dominio) (bit a 0)
3 Obsoleto (bit en 0)
4 Obsoleto (bit en 0)
5 Activado si se tiene una respuesta autorizada
6 Activado si el mensaje está truncado
7 Activado si se desea recursión
8 Activado si la recursión está disponible
9 - 11 Reservado
Tipo de respuesta (cuando el bit esta a 1)
12 Sin error
35
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Aun cuando el campo solicitud de nombre de dominio tiene una longitud variable,
pero debido a la representación interna de los nombres de dominio hace posible,
para el receptor, conocer la longitud exacta.
El campo tipo de solicitud codifica el tipo de solicitud (por ejemplo, si la solicitud se
refiere a un nombre de máquina o a una dirección de correo).
El campo clase de solicitud permite que los nombres de dominio se utilicen para
objetos arbitrarios debido a que los nombres oficiales de Internet son sólo de una
clase.
Debe notarse que, aun cuando el diagrama en la figura 4.5 sigue la convención de
mostrar los formatos en múltiplos de 32 bits, el campo query domain name puede
contener un número arbitrario de objetos. No se utilizan rellenos. Además, los
mensajes hacia o desde un servidor de nombres de dominio pueden contener un
número impar de octetos.
36
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
El campo time to live (tiempo límite de duración) contiene un entero que especifica
el número de segundos que la información en este registro de recursos se
mantendrá en memoria inmediata. Ésta es utilizada por clientes que han solicitado la
asignación de un nombre y desean capturar el resultado.
Supongamos que Giovanna desea visitar el sitio Web de Xavier, digita el URL de
Xavier en su navegador y segundos más tarde, aparece una página Web. Pero, ¿es
la de Xavier?. Tal vez Silvana podría estar haciendo sus viejos trucos nuevamente.
Por ejemplo, tal vez esté interceptando y examinando todos los paquetes salientes
de Giovanna. Cuando captura una solicitud GET de HTTP dirigida al sitio Web de
Xavier, puede ir ella misma a dicho sitio para obtener la página, modificarla como lo
desea y regresar la página falsa a Giovanna, la cual no sería extraña para Giovanna.
Peor aún, Silvana podría recortar los precios de la tienda electrónica de Xavier para
hacer que los precios de los productos parezcan muy atractivos, con lo que
engañaría a Giovanna para que enviara su número de tarjeta de crédito a "Xavier"
para comprar algo de mercancía.
Una desventaja de este clásico ataque de hombre en medio es que Silvana tiene
que estar en una posición para interceptar el tráfico saliente de Giovanna y falsificar
su tráfico entrante. En la práctica, tiene que intervenir la línea telefónica de Giovanna
o la de Xavier, puesto que intervenir la red dorsal de fibra es mucho más difícil.
Aunque intervenir la línea es ciertamente posible, también significa mucho trabajo, y
37
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
aunque Silvana es inteligente, también es floja. Además, hay formas más fáciles de
engañar a Giovanna.
Sevidor
Sevidor DNS
DNS violado
Servidor Servidor
1 Web de 1 Web de
2 Xavier 2 Silvana
Giovanna Giovanna
3 3
4 4
(a) (b)
Figura 4.9 (a) Situación normal (b) Ataque basado en la violación del DNS
¿Cómo engaña Silvana al DNS? Parece bastante fácil. Brevemente Silvana puede
engañar al servidor DNS en el ISP de Giovanna para que envíe una consulta a fin de
encontrar la dirección de Xavier. Desgraciadamente, puesto que el DNS utiliza ÜDP,
el servidor DNS no puede verificar quién proporcionó la respuesta. Silvana puede
explotar esta propiedad falsificando la respuesta esperada e introduciendo una
dirección IP falsa en el caché del servidor DNS. Por simplicidad, supondremos que
el ISP de Giovanna inicialmente no tiene una entrada para el sitio Web de Xavier,
Xavier.com. Si la tiene, Silvana puede esperar hasta que expire y probar otra vez (o
utilizar otros trucos).
38
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Por lo general, las cosas no son tan sencillas. Primero, el ISP de Giovanna verifica si
la respuesta lleva la dirección de origen IP correcta del servidor de nivel superior.
Pero debido a que Silvana puede colocar lo que quiera en ese campo IP, puede
vencer esa prueba con facilidad puesto que las direcciones IP de los servidores de
nivel superior tienen que ser públicas.
Segundo, para permitir que los servidores DNS digan cuál respuesta corresponde a
cual solicitud, todas las solicitudes llevan un número de secuencia. Para falsificar el
ISP de Giovanna, Silvana tiene que conocer su número de secuencia actual. La
forma más fácil para que Silvana conozca el número de secuencia actual es que ella
misma registre un dominio, digamos, Silvana-la-intrusa.com. Supongamos que su
dirección IP también es 42.9.9.9. Silvana también crea un servidor DNS para su
nuevo dominio, dns.Silvana-la-intrusa.com. El servidor DNS utiliza la dirección IP
42.9.9.9 de Silvana, puesto que ésta sólo tiene una computadora. Ahora Silvana
tiene que informarle al ISP de Giovanna sobre su servidor DNS. Esto es fácil. Todo
lo que tiene que hacer es pedir foobar.Silvana-la-intrusa.com al IPS de Giovanna, la
que causará que dicho ISP pregunte al servidor com de nivel superior quién
proporciona el nuevo dominio de Silvana.
Una vez que tiene seguro el dns. Silvana-la-intrusa.com en el caché del ISP de
Giovanna, el ataque real puede comenzar. Silvana ahora solicita www.Silvana-la-
intrusa.com al ISP de Giovanna. Como es natural, el ISP envía al servidor DNS de
Silvana una consulta en la que se lo pide. Dicha consulta lleva el número de
secuencia que Silvana está buscando. Rápidamente, Silvana pide al ISP de
Giovanna que busque a Xavier. Silvana responde de inmediato su propia pregunta
enviando al ISP una respuesta falsificada, supuestamente del servidor com de nivel
superior que dice: "Xavier.com es 42.9.9.9". Esta respuesta falsificada lleva un
número de secuencia, un número más que el que acaba de recibir. Mientras esté
allí, puede enviar una segunda falsificación con un número de secuencia incremen-
tado en dos, y tal vez una docena más con números de secuencia crecientes. Uno
de ellos está obligado a coincidir. El resto simplemente se elimina. Cuando llega la
respuesta falsificada de Giovanna, se almacena en caché; cuando la respuesta real
viene más tarde, se rechaza puesto que ninguna consulta está pendiente.
39
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
empeorar las cosas, ésta no es la única forma de falsificar un DNS. Hay muchas
otras formas.
Este ataque específico puede frustrarse al hacer que los servidores DNS utilicen IDs
aleatorios en cualquiera de las consultas en lugar de sólo contar, pero parece que
cada vez que se tapa un hoyo, otro se destapa. El problema real es que el DNS se
diseñó en la época en la que Internet era una herramienta de investigación para
algunos cientos de universidades y ni Giovanna, ni Xavier, ni mucho menos Silvana
fueron invitados a la fiesta. En ese entonces la seguridad no era un problema; hacer
que Internet funcionara era el problema. Con los años, el entorno ha cambiado
radicalmente, por lo que en 1994 el IETF estableció un grupo funcional para hacer
que DNS fuera seguro. Este proyecto se conoce como DNSsec (seguridad DNS);
su salida se presenta en el RFC 2535. Desgraciadamente, DNSsec aún no se ha
distribuido por completo, por lo que numerosos servidores DNS aún son vulnerables
a ataques de falsificación.
40
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
SIG es el segundo nuevo tipo de registro. Contiene el hash firmado de acuerdo con
el algoritmo especificado en el registro KEY. La firma se aplica a todos los registros
del RRSet, incluyendo a cualquiera de los registros KEY presentes, pero
excluyéndose a sí mismo. También contiene la fecha en la que la firma comienza su
periodo de validación y cuando ésta expira, así como el nombre de quien firma y
algunos otros elementos.
41
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Sin embargo, en la práctica, se espera que los clientes serán preconfigurados con
las claves públicas de todos los dominios de nivel superior. Si Giovanna ahora desea
visitar el sitio Web de Xavier, puede pedir al DNS el RRSet de Xavier.com, que
contendrá su dirección IP y un registro KEY que contiene la clave pública de Xavier.
Este RRSet será firmado por el dominio com de nivel superior, por lo que Giovanna
puede verificar fácilmente su validez. Un ejemplo de lo que podría contener este
RRSet se muestra en la figura 4.11.
Figura 4.11 Un Rrset para Xavier.com. El registro KEY es la clave pública de Xavier.
EL registro SIG es el hash firmado del servidor com de nivel superior
de los registros A y KEY para verificar la autenticidad.
Una vez que Giovanna tiene una copia verificada de la clave pública de Xavier,
puede pedir al servidor DNS de Xavier la dirección IP de www.Xavier.com. La clave
privada de Xavier firmará este RRSet, a fin de que Giovanna pueda verificar la firma
del RRSet que Xavier regresa. Si Silvana hace algo para inyectar un RRSet falso en
cualquiera de los caches, Giovanna puede detectar fácilmente su falta de au-
tenticidad porque el registro SIG contenido será incorrecto.
42
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
agrega a la respuesta un hash del mensaje de consulta firmado con la clave privada
del receptor. Puesto que Silvana no conoce la clave privada del servidor com de
nivel superior, no puede falsificar una respuesta a una consulta que el ISP de
Giovanna haya enviado a dicho servidor. Ciertamente Silvana puede conseguir que
su respuesta regrese primero, pero será rechazada debido a la firma inválida sobre
la consulta con hash.
DNSsec también soporta algunos otros tipos de registros. Por ejemplo, el registro
CERT puede utilizarse para almacenar certificados (por ejemplo, X.509). Este
registro ha sido proporcionado porque algunas personas desean cambiar un DNS en
una PKI. Si esto realmente sucede, está por verse.
4.7 EJERCICIOS
43
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
44
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
CAPITULO V
CORREO ELECTRONICO
El correo electrónico, o e-mail, ha existido por más de dos décadas. Antes de 1990,
se utilizaba principalmente en ambientes académicos. En la década de 1990, se dio
a conocer al público y creció en forma exponencial al punto que el número de
mensajes de correo electrónico enviados por día ahora es mayor que el número de
cartas por correo normal.
6
Tanembaum Andrew. Redes de computadoras. Pág. 589
45
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
CLIENTE
SERVIDOR
Agente de usuario
TCP TCP
IP IP
RED TCP/IP
46
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
La generación del informe tiene que ver con indicar al remitente lo que ocurrió con
el mensaje: ¿se entregó, se rechazó o se perdió?. Existen muchas aplicaciones en
las que la confirmación de la entrega es importante y puede incluso tener una
aplicación legal.
La disposición es el paso final y tiene que ver con lo que el destinatario hace con el
mensaje una vez que lo recibe. Las posibilidades incluyen tirarlo antes de leerlo,
desecharlo después de leerlo, guardarlo, etcétera. También debe ser posible
recuperar y releer mensajes guardados, reenviarlos o procesarlos de otras maneras.
La mayoría de los sistemas permite a los usuarios crear buzones de correo para
almacenar el correo entrante. Se requieren comandos para crear y destruir buzones
de correo, inspeccionar el contenido de los buzones, insertar y borrar mensajes de
los buzones, etcétera.
Los gerentes corporativos con frecuencia necesitan enviar un mensaje a cada uno
de sus subordinados, clientes o proveedores. Esto da pie al concepto de lista de
correo, que es una lista de direcciones de correo electrónico. Cuando se envía un
mensaje a la lista de correo, se entregan copias idénticas a todos los de la lista.
47
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Una idea clave de todos los sistemas modernos de correo electrónico es la distinción
entre el sobre y su contenido. El sobre encapsula el mensaje; contiene toda la
información necesaria para transportar el mensaje, como dirección de destino,
prioridad y nivel de seguridad, la cual es diferente del mensaje mismo. Los agentes
de transporte del mensaje usan el sobre para enrular, al igual que la oficina postal.
El mensaje dentro del sobre, contiene dos partes: el encabezado y el cuerpo del
mensaje. El encabezado contiene información de control para los agentes de
usuario. El cuerpo es por completo para el destinatario humano.
48
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
forma usuario@dirección-dns.
Cada línea de la pantalla contiene varios campos extraídos del sobre o del
encabezado del mensaje correspondiente. En un sistema sencillo de correo
electrónico, la selección de campos a presentar está incorporada en el programa.
En uno más refinado, el usuario puede especificar los campos a presentar
proporcionando un perfil de usuario, un archivo que describe el formato de
presentación. En el ejemplo, el primer campo es el número de mensaje. El segundo
49
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Una vez que se han visualizado los encabezados, el usuario puede realizar
cualquiera de diversas acciones, como desplegar o eliminar el mensaje. Los
sistemas más antiguos se basaban en texto y típicamente utilizaban comandos de
un carácter para realizar estas tareas, como T (teclear mensaje), A (responder a
mensaje), D (borrar mensaje) y F (reenviar mensaje). Un argumento especificaba el
mensaje en cuestión. Los sistemas más recientes utilizan interfaces gráficas. Por lo
general, el usuario selecciona un mensaje con el ratón y después hace clic en un
icono para escribir, responder a él, eliminarlo o reenviarlo.
El correo electrónico ha recorrido un largo camino desde los días cuando era
simplemente transferencia de archivos. Los agentes de usuario refinados hacen
posible manejar un gran volumen de correo electrónico. Para las personas que
reciben y envían miles de mensajes de correo electrónico al año, tales herramientas
son invaluables.
50
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Encabezado Significado
To: Direcciones de correo electrónico de los destinatarios primarios
Cc: Direcciones de correo electrónico de los destinatarios secundarios
Bcc: Direcciones de correo electrónico para las copias ocultas
From: Persona o personas que crearon el mensaje
Sender: Dirección de correo electrónico del remitente
Received: Línea agregada por cada agente de transferencia en la ruta
Return-Path: Puede usarse para identificar una ruta de regreso al remitente
El campo To: indica la dirección DNS del destinatario primario. Está permitido tenga
varios destinatarios. El campo Cc: indica la dirección de los destinatarios
secundarios; En términos de entrega, no hay diferencia entre los destinatarios
primarios y los secundarios. Es una diferencia por entero psicológica que puede ser
importante para los participantes, pero que no lo es para el sistema de correo. El
término Cc: (copia al carbón) es un poco anticuado, puesto que las computadoras no
usan papel carbón, pero está muy establecido. El campo Bcc: (copia oculta) es
como el campo Cc:, excepto que esta línea se borra de todas las copias enviadas a
los destinatarios primarios y secundarios. Esta característica permite a la gente
mandar copias a terceros sin que los destinatarios primarios y secundarios lo sepan.
Se agrega una línea que contiene Received: por cada agente de transferencia de
mensajes en el camino. La línea contiene la identidad del agente, la fecha y hora de
recepción del mensaje, y otra información que puede servir para encontrar fallas en
el sistema de enrutamiento.
51
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Además de los campos de la figura 5.5, los mensajes RFC 822 también pueden
contener una variedad de campos de encabezado usados por los agentes de
usuario o los destinatarios. En la figura 5.6 se listan los más comunes. La mayoría
de ellos autoexplicativos, por lo que no los veremos en detalle.
Encabezado Significado
Date: Fecha y hora de envío del mensaje
RepIy-To: Dirección de corre electrónico a la que deben enviarse las contestaciones
Message-ld: Número único para referencia posterior a este mensaje
In-RepIy-To: Identificador del mensaje al que éste responde
References: Otros identificadores de mensaje pertinentes
Keywords: Claves seleccionadas por el usuario
Subject: Resumen corto del mensaje para desplegar en una línea
El documento RFC 822 indica explícitamente que los usuarios pueden inventar
encabezados nuevos para uso privado, siempre y cuando comiencen con la cadena
X-. Se garantiza que no habrá encabezados futuros que usen nombres que
comiencen con X-, a fin de evitar conflictos entre los encabezados oficiales y los
privados. A veces algunos estudiantes universitarios, pasándose listos incluyen
campos como X-Fruta-del-Día: o X-Enfermedad-de-la-Semana:, que son legales,
aunque no muy ilustrativos.
Tras los encabezados viene el cuerpo del mensaje. Los usuarios pueden poner aquí
lo que deseen. Algunos terminan sus mensajes con firmas complicadas, incluidas
caricaturas sencillas en ASCII, citas de autoridades mayores y menores,
pronunciamientos políticos y renuncias de responsabilidades de todo tipo.
52
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
La idea básica de MIME es continuar usando el formato RFC 822, pero agregar una
estructura al cuerpo del mensaje y definir reglas de codificación para los mensajes
no ASCII. Al no desviarse del 822, los mensajes MIME pueden enviarse usando los
programas y protocolos de correo electrónico existentes. Todo lo que tiene que
cambiarse son los programas emisores y receptores, lo que pueden hacer los
usuarios mismos.
Encabezado Significado
MIME-Version: Identifica la versión de MIME
Content-Description: Cadena de texto que describe el contenido
Content-ld: Identificador único
Content-Transfer-Encoding: Cómo se envuelve el mensaje para su transmisión
Content-Type: Naturaleza del mensaje
Figura 5.7 Encabezados RFC 822 agregados por MIME.
53
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
esquema más sencillo es simplemente texto ASCII. Los caracteres ASCII usan 7 bits
y pueden transportarse directamente mediante el protocolo de correo electrónico
siempre y cuando ninguna línea exceda 1000 caracteres.
Peor aún son los mensajes que usan codificación binaria. Éstos son archivos
binarios arbitrarios que no sólo utilizan los 8 bits, sino que ni siquiera respetan el
límite de 1000 caracteres por línea. Los programas ejecutables caen en esta
categoría. No se da ninguna garantía de que los mensajes en binario llegarán
correctamente, pero mucha gente los envía de todos modos.
En el caso de mensajes que son casi completamente ASCII, pero con algunos
caracteres no ASCII, la codificación base 64 es algo ineficiente. En su lugar se usa
una codificación conocida como codificación entrecomillada imprimible.
Simplemente es ASCII de 7 bits, con todos los caracteres por encima de 127
codificados como un signo de igual seguido del valor del carácter en dos dígitos
hexadecimales.
54
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
55
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Cuando Web se volvió popular, se agregó un nuevo subtipo texto/html (en el RFC
2854) para permitir que las páginas Web se enviaran en el correo electrónico del
RFC 822. En el RFC 3023 se define un subtipo para el lenguaje de marcado
extensible, texto/xml.
El siguiente tipo MIME es imagen, que se usa para transmitir imágenes fijas. Hoy
día se usan muchos formatos para almacenar y transmitir imágenes, tanto con
compresión como sin ella. Dos de éstos, GIF y JPEG, están integrados en la
mayoría de los navegadores, pero también existen muchos otros, los cuales se han
agregado a la lista original.
El tipo aplicación es un tipo general para los formatos que requieren procesamiento
externo no cubierto por ninguno de los otros tipos. Un octet-stream simplemente es
una secuencia de bytes no interpretados. Al recibir una de tales cadenas, un agente
de usuario probablemente debería presentarla en pantalla sugiriendo al usuario que
lo copie en un archivo y solicitándole un nombre de archivo. El procesamiento
posterior es responsabilidad del usuario.
El tipo mensaje permite que un mensaje esté encapsulado por completo dentro de
otro. Este esquema es útil para reenviar, por ejemplo, correo electrónico. Cuando se
encapsula un mensaje RFC 822 completo en un mensaje exterior, debe usarse el
subtipo rfc822.
56
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Por último, el subtipo externo puede usarse para mensajes muy grandes (por
ejemplo, películas en vídeo). En lugar de incluir el archivo MPEG en el mensaje, se
da una dirección FTP y el agente de usuario del receptor puede obtenerlo a través
de la red al momento que se requiera. Esta característica es especialmente útil
cuando se envía una película a una lista de correo, y sólo se espera que unos
cuantos la vean.
El último tipo es multíparte, que permite que un mensaje, contenga más de una
parte, con el comienzo y el fin de cada parte claramente delimitados. El subtipo
mezclado permite que cada parte sea diferente, sin ninguna estructura adicional
impuesta. Muchos programas de correo electrónico permiten que el usuario agregue
uno o más archivos adjuntos a un mensaje de texto. Estos archivos adjuntos se
envían mediante el tipo multíparte.
A diferencia del tipo multiparte, el subtipo alternativa permite que el mismo mensaje
se incluya varias veces, pero expresado en dos o más medios diferentes. Por
ejemplo, un mensaje puede enviarse como ASCII común, como texto enriquecido
(enriched) y como PostScript. Un agente de usuario adecuadamente diseñado que
reciba uno de tales mensajes lo presentará en PostScript de ser posible. La segunda
posibilidad sería como texto enriquecido. Si ninguna de las dos fuera posible, se
presentaría el texto ASCII normal. Las partes deben ordenarse de la más sencilla a
la más compleja para ayudar a que los receptores con agentes de usuario pre-MIME
puedan encontrarle algún sentido al mensaje (por ejemplo, incluso un usuario pre-
MIME puede leer texto ASCII común). El subtipo alternativa también puede servir
para varios lenguajes.
From; giovanna@abcd.com
To: elena@xyz.com
MIME-Version: 1.0
Message-Id: <0704760941 .M00747@abcd.com>
Content-Type: multipart/alternative; boundary=qwertyuiopasdfghjklzxcvbnm
Subject: La Tierra da vuelta al Sol un número entero de veces
Éste es el preámbulo. El agente de usuario lo ignora. Tenga un bonito día.
--qwertyuiopasdfghj klzxcvbnm
Content-Type: text/enriched
Feliz cumpleaños a ti
Feliz cumpleaños a ti
Feliz cumpleaños, querida <bold> Elena </bold>
Feliz cumpleaños a ti
--qwertyuiopasdfghjklzxcvbnm
Content-Type: message/external-body;
access-type="anon-ftp";
site="bicycle.abcd.com";
57
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
directory="pub" ;
name="birthday.snd"
content-type: audio/basic
content-transfer-encoding: base64
--qwertyuiopasdfghjklzxcvbnm--
Figura 5.9 Mensaje multiparte que contiene alternativas de texto enriquecido y audio.
Regresando a los subtipos para mensajes multiparte, existen dos posibilidades más.
El subtipo paralelo se usa cuando todas las partes deben "verse" de manera
simultánea. Por ejemplo, las películas con frecuencia tienen un canal de audio y uno
de vídeo. Las películas son más efectivas si estos dos canales se producen en
paralelo, en lugar de consecutivamente.
58
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
La figura 5.10 muestra las órdenes SMTP. Cada orden consta de una única línea
de texto, comenzando con un código de orden de 4 letras seguido en algunos casos
por un campo de argumentos. La mayoría de las respuestas son una única línea,
59
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Las respuestas SMTP se muestran en la figura 5.11. Cada respuesta comienza con
un código de tres dígitos y puede ir seguido por información adicional. El primer bit
indica la categoría de la respuesta:
Código Descripción
Respuesta de finalización positiva
211 Estado del sistema o respuesta de ayuda del sistema.
214 Mensaje de ayuda (información de cómo utilizar el receptor o el significado de una
orden particular no estándar; esta respuesta es sólo útil al usuario humano)
220 <dominio> Servicio preparado
221 <dominio> Servicio cerrando el canal de transmisión
250 Acción de correo solicitada correcta, completada
251 Usuario no local; reenviar a <camino-destino>
Respuesta intermedia positiva
354 Comenzar la entrada de correo; acabar con <CRLF>.<CRLF>
Respuesta de finalización negativa transitoria
421 <dominio> Servicio no disponible; perdido canal de transmisión. (Ésta podría ser
la respuesta a cualquier orden si el servicio conoce que debe desconectarse)
450 Acción de correo solicitada no ejecutada; buzón de correo no disponible (p. ej.
Buzón ocupado)
451 Cancelada acción solicitada; error local en el procesamiento
452 Acción solicitada no ejecutada; almacenamiento del sistema insuficiente
60
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
debería enviar otra orden especificando está información. Esta respuesta se utiliza
en grupos de secuencias de órdenes.
• Respuesta de finalización negativa transitoria: la orden no se aceptó y la acción
solicitada no se realizó. Sin embargo, la condición de error es temporal y se puede
solicitar la acción de nuevo.
• Respuesta de finalización negativa permanente: la orden no se aceptó y la
acción solicitada no se realizó.
Establecimiento de la conexión
Un emisor SMTP intentará establecer una conexión TCP con un computador destino
cuando tiene uno o más mensajes de correo para entregar a ese computador. La
secuencia es bastante sencilla:
1. El emisor abre una conexión TCP con el receptor.
2. Una vez que se ha establecido la conexión, el receptor se identifica a sí mismo
con «220 Service Ready».
3. El emisor se identifica a sí mismo con la orden HELO.
4. El. receptor acepta la identificación del emisor con «250 OK».
Transferencia de correo
Una vez que se ha establecido la conexión, el emisor SMTP puede enviar uno o más
mensajes al receptor SMTP. Hay tres fases lógicas en la transferencia de un
mensaje:
La orden MAIL da el camino inverso que puede utilizarse para informar de errores:
Si él receptor está preparado para aceptar mensajes, devuelve una respuesta «250
OK». De otra forma devuelve una respuesta indicando un fallo al ejecutar la orden
(códigos 451, 452, 552) o un error en la orden (códigos 421,500, 501). 7
La orden RCPT identifica un destino individual de los datos del correo; se pueden
especificar destinos múltiples mediante el uso múltiple de esta orden. Se devuelve
7
Stallings William. Comunicaciones y redes de computadores.Pág. 665.
61
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
una respuesta separada por cada orden RCPT, con una de las siguientes
posibilidades:
1. El receptor acepta el destino con una respuesta «250»; esto indica que ese
buzón de correo destino está en el sistema receptor.
2. El destino requiere qué se reenvíe y el receptor lo reenviará (251).
3. El destino requiere que se reenvíe pero el receptor no lo reenviará; el emisor
debe reenviar a la dirección de reenvío (551).
4. No existe ese buzón de correo para ese destino en este computador (550).
5. El destino se rechaza debido a algún fallo de ejecución (códigos 450, 451,
452, 552) o a un error en la orden (códigos 421, 500, 501, 503).
62
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
C: Feliz cumpleaños a ti
C: Feliz cumpleaños, mami <bold> Elena </bold>
C: Feliz cumpleaños a ti
C:
C: --qwertyuiopasdfghjklzxcvbnm
C: Content-Type: message/external-body;
C: access-type="anon-ftp";
C: site="bicycle.abcd.com";
C: directory="pub";
C:
C: name="birthday.snd"
C:
C: content-type: audio/basic
C: content-transfer-encoding: base64
C: --qwertyuiopasdfghjklzxcvbnm
C: .
S: 250 mensaje aceptado
C: QUIT
S: 221 xyz.com cerrado conexión
Figura 5.12 Transferencia de un mensaje
Pueden ser útiles algunos comentarios sobre el ejemplo. El primer comando del
cliente es ciertamente HELO. De las dos abreviaturas de cuatro caracteres de
HELLO, ésta tiene numerosas ventajas sobre su competidora. La razón por la que
los comandos tienen que ser de cuatro caracteres se ha perdido en las brumas del
tiempo.
Por último, aunque la sintaxis de los comandos de cuatro caracteres del cliente se
especifica con rigidez, la sintaxis de las respuestas es menos rígida. Sólo cuenta el
código numérico. Cada implementación puede poner la cadena que desee después
del código.
Cierre de la conexión
El emisor SMTP cierra la conexión en dos pasos. Primero, el emisor envía una orden
QUIT y espera una respuesta. El segundo paso es iniciar una operación de cierre
TCP para la conexión TCP. El receptor inicia su cierre TCP después de enviar su
respuesta en la orden QUIT.
63
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Hasta ahora se ha supuesto que todos los usuarios trabajan en máquinas capaces
de enviar y recibir correo electrónico. Como vimos, el correo electrónico se entrega
al hacer que el emisor establezca una conexión TCP con el receptor y después que
envíe el correo electrónico a través de ella. Este modelo funcionó bien por décadas
cuando todos los hosts ARPANET (y más tarde Internet) se pusieron, de hecho, en
línea todo el tiempo para aceptar conexiones TCP.
5.6.1 POP3
RED TCP/IP
64
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
POP3 inicia cuando el usuario arranca el lector de correo. Éste llama al ISP (a
menos que ya haya una conexión) y establece una conexión TCP con el agente de
transferencia de mensajes en el puerto 110. Una vez que se ha establecido la
conexión, el protocolo POP3 pasa por tres estados en secuencia:
1. Autorización.
2. Transacciones.
3. Actualización.
El estado de autorización tiene que ver con el inicio de sesión por parte del usuario,
el cliente envía su nombre de usuario y después su contraseña. El estado de
transacción se relaciona con el hecho de que el usuario colecte los mensajes de
correo electrónico y los marque para eliminación desde el buzón. El estado de
actualización se encarga de que los mensajes de correo electrónico se eliminen
realmente.
Si bien es cierto que el protocolo POP3 soporta la capacidad de descargar un
mensaje específico o un conjunto de mensajes y dejarlos en el servidor, la mayoría
de los programas de correo electrónico simplemente descarga todo y vacía el buzón.
Este comportamiento significa que en la práctica, la única copia está en el disco duro
del usuario. Si se cae, es posible que se pierda de manera permanente todo el
correo electrónico.
Resumamos brevemente la forma en que funciona el correo electrónico para los
clientes ISP. Elena utiliza un programa de correo electrónico (es decir, un agente de
usuario) para crear un mensaje para Giovanna y hace clic en un icono para enviarlo.
El programa de correo electrónico entrega el mensaje al agente de transferencia de
mensajes del host de Elena. Dicho agente ve que el mensaje está dirigido a
giovanna@xyz.com por lo que utiliza DNS para buscar el registro MX de xyz.com
(donde xyz.com es el ISP de Giovanna). Esta consulta regresa el nombre del DNS
del servidor de correo de xyz.com. El agente de transferencia de mensajes ahora
busca la dirección IP de esta máquina utilizando nuevamente DNS, por ejemplo,
gethostbyname. Después establece una conexión TCP con el servidor SMTP en el
puerto 25 de esta máquina. A continuación utiliza una secuencia de comandos
SMTP análoga a la de la figura 5.12 para transferir el mensaje al buzón de Giovanna
y termina la conexión TCP.
A su debido tiempo, Giovanna arranca su PC, se conecta a su ISP e inicia su
programa de correo electrónico. Éste establece una conexión TCP con el servidor
POP3 en el puerto 110 de la máquina servidora de correo del ISP. Por lo general, el
nombre del DNS o la dirección IP de esta máquina se configura cuando se instala el
programa de correo electrónico o "cuando se realiza la suscripción al ISP. Una vez
que se ha establecido la conexión TCP, el programa de correo electrónico de
Giovanna se ejecuta en el protocolo POP3 para obtener el contenido del buzón a su
disco duro. Una vez que se ha transferido todo el correo electrónico, se libera la
conexión TCP. De hecho, la conexión con el ISP también puede terminarse ahora,
puesto que todo el correo electrónico se encuentra en el disco duro de la máquina
de Giovanna. Por supuesto, para enviar una respuesta, será necesaria otra vez la
65
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
conexión con el ISP, por lo que generalmente dicha conexión no se termina después
de obtener el correo electrónico.
5.6.2 IMAP
Para un usuario que tiene una cuenta de correo electrónico con un ISP que siempre
accede desde una PC, POP3 es adecuado y se utiliza ampliamente debido a su
sencillez y robustez. Sin embargo, es un axioma de la industria de la computación el
hecho de que siempre que algo funciona bien, alguien comienza a pedir más
características (y a obtener más errores). Eso también sucedió con el correo
electrónico. Por ejemplo, muchas personas tienen una sola cuenta de correo
electrónico en el trabajo o en la universidad y desean accederla desde el trabajo,
desde la PC de su casa, desde su computadora portátil cuando están en viaje de
negocios y desde algún cibercafé cuando se encuentran de vacaciones. Aunque
POP3 permite esto, debido a que descarga todos los mensajes almacenados en
cada contacto, el resultado es que los mensajes de correo electrónico del usuario
quedan esparcidos rápidamente en múltiples máquinas, más o menos de manera
aleatoria, y algunos de ellos ni siquiera en la máquina del usuario.
IMAP proporciona mecanismos de gran alcance para leer mensajes o incluso partes
de un mensaje, una característica útil cuando se utiliza un módem lento para leer
parte del texto de un mensaje dividido en varios fragmentos y que tiene archivos
adjuntos grandes de audio y vídeo. Debido a que la suposición más razonable es
que los mensajes no se transferirán a la computadora del usuario para un
almacenamiento permanente, IMAP proporciona mecanismos para crear, destruir y
manipular múltiples buzones en el servidor. De esta forma, un usuario puede
mantener un buzón para cada uno de sus contactos y colocar ahí mensajes de la
bandeja de entrada después de que se han leído.
El estilo general del protocolo IMAP es similar al de POP3, excepto que hay docenas
de comandos. El servidor IMAP escucha en el puerto 143. En la figura 5.14 se
muestra una comparación de POP3 e IMAP. Sin embargo, se debe mencionar que
no todos los ISPs ni todos los programas de correo electrónico soportan ambos
protocolos. Por lo tanto, cuando se elige un programa de correo electrónico, es
importante averiguar qué protocolos soporta y asegurarse de que el ISP soporte por
lo menos uno de ellos.
66
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
67
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Tales respuestas también pueden especificar cómo manejar asuntos urgentes, las
personas a quienes se puede acudir en caso de problemas específicos, etcétera. La
mayoría de los demonios de vacaciones lleva un registro de a quién le ha enviado
respuestas grabadas y se abstiene de enviar a la misma persona una segunda
respuesta. Los buenos demonios también verifican si los mensajes entrantes se
enviaron a una lista de correo, y de ser así, no envían una respuesta grabada. (Las
personas que envían mensajes a listas de correo grandes durante el verano
probablemente no desean obtener cientos de respuestas que detallen los planes de
vacaciones de todos los demás.
Uno de los puntos débiles principales de los mensajes de correo electrónico es que
no siempre puede ser rastreado su origen. Otra amenaza de correo electrónico
también incluye a personas que examinan los mensajes de otros en busca de
información valiosa, por ejemplo una tarjeta de crédito, el número del seguro social o
información de autenticación de sistemas. Cuando un mensaje de correo electrónico
viaja a través de Internet, puede quedar expuesto a programas pequeños que
automáticamente examinan el mensaje enviado a una computadora, buscan
información específica, del mismo modo que usted lo hace en su programa de
correo electrónico cuando desea localizar un mensaje en particular almacenado en
una de sus carpetas. Una buena medida preventiva para este tipo de ataque es
mediante el encriptado de mensaje que dificulta la actividad de los hackers. Además,
existen muchas herramientas de encriptado, como Pretty Good Prívacy (PGP) y
firmas digitales.
68
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Pero no hay que confundir las bombas de correo electrónico con el correo no
autorizado (spam). Las bombas de correo electrónico se caracterizan por que
personas abusivas envían repetidamente varias copias del mismo mensaje de
correo a una dirección particular, en cambio, el correo no autorizado es una variante
de las bombas, se refiere al envío del mismo mensaje de correo a cientos de
usuarios (o a listas que contienen muchos usuarios). El correo electrónico puede
empeorar si los destinatarios lo responden provocando que todas las direcciones
originales reciban la respuesta. Este tipo de correo también puede ocurrir de una
manera inocente, cuando alguien envía un mensaje a una lista de correo sin darse
cuenta de que la lista se dispara a miles de usuarios, o como resultado de un
mensaje de respuesta configurado incorrectamente. Si se altera la identidad de la
cuenta que envió el mensaje, entonces las bombas de correo electrónico o el correo
electrónico no autorizado se combinan con la suplantación, lo cual hace casi
imposible rastrear al autor y el origen del mensaje.
69
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
autor del ataque es la persona que muestra el encabezado del mensaje, debido
a que muchas veces el nombre que aparece ahí es un alias, en un intento por
ocultar su verdadera identidad.
Una alternativa a considerar es que si usted tiene uno o dos servidores de correo,
asegúrese de configurar su firewall para permitir sólo conexiones SMTP que vengan
desde Internet hacia su servidor de correo electrónico. Desde ahí, usted deberá
bloquear el puerto SMTP y negar el permiso a las conexiones que llegan
directamente a las computadoras del usuario.
Debe tenerse cuidado con los archivos adjuntos en los mensajes de correo
electrónico. La mayoría de los paquetes de correo, tienen una configuración en la
cual usted puede especificar si desea que los archivos adjuntos vayan como
archivos separados o se encapsulen. El riesgo con estos archivos adjuntos es que
70
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
pueden contener varias amenazas, desde virus y macros maliciosas hasta pequeños
caballos de Troya.
Los virus pueden ser insertados en. los archivos adjuntos de un mensaje de correo
electrónico, como parte del encabezado o incluso como parte del cuerpo del
mensaje. Algunos de los virus actuales y códigos de bombas lógicas de mayor éxito
y más peligrosos están basados en documentos, y como probablemente sabrá, la
mayoría de los archivos adjuntos a los mensajes de correo electrónico también son
documentos. Por consiguiente, se vuelven una de las maneras más fáciles de hacer
llegar un virus a su computadora o compañía.
Con el fin de protegerle contra una amenaza semejante, debe ser muy cuidadoso
cuando abra un archivo adjunto, ya que son los portadores del peligro. Asegúrese
de conocer su origen y de que puede confiar en que el archivo adjunto está limpio y
libre de errores. Si no puede, debe utilizar un detector de virus de correo electrónico,
para examinar los mensajes que recibe.
Debe darse especial atención a los archivos adjuntos comprimidos con zip o
codificados, ya que muchas veces los paquetes antivirus los omiten o no los
soportan. Estos archivos adjuntos podrían contener virus o bombas de macros.
Existen virus que pueden obtener acceso a una computadora a través de los
archivos adjuntos que usted descarga o abre desde su correo, los cuales
aparentemente podrían dañar su computadora. Aun cuando los medios afirman que
los virus pueden dañar el hardware de su computadora, nunca he visto uno que sea
capaz de hacerlo. Sin embargo, existen virus que pueden hacer que su disco duro
se comporte como si tuviera errores.
71
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
correo SMTP las facilidades de seguridad provistas por PEM (RFCs 1421 al 1424),
las cuales son:8
Pretty Good Privacy (PGP) de Phil Zimmermann es otro producto que puede utilizar
para encriptar sus mensajes de SMTP.
8
Goncalves Marcus. Manual de Firewalls. Pág. 307.
72
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
5.8 EJERCICIOS
73
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
arregle este problema sin cambiar el DNS? De ser así, dé una propuesta y
explique cómo funciona. De lo contrario, explique por qué no es posible.
12. Nombre cinco tipos MIME que no se listan en este texto. Puede verificar su
navegador o Internet para obtener información.
13. Suponga que desea enviar un archivo MP3 a un amigo, pero el ISP de éste limita
a 1 MB la cantidad de correo entrante y el archivo MP3 es de 4 MB. ¿Hay alguna
forma para manejar esta situación utilizando el RFC 822 y MIME?
14. Suponga que alguien establece un demonio de vacaciones y que después envía
un mensaje justo antes de terminar su sesión. Desgraciadamente, el receptor ha
estado de vacaciones una semana y también tiene un demonio de vacaciones en
su lugar. ¿Qué sucede a continuación? Las respuestas grabadas se enviarán y
regresarán hasta que alguien regrese?
15. En cualquier estándar, como el RFC 822, se necesita una gramática precisa de lo
que está permitido de manera que diferentes implementaciones puedan
interactuar. Incluso los elementos simples se tienen que definir con cuidado. Los
encabezados SMTP permiten espacios en blanco entre los tokens. Dé dos
definiciones de alternativas razonables de espacios en blanco entre los tokens.
16. ¿El demonio de vacaciones es parte del agente de usuario o del agente de
transferencia de mensajes? Por supuesto, se establece con el agente de usuario,
pero ¿éste envía realmente las respuestas? Explique.
17. POP3 permite que los usuarios obtengan y bajen correo electrónico de un buzón
remoto. ¿Esto significa que el formato interno de los buzones debe
estandarizarse para que cualquier programa POP3 en el cliente pueda leer el
buzón en cualquier servidor de correo? Explique su respuesta.
18. Desde el punto de vista de un ISP, POP3 e IMAP tienen diferencias importantes.
Por lo general, los usuarios de POP3 vacían sus buzones todos los días. Los
usuarios de IMAP mantienen su correo electrónico en el servidor de manera
indefinida. Imagine que se le pide a usted que aconseje a un ISP sobre cuáles
protocolos debe soportar. ¿Qué aspectos tomaría en cuenta?
19. ¿Webmail utiliza POP3, IMAP o ninguno? Si utiliza alguno de éstos, ¿por qué se
eligió? Si no se utiliza ninguno, ¿cuál está más cerca de ser usado?
74
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
CAPITULO VI
WORLD WIDE WEB
6.1 INTRODUCCION
La idea inicial de una red de documentos vinculados fue del físico del CERN Tim
Berners-Lee en marzo de 1989 y Marc Andreessen de la Universidad de Illinois
desarrollo el primer navegador gráfico conocido como Mosaic que fue dado a
conocer en 1993, desde entonces se han creado algunos navegadores como
Netscape Navigator, Microsoft Internet Explorer, etc.
SERVIDOR SERVIDOR
CLIENTE
www.espoch.edu.ec www.conesup.net
Página desplegada
en el navegador hipervínculo
Giovanna Hola
Silvana ESPOCH
Xavier
hipervínculo Maria
Giovanna
Silvana Programa Programa
Xavier
Maria servidor servidor
Programa Disco web Disco
web
navegador
INTERNET
75
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
usuario hace clic en una línea de texto que esta vinculada a una página del servidor
www.espoch.edu.ec, el navegador sigue el hipervínculo enviándole un mensaje al
servidor www.espoch.edu.ec en el mismo que solicita la página. Cuando esta llega se
despliega. Si contiene un hipervínculo a la página del servidor www.conesup.net en el
que se hace clic, el navegador a continuación envía un mensaje a dicha máquina
solicitando esa página, y así deforma indefinida.
6.2 EL CLIENTE
El URL tiene tres partes: el nombre del protocolo (http), el nombre DNS de la
máquina donde se localiza la página (www.espoch.edu.ec) y (por lo general) el
nombre del archivo que contiene la página (sitemas.html).
Cuando un usuario hace clic en un hipervínculo, el navegador lleva a cabo una serie
de pasos para obtener la página a la que se está apuntado.
76
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
No todas las páginas contienen HTML. Una página puede consistir en un documento
con formato PDF, un icono con formato GIF, una fotografía con formato JPEG, una
canción con formato MP3, un vídeo con formato MPEG, o cualquiera de los cientos
de los otros tipos de archivos. Puesto que las páginas HTML estándar pueden
vincular cualquiera de éstos, el navegador tiene un problema cuando encuentra una
página que no puede interpretar.
Cada visualizador debe tener un intérprete HTML para presentar los documentos.
Son opcionales otros intérpretes. La entrada de un intérprete HTML consta de un
documento que se adapta a la sintaxis HTML; la salida consiste en una versión
formateada del documento en la pantalla del usuario. El intérprete se encarga de los
detalles de la presentación y traduce las especificaciones HTML en comandos
adecuados al hardware de presentación del usuario. Por ejemplo, si encuentra una
referencia de cabecera en el documento, el intérprete cambia el tamaño de la fuente
77
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Una de las funciones más importantes de un intérprete HTML se relaciona con los
elementos seleccionables. El intérprete debe almacenar la relación entre las
posiciones de la pantalla y los elementos anclados del documento HTML. Cuando el
usuario selecciona un elemento con el ratón, el visualizador toma la posición de
cursor actual y la información de posición almacenada para determinar el elemento
seleccionado por el usuario.
9
Comer Douglas. Redes de computadoras, internet e interredes. Pág. 373.
78
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
usuario selecciona el elemento, el visualizador emplea su cliente FTP para traer una
copia del archivo.
indica que el visualizador debe usar FTP anónimo para traer el archivo
sistemas/linux.c de la computadora ftp.espoch.edu.ec.
6.3 EL SERVIDOR
Cuando el usuario digita un URL o hace clic en una línea de hipertexto, el navegador
lo analiza e interpreta la parte entre http:// y la siguiente diagonal como un nombre
DNS a buscar. Una vez que él navegador tiene la dirección IP del servidor, establece
una conexión TCP con el puerto 80 de ese servidor. A continuación envía un
comando que contiene el resto del URL, que es el nombre del archivo que se
encuentra en ese servidor. Éste regresa el archivo para que el navegador lo
despliegue. Al servidor Web, lo que se le proporciona es el nombre del archivo a
buscar y regresar. Los pasos que da el servidor en su ciclo principal son:
Los servidores Web modernos hacen más que sólo aceptar y regresar nombres de
archivos. De hecho, el procesamiento real de cada solicitud puede ser muy
complicado. Por esta razón, en muchos servidores cada módulo de procesamiento
realiza una serie de pasos. El front end pasa cada solicitud entrante al primer
módulo disponible, que después la transporta mediante algunos de los siguientes
pasos, dependiendo de los que sean necesarios para esa solicitud en particular.
79
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
El paso 2 consiste en verificar la identidad del cliente. Este paso es necesario para
las páginas que no están disponibles para el público en general.
El paso 8 tiene que ver con una variedad de tareas, como la construcción de un
perfil de usuario o la recolección de ciertas estadísticas. .
Una mejora obvia (utilizada por todos los servidores Web) es mantener un caché en
la memoria de los n archivos más recientemente utilizados. Antes de ir al disco para
obtener un archivo, el servidor verifica el caché. Si el archivo está ahí, se puede
80
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Caché
Modulo de
procesamiento
(subprocesos)
Front end
Solicitud Respuesta
entrante saliente
10
Tanenbaum Andrew. Redes de computadoras. Pág. 619
81
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
discos, a fin de que más de un disco pueda estar ocupado al mismo tiempo. Con k
módulos de procesamiento y k discos, la velocidad real de transporte puede ser k
veces mayor que con el servidor de un solo subproceso y un disco.
Un problema con las granjas de servidores es que no hay caché compartido debido
a que cada nodo de procesamiento tiene su propia memoria —a menos que se
utilice un multiprocesador de memoria compartida costoso. Una forma de medir esta
pérdida de rendimiento es hacer que un front end registre el lugar a donde envía
cada respuesta y que envíe las solicitudes subsecuentes de la misma página al
mismo nodo. Hacer esto ocasiona que cada nodo sea un especialista en ciertas
páginas a fin de que el espacio en caché no se desperdicie al tener cada archivo en
cada caché.
LAN
Front end
Otro problema con las granjas de servidores es que la conexión TCP del cliente
termine en el front end, por lo que la respuesta puede pasar a través del front end.
Esta situación se ilustra en la figura 6.5(a), donde la solicitud (1) y la respuesta (4)
pasan a través del front end. Para solucionar este problema, algunas veces se utiliza
un truco llamado transferencia TCP (TCP handoff). Con ésta, el punto final de la
82
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Nodo de Nodo de
aprendizaje procesamiento
3
2 3 2 Al
cliente
Front end Front end
1 4 1
Desde el Al Desde el
cliente cliente cliente
Cuando se creó Web, de inmediato fue evidente que para que una página Web
apuntara a otra se requerían mecanismos para nombrar y localizar las páginas;
debían contestarse tres preguntas antes de poder presentar visualmente una página:
La solución escogida identifica las páginas de una manera que resuelve los tres
problemas a la vez. A cada página se le asigna un URL (Localizador Uniforme de
Recursos) que sirve efectivamente como nombre mundial de la página. Los URLs
tienen tres partes: el protocolo (también llamado esquema), el nombre DNS de la
máquina en donde se encuentra la página y un nombre local que indica de manera
única la página específica (por lo general, sólo un nombre de archivo de la máquina
en que reside).
http://www.espoch.edu.ec/academico/horarios.html
Muchos sitios cuentan con ciertos atajos para los nombres de archivos. En muchos
sitios, un nombre de archivo nulo tiende a ser de manera predeterminada la página
de inicio de la organización. Por lo general, cuando el archivo nombrado es un
directorio, esto implica un archivo nombrado índex.html. Por último, ~user/ podría
83
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Ahora debe quedar clara la manera en que funciona el hipertexto. Para que pueda
hacerse clic en una parte del texto, el redactor de la página debe proporcionar dos
elementos de información: el texto en el que se puede hacer clic y el URL de la
página a la que se debe ir si; se hace clic en dicho texto.
Este esquema de URL es abierto en el sentido de que es directo hacer que los
navegadores utilicen múltiples protocolos para obtener diferentes tipos de recursos.
De hecho, se han definido los URLs de varios otros protocolos comunes. En la
figura 6.6 se listan formas ligeramente simplificadas de los más comunes.
Los URLs se han diseñado no sólo para permitir que los usuarios naveguen por la
Web, sino para que también utilicen FTP, noticias, Gopher, correo electrónico y
telnet; de este modo los programas especializados de interfaz de usuario para esos
otros servicios son innecesarios pues casi todos los accesos a Internet se integran
en un solo programa, el navegador Web. Si no fuera por el hecho de que este
esquema fue diseñado por un investigador de física, podría pensarse fácilmente que
lo creó el departamento de publicidad de una compañía de software.
84
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
página sin decir de manera simultánea dónde está. No hay manera de decir: "quiero
la página xyz y no me importa de dónde la traigas".
Para resolver este problema y hacer posible la duplicación de páginas, la IETF está
trabajando en un sistema de URNs (Nombres Universales de Recursos). Un URN
puede considerarse como un URL generalizado. Este tema aún es objetivo de
investigación, aunque en el RFC 2141 se da una sintaxis propuesta.
En HTTP 1.0, una vez que se establecía la conexión, se enviaba una solicitud y se
obtenía una respuesta. Después se liberaba dicha conexión. Este método era
adecuado en un mundo en el que una página Web típica consistía por completo de
texto HTML. Sin embargo, años más tarde la página Web promedio contenía una
gran cantidad de iconos, imágenes, entre otras cosas, por lo que establecer una
conexión TCP para transportar un solo icono era un método muy costoso.
6.5.2 METODOS
Aunque HTTP se diseñó para utilizarlo en Web, se ha hecho intencionalmente más
general que lo necesario con miras a las aplicaciones orientadas a objetos futuras.
Por esta razón, se soportan otras operaciones, llamadas métodos, diferentes a las
de solicitar una página Web. Esta generalidad es lo que permite que SOAP
85
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Línea de petición o
Línea de respuesta
Cabecera General
Cabecera de petición
o
Cabecera de respuesta
Cabecera de entidad
Cuerpo de entidad
86
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Un mensaje de petición completo consta de una línea de estado seguida por una o
más cabeceras generales de entidad seguidas por un cuerpo de entidad opcional.
MÉTODOS DE PETICIÓN
87
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
En los métodos cada solicitud consiste en una o más líneas de texto ASCII, y la
primera palabra de la primera línea es el nombre del método solicitado. Los nombres
son sensibles a mayúsculas y minúsculas, por lo que GET es un método válido y get
no lo es.
HEAD (cabeza): esta petición es idéntica a GET, excepto que la respuesta del
servidor no debe incluir un cuerpo de entidad; todos los campos de cabecera en
la respuesta son los mismos como si el cuerpo de la entidad estuviera presente.
Esto permite a un cliente obtener información sobre un recurso sin transferir el
cuerpo de la entidad. Es utilizado para solicitar información sobre un objeto
(fichero) : tamaño, tipo, fecha de modificación etc. También lo utilizan los
gestores de caché de páginas o los servidores proxy, para conocer cuando es
necesario actualizar la copia que se mantiene de un fichero.
POST (correo): una petición para aceptar la entidad incorporada cómo una nueva
subordinada al URL identificado. La entidad enviada está subordinada a ese URL
de la misma forma que un fichero está subordinado al directorio que lo contiene,
un articulo nuevo está subordinado a un grupo de noticias al que se envía o un
registro está subordinado a una base de datos. Sirve para enviar información al
servidor, por ejemplo los datos contenidos en un formulario. El servidor pasará
esta información a un proceso encargado de su tratamiento (generalmente una
aplicación CGI).
PUT (poner): es la petición que envía el cliente al servidor para que sea
aceptada la entidad incorporada y almacenada bajo el URL proporcionado. Éste
puede ser un nuevo recurso con un nuevo URL o una reposición del contenido de
un recurso existente. Es similar a post, pero en este caso, la información enviada
al servidor debe ser almacenada en la URL que acompaña al comando. Así se
puede actualizar el contenido de un documento.
11
Stallings William. Comunicaciones y redes de computadoras. Pág. 682
88
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
PATCH (parche): similar a PUT, excepto que la entidad contiene una lista de
diferencias con respecto al contenido del recurso original identificado en el URL.
COPY (copiar): solicita que una copia del recurso identificado por el URL en
Línea-Petición se copie a la(s) localización(es) dada(s) en el campo Cabecera-
URL en la Cabecera-Entidad de este mensaje.
UNLINK (enlace roto): elimina una o más relaciones de enlace entre recursos
identificados en Línea-Solicitud. Los enlaces se definen en el campo Link de la
Cabecera-Entidad.
TRACE (trazar): solicita que el servidor devuelva todo lo que reciba como cuerpo
de entidad de la respuesta. Esto se puede utilizar con objetivos de comprobación
y diagnóstico. Es útil cuando las solicitudes no están procesando de manera
correcta y el cliente desea saber cual solicitud ha obtenido realmente el servidor.
89
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
90
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Date (Fecha): día y hora en la que se originó el mensaje. Las fechas deben incluir
la zona horaria en el que reside el sistema que genera la operación. Por ejemplo:
Sunday, 12-Dec-2006 12:21:22 GMT+01. No existe un formato único en las
fechas; incluso es posible encontrar casos en los que no se dispone de la zona
horaria correspondiente, con los problemas de sincronización que esto produce.
Los formatos de la fecha a emplear están recogidos en los RFC 1036 y 1123.
Keep-Alive (Mantener vivo): puede estar presente si existe la palabra clave keep-
alive en un campo Conexión entrante, y proporciona información al solicitante de la
duración de la conexión persistente. Este campo puede indicar un tiempo máximo
durante el que el emisor mantendrá abierta la conexión esperando la siguiente
solicitud, o el máximo número de solicitudes adicionales que se le permitirán a la
actual conexión persistente.
Versión MIME: indica que el mensaje sigue las instrucciones, dela versión
indicada de MIME.
91
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
respuestas para indicar que protocolo será utilizado. Fue creado para facilitar la
transición a una versión futura (posiblemente incompatible) del protocolo HTTP.
Un mensaje de respuesta completo consta de una línea de estado seguida por una o
más cabeceras generales de entidad de respuesta, seguida por un cuerpo de
entidad opcional.
CÓDIGOS DE ESTADO
Cada solicitud obtiene una respuesta que consiste en una línea de estado, y
posiblemente de información adicional (por ejemplo, toda o parte de una página
Web). La línea de estado contiene un código de estado de tres dígitos que indica si
la solicitud fue atendida, y si no, por qué. El primer dígito se utiliza para dividir las
respuestas en cinco grupos mayores, como se muestra en la figura 6.9. En la
práctica, los códigos 1xx no se utilizan con frecuencia. Los códigos 2xx significan
que la solicitud se manejó de manera exitosa y que se regresa el contenido (si hay
alguno). Los códigos 3xx indican al cliente que busque en otro lado, ya sea
utilizando un URL diferente o en su propio caché. Los códigos 4xx significan que la
solicitud falló debido a un error del cliente, por ejemplo una solicitud inválida o una
página no existente. Por último, los errores 5xx significan que el servidor tiene un
problema, debido a un error en su código o a una sobrecarga temporal.
5xx Error del servidor 500 = error interno del servidor; 503 = trata más tarde
92
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
De información
De éxito
93
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Redirección
94
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Error de Servidor
Internal Server Error El servidor encontró una condición no esperada que le impide
completar la solicitud.
No Implemented El servidor no soporta la funcionalidad requerida para completar
la solicitud.
Bad Gateway El servidor, mientras actuaba como pasarela o representante,
recibió una respuesta inválida del servidor en la dirección del
flujo al que accede para completar la solicitud.
Server Unavailable El servidor es incapaz de gestionar la solicitud debido a una
sobrecarga temporal o a mantenimiento del servidor.
Gateway Timeout El servidor, mientras actuaba como pasarela o representante,
no recibió una respuesta a tiempo del servidor en la dirección
del flujo al que accede para completar la solicitud.
• Public (público): indica los métodos no normalizados que admite .este servidor.
6.5.2.4 ENTIDADES
95
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
• Contení-Versión (versión del contenido): una marca dé versión asociada con una
entidad en desarrollo.
96
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
• URL-header (cabecera de URL): informa al destino de otros URL por los que se
puede identificar el recurso.
6.6 EJERCICIOS
1. Cuando se envían las páginas Web, se les anteponen encabezados MIME. ¿Por
qué?
2. ¿Cuándo son necesarios los visores externos? ¿Cómo sabe un navegador cuál
utilizar?
3. Un servidor Web de múltiples subprocesos está organizado como se muestra en
la figura 6.3. Tarda 500 useg en aceptar una solicitud y verificar el caché. La
mitad del tiempo es para encontrar el archivo en el caché y para regresarlo de
inmediato. En la otra mitad del tiempo, el módulo tiene que bloquearse por 9
mseg mientras su solicitud de disco se coloca en la cola y se procesa. ¿Cuántos
módulos debe tener el servidor para mantener ocupada todo el tiempo a la CPU
(suponiendo que el disco no es un cuello de botella)?
4. El URL http estándar da por hecho que el servidor Web está escuchando en el
puerto 80. Sin embargo, es posible que un servidor Web escuche en otro puerto.
Diseñe una sintaxis razonable para que un URL acceda a un archivo en un puerto
no estándar.
5. Aunque no se mencionó en el texto, una forma alternativa de un URL es utilizar
una dirección IP en lugar de su nombre DNS. Un ejemplo del uso de una
dirección IP es http://192.31.231.66/index.html. ¿Cómo sabe el navegador si el
nombre que sigue al esquema es un nombre DNS o una dirección IP?
6. El Banco Sloth desea que sus clientes flojos puedan utilizar con facilidad su
banca en línea, por lo que después de que un cliente firma y se autentica
mediante una contraseña, el banco regresa una cookie que contiene un número
de ID del cliente. De esta forma, el cliente no tiene que identificarse a si mismo o
escribir una contraseña en visitas futuras a la banca en línea. ¿Qué opina de esta
idea? ¿Funcionará? ¿Es una buena idea?
97
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
98
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
CAPITULO VII
SNMP
7.1 INTRODUCCION
Una red grande no se puede instalar y gestionar sólo con el esfuerzo humano. La
complejidad de un sistema tal impone el uso de herramientas automáticas de gestión
de red. La urgencia de la necesidad de esas herramientas se incrementa, y también
está en auge la dificultad de suministrar dichas herramientas, si la red incluye
equipos de múltiples distribuidores. En respuesta, se han desarrollado
normalizaciones para tratar la gestión de red, y que cubren los servicios, los
protocolos y la base de información de gestión.
99
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
El medio por el cual se pueden gestionar los recursos de una red es representando
estos recursos como objetos. Cada objeto es, esencialmente, una variable de datos
que representa un aspecto del agente de gestión. La colección de objetos se conoce
como base de información de gestión (MIB, Manage-ment Information Base). La
MIB funciona como una colección de puntos de acceso al agente por parte de la
estación de gestión. Estos objetos están normalizados a través de los sistemas de
una clase particular (por ejemplo, todos los switches contienen los mismos objetos
de gestión).
100
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Además del estándar MIB existe un conjunto de variables MIB, las cuales dependen
de la versión de la MIB. Lo interesante de que este definido solo las categorías MIB
es que permite una gran diversidad de variables. La figura 7.2 lista ejemplos de
variables MIB junto con sus categorías.
Los nombres utilizados por las variables MIB son tomados del espacio de nombres
identificador de objetos administrado por ISO y por ITU; estos están estructurados
para hacerlos únicos globalmente y son jerárquicos.
101
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
subgrupo internet mgmt con el nombre mib del espacio de nombre identificador de
objetos.
Sin
nombre
org
3
dod
6
internet
1
direc- experi-
mgmt privada
torio mental
2 4
1 3
mib
1
La figura 7.3 muestra que la categoría con la etiqueta ip ha sido asignada al valor
numérico 4. Asi el nombre de todas las variables MIB correspondientes al IP tienen
un identificador que comienza con el prefijo 1. 3. 6. 1. 2. 1. 4. Si se quisiera escribir
la etiqueta textual en lugar de la representación numérica , el nombre sería:
iso.org.dod.internet.mgmt.mib.ip
102
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
iso.org.dod.internet.mgmt.mib.ip 1. 3. 6. 1. 2. 1. 4. 3
iso.org.dod.internet.mgmt.mib.ip.ipAddrTable.ipAdrrEntry.ipAdEntNetMask.128.10.2.3
1. 3. 6. 1. 2. 1. 4. 20. 1. 3. 128. 10. 2. 3
103
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Como el nombre sugiere, SNMP es una herramienta sencilla para la gestión de red.
Define una base de información de gestión (MIB) limitada y fácil de implementar de
variables escalares y tablas de dos dimensiones, y define un protocolo para permitir
a un gestor obtener y establecer variables MIB y para permitir a un agente emitir
notificaciones no solicitadas, llamadas intercepciones (traps). Esta simplicidad es la
potencia de SNMP. Se implementa de una forma fácil y consume un tiempo modesto
del procesador y de recursos de red. También, la estructura del protocolo y de la
MIB es suficientemente directa de forma que no es difícil alcanzar la interacción
entre estaciones de gestión y software de agente de varios vendedores.12
Con una utilización tan amplia, las deficiencias de SNMP han llegado a ser notorias;
éstas incluyen deficiencias funcionales y la falta de una herramienta de seguridad.
12
Stallings William. Comunicaciones y redes de computadores. Pág. 655
104
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Como resultado en 1993 se publicó una versión mejorada, conocida como SNMPv2,
y en 1996 se publicó una versión revisada (RFC 1901 a 1908). SNMPv2 ganó
rápidamente apoyos y una serie de distribuidores anunciaron productos unos meses
después de la publicación del estándar.
Servidor de Gestión
Aplicaciones de gestión
Gestor SNMPv2
MIB
105
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
proporciona varias MIB que son generalmente útiles para la gestión de red. Además
los vendedores y los grupos de usuarios pueden definir nuevas MIB.
106
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
La figura 7.6 muestra los tipos de datos que están permitidos por SMI. Éste es un
conjunto bastante restringido de tipos. Por ejemplo, los números reales no se
permiten. Sin embargo, es lo bastante rico como para permitir la mayoría de los
requisitos de la gestión de red.
107
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
El PDU GetRequest, emitido por un gestor, incluye una lista de uno o más nombres
de objetos para los que se solicita un valor. Si la operación de obtener valores tiene
éxito, el agente que responde enviará un PDU Response. La lista de la variable
colección contendrá el identificador y el valor de todos los objetos obtenidos. Para
cualquier variable que no es relevante desde el punto de vista de la MIB, se
devuelve el identificador y un código de error en la lista de la variable colección. Así,
SNMPv2 permite respuestas parciales a un GetRequest, lo que da lugar a una
mejora significativa con respecto a SNMP. En SNMP, si una o más variables en
GetRequest no se permiten, el agente devuelve un mensaje de error con un estado
de noSuchName. Para poder tratar estos errores, el gestor SNMP no debe devolver
valores a la aplicación solicitante o debe incluir un algoritmo que responda ante un
error eliminando las variables perdidas, reenviando la solicitud, y enviando un
resultado parcial a la aplicación.
108
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
La PDU SetRequest se emite por un gestor para solicitar que el valor de uno o más
objetos se modifique. La entidad SNMPv2 que la recibe responde con una PDU
Response que contiene el mismo identificador de solicitud. La operación de
SetRequest es atómica: o se actualizan todas las variables o ninguna. Si la entidad
que responde es capaz de establecer los valores de todas las variables indicadas en
la lista entrante de la variable colección, entonces la PDU Response incluye el
campo de la variable colección con un valor proporcionado para cada variable. Si al
menos uno de los valores de variable no se puede proporcionar, entonces no se
devuelven valores ni se actualizan éstas. En este último caso, el código de estado
de error indica la razón del fallo y el campo de índice de error indica la variable en la
lista de variables colección que causó el fallo.
La PDU InformRequest se envía por una entidad SNMPv2 actuando como gestor,
en representación de una aplicación, a otra entidad SNMPv2 en su papel de gestor,
para proporcionar información de gestión a una aplicación utilizando la última
entidad. Como con la PDU SNMPv2 Trap, la lista de la variable colección se utiliza
para llevar la información asociada. El gestor que recibe una InformRequest las
confirma con una PDU Response.
Tanto para Trap como para InformRequest, se pueden definir varias condiciones que
indican cuándo se genera la notificación; también se especifica la información que se
va a enviar.
109
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Son proporcionados tres servicios por SNMPv3 que son: autentificación, privacidad y
control de acceso. Los dos primeros forman parte del modelo de Seguridad Basada
en Usuarios (USM, User-Based Security) y el último se define en el Modelo de
Control de Acceso Basado en Consideraciones (VACM, View-Based Access Control
Model). Los servicios de seguridad están gobernados por la identidad del usuario
que solicita el servicio; esta identidad se expresa como un director, que puede ser un
individuo o una aplicación o un grupo de individuos o aplicaciones.
El servicio de control de acceso hace posible configurar los agentes para que
proporcionen diferentes niveles de acceso a la base de información de gestión (MIB)
del agente a diferentes gestores.
110
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
7.5 EJERCICIOS
111
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
CAPITULO VIII
FIREWALLS
8.1 INTRODUCCION
La idea básica de un firewall es que se debe permitir a los usuarios desde una red
protegida, por ejemplo una red corporativa, tener acceso a una red pública, como
Internet, y al mismo tiempo poner los servicios y productos de la compañía a
disposición de esta red pública.
Por consiguiente, cuando se empieza a planear cómo proteger la red de las muchas
amenazas que puede traer Internet, hay que comenzar pensando en los firewalls.
Sin embargo, incluso antes de pensar en ello, debe definirse cómo y cuáles servicios
de información que darán disponibles a Internet. Antes que nada, se debe ratificar
que el servidor sea seguro. Tendrá que bloquearse el acceso de entrada no
autorizado, los accesos de transferencias de archivos y la ejecución de comandos
remotos y quizá también negar servicios como Rlogin, Telnet, FTP, SMTP, NFS y
otros servicios RPC. Una vez que se empieza a usar o se tenga acceso a estos
servicios, entonces será cuando se necesite construir un firewall. La figura 8.1
presenta una idea básica de un firewall y su propósito.
Firewall
Gateway
Filtro
Filtro
del
firewall Internet
LAN interna
112
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Pero incluso antes de definir qué tipo de firewall se adapta mejor a determinadas
necesidades, deberá analizarse la topología de la red para determinar si los varios
componentes de la red, como los concentradores, conmutadores, enrutadores y el
cableado son apropiados para un modelo específico de firewall.
Para comprender mejor un firewall y su propósito, debe tenerse una idea más
detallada de qué es un firewall y su barrera de protección. Debe examinarse la red
corporativa con base en los niveles del modelo de la Intemational Standards
Organization (ISO, Organización Internacional de Estándares). En él encontrará que
los repetidores y concentradores actúan en el primer nivel, los conmutadores y los
puentes en el segundo nivel, y los enrutadores en el tercero. Un firewall pasa a
través de todos estos niveles puesto que actúa en los niveles sexto y séptimo, que
son los niveles responsables por los controles de establecimiento de sesiones y
aplicaciones. De esta manera, con un firewall podemos controlar el flujo de
información a través del establecimiento de sesiones o incluso al determinar cuáles
operaciones se permitirán o no lo harán.
Muchas compañías toman la seguridad de sus activos de red, en especial los activos
de comunicación de datos e interconectividad, muy a la ligera. Con frecuencia, no
existen políticas ni se lleva ningún tipo de registro, y la seguridad de los sistemas se
trata con muy poca información al respecto.
En este punto es donde los firewalls entran en acción, pero debe darse cuenta de
que un firewall por sí solo no asegurará su red. Sólo es parte de un área más amplia
en la protección de su sitio web y la conectividad en red en general.
113
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Claro que las políticas de seguridad varían de una organización a otra, pero un
aspecto que prescindirá de estas políticas será la plataforma para la cual se están
desarrollando. Un firewall puede implementarse en UNIX, Linux, Windows 2000,
Windows 2003, NT o una plataforma patentada. Debe estudiar muy de cerca la
plataforma que elegirá, ya que ésta definirá definitivamente todos los proyectos
futuros, el nivel de seguridad y en consecuencia, la política de seguridad que se
está desarrollando. Por esta razón una política de seguridad debe darse primero
para garantizar el éxito de los mecanismos que serán implementados.
Como administrador web o de LAN, debe saberse que la parte más difícil de
conectar una empresa a Internet no es justificar la inversión o el esfuerzo, sino
convencer a la administración de que es seguro hacerlo, especialmente en las
compañías grandes. Un firewall no sólo añade seguridad real, sino que también
juega un papel importante como un manto de seguridad para la administración.
Un firewall mejora en gran medida la seguridad de red y reduce los riesgos para los
servidores en la red al filtrar inherentemente servicios inseguros. Como resultado, el
entorno de red está expuesto a menores riesgos debido a que sólo los protocolos
seleccionados son capaces de pasar a través de un firewall.
Por ejemplo, un firewall puede prohibir a ciertos servicios vulnerables como NFS que
entren o salgan de una red protegida. Esto brinda el beneficio de impedir que los
servicios sean explotados por agresores ajenos, pero al mismo tiempo permite el
uso de estos servicios con un riesgo de explotación sumamente reducido. Los
servicios como NIS y NFS que son particularmente útiles en una red de área local
pueden disfrutarse y utilizarse de esta manera para reducir la carga de
administración del servidor.
114
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
todos los paquetes enrutados desde el origen y envíos ICMP, y luego informar a los
administradores de los incidentes.
Un firewall puede ofrecer control de acceso a los sistemas de un sitio. Por ejemplo,
algunos servidores pueden ponerse al alcance de redes externas, mientras que
otros pueden cerrarse de una manera efectiva al acceso no deseado. Dependiendo
del nivel de riesgo que se desea tomar en la red corporativa, se debe esperar
acceso del exterior hacia los servidores de red internos, excepto para casos
especiales como los servidores de correo o los servicios RAS.
Asimismo, se debe esperar que los usuarios descarguen virus a través del correo
electrónico y los diseminen en toda la red protegida. Otra amenaza son los applets
(principalmente los de Java, JavaScript y ActiveX), los cuales pueden iniciar
procesos remotos en una estación de trabajo que podrían afectar a un servidor o
incluso desactivar un firewall.
Esto nos lleva a uno de los principales propósitos en los que una política de acceso
es particularmente experta para hacer cumplir: nunca proporcione acceso a
servidores o servicios que no requieran acceso; los hackers podrían explotarlos
debido a que el acceso no es necesario o no se requiere.
En realidad un firewall puede resultar menos costoso para una organización en que
todo (o la mayoría) el software modificado y el software de seguridad adicional
puede localizarse en el sistema de firewall que si se distribuye en cada servidor o
máquina. En particular, los sistemas de contraseñas desechables y otro software de
autenticación agregado puede localizarse en el firewall en lugar de en cada sistema
al cual se necesite tener acceso desde Internet.13
13
Goncalves Marcus. Manual de Firewalls. Pág. 262.
115
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
dentro del firewall y que estuviera disponible para una recuperación rápida. También
podría mantenerse toda la configuración del sistema del servidor externo en un CD-
ROM, volviéndolo seguro contra modificaciones.
La privacidad debe ser una gran preocupación para toda red corporativa, debido a
que lo que normalmente se consideraría información inocua en realidad podría
contener pistas útiles para un hacker. Al usar un firewall, su sitio puede bloquear el
acceso de servicios como Finger y el Servicio de Nombres de Dominio
Otra ventaja de usar un firewall en el sito es que al pasar a través de un firewall todo
el acceso hacia y desde Internet, se puede llevar una bitácora de los accesos y,
proporcionar estadísticas valiosas sobre el uso de la red. A pesar de estas ventajas,
se debería estar consciente de que también existen varias desventajas: cosas contra
las cuales no pueden protegerle los firewalls, como restricciones de acceso,
amenazas de las puertas traseras (módems o servidores RAS que omiten el acceso
por el firewall) y vulnerabilidad a hackers internos, por nombrar unas cuantas.
• Política
• Autenticación avanzada
• Filtrado de paquetes
• Gateways de aplicación
• Instalación
116
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
La política de acceso a red que define los servicios que se permitirán o negarán de
manera explícita desde la red restringida es la política de más alto nivel. También
define cómo se utilizarán estos servicios. La política de más bajo nivel define como
el firewall restringirá en realidad el acceso y determinará los servicios especificados
en la política de nivel superior. Sin embargo, la política no debe volverse un
documento aislado olvidado en el cajón de su escritorio; debe serle útil. Es
imprescindible que la política de seguridad de red se vuelva parte de la política de
seguridad de la compañía. Echemos un vistazo a los distintos tipos de políticas de
seguridad.
Política de flexibilidad
Si usted va a desarrollar una política que cubra el acceso a Internet, la
administración web y los servicios electrónicos en general, deberá ser flexible. Su
política deberá ser flexible debido a lo siguiente:
• Internet por sí misma cambia cada día a una velocidad que nadie puede seguir.
Conforme Internet cambia, los servicios ofrecidos a través de la misma también
cambian. Por eso, una compañía necesita cambiar también, así que se debe estar
preparado para editar y adaptar la política en consecuencia sin comprometer la
seguridad y la consistencia. Recuerde: una política de seguridad casi nunca
cambia pero los procedimientos siempre deben revisarse.
Cuando se escriba una política de acceso a los servicios, debe concentrarse en los
problemas de los usuarios de la compañía, así como en las políticas de marcado
interno, las conexiones SLIP y las conexiones PPP. La política debería ser una
extensión de la política organizacional con respecto a la protección de los recursos
de los Sistemas de información (SI) en la compañía. La política de acceso a los
servicios debe ser completamente realista. Asegúrese de tener un borrador antes de
implementar un firewall. La política debe proporcionar un balance entre proteger la
red y dar acceso a los usuarios a los recursos de la red.
Una política de diseño de firewall es específica para el firewall. Define las reglas de
implementación de las políticas de acceso a los servicios. No se puede diseñar esta
117
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
política sin entender las capacidades y limitaciones del firewall, así como las
amenazas y los puntos vulnerables asociados con TCP/IP. Los firewalls usualmente
realizan una de las siguientes acciones:
Por ejemplo, podría ser necesario restringir algunos de los servicios que se definió
en la política de acceso a los servicios. Los problemas de seguridad que pueden
presentarse es posible que no se controlen de una manera eficiente por la política de
nivel inferior. Si la compañía se basa en estos servicios, lo cual generalmente hacen
los sitios web, es probable que se tenga que aceptar mayores riesgos al permitir
estos servicios. Esta relación entre ambas políticas de acceso a los servicios
permiten su interacción al definir tanto las políticas de nivel superior como las de
nivel inferior de una manera eficiente y consistente.
Política de información
118
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Se debe tener la capacidad de distinguir entre un usuario externo que tiene acceso
al servidor en busca de información y un usuario que utilizará la característica de
correo electrónico, si se está incorporando un usuario, por ejemplo, para
comunicarse con usuarios que están del otro lado del firewall. Debería tratarse estos
dos tipos de tráfico en forma diferente y mantener el servidor aislado de otros sitios
en el sistema.
También se debe ser capaz de demostrar los puntos vulnerables que creará esta
característica si los usuarios no son cuidadosos cuando entran a la red interna a
través de un módem. La capacidad de marcado al exterior de un usuario podría
volverse una amenaza de marcado al interior por un intruso.
Otro factor que deberá considerarse involucra a los servidores web. Peor que tener
una línea de módem que permita capacidades de marcado al interior y hacia el
exterior es el uso de IP de línea serial o del protocolo punto a punto a través del
servidor web o de cualquier otro medio de acceso a la red de la compañía. Por
mucho, es una puerta trasera más peligrosa de lo que cualquier módem pudiera ser,
a menos, por supuesto, que usted pase a través del firewall
119
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
b) Autenticación avanzada
El problema con las contraseñas es que para crearlas una vez que un algoritmo se
especifica, se vuelve una simple cuestión de analizar el algoritmo con el propósito de
encontrar cada contraseña en el sistema. A menos que el algoritmo sea muy sutil, un
cracker puede probar todas las combinaciones posibles del generador de
contraseñas para cada usuario en la red. Además, un cracker puede analizar la
salida del programa de contraseñas y determinar el algoritmo que se está utilizando.
Entonces el sólo necesitará aplicar el algoritmo a otros usuarios de tal manera que
las contraseñas puedan determinarse.
Una de las primeras cosas que probablemente se les debe decir a los usuarios de
Internet es que elijan contraseñas difíciles de adivinar y que no compartan sus
contraseñas con nadie. No obstante, la mayoría de los usuarios no seguirán este
consejo, y aun si lo hicieran, los hackers pueden monitorear las contraseñas que se
transmiten. Una de las alternativas más eficaces para pelear contra el hacker es
adoptar medidas de autenticación avanzadas.
Las tarjetas inteligentes, como las tarjetas de identificación, tipo tarjeta de crédito y
otras tarjetas con códigos magnéticos, y los mecanismos basados en software son
alternativas para hacer frente a los puntos débiles de las contraseñas tradicionales.
Si se adopta uno de estos dispositivos de autenticación avanzada, los hackers no
serán capaces de volver a utilizar una contraseña que haya sido observada durante
una conexión. Si se considera todos los problemas inherentes a las contraseñas en
Internet, un firewall que no incluye el mismo tipo de sistema de autenticación
avanzada no tiene mucho sentido.
120
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Tráfico FTP
autenticado
Internet Sistema de
firewall con
Tráfico FTP
autentificación
autenticado LAN
avanzada
c) Filtrado de paquetes
121
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
122
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
123
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Para bloquear las conexiones desde o hacia servidores web o redes específicos, el
filtrado puede aplicarse de muchas formas, incluyendo el bloqueo de conexiones a
determinados puertos. Por ejemplo, se podría decidir bloquear conexiones desde
direcciones o sitios que considere poco confiables, o podría decidirse bloquear las
conexiones a su sitio desde todas las direcciones externas; todo esto puede lograrse
mediante el filtrado. Se puede añadir mucha flexibilidad simplemente al agregar
filtrado de puertos TCP o UDP al filtrado de direcciones IP.
Los servidores como el daemon Telnet por lo general residen en puertos específicos.
Si se habilita el firewall para bloquear conexiones TCP o UDP hacia o desde puertos
específicos, podrá implementarse políticas para dirigirse a ciertos tipos de
conexiones hechas para determinados servidores, pero no para otros.
Se podría, por ejemplo, bloquear todas las conexiones que llegan a los servidores
web excepto aquellos conectados a un firewall. En esos sistemas, se podría desear
permitir sólo ciertos servicios, como SMTP para un sistema y Telnet o conexiones
FTP para otro sistema. El filtrado en los puertos TCP o UDP puede ayudarle a
implementar una política a través de un enrutador de filtrado de paquetes o incluso
mediante un servidor con la capacidad de filtrado de paquetes. La figura 8.3 muestra
los enrutadores de filtrado de paquetes en tales servicios.
Enrutador de
Sólo tráfico filtrado de
Otro tráfico SMTP paquetes
Internet
Sólo tráfico
Telnet
124
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Puede instalar un conjunto de reglas para que le ayuden a dar una idea general de
los permisos. La figura 8.4 presenta como ejemplo un conjunto de reglas muy
básicas de filtrado de paquetes.
La primera regla permite a los paquetes TCP desde cualquier dirección origen y
puerto mayor que 1023 en Internet, introducir la dirección destino de 123.4.5.6 y el
puerto 23 en él sitio. El puerto 23 es el puerto asociado con el servidor Telnet y
todos los clientes Telnet deben tener puertos origen sin privilegios de 1024 o
mayores.
La segunda y tercera reglas trabajan de una manera muy similar, excepto que los
paquetes hacia las direcciones destino 123.4.5.7 y 123.4.5.8 ,y el puerto 25 para
SMTP, están permitidos.
La cuarta regla permite paquetes hacia el servidor NNTP del sitio, pero sólo desde
direcciones origen 129.6.48.254 hacia direcciones destino 123.4.5.9 y el puerto 119
(129.6.48.254 es el único servidor NNTP desde el cual debe recibir noticias el sitio;
por lo tanto, el acceso al sitio para NNTP está restringido a ese sistema
únicamente).
La quinta regla permite tráfico NNTP, el cual usa UDP en lugar de TCP, desde
cualquier dirección origen hacia cualquier dirección destino en el sitio.
Finalmente, la sexta regla niega a todos los otros paquetes. Si esta regla no
estuviera presente, el enrutador podría no rechazar todos los paquetes
subsecuentes.
Además, con el fin de permitir ciertos tipos de acceso (que normalmente estarían
bloqueados), podría verse en la necesidad de crear una excepción a las reglas que
se impuso. Las excepciones algunas veces pueden hacer las reglas de filtrado muy
difíciles o incluso inmanejables. ¿Cómo? Por ejemplo, si se especifica una regla
para bloquear todas las conexiones que llegan al puerto 23 (el servidor Telnet).
125
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Suponiendo que hizo excepciones tales como aceptar las conexiones Telnet
directamente, se requiere agregar una regla para cada sistema, ¿correcto? Bueno,
en ocasiones este tipo de adición puede complicar todo el esquema de filtrado. No
lo olvide: hacer pruebas a conjuntos de reglas complejos para verificar su exactitud
podría ser tan difícil que usted nunca sería capaz de establecerlas bien.
d) Gateways de aplicación
Existen varios métodos para construir una barrera de protección .Las organizaciones
con talento en la programación y recursos financieros prefieren usar un método de
envoltura propia , el cual implica construir soluciones personalizadas para proteger la
red de la organización. Otras organizaciones prefieren usar los productos
comerciales existentes, así como personalizarlos y configurarlos para cumplir la
política de seguridad de red de esas organizaciones.
En general una barrera de protección se coloca entre la red interna confiable y la red
externa no confiable, actuando como un punto ahogador que monitorea y rechaza el
126
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
tráfico en la red a nivel de aplicación (figura 8.5). Las barreras también pueden
operar en las capas de transporte y de red, aquí revisan los encabezados IP y TCP
de los paquetes de entrada y de salida, además de rechazar o pasar los paquetes
con base en las reglas programadas del filtro de paquetes.
Barrera de protección
Aplicación
Presentación
Sesión
Transporte
Red
Enlace de datos
Física
Intranet Internet
8.6 EJERCICIOS
127
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
CAPITULO IX
SEGURIDAD EN REDES
Los incas utilizaban los quipus para llevar el correo de forma segura de un lugar a
otro, transportado por los chasquis y el quipus a su llegada era interpretado por los
quipucamayos.
Todo el mundo tiene en la actualidad un profundo respeto con los riesgos asociados
con Internet, que algunos denominan el paraíso de los hackers, pero las redes
internas son vulnerables también por quienes trabajan con ellas de forma autorizada,
el 70% de todos los ataques provienen de sus propios usuarios.
128
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
A CONFIDENCIALIDAD INTE
GR
RI IDA
ITO D
UD SEGURIDAD
IA
A
NC
DIS
PO
INFORMATICA
TE
NIB
IS
ILI
NS
DA
D
CO
CONTROL
PARAMETROS CARACTERISTICAS
Confidencialidad Proteger la información para que nadie pueda leerla o copiarla,
sin la respectiva autorización de su dueño
Integridad Proteger la información para evitar se borre o altere sin el
permiso del propietario de la misma.
Disponibilidad Proteger los servicios para que no se degraden o dejen de estar
disponibles sin la respectiva autorización
Consistencia Asegurar que el hardware y software se comporte como lo
espera el usuario autorizado.
Control Reglamentar la forma de acceder al sistema
Auditoría Determinar qué se hizo, quién lo hizo y que fue afectado
Mediante las políticas se define que se considera valioso y se especifica las medidas
a tomar para proteger esos activos (figura 9.2), deben ser generales y no variar
mucho a lo largo del tiempo.
129
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
HARDWARE SOFTWARE
DOCUMENTACION ACCESORIOS
9.3.1 DESASTRES
130
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Aspectos a DESCRIPCION
considerar
Incendio Las computadoras no resisten el fuego, así éste no las alcance,
porque el excesivo calor se encargará de derretir el disco duro y las
soldaduras, o el agua utilizada para sofocarlo las destruirá.
En la actualidad se esta utilizando el bióxido de carbono
comúnmente, pero en lugares donde existen computadoras que
pueden salir ilesas cuando son expuestas el agua se sugiere
rociadores de agua.
Agua El peligro principal con el agua es que provoca cortocircuitos,
generalmente ésta proviene en los centros de cómputo; de la lluvia,
inundaciones, bebidas (refrescos, café, etc)
Humo El humo actúa como abrasivo y se adhiere a las cabezas de los
discos magnéticos , discos ópticos, unidades de cinta, causan fallas
en los teclados.
Polvo El polvo es abrasivo y destruye lentamente las cabezas de los
discos magnéticos , las unidades ópticas y las unidades de cinta,
puede provocar cortocircuito en los elementos activos.
Terremotos En los últimos años en el Ecuador no se han dado fuertes
movimientos sísmicos, por lo cual las construcciones no respetan
severas normas de seguridad respecto a la resistencia contra
terremotos, sin embargo se debe estar preparado para ellos ya que
nos encontramos en zona de alto riesgo.
Temperatura Las computadoras funcionan dentro de márgenes de temperaturas
que son consideradas por los fabricantes como las adecuadas para
evitar daños
Explosiones Pueden ser causadas por el mal uso de sustancias químicas
inflamables almacenadas en el edificio
Bichos Estos animales a veces se introducen en las computadoras
provocando daños en sus componentes
Rayos Estas descargas eléctricas de la naturaleza provocan altas
variaciones de voltaje que dañan los equipos incluso cuando están
protegidos
Humedad Las computadoras requieren de pequeñas cantidades de humedad
para su buen funcionamiento, pues evita el almacenamiento de
cargas estáticas; pero si ésta se encuentra en demasía puede
provocar condensaciones en los circuitos de las computadoras
causando cortocircuito.
9.3.2 ERGOMETRIA
131
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Aspectos a DESCRIPCION
considerar
Trastornos La operación del teclado constituye un movimiento repetitivo y
óseos y o continuo que puede provocar lesiones en los músculos, nervios y
musculares huesos de manos y brazos
Trastornos La pantalla constituye una fuente de luz que incide directamente
visuales sobre los ojos del operador. Esto provoca en exposiciones
prolongadas cansancio visual, irritación, lagrimeo, visión borrosa y
cefalea
Salud mental La forma monótona de trabajar con las computadoras sobre todo
en tarea de ingreso de datos provoca en las personas sensaciones
de hastío y estrés informático que pueden llevar en el aspecto
fisiológico al incremento de la presión arterial, al aumento de la
frecuencia cardíaca; en el aspecto psicológico a la tensión,
irritabilidad, agresividad; y de forma general a sensaciones de
insatisfacción ante la vida, pérdida de la autoestima.
Ambiente La iluminación deficiente causa dolores de cabeza y pérdida de la
luminoso visión, además de una baja en la productividad
Ambiente El ambiente donde el ser humano trabaja debe ser el adecuado
climático evitando el exceso de calor o las bajas temperaturas.
Los sistemas de control de acceso (figura 9.5) de los lugares permiten mantener
protegidos los sistemas importantes.
Aspectos a DESCRIPCION
considerar
Personas El servicio de vigilancia está encargado de controlar el acceso de
personas a los edificios, comúnmente mediante la colocación de
guardias en lugares estratégicos.
Vehículos Se debe realizar el control del ingreso y egreso de vehículos e
identificación de sus ocupantes.
Sistemas Mediante esta tecnología se realizan mediciones en forma
biométricos electrónica que permiten comparar características únicas de cada
persona (manos, ojos y voz)
Termograma Basado en la emisión de calor corporal mediante el cual se trazan
mapas de valores sobre la forma de cada persona
Verificación Usando emisiones acústicas se toma datos del proceso dinámico
automática de de firmar o escribir que constituye un patrón único en cada
firmas individuo, pues contiene información de la manera en que la
escritura es ejecutada
Animales Los perros son utilizados para cuidar grandes extensiones de
terreno por poseer órganos mucho más sensibles que cualquier
dispositivo.
132
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Barreras Son codificadas por medio de pulsos con el fin de evitar intentos
infrarrojas de sabotaje; al ser el haz interrumpido se activa el sistema de
alarma no puede ser afectado por la luz ambiental, calefacción,
vibraciones.
Microondas Son ondas de radio de frecuencia muy elevada, permitiéndo que
se opere con señales de bajo nivel para que no sean afectadas
por otras emisiones de radio, no son afectadas por turbulencias
de aire o sonidos muy fuertes
Detector Crea un campo de ondas; ante cualquier movimiento que realiza
ultrasónico un cuerpo dentro del espacio protegido, genera una perturbación
que acciona la alarma
Circuito Se emplean cámaras colocadas estratégicamente, que permiten
cerrado de controlar todo lo que sucede en el área en la que puede captar
televisión imágenes la cámara
9.4 CONTRASEÑAS
Cada usuario que emplee una computadora deben tener una cuenta, la cual se
identifique mediante el nombre de usuario y una contraseña, siendo esta última el
sistema de autenticación más simple y el primer nivel de defensa que poseen los
sistemas operativos contra los extraños. Las contraseñas son importantes en
computadoras que se comparten entre varios usuarios o en computadoras que están
conectadas a redes en las que varias computadoras tienen una relación de
confianza entre ellas.
Contiene
CONTRASEÑAS CARACTERES DE CONTROL
SIETE U OCHO Y/O ESPACIOS
BUENAS
CARACTERES Mínimo
Fáciles recordar
NO SEA NECESARIO
ESCRIBIR EN PAPELES
133
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Los intrusos con una computadora casera y un buen programa para probar
contraseñas pueden probar miles en menos de un día. Se dice que una mala
contraseña es aquella que se puede adivinar, entre estas están el nombre del
usuario, nombres de familiares, nombres escritos al revés o seguidos de un solo
dígito, contraseñas cortas, números telefónicos, personajes de películas, nombres
de científicos, etc.
Las mejores contraseñas deben ser aquellas que no se pueden adivinar y que
poseen las características indicadas en la figura 9.6.
9.5 CRIPTOGRAFIA
Las limitaciones del cifrado constituyen el no poder prevenir que un agresor borre
intencionalmente todos los datos, que una persona modifique el programa de cifrado
mismo, o construya un decodificador, por lo que el cifrado constituye solo una parte
de la estrategia de seguridad. Todos los sistemas de cifrado tienen ciertos
elementos en común como se indica en la figura 9.7.
ELEMENTOS SIGNIFICADO
Algoritmo de cifrado Mediante fundamentos matemáticos desempeña la función de
cifrar y decifrar sus datos
Claves de cifrado Son utilizadas por el algoritmo de cifrado para determinar
como cifrar o decifrar datos. El programa de cifrado usa su
clave para transformar el texto cifrado en texto claro.
Longitud de clave La clave tiene una longitud predeterminada , el usar claves
largas hace más difícil adivinar usando la fuerza bruta.
Texto en claro Información que se va ha cifrar
Texto cifrado Información producto de cifrar
En la actualidad están en uso dos tipos de algoritmos (figura 9.8) de clave privada y
clave pública
134
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
ALGORITMOS DE ENCRIPTADO
a) Clave privada
Utiliza la misma clave para cifrar y descifrar el mensaje. Se le conoce también como
criptografía simétrica, los algoritmos más conocidas son los siguientes:
Kerberos utiliza el algoritmo DES para encriptar mensajes y para crear las llaves
privadas que se emplean en las distintas transacciones. La llave puede ser
cualquier número de 64 bits, pero debido a la forma que trabaja el algoritmo, su
extensión efectiva es 56 bits.14
14
Garfinkel Simson. Seguridad práctica en Unix e Internet. Pág. 516.
135
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Cast
Skipjack
b) Clave pública
En este modelo de criptosistemas se utiliza dos llaves que se usan juntas. Una de
las llaves siempre permanece en secreto mientras que la otra es pública; puede
utilizarse cada llave tanto para encriptado como descencriptado. Este sistema ayuda
a resolver problemas de distribución de llaves a los usuarios, se utiliza para
certificados, firmas digitales y texto simple.
136
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
MD5 es la versión más reciente, se puede utilizar para trasladar una cadena de
bytes de longitud arbitraria en un valor de 128 bits. MD5 procesa el texto de
entrada en bloques de 512 bits, divididos en 16 bloques secundarios de 32 bits.
La salida es un conjunto de cuatro bloques de 32 bits, que están conectados en
un solo valor de dispersión de 128 bits.
9.6 RESPALDOS
RAZONES DESCRIPCION
Errores de usuario Los usuarios novatos casi siempre borran o sobre escriben
archivos, destruyen directorios completos al cometer un
error tecleando un carácter especial
Errores del personal Los encargados del sistema pueden cometer errores, con
de sistemas respecto al servicio que se esta proporcionando a los
usuarios.
Fallas de software Los programas de aplicación pueden venir con defectos
ocultos que destruyen de pronto los datos
Fallas de hardware Las famosas caídas del sistema que frecuentemente
destruyen datos
Vandalismo Los intrusos que con malicia alteran o borran datos. El
robo del equipo y perdida consigo de la información
Desastres Pérdidas causadas por desastres naturales como lluvia,
terremotos, incendios.
Fugas de agua
Respaldo completo
Se hace una copia de cada archivo de la computadora en el dispositivo de
respaldo.
Respaldo incremental
Se efectúa una copia en el dispositivo de respaldo solo de aquellos elementos
en el sistema de archivo que se hayan modificado.
137
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Cada cuenta en la computadora es una puerta hacia el exterior, que puede ser
usada por usuarios autorizados y no autorizados. En la figura 9.10 se observan los
tipos de cuentas.
CUENTAS
Cualquiera que Tienen generalmente Son cuentas creadas Son cuentas creadas Es usada por más de
conozca el nombre de contraseñas estándar. por el administrador para los visitantes una persona permiten a
la cuenta puede Como las cuentas que que pueden ejecutar ejemplo guest , un grupo de personas
ingresar vienen con el sistema, simplemente una sola suministrarlas en el trabajar en un mismo
aplicaciones que instrucción o programa sistema es muy mala proyecto sin tener que
instalan cuentas para de aplicación ( ejemplo idea . crear una cuenta para
demostración de los finger, date) cuando un Los nombres y cada persona. Los
programas. usuario entra en ellas. contraseñas de este usuarios muchas veces
A menudo estas tipo de cuentas son prestan estas cuentas
cuentas no tienen fáciles de adivinar y más facilidad que las
contraseña representan un cuentas personales.
problema para la
seguridad.
138
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Consiste en crear una firma digital para los contenidos de los archivos para
determinar si se efectúo un cambio. El sistema de firmas digitales de uso más
común es la combinación de mensajes MD5 y el mecanismo de cifrado con clave
pública RSA.
Los archivos de registro de seguridad nos permiten conocer sobre sucesos tales
como:
139
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
PROGRAMAS DEFINICIONES
Herramientas Diseñadas para que los administradores las utilicen en seguridad
de seguridad para encontrar problemas en sus sitios, además pueden ser
utilizadas por alguien que busque fallas a explotar.
También existen programas y juegos de herramientas que su única
función es atacar a las computadoras
Puertas Es código escrito dentro de aplicaciones o sistemas operativos que
traseras permiten a los programadores el acceso a programas sin que sea
necesario que paseen a través de autenticación de acceso, por lo
tanto permiten el acceso no autorizado al sistema.
Bombas Son características ocultas en programas que permanecen en ese
lógicas estado hasta que se disparan, ejecutando una función que no es
propia del programa en la cual están contenidas.
Una vez que se dispara puede destruir o alterar datos, interrumpir
el funcionamiento de la computadora o dañar el sistema.
Caballos de Son similares a los programas que un usuario le gustaría usar
troya (juegos, editores, hojas de cálculo, páginas Web, correo codificado
en MIME), pero mientras el programa parece estar realizando lo
que se le ordena , esta haciendo algo más sin el conocimiento del
usuario.
Gusanos Son programas que se propagan de computadora en computadora
en una red, sin necesariamente hacer modificaciones en otros
programas de la máquina en la que se encuentran, a no ser que
contengan otro código que si lo haga (virus)
Bacterias Son programas que no dañan ningún archivo, lo que hacen es
copias de si mismos con el fin de saturar los recursos de un
sistema (capacidad de procesador, la memoria, espacio en disco),
reproduciéndose de forma exponencial.
Virus Es código que se inserta en otro código ejecutable, para que en el
momento que se ejecute el programa que requiere el usuario, el
programa virus también se ejecute. Los virus se encuentran de
forma general en computadoras personales.
140
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Los ataques se llevan a cabo sobre cualquier tipo de red, sistema operativo, usando
diferentes protocolos. Existe una gran cantidad y variabilidad de los mismos, y estos
se llevan a cabo remotamente.
a) Ingeniería Social
Se basa en convencer a las personas de que realicen acciones que
normalmente no lo hacen para que revele lo necesario con la finalidad de
superar las barreras de seguridad, es muy utilizada para averiguar nombres de
usuarios y passwords.
b) Trashing
Los usuarios anotan su login y password en papelitos que luego cuando se lo
graban en la mente proceden a votar en la basura.
c) Shoulder Surfing
Explota el error de los usuarios de dejar su login y password anotados cerca de
la computadora o ver al usuario por encima del hombro en el momento en que
teclea su nombre y password.
d) Decoy
Son programas que se diseñan con la misma interfaz que el original que conoce
el usuario, en el cual se imita la solicitud del login y el usuario desprevenido lo
hace; el programa guardará esta información y dará paso a las actividades
normales del sistema. Otra técnica semejante es mediante un programa que
permite guardar todas las teclas presionadas en una sesión.
141
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
i) Snooping Downloading
A diferencia del anterior además de interceptar el tráfico de red, el atacante
ingresa los documentos, mensajes de correo electrónico y otra información
guardada, para a continuación, en la mayoría de los casos realizar copias de
estos a su propia computadora, para luego proceder a un análisis exhaustivo.
j) Spoofing – Looping
El objetivo de esta técnica es actuar en nombre de otros usuarios; para lo cual el
intruso utiliza un sistema para obtener información y utilizar en otro sistema, y
luego utiliza esta información para ingresar en otro y así sucesivamente, lo que
hace casi imposible la ubicación del atacante. El envío de falsos e-mail es otra
forma de Spoofing, en el cual el atacante envía un e-mail a nombre de otra
persona.
k) IP Spoofing
El atacante genera paquetes de Internet con una dirección de red falsa en el
campo fuente, que es aceptado por el destinatario del paquete. Si la víctima
descubre el ataque verá a otra máquina como su atacante y no al verdadero
origen.
l) Web Spoofing
Se crea un sitio Web completo similar al que la víctima desea ingresar;
permitiéndole monitorear al atacante todas las acciones de la víctima.
m) IP Splicing-Hijacking
El atacante consigue interceptar una sesión ya establecida; esperando
primeramente que el usuario legítimo se identifique ante el sistema y tras ello le
suplanta como usuario autorizado. Para este ataque son utilizados los Sniffer
que permiten ver todo el proceso Handshake; desarrollado éste el atacante
calcula el número de secuencia siguiente, luego del cual él envía el paquete. El
servidor no notará el cambio de origen
142
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
n) Jamming
Se utiliza para desactivar o saturar los recursos del sistema, para lo cual el
atacante utiliza falsas direcciones IP, el servidor al responder al mensaje y no
recibir respuesta acumula buffers con información de las conexiones abiertas, no
dejando lugar a las conexiones legítimas. Otra forma es enviando miles de e-
mails sin sentido a todos los usuarios posibles en forma continua, saturando los
sistemas destino.
o) SYN Flood
El proceso handshake se lleva a cabo en tres pasos, si el paso final no llega a
establecerse, la conexión permanece en un estado denominado ―semiabierto‖, Si
se crean muchas peticiones incompletas de conexión el servidor estará inactivo
mucho tiempo esperando respuesta ocasionando lentitud en los demás
servicios .
p) Connection Flood
Los ISP tienen un límite máximo en el número de conexiones simultaneas, una
vez alcanzado el mismo no se admitirán conexiones nuevas; mientras van
caducando las conexiones el atacante intenta nuevas conexiones para mantener
fuera de servicio al servidor
q) Land Attack
Este ataque es común a las plataformas Windows en el cual se envía a un
puerto abierto de un servidor un paquete que contiene la dirección y puerto
fuente igual a la del destino; luego de una cierta cantidad de este tipo de
mensajes provoca la caída del sistema.
r) Uso de diccionarios
Son archivos con millones de palabras, las cuales pueden ser posibles password
de los usuarios, esta forma de obtener información del usuario legítimo se
conoce como fuerza bruta.
s) Broadcast Storm
Se basa en la recolección de una serie de direcciones broadcast, para a
continuación enviar una petición ICMP (ping) a cada una de ellas en serie, varias
veces, falsificando la dirección IP de origen. La petición maliciosa hecha, será
repetida en broadcast por cientos o miles de host enviando una respuesta de
eco a la víctima cuya dirección IP figuraba en el paquete ICMP como que
realizaba el ping.
El Nuke es una ataque que se realiza contra los equipos con windows, que
escuchan por el puerto NetBios (137-139) mediante el envío de paquetes UDP
manipulados
143
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Quienes atacan las redes lo hacen mediante procedimientos estructurados que les
permite ir conociendo a su víctima, utilizando herramientas gratuitas o comerciales.
El proceso es el siguiente:
1) Búsqueda de Información
144
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Notas de prensa
Números de teléfono
Nombres de contactos y direcciones de correo electrónico
Directivas de seguridad o privacidad que indiquen los tipos de mecanismos de
seguridad instalados en la red
Enlaces a otros servidores web relacionados con la Institución
Revisión del código fuente HTML buscando comentarios que le sean
beneficiosos.
Para transferir la zona desde una máquina con sistemas operativos Unix, NT o
W2000 Server o W2003 Server, puede utilizar el cliente nslookup.
Existen herramientas que se pueden utilizar para transferencia de zona como axfr
(http://cr.yp.to/djbdns/axfr-get.html ), que transfiere de forma recursiva información
de zona y crea una base de datos comprimida de la zona y de los archivos huésped
para cada uno de los dominios consultados. Tambien se utiliza Sam Spade.
3) Identificación de la topología
Para identificar la topología de una red y sus posibles rutas de acceso potenciales se
utiliza el programa traceroute para el caso de Unix o tracert para Windows. Estas
herramientas le permiten ver la ruta que sigue un paquete IP desde un host al
siguiente.
145
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Existen herramientas que tienen un sistema gráfico para identificar la topología que
realizan el mismo trabajo que traceroute o tracert.
Para verificar que un sistema esta activo se realiza un barrido ping automatizado en
un rango de direcciones IP y bloques de red, previo al ataque real. La técnica más
simple es enviar paquetes ICMP Echo (tipo 8) para obtener paquetes ICMP Repley
(tipo 0). Para realizar barridos ping se emplea herramientas como las indicadas a
continuación que envían gran cantidad de solicitudes (direcciones IP).
Para solicitar la hora del sistema (timestamp) o la máscara de red (address mask
request), con la finalidad de determinar todas las subredes que se están utilizando y
poder de esta forma dirigir un ataque a una subred específica, se puede utilizar las
herramientas Unix:
Icmpquery(http://www.pestpatrol.com/PestInfo/i/icmpquery_c.asp) o
icmpush (http://packages.qa.debian.org/i/icmpush.html)
146
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Existen muchas herramientas para la exploración de los puertos como las que se
indica en la figura 9.15 y figura 9.16.
147
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Para los atacantes detectar el Sistema Operativo es importante por que existen
vulnerabilidades que son específicas de cada uno de ellos. Esto se debe a que cada
fabricante cuando escribe sus pilas TCP/IP las interpreta a su manera de lo que
viene escrito en el normativo del RFC correspondiente y con estas diferencias es
que se detecta el sistema operativo que se esta utilizando. Los sondeos que se
envían y que permiten distinguir un sistema operativo se indican en la figura 9.17.
TIPO DE CARACTERÍSTICAS
SONDEO
Sondeo FIN Se envía un paquete fin a un puerto abierto. Según el RFC 793
la forma correcta es no responder a este paquete , sin embargo
existen sistemas operativos que responden con FIN/ACK, como
los de Windows
Sondeo Bogus Se coloca una bandera indefinida en la cabecera TCP de un
Flag paquete SYN. Algunos Sistemas Operativos como linux
responden con esta bandera en su paquete de respuesta
Tamaño de En algunos desarrollos de pilas el tamaño de la ventana inicial
ventana inicial es único
TCP
Valor ACK Cuando responden con el ACK algunos sistemas operativos lo
hacen con el mismo número de secuencia recibido y otros lo
hacen con el número de secuencia + 1.
Muestreo del Se busca un patrón en la secuencia inicial elegida por la
número de implementación TCP cuando responde a una petición de
secuencia inicial conexión
Supervisión del bit Algunos sistemas operativos activa el bit de no fragmentar para
148
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
Para la detección del S.O se utiliza herramientas que poseen funciones de rastreo
de pilas que emplean las técnicas antes mencionadas, que nos permite averiguar
rápidamente y con una alta probabilidad cual es el sistema operativo instalado en el
host.
Otra forma que utilizan los atacantes para determinar el sistema operativo es la
observación pasiva del tráfico que circula por la red (http://project.honeynet.org) que
se basa en el tiempo de vida (TTL), tamaño de ventana, bit de no fragmentación,
que es comparado con una base de datos que contiene los atributos indicados para
diferentes sistemas operativos. Existe una herramienta denominada
siphon(http://siphon.datanerds.net/) para realizar esta actividad.
149
Ing. M.Sc. Patricio Moreno C. Integración de Sistemas ESPOCH-FIE-EIS
9.11 EJERCICIOS
1. Utilizando el criptosistema de clave pública RSA, con a=1, b=2. Si p=7 y q=11,
liste cinco valores legales para d. Si p=13, q=31 y d=7 encuentre e.
2. Busque en Internet un caso interesante que involucre la privacidad y escriba un
informe de una página sobre él.
3. Investigue sobre las seguridades físicas y lógicas implantadas en su Institución.
4. ¿Cuáles han sido los ataques que ha sufrido su Institución?
5. ¿Qué tan seguras son las Aplicaciones desarrolladas en su Institución y que
están en la Web?
6. ¿Existen fallas de seguridad en el DNS de su Institución y que se debería hacer
para corregirlos?
7. Copie el sitio Web de su Institución utilizando el Teleport Pro.
8. Identifique los equipos existente en su Institución empleando el solar winds.
150