martes, 11 de noviembre de 2014

Inicio


INSTITUTO TECNOLÓGICO DE SAN JUAN DEL RÍO


UNIDAD 4
SEGURIDAD EN REDES IP


PROFESORA: ARIOPAJITA ROJO LÓPEZ


ALUMNA: DOMINGO RUBIO ALONDRA


GRUPO A


SEMESTRE AGOSTO-DICIEMBRE


lunes, 10 de noviembre de 2014

Actividad 1

Actividad 1

Menciona 10 recomendaciones que contribuyen a la  seguridad de los sistemas operativos.

  • ·         Linux para servidores
  • ·         Actualizaciones
  • ·         Respaldo de datos
  • ·         Sistema operativo original
  • ·         Antivirus
  • ·         Firewall
  • ·         Puntos de restauración
  • ·         Accesos restringidos
             

      Reflexión

Hay que tomar en cuenta que la seguridad es de gran importancia para los sistemas operativos, ya que de estos depende el resto del hardware utilizado en el equipo, y para esto hay que realizar mantenimiento preventivo y correctivo al mismo.



domingo, 9 de noviembre de 2014

Actividad 2

Actividad 2

Consulta la siguiente liga. Expresa su idea para brindar la seguridad de un sistema operativo. Suponer que es un producto a vender.




BROSMO

Calidad al mejor precio…

Le ayudamos a tener una mejor seguridad dentro su Sistema, ya que contamos con lo que usted necesita.
Realizamos todo tipo de mantenimiento a su equipo, desde instalación de un antivirus hasta el monitoreo y control de su red.
Algunos de estos servicios son:
Generación de copias de seguridad periódicas. Hacer copias de seguridad, o respaldos, de forma periódica es una muy buena práctica, ya que permitirá recuperar la información ante un incidente que la perjudique, borre o corrompa.
Verificar las aplicaciones y sus permisos. A la hora de instalar aplicaciones es necesario considerar dos puntos: su procedencia y los permisos que requieren. Es recomendable utilizar repositorios oficiales y confiables para las descargas.
Realización de actualizaciones de forma periódica. Las actualizaciones son fundamentales, ya que en algunas ocasiones definen si el equipo es vulnerable o no. A través de éstas, los programadores corrigen errores, que podrían ser fallas de seguridad mediante las cuales un atacante podría ingresar al sistema, vulnerarlo y robar información.
Configurar el acceso y bloqueo. Para evitar que terceros accedan a la información resulta importante utilizar una contraseña. La misma puede ser: clave numérica, contraseña numérica de cuatro dígitos; clave alfanumérica, es decir, frases con números, letras y caracteres especiales; o bien una clave de patrón, generar un patrón uniendo puntos.
Análisis con Firewall. El Firewall realiza una tarea semejante a la de un antivirus, el cual debe estar siempre activo para bloquear aquellos posibles ataques que puedan poner en riesgo la seguridad de la información.
Instalación de antivirus. El antivirus bloqueará aquellos programas, archivos, páginas, etc., que pongan en riesgo al equipo, es por ello que se debe realizar un análisis periódicamente y de esta forma eliminar todo aquello que perjudique la integridad del sistema.
Control de acceso. Para esto le implementamos medidas de seguridad y control de acceso a su sistema con claves y premisos asignados a cada uno de los usuarios


Para que su sistema opere con de la mejor manera, nosotros somos los indicados.






Reflexión

Las empresas que brinden este tipo de servicios deben aplicar varios conocimientos y hacer buen uso de ellos, ya que el usuario puede dar información confidencial y se pueda perjudicar con esto un sistema o empresa. Lo encargados de realizar este tipo de actividades debe hacer uso de la honestidad en su trabajo.



sábado, 8 de noviembre de 2014

Actividad 3

Actividad 3

Realizar La evaluación de un sistema operativo tomando como base la guía propuesta.




Evaluación de un sistema operativo
Windows 8

Riesgo
Tener que proporcionar correo-e para poder recibir mensajes sin tener abierto el correo, pero de esta forma cualquier persona puede ver los correos recibidos.
Impacto
·         Los requisitos de hardware necesarios para instalar Windows 8 no los poseen muchos de nuestros equipos.
·         Windows 7 y Vista admiten compatibilidad con aplicaciones hechas para sistemas anteriores, en Windows 8 debido a sus características es imposible.
·         Windows 8 exige casi constantemente una conexión a internet para cualquier tarea, con cuadros de alertas que pueden ser desesperantes al trabajar offline.
·         El que este acostumbrado a usar en sus tareas programas del software libre por las características de personalización y control total que toma sobre ellas, en Windows 8 no tendrá esa opción.
·         No hay un botón de apagado visible.
Vulnerabilidad
·         Softwares incompatibles
·         Mantener Actualizaciones activadas
·         Tener sincronizado el correo-e con Windows


Reflexión

Todos los sistemas operativos que existen tienen ventajas y desventajas, que son características propias de cada uno, estas pueden beneficiar o no al usuario y este debe hacer un buen uso de esto.



viernes, 7 de noviembre de 2014

Actividad 4

Actividad 4

Lista 5 vulnerabilidades de las bases de datos según los estadísticos de seguridad.


1.- Nombre de usuario/password en blanco, por defecto o débil.

No es nada raro conseguir en el día a día pares de usuario/password como sa/1234, esta es la primera línea de defensa y un punto fundamental de la armadura de nuestras bases de datos. Es importante hacer revisiones periódicas de credenciales.

2.- Inyecciones SQL.

Cuando la plataforma de base de datos falla para desinfectar las entradas, los atacantes son capaces de ejecutar las inyecciones SQL de forma similar a como lo hacen en los ataques basados en Web, lo que les permite elevar sus privilegios y obtener acceso a una amplia gama de funcionalidades. Muchos de los proveedores han dado a conocer soluciones para evitar estos problemas, pero no servirá de mucho si los parches no se aplican o no se toman los correctivos correspondientes.

3.- Preferencia de privilegios de usuario por privilegios de grupo.

Las organizaciones necesitan garantizar que los privilegios no se les den a los usuarios por asignación directa quien finalmente los recogerá como conserjes recogen las llaves en sus llaveros. En cambio, Rothacker recomienda que los usuarios sólo reciban privilegios por parte de grupos o funciones y sean manejados colectivamente. De esta forma será más fácil eliminar derechos a un usuario con simplemente eliminarlo del grupo, sin que queden derechos ocultos u olvidados asignados a dicho usuario.

4.- Características de base de datos innecesariamente habilitadas.

Cada instalación de base de datos viene con paquetes adicionales de todas las formas y tamaños que en su mayoría rara vez son utilizados por una sola organización. Dado que el nombre del juego en materia de seguridad de base de datos es el de reducir las superficies de ataque, las empresas necesitan buscar los paquetes que no utilizan y desactivarlos. Esto no sólo reduce los riesgos de ataques (0)day a través de estos vectores, sino que también simplifica la gestión de parches.

5.- Configuración de seguridad ineficiente.

Del mismo modo, las bases de datos tienen una gran cantidad opciones de configuración y consideraciones diferentes a disposición de los administradores para ajustar el rendimiento y funcionalidades mejoradas. Las organizaciones necesitan conseguir y desactivar aquellas configuraciones inseguras que podrían estar activadas por defecto para mayor comodidad de los DBA o desarrolladores de aplicaciones. Las configuraciones de bases de datos en producción y desarrollo deben ser radicalmente diferentes.

6.- Desbordamientos de búfer.

Otro favorito de los piratas cibernéticos, las vulnerabilidades de desbordamiento de búfer, son explotadas por las inundaciones de las fuentes de entrada con valores diferentes o muy superiores a los que aplicación espera - por ejemplo, mediante la adición de 100 caracteres en un cuadro de entrada pidiendo un número de Seguro Social. Los proveedores de bases de datos han trabajado duro para solucionar los problemas técnicos que permiten estos ataques se produzcan. Esta es otra razón por la cual los parches son tan importantes.

7.- Escalada de privilegios

Del mismo modo, las bases de datos con frecuencia exponen vulnerabilidades comunes que permiten a un atacante escalar privilegios en una cuenta de privilegios bajos hasta tener acceso a los derechos de un administrador. A medida que estas vulnerabilidades son descubiertas, los proveedores las corrigen y los administradores deben mantener las actualizaciones y parches actualizados.

8.- Ataque de denegación de servicio

El caso del SQL Slammer es siempre un ejemplo muy esclarecedor de cómo los atacantes pueden utilizar las vulnerabilidades de los DBMS para derribar los servidores de base de datos a través de un alto flujo de tráfico. Aún más ilustrativo es el hecho de que cuando el Slammer atacó en 2003, un parche ya estaba por ahí que se dirigió a corregir la vulnerabilidad por la que se generó su ataque. Hoy en día siete años más tarde, SQL Slammer todavía está dando dolores de cabeza en los servidores no actualizados.

9.- Bases de datos sin actualizar.

Esto podría sonar repetitivo, pero vale la pena repetirlo. Los administradores de base de datos a veces no aplican un parche en el momento oportuno porque tienen miedo de este dañe sus bases de datos. Pero el riesgo de ser hackeado hoy es mucho más alto que el riesgo de aplicar un parche que descomponga la base de datos. Además existen ante esos temores los backups y las réplicas. Quizás este punto pudo haber sido válido hace cinco años, pero los proveedores ahora
Sin encriptar los datos sensibles en reposo y en movimiento

10.- Datos sensibles sin cifrar, tanto en reposo como en movimiento.

Tal vez sea una obviedad, pero las organizaciones no deben almacenar los datos sensibles en texto plano en una tabla. Y todas las conexiones a la base de datos siempre que manejen datos sensibles deben utilizar el cifrado.



Reflexión:

Con esta actividad aprendí sobre las vulnerabilidades de las bases de datos, de las cuales tenía poco conocimiento, y esto me puede servir en un futuro para aplicar seguridad a una base dependiendo del tipo de ataque que puede estar expuesta.


        

jueves, 6 de noviembre de 2014

Actividad 5

Actividad 5

Lista 5 aplicaciones web que utilizan esquemas de seguridad en Internet. Explica el método utilizado en cada uno de estos y/o representarlos según el esquema.

1.-Servidor de Base de Datos. Proporciona acceso a BD (Bases de Datos). Fundamental para toda aplicación web importante.
Seguridad: No ejecutar al servidor como Root, restringir el acceso remoto.



2.- Java Script. Diseñado para añadir interactividad en una página web, tiene acceso sólo a la información de contenido en la web que está accediendo.
Seguridad: Neutraliza el código malicioso, Servicios de correo web.



3.- Lenguajes de servidor. Aumenta la velocidad de los documentos HTML y se comunica con BD.
Seguridad: Protección de código fuente para que pueda ser utilizado, BD sensibles.



4.- Servidor web. Proporciona muchos servicios pero no ocupa todos, es mejor deshabilitarlos.
Seguridad: Establecer permisos necesarios adecuados para los ficheros del servidor.



5.- Aplicaciones cliente/servidor. Utilizan el protocolo HTTP para interactuar con todos los usuarios y otros sistemas, solo para usuarios que utilizan el navegador.
Seguridad: Componentes de confianza, validaciones.



Reflexión:

Esto de alguna manera nos sirve para generar seguridad en nuestras bases de datos, las cuales están en riesgo si no se le aplica seguridad. Para poder saber qué tipo de seguridad requiere nuestra base de datos en necesario saber que vulnerabilidades tiene.

miércoles, 5 de noviembre de 2014

Práctica 1

Práctica 1
Práctica No. 1
Práctica SQL Server

Objetivos
Ø  Identificar la presencia de un servidor SQL Server mediante el uso de software de scanner de puertos.
Ø  Efectuar un ataque por diccionario para encontrar la contraseña de la cuenta “sa”.
Ø  Conectarse y controlar en forma remota el servidor.
Ø  Instalar un servidor TFTP en la computadora atacante.
Ø  Ejecutar comandos del sistema operativo desde SQL Server.

Introducción:
Basado en pruebas de infiltración reales que hemos efectuado sobre nuestros clientes desde internet. La metodología también es muy similar a la usada para hackear a Microsoft cuando le robaron parte del código fuente de Windows XP. En este incidente, uno de los programadores de bases de datos tenía una contraseña sencilla en su equipo, que fue explotada por los atacantes como se describe a continuación.

Procedimiento
Ø  Instalación de MySQL. Damos la salida al puerto 1433 de SQL.

Ø  Creamos la base de datos “adm” en MySQL consola.


Ø  Creamos el usuario “BERNA” con “pass_BERNA” como contraseña.
GRANT SELECT, INSERT ON test.* TO 'BERNA'@'localhost' IDENTIFIED BY 'pass_BERNA';

Ø  Dentro del cmd introducimos el comando ipconfig para ver la IP de la PC.

Ø  Instalación de la herramienta SuperSacn.

Ø  Interfaz se SuperScan. Insertamos la IP y la escaneamos después nos muestra el puerto de SQL.

Ø  Ejecutamos la herramienta SQLdict

Ø  Instalación de MySQL server Management Studio Express.

Ø  Llenar los campos del Nombre del servidor con la red que escanearemos.

Ø  Instalación y ejecución de SolarWinds-TFTP-Server.exe.

Ø  Aceptamos todas las opciones por default.

Ø  Interfaz gráfica de Server Solar.

Ø  Seleccionamos la pestaña Security y activamos la opción Transmit and receive files server solar

Ø  Se muestra el usuario encriptado.




Base de datos utilizada en la práctica.
drop database adm;
create database adm;
use adm;
create table alumnos (no_control varchar(8) primary key, ape_pat_alu varchar(30) not null, ape_mat_alu varchar(30)not null, nom_alum varchar(30) not null);

create table GRUPOS
(
   ID_GRUPO             tinyint                        not null,
   NOM_GRUPO            varchar(30)                    null,
   STATUS_GRUPO         bit                            null,
   constraint PK_GRUPOS primary key clustered (ID_GRUPO)
);

create table docente
(
   ID_docente             tinyint                        not null,
   NOM_docente          varchar(30)                    null,
   area         bit                            null,
   constraint PK_GRUPOS primary key clustered (ID_docente)
);

insert into alumnos values("13590088","CAMPUZANO","GARCIA","JUAN");
insert into alumnos values("13590067","PONCE","PONCE","JOSE");
insert into alumnos values("13590083","PEREZ","PONCE","BERNARDO");
insert into alumnos values("13590091","LOVATON","DOMINGO","MARIBEL");
insert into alumnos values("13590079","HERNANDEZ","RUBIO","NERY");
insert into alumnos values("13590074","FIGUEROA","BAUTISTA","FERNANDA");

insert into grupos values(1,"alumnos",1);
insert into grupos values(2,"docentes",1);
insert into grupos values(3,"administrativos",1);
insert into grupos values(4,"jefe de carrera",1);
insert into grupos values(5,"administrador de la BD",1);

insert into docente values(1,"rogelio",1);
insert into docente values(2,"sandra",1);
insert into docente values(3,"leticia",1);
insert into docente values(4,"wilfrido",1);


Reflexión:

Con esta práctica pudimos obtener acceso a una base de datos quitando la contraseña usando las herramientas propuestas. Aunque algunas de estas herramientas pudieron ser un riesgo para la computadora, ya que fue detectada como virus, la práctica fue realizada con éxito.

martes, 4 de noviembre de 2014

Práctica 2

Práctica 2
Inyección SQL

¿Qué es SQL inyección? Inyección de Código SQL es una vulnerabilidad presente por lo general en aplicaciones web que permite a un atacante enviar particiones modificadas para interactuar con la base de datos que usa la aplicación.

Listado de comandos básicos en SQL:
·         Grant  Utilizado para otorgar privilegios
·         Revoke            Utilizado para eliminar privilegios
·         Create Utilizado para crear nuevos elementos (tablas,idices…)
·         Drop   Utilizado para eliminar elementos
·         Alter    Utilizado para alterar campos de las tablas
·         Select  Utilizado para consultar registros de una tabla y comprobar que satisfagan una condición determinada
·         Insert   Utilizado para cargar lotes de datos en la base de datos
·         Update Utilizado para cambiar valores de registros y campos
·         Delete  Elimina registros de una tabla de la base de datos

Lista de cláusulas básicas en SQL:
·         From   Selecciona la tabla sobre la cual se va a operar (o sobre sus registros)
·         Where  Especifica las condiciones que se deben cumplir los registros que se seleccionan
·         Group by        Utilizado para separar registros en grupos
·         Having            Especifica las condiciones que cumple cada grupo
·         Order by         Ordena registros seleccionados

Ejecutar insertarHorariosTrabajadores.exe y se verá el programa de inicio.
Base de datos para probar SQL inyección:
Veamos primero si la web en cuestión tiene este tipo de sentencias en su url: “celebraciones.asp?ID=”, “libros.php?view=”, o cualquier otro tipo parecido. En muchas ocasiones, introduciendo ahí nuestro código inyectado empieza el ataque, pero esto lo explicaremos más adelante.
Nota1: no siempre que tenga este tipo de sentencias es vulnerable
Nota2: si ves ASP, ASPX, etc., piensa en que en un elevado tanto por ciento de los casos, la base de datos será SQL.
Nota3: Para comenzar el ataque, también podemos buscar formularios ligados a una consulta a una base de datos SQL.
Si, con SQL inyección podemos “saltarnos” algunos logueos pero el SQL Inyección es mucho más, como se explicó al comienzo: podemos borrar una base de datos, cambiarle el nombre a las tablas o hacer mil maldades. Imaginad por ejemplo una página de venta de teléfonos móviles, podemos hacer que la persona que se nos ocurra de la BD compre 1000 teléfonos, por ejemplo.
1.- Ataque blind SQL Inyección.
El BLIND SQL Inyección se considera un ataque a ciegas, es decir, sin conocer nada sobre el server (Versión de SQL, nombre de las tablas, numero de tablas, etc, que deberemos saber para concluir el ataque y para saber defendernos.)

2.- Sacando el número de columnas de la BD
Bien para sacar el número de columnas de la base de datos (BD, DB), vamos a inyectar un código que cause un conflicto al llegar a un numero de columna, el cual no se encuentra en la base de datos.
En este caso, tenemos ya que la sentencia SQL que realiza la consulta el del tipo:
“SELECT * FROM TRABAJADOR WHERE [clave personal]='” & pass & “‘ AND TRABAJADOR='” & usuario & “‘”


Conclusiones
Lo más sensato que debemos tener en cuenta al prevenir estos ataques es filtrar el carácter ‘ (comilla simple), si hablamos a nivel de web, hacerlo siempre en cliente y servidor, si hablamos en un entorno de red local, filtrar la entrada del campo en el programa.

A nivel de web, si sólo se filtra en el cliente, es fácil saltarse la validación y provocar un fallo del estilo de los que hemos visto, para extraer información, de ahí la necesidad de hacerlo en el cliente.

lunes, 3 de noviembre de 2014

Práctica 3 Escenario 1

Práctica 3 Escenario 1
Práctica 3 IPSec

Topología

Una vez configuradas todas las interfaces de los routers, se configuró las rutas por RIPV2. Se hiso ping para comprobar conectividad de extremo a extremo.
Una vez realizado esto, se configuró el escenario 1 “Configuración de un VPN”.
Dentro de la interfaz del Router0 se ingresaron los comandos siguientes:
Router(config)#crypto isakmp enable
Router(config)#crypto isakmp policy 1
Router(config- isakmp)#autentification pre-shere
Router(config- isakmp)#encryption aes
Router(config- isakmp)#hash sha
Router(config- isakmp)#gruop 2
Router(config- isakmp)#exit
Router(config)# crypto isakmp key VPNPASS add PEER 0.0.0.0
Router(config)# crypto ipsec transform-set VPNTS esp-aes esp-sha-hmac
Router(config)# crypto ipsec security-association lifetime seconds 86400
Router(config)# Access-list 102 permit ip SRC WLDCARD_SRC DTN WILDCARD_DNT





De igual manera se ejecutan los mismos comandos dentro de la interfaz de Router 2:

Para verificar que el VPN fue configurado correctamente se ingresan los comandos siguientes dentro de la interfaz del router 0:

Reflexión:

Con la realización de esta práctica y haciendo uso de nuevos comandos, estamos implementando seguridad en una red pública  a través de un túnel, propiciando seguridad a una empresa y a los datos de sus usuarios.