martes, 7 de noviembre de 2017

Ataques Informáticos

Latinoamérica presenta por lo menos 12 ataques informáticos por segundo según un reporte de Kaspersky Lab en 2016.

Según la firma la principal amenaza son los programas piratas, memorias USB contaminadas y otros medios que no requieren el uso obligatorio de internet, lo cual representa el 82% de los ataques registrados, el 18% de los ataques restantes, correspondes a los ataques realizados en línea. En Colombia específicamente el 39,3% de los usuarios conectados son atacados.

La seguridad de la información es una tema que cada vez se hace más importante, debido a los daños que puede causar ser víctima de cualquier tipo de ataque, daños económicos, de reputación, extorciones, robo de identidad entre otros.

No existe  un sistema que sea seguro completamente, pero existen ciertas medidas y recomendaciones en cada una de las capas de un sistema que pueden ser tomadas, para prevenir dichos ataques. En estas medidas y recomendaciones no debemos dejar de lado el eslabón más débil de la cadena, las personas, las cuales deben ser capacitadas continuamente en seguridad de la información con el fin de evitar uno de los ataques más comunes hoy en día, la ingeniería social

Fuentes:

martes, 31 de octubre de 2017

IDS - Sistemas de detección de accesos.

Los IDS o Intrusion Detection System son herramientas de detección de accesos no autorizados. Existen dos tipos de IDS, los HIDS (IDS enfocados a la detección de ataques en el host) y los NIDS (IDS enfocados a la detección de ataques en red).

Los NIDS suelen capturar todo el trafico que pasa por la red y entregan alertas de los ataques en tiempo real, ademas necesita de un hardware exclusivo y dedicado a el y se suele poner en modo invisible sin asignación de IP, por otro lado las HIDS suelen detectar la integridad de los archivos que se encuentran dentro del host, y en caso de existir la modificación en algún archivo sin el debido acceso muestra una alerta del ataque, también muestra trafico de red para verificar señales de intrusión

Algunas de las acciones tomadas por los IDS son el envío de un mensaje de reconfiguración del firewall para bloquear el ataque, envío de correo electrónico con el aviso del ataque, envío de un datagrama SNMP a una consola externa con los detalles del ataque, registro del ataque, almacenamiento de paquetes sospechosos entre otros 


Fuente: 

martes, 24 de octubre de 2017

Mock Service




Un mock service es una simulación de la respuesta de un servicio, que suele ser utilizado cuando el servicio real no esta disponible, incluso puede utilizarse cuando NO se ha desarrollado el servicio usando métodos de desarrollo guiado por pruebas, en donde se puede probar una funcionalidad general e incluso automatizarla, desde el punto de vista funcional y de desarrollo, con el fin que cuando se termine de desarrollar el servicio, este pueda ser validado.

Otro de los posibles usos de un mock service, es para hacer demos o pruebas de concepto de funcionalidades que aun no han sido desarrolladas, para que puedan ayudar en la toma de decisiones a nivel de negocio, otro de los posibles usos es cuando una empresa manda a hacer el desarrollo de una aplicación a un proveedor externo y por temas de seguridad y sensibilidad de los datos, entrega un mock funcionando con datos ficticios.

Hay algunos servicios  que son cobrados de acuerdo al número de transacciones que ingresan a este, por lo cual se hace necesario en pruebas de performance utilizar mock services para que no se genere un costo adicional y otros de las ventajas que tiene desarrollar un mock service es aislar un sistema y crear total independencia con otros servicios que puedan estar involucrados en una misma funcionalidad


jueves, 19 de octubre de 2017

Creación en un Web Service SOAP básico

CREAR WEB SERVICE SOAP

  1. Crear un nuevo proyecto en Nerbeans. Seleccionar Java EE, luego EJB Module y Next.
  1. Asignar el nombre “CalculatorWSApplication” y seleccionar la ubicación del proyecto.

  1. Seleccionar la versión de Java y el servidor el el que se desplegará el proyecto (Glassfish, Webogic, Tomcat, etc.).


Dar click en “Finish”.



  1. Agregar los parámetros del web service, modificando el siguiente código en el método que aparece por defecto en el proyecto web, de tal manera que aparezca así.


  1. Para realizar una prueba preliminar del proyecto, se debe correr el programa dando “Run” y luego dar click derecho en el proyecto y seleccionar “Test Web Service”.


  1. Aparecerá una aplicación web para testear el Web Service. En esta aplicación se podrán ingresar los dos parámetros que pide el web service (en este caso i y j) y observar el valor de devuelta.

Dar click en el botón “add”.


CREAR EL CLIENTE DEL WEB SERVICE

  1. Se creará un nuevo proyecto en Netbeans de tipo Java SE, Asignando el nombre “CalculatorWS_Client_Application”.

  1. Al estar creado el proyecto, dar click derecho y seleccionar “New Web Service Client”.


  1. Hacer click en el Browse de seleccionar ubicación de WSDL y seleccionar el proyecto anteriormente creado..




PRUEBA DEL WEB SERVICE

Al ser un web service tipo Soap, se hace uso de la herramienta SOAP UI (se puede descargar del sitio https://www.soapui.org/downloads).

Después de instalada la herramienta, se crea un nuevo proyecto (tipo Soap) y aparecerá la siguiente ventana en la que se debe buscar el WDSL generado con anterioridad. El WDSL se debe encontrar en el directorio “xml-reference” de la carpeta del proyecto del cliente (para nuestro caso C:\...\NetBeansProjects\CalculatorWS_Client_Application\xml-resources\web-service-references\CalculatorWS\wsdl\localhost_8080\CalculatorWS\CalculatorWS.wsdl)



Se da click en OK.

Después de creado el proyecto, se da click derecho sobre el método “add” y se elige la opción “New request”.


Después de generado el request, se procede a probar el web service, ingresando los parámetros dentro de la parte izquierda. Después de ejecutar, se debe poder visualizar el resultado en la pantalla de la parte derecha.


martes, 17 de octubre de 2017

ESB (Enterprise Service Bus)

¿Qué es un ESB?


ESB (Enterprise Service Bus), es una aplicación de software, cuyo diseño se encuentra basado en un conjunto de patrones predeterminados (SOA - Service Oriented Architecture), cuya principal función es ser un intermediario entre varias aplicaciones para que dichas aplicaciones puedan comunicarse entre sí, sin tener que hacerlo directamente. De esta manera la complejidad que implique dicha comunicación entre aplicaciones será absorbida por el ESB.

Una conexión directa entre aplicaciones tiene diferentes inconvenientes. Las relaciones directas entre las aplicaciones son complejas, lo que genera una gran cantidad de código para manejar las comunicaciones necesarias en cada aplicación. Cuantas más aplicaciones y más relaciones existan entre ellas, existirá una mayor complejidad. El diseño sería rígido y poco flexible a posibles cambios y aumentará la mantenibilidad del sistema.


Interacción de sistemas sin un ESB 



Además puede que las aplicaciones no soporten la comunicación con las demás. Por ejemplo, si el Sistema es una aplicación como COBOLo Siebel o alguna otra, no tiene forma de comunicarse con una aplicación como JAVA de manera directa.



En contraposición se presentan algunas ventajas
  • Facilita la integración de aplicaciones. 
  • Ideal para trabajar en entornos heterogéneos: diferentes tecnologías y protocolos. 
  • Reduce el coste total de la gestión y el mantenimiento.


Interacción de un sistema con un ESB







Fuentes
https://ucase.uca.es/sites/default/files/documents/jboubeta/2013-05-20-introduccion-a-esb.pdf
http://desarrolloconsoa.blogspot.com.co/2013/10/que-es-un-enterprise-service-bus-y-por.html



domingo, 1 de octubre de 2017

Arquitectura SOA fuente: 

SOA es un marco de trabajo que permite integrar datos y logica de negocio de sistemas separados. Este fue desarrollado a finales de los 90's con el objetivo de unir aplicaciones que en su momento eran autosuficientes y fueron diseñadas sin considerar los otros sistemas a su alrededor y donde no era posible acceder desde cierto sistema a la informacion de alguna aplicacion en especifico.

Para implementar SOA se debe en primera medida asegurar que los sistemas sean compatibles con SOA, luego se debe identificar los sistemas que desea integrar y publicarlos como servicios, claramente esto requiere de un desarrollo y una serie de herramientas e infraestructura especifica que se deben poner a disposición del desarrollador para que pueda ser exitosa la integración entre las aplicaciones.

Los servicios deben tener un control de recursos tecnologicos, continenen la logica del negocio independientemente del consumidor y su entorno, son un activo de la empresa, no mantiene ni depende de condiciones pre-existentes, proporcionan una respuesta (response) ante una solicitud realizada (request).

Aseguramiento de bases de datos 

Es importante realizar una secuencia de procedimientos básicos para asegurar las bases de datos, con el fin de proteger los datos sensibles que se alojan en estas. El aseguramiento de las bases de datos se pueden hacer en 4 fases

Fase 1: Tienen una prioridad alta y se deben realizar en el momento de la instación de la base de datos
Implemente estrategias de copias de seguridad y recuperación.
Eliminar contraseñas por defecto
Usar contraseñas complejas
Ajustar los permisos de acceso al software
Proteger los programas fuente
Limitar los accesos de usuarios administradores

Fase 2: Tienen una prioridad alta, se deben realizar dentro de las primeras semanas de la instalación de la base de datos
Limitar accesos por sistema operativo
Asignar cuotas de espacio
Depurar los accesos de los usuarios
Habilitar auditoria para cuentas de administración
Monitorear los accesos de administración

Fase 3: Tiene una prioridad media, se debe realizar en los primeros meses de la implementación de la base de datos
Eliminar contraseñas de archivos
Crear perfiles para los usuarios de la base de datos
Bloquear objetos no usados
Analizar los perfiles de los usuarios
Análisis y Limpieza periódica de logs.

Fase 4: tiene una prioridad media, se puede realizar algunos meses después de la implementación de la base de datos
Profundice la Auditoria
Identifique información sensible
Cifre la información sensible
Cifre las copias de seguridad

fuente: Diplomado en Seguridad de la Información FEUD