jueves, 2 de octubre de 2008

Arquitecturas Web

La web ha evolucionado, estamos en la transición hacia la web 2.0, el concepto de web 1.0 basado en HTML estático esta siendo reemplazado por contenido dinámico que permite la personalización y la customizacion, actualmente podemos ver aplicaciones corriendo sobre el navegador, generando contenido e interactuando con el usuario.

El término Web 2.0 fue acuñado por Tim O'Reilly en 2004 para referirse a una segunda generación de Web basada en comunidades de usuarios y una gama especial de servicios, como las redes sociales, los blogs, los wikis, etc.

Toda esta evolución del Internet ha permitido que el comercio electrónico crezca mucho y muy rápido ya que permite muchas de las características distintivas del comercio electrónico como la personalización y la interacción con el cliente.

Para desarrollar estas aplicaciones que corren sobre el navegador, se hace uso de API’s y por lo general del patrón MVC.

MVC es un patrón de diseño de software el cual divide todo en 3 capas, estas capas son el Modelo, la Vista y el Controlador.

La Vista se encarga de presentar la interfaz al usuario, en sistemas web, esto es típicamente HTML. El controlador es el que comunica a la vista con el modelo. Y el modelo es el que se encarga de la lógica y de guardar los datos en un medio persistente por ejemplo una base de datos o un archivo XML.

Un claro ejemplo de aplicaciones y arquitecturas web es Facebook y algunas formas de desarrollo web que utiliza Facebook son:
REST(Representative State Transfer)
JSON(Java Script Object Notation)

Open Social
Es un estándar para redes sociales que se usa en la programación de aplicaciones para estas para que sean comunes y funcionen en todas las redes sociales que implementan este estándar.
Actualmente este estándar esta implementado en unas 20 redes sociales dentro de las que destacan, Facebook, Hi5 y Orkut.

Lo nuevo en aplicaciones Web:
Facebook connect Nos permite utilizar la identidad de Facebook en cualquier otro sitio.
Applications engine Es un proyecto de google que nos permite correr nuestras aplicaciones web sobre su infraestructura.
Google gears Es un proyecto de código abierto de para desarrollar aplicaciones que corran en el navegador.
Android Es un entorno de programación de Google para dispositivos móviles.

ITIL

ITIL son las siglas de Information Tecnology Infraestructure Library. Se desarrollo a finales de los 80’s por CCTA.
Es un marco de referencia de buenas prácticas para la gestión de servicios. Es un modelo mundial de gestión de servicios, independiente de proveedores y se basa en los siguientes principios: procesos, calidad, cliente e independencia.
Básicamente hay 2 roles en los que ITIL es muy útil, como gerente de IT y como dueño de una empresa de software.
¿Porque implementar un estándar de servicio?
- Mejora la calidad del servicio.
- Aumenta la rentabilidad.
- Mayor satisfacción al cliente.

Características de ITIL
- Está basado en mejores prácticas.
- Tiene una terminología estándar.
- Independencia de procesos.
- Gestión de servicios.
- Independiente de fabricantes y tecnologías.
- Mejora la cultura de servicio.

Las certificaciones de ITIL son ISO 20000 y BS 15000

ITIL se divide en dos grandes ramas, la entrega de servicios y el soporte de servicios.

Existen tres niveles de certificación ITIL para profesionales:

1. Foundation Certificate: certifica un conocimiento básico de ITIL. Está destinado a aquellas personas que deseen conocer las buenas prácticas especificadas en ITIL.
2. Practitioner's Certificate: Destinado a quienes tienen responsabilidad la administración de departamentos de IT.
3. Manager's Certificate: Garantiza se tienen profundos conocimientos administración de departamentos de IT y para dirigir la implantación de soluciones basadas en ITIL.

Seguridad Informatica para el usuario final

Este es un vídeo que contiene recomendaciones de seguridad para los usuarios incluye seguridad básica del sistema operativo, en este caso se haba de Windows XP y recomendaciones al visitar paginas de Internet para prevenir estafas robos y engaños.

miércoles, 24 de septiembre de 2008

LanGuard

LanGuard es una utilidad que nos permite escanear nuestra red para buscar vulnerabilidades y problemas. Es muy util para administrar bien nuestra red protegiendola de todo esto.
Esta herramienta nos puede servir mucho y para los usuarios de GNU/Linux como yo, existe una alternativa llamada nessus.
Yo realice un escaneo para comprobar la seguridad de mi computadora y estos fueron los resultados:
=======================================================================
STARTING SECURITY SCAN FOR MACHINE/RANGE: 127.0.0.1
Profile: Default
=======================================================================
Validating targets...
Building computers list...
Resolving hosts...
Determining computers that are alive...
Netbios reply from 192.168.1.5 (COMPUTINA)
SNMP response from 192.168.1.5
Requesting more info...
Pong from 192.168.1.5
1 Computer(s) found.
=======================================================================
COMPLETED SECURITY SCAN FOR MACHINE/RANGE: 127.0.0.1
Scan Start Time: 10:58:36 p.m.
Scan Duration: 2 minutes, 59 seconds
=======================================================================



Enfoquemonos en las vulnerabilidades, me encontro 9 vulnerabilidades, 5 de bajo riesgo, 2 de riesgo medio y 2 de alto riesgo.
De las 2 de alto riesgo una es que hace falta una actualizacion de Microsoft Outlook y la otra es que debería colocarle password a la cuenta Administrator.
La desactualización de outlook no se a que se debe si tengo las actualizaciones automáticas activadas y lo de la contraseña de Administrator ya lo resolví.
Las demas vulnerabilidades la verdad yo considero que no lo son algunas son porque tengo carpetas compartidas en la red, otras por servicios a los cuales se les han detectado muchos bugs entonces no son vulnerabilidades muy criticas.

Escaneo de guatecompras.gt con Acunetix

Como tarea en el curso de Seminario de Sistemas 1 nos dejaron escanear las vulnerabilidades de algún sitio web del país, así que decidí escanear guatecompras.net porque es un sitio de mucha importancia en la política del país y el valor de la información que maneja es altísimo.

Realice el escaneo con el software Acunetix Web Vulnerability Scanner, estos son los pasos que seguí para configurar el escaneo.

Acunetix, es una aplicación que nos ayuda a verificar si nuestro sitio es vulnerable ante cualquier tipo de ataque por ejemplo Inyección SQL, XCC, etc.

Lo primero es elegir es tipo de escaneo que se desea realizar, yo elegí scan single website



En la siguiente pantalla del asistente hay que esperar un rato a que detecte la información del servidor, después podemos elegir optimizar el escaneo a algunas tecnologías, para este caso yo elegí optimizar para asp.net y asp porque en estas tecnologías esta basado el sitio de guatecompras



Luego en las opciones de escaneo deje las opciones por defecto.



Después esta la pantalla de información de login por si es necesario iniciar sesión en el sitio para realizar el escaneo, esta opción desde luego no la utilice yo.



Por ultimo nos muestra un resumen



Y empieza el escaneo



Se tardo mucho en realizar el escaneo pero después de esperar tanto estos fueron los resultados:



Como podemos observar en los resultados el sitio guatecompras.gt esta lleno de vulnerabilidades de alto riesgo.

Los ataques que podrían realizarse a esta pagina son de Inyección SQL y XSS. Miremos que lo mas fácil seria con XSS ya que tiene 142 vulnerabilidades de este tipo.

El ataque Inyección SQL consiste en modificar las consultas ingresando nuevas partes de la consulta en los campos donde se ingresan los parámetros de esta.

El ataque XSS consiste en enviar un script malicioso a la página, ocultándolo entre solicitudes legítimas.