Trabajo realizado por: Pablo Martín-Moreno Ruiz.
En este trabajo se presentaron diversos temas relativos a la seguridad del sistema informático.
1ª Sección. Amenazas de seguridad.
En esta sección se desarrollan las principales amenazas de seguridad y los peligros asociados a esos requisitos. También nos habla de los distintos componentes de los sistemas de información y los peligros asociados a cada componente.
2ª Sección. Protección.
Se exponen las diferentes maneras de proteger los ficheros. Además se explica la importancia de las cuentas de usuario y que gracias a ellas se pueden proteger los datos y cómo hacerlo.
3ª Sección. Intrusos.
Se explican los diferentes tipos de intrusos que existen y sus técnicas de intrusión. Cómo obtienen las claves de las cuentas de usuario, cómo proteger esas cuentas, y técnicas para detectar a los intrusos que hay en el sistema.
4ª Sección. Virus.
Desarrolla los diferentes tipos de virus, sus fases y cómo trabaja un antivirus.
5ª Sección. Sistemas confiables.
Detalla qué son los sistemas confiables y su utilidad.
Asignatura del Grado en Informática de la Universidad de Granada
sábado, 24 de mayo de 2014
miércoles, 21 de mayo de 2014
iptables
Trabajo realizado por: Rafael Lachica Garrido
En este trabajo se presenta en detalle la herramienta iptables (el cortafuegos por excelencia de Linux) y como caso práctico, se ofrece la lista de reglas para asegurar un servidor.
El trabajo consta de las siguientes secciones:
Primero se presenta y define iptables como una herramienta de cortafuegos que permite filtrar paquetes, además de traducciones de red NAT o mantener registros de log. Fue creado en el 1998 por Rusty Rusell.
A continuación, se muestran las reglas básicas (3 principalmente, OUPTUT, INPUT, ACCEPT) así como las políticas por defecto (denegar todo o aceptar todo).
Posteriormente se detallan las tablas internas: la principal, Filter Table, es la que tiene las cadenas LOCAL_INPUT, OUTPUT, FORWARD,PREROUTING y POSTROUTING.
Además hay destinos que se deben cumplir al final de estas reglas, para lo que se utiliza accept, drop, reject, snat, dnat, log, ulog, masquerade, etc.
Por último, se presentan casos prácticos de configuraciones que se pueden hacer con iptables:
En este trabajo se presenta en detalle la herramienta iptables (el cortafuegos por excelencia de Linux) y como caso práctico, se ofrece la lista de reglas para asegurar un servidor.
El trabajo consta de las siguientes secciones:
1. Introducción
2. Comandos Reglas Básicas
3. Tablas
4. Usos Iptables
5. Redireccionamiento
6. Log y Registro
Primero se presenta y define iptables como una herramienta de cortafuegos que permite filtrar paquetes, además de traducciones de red NAT o mantener registros de log. Fue creado en el 1998 por Rusty Rusell.
A continuación, se muestran las reglas básicas (3 principalmente, OUPTUT, INPUT, ACCEPT) así como las políticas por defecto (denegar todo o aceptar todo).
Posteriormente se detallan las tablas internas: la principal, Filter Table, es la que tiene las cadenas LOCAL_INPUT, OUTPUT, FORWARD,PREROUTING y POSTROUTING.
Además hay destinos que se deben cumplir al final de estas reglas, para lo que se utiliza accept, drop, reject, snat, dnat, log, ulog, masquerade, etc.
Por último, se presentan casos prácticos de configuraciones que se pueden hacer con iptables:
- Bloquear un puerto de entrada (22 ssh), bloquer IP, bloquear por Mac, bloquear salida hacia una web (twitter,facebook,marca), restringir las conexiones en paralelo con conlimit y ataques PING.
- Enrutar o redirigir el trafico de paquetes: Prerouting lo redirecciona a la entrada y postrouting a la salida. Se ha mostrado un ejemplo del uso de prerouting y de enmascaramiento de la IP del balanceador con masquerade.
- Gestión de los logs: se ha mostrado cómo llevar un registro de los sucesos que ocurren en nuestro servidor.
DNS DINÁMICO: Montaje de servidor con No-IP
Trabajo realizado por: Juan Francisco Rodríguez Vílchez y Julio Martínez Martínez-Checa
En este trabajo se ha presentado un servicio que toma la IP dinámica que normalmente tenemos asignada (y que cambia cada poco tiempo) y hace que aparezca como IP fija, de forma que podemos acceder a nuestro servidor aunque su IP no sea fija realmente.
En la primera parte se detalla cómo adquirir un nombre de dominio y los precios de diferentes servicios. A continuación se comenta cómo adquirir una IP pública estática así como precios orientativos.
A continuación se ha mostrado cómo configurar no-ip para disponer de un servidor sin depender de IP fija y gratis. Se ha introducido el concepto de DNS dinámico y cómo adquirirlo. Seguidamente, se han mostrado tres de los DDNS más conocidos y una tabla comparativa entre ellos.
Finalmente, se ha detallado la configuración con No-IP que ha sido el DNS elegido para implementar el servidor y se ha hecho una demo de cómo ha quedado finalmente el servidor con NO-IP correctamente instalado y configurado y con el CMS "OwnCloud".
En este trabajo se ha presentado un servicio que toma la IP dinámica que normalmente tenemos asignada (y que cambia cada poco tiempo) y hace que aparezca como IP fija, de forma que podemos acceder a nuestro servidor aunque su IP no sea fija realmente.
En la primera parte se detalla cómo adquirir un nombre de dominio y los precios de diferentes servicios. A continuación se comenta cómo adquirir una IP pública estática así como precios orientativos.
A continuación se ha mostrado cómo configurar no-ip para disponer de un servidor sin depender de IP fija y gratis. Se ha introducido el concepto de DNS dinámico y cómo adquirirlo. Seguidamente, se han mostrado tres de los DDNS más conocidos y una tabla comparativa entre ellos.
Finalmente, se ha detallado la configuración con No-IP que ha sido el DNS elegido para implementar el servidor y se ha hecho una demo de cómo ha quedado finalmente el servidor con NO-IP correctamente instalado y configurado y con el CMS "OwnCloud".
martes, 20 de mayo de 2014
Final del tema 8 de teoría y comienzo de las presentaciones de trabajos
Esta semana hemos terminado el tema 8 de teoría, en el que hemos estudiado las necesidades de hardware y software de los servidores web de altas prestaciones.
Hemos visto que dimensionar un servidor no es tarea fácil. No hay reglas "fiables" que nos puedan ayudar a determinar las necesidades en cuanto a hardware y software. Sólo podemos hacer una primera estimación y luego aplicar carga y monitorizar todo el tiempo de vida del sistema para comprobar si la configuración es adecuada o hay que modificarla.
Para terminar la teoría, hemos estudiado diferentes productos comerciales de varios fabricantes/desarrolladores (HP, IBM, Dell) así como los desarrollos de Facebook y Google.
Una vez terminada la teoría, hemos comenzado las presentaciones de los trabajos que los alumnos han desarrollado a lo largo del cuatrimestre. En próximas entradas de este blog publicaremos resúmenes de cada trabajo presentado.
Hemos visto que dimensionar un servidor no es tarea fácil. No hay reglas "fiables" que nos puedan ayudar a determinar las necesidades en cuanto a hardware y software. Sólo podemos hacer una primera estimación y luego aplicar carga y monitorizar todo el tiempo de vida del sistema para comprobar si la configuración es adecuada o hay que modificarla.
Para terminar la teoría, hemos estudiado diferentes productos comerciales de varios fabricantes/desarrolladores (HP, IBM, Dell) así como los desarrollos de Facebook y Google.
Una vez terminada la teoría, hemos comenzado las presentaciones de los trabajos que los alumnos han desarrollado a lo largo del cuatrimestre. En próximas entradas de este blog publicaremos resúmenes de cada trabajo presentado.
martes, 6 de mayo de 2014
Resumen del Tema 7: Almacenamiento de datos
1. IntroducciónEl sistema de almacenamiento de datos resulta clave en un sistema web de altas prestaciones, ya que es la parte del sistema donde se guarda la información, ya sea en una BD o en archivos.
2. Tecnologías hardware para BD
3. Tecnología RAID
4. SSA
5. SAN
6. NAS
7. Conclusiones
Todo usuario que llegue al sistema accederá a los datos almacenados, y debemos estar preparados para servir datos a un número creciente de usuarios.
El sistema de almacenamiento y de BD es un punto fundamental en cualquier sistema web actual. Una mala configuración afectará a las prestaciones. Así pues, debemos tener en cuenta los siguientes factores al diseñar la arquitectura de BD:
- El número de sesiones concurrentes en la BD puede afectar al rendimiento de la granja web completa (conexiones costosas).
- El tipo de accesos a la BD también influye.
- Una gran cantidad de accesos a la BD por cada petición HTTP puede sobrecargar la conexión de red entre los servidores web y de BD.
- Las búsquedas que devuelvan resultados muy grandes afectarán al rendimiento de CPU, almacenamiento y red.
- El tamaño total de la BD determinará el espacio para almacenamiento, y el tiempo necesario para hacer copias de seguridad y restaurarlas.
- Conviene utilizar hardware redundante para los servidores.
- Arquitectura de la BD basada en un cluster.
- Una BD se podrá escalar en el futuro si desde el principio se instaló hardware con capacidad de ampliación (CPU, memoria, etc) y se configuró el software de forma adecuada.
RAID (conjunto redundante de discos independientes) es un sistema de almacenamiento que usa múltiples discos duros entre los que se distribuyen o replican los datos. Es un sistema que ofrece mayor integridad, mayor tolerancia a fallos, mayor rendimiento y mayor capacidad. La idea inicial es combinar varios dispositivos en un conjunto que ofrece mayor capacidad, fiabilidad y velocidad que un solo dispositivo de última generación más caro.
Hay diversos métodos de almacenamiento, llamados niveles, con diferente complejidad:
- RAID 0: Conjunto dividido
- RAID 1: Conjunto en espejo
- RAID 5: Conjunto dividido con paridad distribuida
- Arrays de almacenamiento compartido (SSA)
- Área de almacenamiento en red (SAN)
- Almacenamiento conectado a la red (NAS)
Como tarea de clase hemos propuesto la Práctica 6 (opcional, ver el guión el el swad.ugr.es).
Se trata de instalar una máquina virtual con Ubuntu Server. Una vez instalada, añadiremos dos discos virtuales de la misma capacidad.
Hay que configurar ambos discos como un “RAID 1” usando la herramienta mdadm, simular un fallo de disco y comprobar que aún se puede acceder a la información. Documenta el proceso (archivos de configuración, órdenes en línea de comandos, etc.).
Como ayuda, ofrecemos los siguientes tutoriales:
Instalación Ubuntu server con RAID1
http://www.youtube.com/watch?v=DS4uKJ9pfnk
Instalación ubuntu server 12.04 LTS precise pangoline con RAID 1 software
http://www.youtube.com/watch?v=y17EfNs0TBc
Como crear un RAID 1 en Windows
http://www.youtube.com/watch?v=g5I-1IXgwRo
Raid 1 - Sincronización espejo en Windows Server 2008
http://www.youtube.com/watch?v=k92yKphhKYE
viernes, 2 de mayo de 2014
Resumen del Tema 6: Asegurar el sistema web
El éxito de un sitio web depende de la seguridad. Es un aspecto crítico en un sistema web para mantener a salvo de ataques los recursos de la empresa y resulta fundamental para proteger los datos que almacenamos.
Los objetivos de seguridad deben definirse correctamente y se basan en los siguientes conceptos:
La defensa en profundidad implica mantener diferentes capas de seguridad, independientes entre ellas, de forma que si un atacante consigue pasar una, tendrá otra que superar. Así se dificulta en gran medida la consecución final de un ataque.
Se deben diseñar diferentes tipos de acceso y configurar el sistema para facilitar esos accesos exclusivamente, denegando cualquier otro. Para eso, se utiliza principalmente el cortafuegos, que actúa como guardián de la puerta al sistema, permitiendo el tráfico autorizado y denegando el resto.
Concretamente, el cortafuegos tiene varias tareas principales:
http://www.cyberciti.biz/tips/linux-iptables-examples.html
http://bit.ly/17Vqwi3
http://es.tldp.org/Manuales-LuCAS/doc-iptables-firewall/doc-iptables-firewall-html/
Los objetivos de seguridad deben definirse correctamente y se basan en los siguientes conceptos:
- Confidencialidad: las comunicaciones deben ser secretas.
- Integridad: los mensajes enviados deben ser exactamente los recibidos.
- Disponibilidad: la comunicación con cualquier aplicación o servicio de la granja web debe estar disponible en el momento en que sea requerida.
- El concepto de defensa en profundidad (diferentes capas de defensa).
- Establecer políticas de seguridad, incluyendo claves seguras, para todas las cuentas.
- Asegurar un servidor mediante la eliminación de servicios innecesarios y vulnerabilidades.
- Usar un cortafuegos: comprender el funcionamiento de los cortafuegos y los beneficios de estos.
La defensa en profundidad implica mantener diferentes capas de seguridad, independientes entre ellas, de forma que si un atacante consigue pasar una, tendrá otra que superar. Así se dificulta en gran medida la consecución final de un ataque.
Se deben diseñar diferentes tipos de acceso y configurar el sistema para facilitar esos accesos exclusivamente, denegando cualquier otro. Para eso, se utiliza principalmente el cortafuegos, que actúa como guardián de la puerta al sistema, permitiendo el tráfico autorizado y denegando el resto.
Concretamente, el cortafuegos tiene varias tareas principales:
- Bloquear y filtrar paquetes de red
- Controlar protocolos de aplicación
- Control del tráfico de red a nivel de protocolo de red
- Ocultar la verdadera dirección del servidor, actuando como un proxy
- Proteger los servidores y aplicaciones de ataques y uso indebido
http://www.cyberciti.biz/tips/linux-iptables-examples.html
http://bit.ly/17Vqwi3
http://es.tldp.org/Manuales-LuCAS/doc-iptables-firewall/doc-iptables-firewall-html/
Práctica 5: Replicación de BD MySQL
En esta práctica proponemos estudiar dos alternativas:
• copiar archivos de copia de seguridad de la BD mediante ssh
• clonar BD entre máquinas mediante una configuración maestro-esclavo
Esta última opción (tener un servidor de backup con MySQL actuando como esclavo de replicación) es una solución asequible y no consume demasiado ancho de banda en un sitio web de tráfico normal, además de que no afecta al rendimiento del maestro en el sistema en producción. Sin embargo, la configuración tanto del maestro como del esclavo son un poco más complejas.
Por otro lado, MySQL ofrece la una herramienta para clonar fácilmente las BD que tenemos en nuestra máquina: mysqldump. En la siguiente URL se detalla cómo utilizarla:
http://dev.mysql.com/doc/refman/5.0/es/mysqldump.html
Es una opción que funciona perfectamente, pero es algo que realiza un operador a mano. MySQL tiene la opción de configurar el demonio para hacer replicación de las BD sobre un esclavo a partir de los datos que almacena el maestro. Se trata de un proceso automático que resulta muy adecuado en un entorno de producción real. Implica realizar algunas configuraciones, tanto en el servidor principal como en el secundario. En las siguientes URLs se detallan estas configuraciones:
http://www.rackspace.com/knowledge_center/article/mysql-replication-masterslave
http://www.howtoforge.com/mysql_database_replication
http://aciddrop.com/2008/01/10/step-by-step-how-to-setup-mysql-database-replication/
Esta última parte de la práctica se propone exclusivamente como tarea opcional.
Suscribirse a:
Entradas (Atom)


+23.46.16.png)



