1. ADMINISTRACIÓN DE REDES
REPORTE DE
SEGURIDAD
<ATAQUES A SERVIDORES>
Alumnos:
Jorge Enrique García Aragón
Antonio Ponciano Hernández
2. INTRODUCCIÓN A LOS ATAQUES
Cualquier equipo conectado a una red informática puede ser
vulnerable a un ataque.
Un "ataque" consiste en aprovechar una vulnerabilidad de un
sistema informático (sistema operativo, programa de software o
sistema del usuario) con propósitos desconocidos por el operador
del sistema y que, por lo general, causan un daño.
Los ataques siempre se producen en Internet, a razón de varios
ataques por minuto en cada equipo conectado. En su mayoría, se
lanzan automáticamente desde equipos infectados (a través
de virus, troyanos, gusanos, etc.) sin que el propietario sepa lo
que está ocurriendo. En casos atípicos, son ejecutados por piratas
informáticos.
Para bloquear estos ataques, es importante estar familiarizado
con los principales tipos y tomar medidas preventivas.
3. Los ataques pueden ejecutarse por diversos motivos:
Para obtener acceso al sistema.
Para robar información, como secretos industriales o propiedad
intelectual.
Para recopilar información personal acerca de un usuario.
Para obtener información de cuentas bancarias.
Para obtener información acerca de una organización (la
compañía del usuario, etc.).
Para afectar el funcionamiento normal de un servicio.
Para utilizar el sistema de un usuario como un "rebote" para un
ataque.
Para usar los recursos del sistema del usuario, en particular
cuando la red en la que está ubicado tiene un ancho de banda
considerable.
4. TIPOS DE ATAQUES
Los sistemas informáticos usan una diversidad de componentes, desde
electricidad para suministrar alimentación a los equipos hasta el programa
de software ejecutado mediante el sistema operativo que usa la red.
Los ataques se pueden producir en cada eslabón de esta cadena, siempre
y cuando exista una vulnerabilidad que pueda aprovecharse. El esquema
que figura a continuación repasa brevemente los distintos niveles que
revisten un riesgo para la seguridad:
5. - Robo de información mediante la interceptación de mensajes
Ataques que tratan de interceptar los mensajes de correo o los
documentos que se envían a través de redes de ordenadores como
Internet, vulnerando de este modo la confidencialidad del sistema
informático y la privacidad de sus usuarios.
- Modificación del contenido y secuencia de los mensajes
transmitidos
En estos ataques los intrusos tratan de reenviar mensajes y
documentos que ya habían sido previamente transmitidos en el
sistema informático, tras haberlos modificado de forma maliciosa (por
ejemplo, para generar una nueva transferencia bancaria contra la
cuenta de la víctima del ataque). También se conocen como “ataques
de repetición” (“replay attacks”).
6. ATAQUES DE SUPLANTACIÓN DE LA IDENTIDAD
IP Spoofing
Los ataques de suplantación de la identidad presentan varias
posibilidades, siendo una de las más conocidas la denominada “IP
Spoofing” (“enmascaramiento de la dirección IP”), mediante la cual un
atacante consigue modificar la cabecera de los paquetes enviados a
un determinado sistema informático para simular que proceden de un
equipo distinto al que verdaderamente los ha originado. Así, por
ejemplo, el atacante trataría de seleccionar una dirección IP
correspondiente a la de un equipo legítimamente autorizado para
acceder al sistema que pretende ser engañado.
Los propietarios de las redes y operadores
de telecomunicaciones podrían evitar en gran
medida el “IP Spoofing” implantando filtros
para que todo el tráfico saliente de sus redes
llevara asociado una dirección IP de la propia
red desde la que se origina el tráfico.
7. DNS Spoofing
Los ataques de falsificación de DNS pretenden provocar un direccionamiento
erróneo en los equipos afectados, debido a una traducción errónea de los
nombres de dominio a direcciones IP, facilitando de este modo la redirección
de los usuarios de los sistemas afectados hacia páginas Web falsas o bien la
interceptación de sus mensajes de correo electrónico. Para ello, en este tipo
de ataque los intrusos consiguen que un servidor DNS legítimo acepte y
utilice información incorrecta obtenida de un ordenador que no posee
autoridad para ofrecerla
8. SMTP Spoofing
El envío de mensajes con remitentes falsos (“masquerading”) para
tratar de engañar al destinatario o causar un daño en la reputación del
supuesto remitente es otra técnica frecuente de ataque basado en la
suplantación de la identidad de un usuario. De hecho, muchos virus
emplean esta técnica para facilitar su propagación, al ofrecer
información falsa sobre el posible origen de la infección. Asimismo,
este tipo de ataque es muy utilizado por los “spammers”, que envían
gran cantidad de mensajes de “correo basura” bajo una identidad
falsa.
9. Modificaciones del tráfico y de las tablas de enrutamiento
Los ataques de modificación del tráfico y de las tablas de enrutamiento
persiguen desviar los paquetes de datos de su ruta original a través de
Internet, para conseguir, por ejemplo, que atraviesen otras redes o equipos
intermedios antes de llegar a su destino legítimo, para facilitar de este modo
las actividades de interceptación de datos. Así, la utilización del
encaminamiento fuente (“source routing”) en los paquetes IP permite que un
atacante pueda especificar una determinada ruta prefijada, que podría ser
empleada como ruta de retorno, saltándose todas las reglas de enrutamiento
definidas en la red. De este modo, utilizando además el “IP Spoofing”, un
atacante se podría hacer pasar por cualquier máquina en la que el destino
pueda confiar, para recibir a continuación los datos correspondientes al
equipo que está suplantando.
10. Conexión no autorizada a equipos y servidores
Existen varias posibilidades para establecer una conexión no autorizada a
otros equipos y servidores, entre las que podríamos destacar las siguientes:
• Violación de sistemas de control de acceso.
• Explotación de “agujeros de seguridad” (“exploits”).
• Utilización de “puertas traseras” (“backdoors”), conjunto de instrucciones no
documentadas dentro de un programa o sistema operativo, que permiten
acceder o tomar el control del equipo salt.
• Utilización de “rootkits”, programas similares a los troyanos, que se instalan
en un equipo reemplazando a una herramienta o servicio legítimo del sistema
operativo. Los “rootkits”, además de cumplir con las funciones de la
herramienta o servicio que reemplazan en el equipo para no despertar
sospechas, incorporan otras funciones ocultas que facilitan, entre otras cosas,
el control remoto del equipo comprometido.
12. INYECCIÓN SQL
La inyección SQL consiste en la modificación del comportamiento de
nuestras consultas mediante la introducción de parámetros no
deseados en los campos a los que tiene acceso el usuario.
Este tipo de errores puede permitir a usuarios malintencionados
acceder a datos
a los que de otro modo no tendrían acceso y, en el peor de los casos,
modificar el comportamiento de nuestras aplicaciones.
13. Se dice que existe o se produjo una inyección SQL cuando, de alguna
manera, se inserta o "inyecta" código SQL invasor dentro del código
SQL programado, a fin de alterar el funcionamiento normal del
programa y lograr así que se ejecute la porción de código "invasor"
incrustado, en la base de datos.
Este tipo de intrusión normalmente es de carácter malicioso, dañino o
espía, por tanto es un problema de seguridad informática, y debe ser
tomado en cuenta por el programador de la aplicación para poder
prevenirlo. Un programa elaborado con descuido, displicencia o con
ignorancia del problema, podrá resultar ser vulnerable, y la seguridad
del sistema (base de datos) podrá quedar eventualmente
comprometida.
La intrusión ocurre durante la ejecución del programa vulnerable, ya
sea, en computadores de escritorio o bien en sitios Web, en éste
último caso obviamente ejecutándose en el servidor que los aloja.
14. ¿COMO EVITARLO?
Y ahora lo más importante, ¿qué podemos hacer para evitar estos
errores?
Pues hay varios sistemas para evitarlo. Por ejemplo podemos filtrar
las entradas de los usuarios reemplazando la aparición de „ por „‟ (dos
comillas simples) e incluso evitando que los usuarios puedan pasar
caracteres como / “ „ o cualquier otro que se nos ocurra que puede
causar problemas. Estos filtros pueden ser tan sencillos como utilizar
la sentencia replace de Visual Basic:
15. Otro factor importante en cuanto a la seguridad es limitar al máximo
los permisos del usuario que ejecuta estas sentencias para evitar
posibles problemas. Por ejemplo utilizando un usuario distinto para las
sentencias SELECT, DELETE, UPDATE y asegurándonos que cada
ejecución de una sentencia ejecute una sentencia del tipo permitido.
Por supuesto utilizar el usuario „sa‟ o uno que pertenezca al rol
„db_owner‟ para ejecutar las sentencias de uso habitual de la base de
datos debería quedar descartado.
También deberíamos validar los datos que introduce el usuario
teniendo en cuenta por ejemplo la longitud de los campos y el tipo de
datos aceptados. Esto lo podemos hacer en el cliente con los
RegularExpressionValidator o con los CustomValidators del VB.NET.
De todos modos si la seguridad es importante todas estas
validaciones hay que repetirlas en el servidor.
Por ultimo, y ya que estamos pensando en entornos Web, podemos
programar en ASP.NET y utilizar siempre que sea posible las clases
System.Web.Security.FormsAuthentication para que los usuarios
entren en nuestras aplicaciones Web.
16. SNIFFER
Un SNIFFER es un programa informático que registra la
información que envían los periféricos, así como la actividad
realizada en un determinado ordenador.
Supone una amenaza grave para la seguridad no sólo de una
máquina sino también de toda una red. Gran cantidad de tráfico
confidencial viaja en claro, sin ningún tipo de cifrado, por
las redes de la mayoría de las empresas. Ese es el entorno
ideal para un sniffer, que puede acceder de forma transparente
a esa información, y permitir que alguien abuse de su
conocimiento. Por eso es muy importante realizar búsquedas
periódicas de SNIFFERS dentro de las redes de cualquier
empresa, no sólo por el daño que puedan causar, sino también
porque encontrarlos es señal de que se ha producido y
explotado una grave brecha y hay que tomar medidas
inmediatas.
17. Existen casos en los que un sniffer no es peligroso. A veces,
explorando una red en busca de SNIFFERS se detectará que hay
algunos, por ejemplo, en máquinas que dependen del
departamento de administración de redes. Esto puede ocurrir
porque, en realidad, un sniffer no se diferencia demasiado de una
herramienta de monitorización y diagnosis del tráfico de red que
puede estar siendo legítimamente utilizada por personal encargado
de la administración de la red. Otros dispositivos,
especialmente routers y hub, suelen producir falsos positivos que
hay que tener en cuenta.
18. BUSQUEDA DE SNIFFERS
Existen diferentes aproximaciones al problema de cómo detectar un
SNIFFERS, y que éstas varían según se tenga acceso local a la
máquina, o bien haya que descubrirlos desde alguna máquina
remota. El objetivo que la mayoría de pruebas tratan de conseguir
es que la máquina que tiene la tarjeta de red en modo promiscuo se
traicione a sí misma, revelando que ha tenido acceso a información
que no iba dirigida a ella y que, por tanto, tiene un sniffer. Éste es
un objetivo ambicioso y complejo que puede resultar imposible.
A veces resulta completamente imposible detectar un sniffer. Por
ejemplo, si el sniffer ha sido diseñado exclusivamente para esta
tarea (generalmente dispositivos hardware), entonces no devolverá
jamás un paquete, no establecerá nunca una comunicación, sino
que permanecerá siempre en silencio y su detección remota será,
simplemente, imposible. La detección de este tipo de SNIFFERS
sólo puede hacerse por inspección directa de los dispositivos
conectados a la red.
20. UNTANGLE
Cuando pensamos en proteger la red de nuestra empresa son
muchos los palos que tenemos que tocar, virus, malware, filtrado
web, spam, phishing y demás amenazas a las que hay que cortar el
paso intentando además no limitar las posibilidades que nos
permite el trabajo en red. Ya hemos comentado que la mejor forma
de hacerlo es proteger la entrada, poner un “portero”, y esa es
precisamente la función de Untangle, un paquete de software
concebido para la protección perimetral de nuestra red.
21. Más que un programa, Untangle es en realidad una recopilación de
programas de seguridad unificados bajo una interfaz común que nos
permite configurar y manejar la suite de forma sencilla. Podemos
instalarlo en un equipo que actúe como servidor independiente que
únicamente ejecuta esta solución o utilizarlo como un programa en un
ordenador de escritorio con Windows XP.
En Untangle categorizan las funciones de su solución en tres apartados:
productividad, seguridad y acceso remoto.
Productividad: Filtrado web para bloquear el acceso a las páginas
que queramos, bloqueo de spam antes de que llegue al usuario y
control de protocolos, para impedir el uso de aplicaciones tipo eMule o
aquellas que hacen uso de determinados puertos que no queremos
dejar al descubierto.
Seguridad: Bloqueo de virus, spyware y phishing, impidiendo que
lleguen hasta los equipos y puedan infectarlos. No elimina ningun
virus, simplemente impide su entrada en la red de la empresa.
Acceso remoto: Acceso remoto a la red de la empresa mediante red
privada virtual, utilizando OpenVPN, conexión remota al escritorio de
los equipos dentro de la red local y una alternativa de acceso vía web a
servicios internos de la red.
22. Es una solución bastante completa que podemos bien descargar
gratuitamente, en cuyo caso sólo se incluyen las aplicaciones de
código abierto (todas menos el portal de acceso web) o suscribirnos
por una cuota mensual o anual que añade soporte técnico y funciones
de gestión avanzadas para políticas de acceso, integración con Active
Directory y copias de seguridad remotas de la configuración.
23. PFSENSE
PfSense es una distribución basada en FreeBSD, derivada de
m0n0wall. Su objetivo principal es tener un Firewall fácil de configurar,
a través de un interfaz amigable con el usuario y que se pudiera
instalar en cualquier PC, incluyendo PCS de una sola tarjeta.
Se trata de una solución muy completa, que esta licenciada bajo BSD
lo que significa que es de libre distribución.
OpenBsd considerado el sistema operativo más seguro del mundo
tiene presente packet filter (PF) (filtro de paquetes sistema de
OpenBsd para filtrar el trafico tcp/ip proporciona además control de
ancho de banda y priorización de paquetes.) como estándar desde
noviembre de 2004.
24. El proyecto PfSense se inició en 2004 como un tenedor de la
m0n0wall proyecto por Chris Buechler y Ullrich Scott. [4] Desde el
principio, se centró en las instalaciones de PC completas, en
comparación con el enfoque m0n0wall en hardware embebido. Sin
embargo, PfSense también está disponible como una imagen
incrustada para CompactFlash basados en instalaciones. La versión
1.0 del software fue lanzado el 4 de octubre de 2006. La versión 2.0
fue lanzado el 17 de septiembre de 2011.
25. PfSense está destinado a ser instalado en un ordenador personal y se
caracteriza por su fiabilidad y que ofrece características que sólo se
encuentran a menudo en costosos servidores de seguridad comerciales.
Se puede configurar y actualizar a través de una interfaz basada en la
web, y no requiere conocimientos del subyacente sistema FreeBSD de
manejar. PfSense se suele implementar como un servidor de seguridad
perimetral, router, punto de acceso inalámbrico , DHCP servidor DNS del
servidor, y como una VPN punto final.
El nombre se deriva del hecho de que ayuda a que el OpenBSD
herramienta de filtrado de paquetes pf tener más sentido para los
usuarios no técnicos.