Category Archives: Uncategorized

Ransomware en Colombia

A partir de un estudio independiente liderado por GISEPROI, el entorno empresarial colcolombiano así como la plataforma gubernamental tienen altas probabilidades (estimadas en porcentajes superiores al 80%) de sufrir ciberataques que comprometan datos valiosos.

Se debe acelerar la aplicación de los modelos sugeridos por MINTIC!!!

Preocupa el

Seguridad en Internet de las Cosas

Se invita a la comunidad al 1er Seminario de Seguridad en Internet de las Cosas (IoTSec UD) a realizarse en la ciudad de Bogotá los días 2 y 3 de octubre de 2017.

La programación incluye conferencias magistrales, talleres de seguridad en IoT y análisis de casos.

Las características del evento se publicarán en el mes de mayo. Ve preparando la agenda!!!

Líneas de Trabajo 2017

  • GISEPROI Project: Sistema de Información para la Gestión de Proyectos. (En asocio con Zeety S.A.S)
  • GISEPROI security: Modelo de gestión de la seguridad en la organización (En asocio con RITA)
  • GISEPROI Health: Arquitectura de Gestión para la Red de Salud del Distrito (En asocio con GITEM)
  • GISEPROI OpenCatastro: Adaptative platform for multipurpose cadastre based in pseudo 3D digital Worlds (En asocio con el grupo de investigación GIGA)
  • GISEPROI Metaverso: Modelo de enseñanza soportado en ambientes inmersivos. (En asocio con semillero en Tecnologías Libres)
  • GISEPROI OSGeoLab: Laboratorio de ciencia geoespacial con Software Libre (En asocio con GIGA, GITEM, Nide Semillero GEIPER, NIDE Semilero Astroingeniería, Semillero en Tecnologías Libres)

ontología de sonidos

Google ha liberado una gran colección de clips de sonidos junto con la ontología que los describe.

Especialmente útil en sistemas de reconocimiento sonoro o en aplicaciones de realidad aumentada.

https://research.google.com/audioset/ontology/index.html

GISEPROI

Modelos Digitales de Terreno

En el marco del acuerdo de colaboración entre Zeety S.A.S y GISEPROI, nuestros integrantes emprenden un nuevo proyecto para el desarrollo y adaptación de Modelos Digitales de Terreno. Este es el primer proyecto de investigación de nuestro grupo relacionado con el tema de Sistemas de Información Geográfica FLOSS.

Proyecto: Biblioteca de software libre para la creación, análisis, visualización y corrección de Modelos Digitales de Terreno.

Investigadores Principales: Msc PAULO CÉSAR CORONADO/Msc. LILIA EDITH APARICIO

Configuración de Cliente VPN L2TP sobre IPSec con PSK en Fedora

En esta entrada se detalla un método de conexión de un cliente a VPN L2TP sobre IPSec en Fedora. Utiliza los paquetes ipsec, libreswam y xl2tpd

Asegurarse de tener como mínimo los siguientes datos de conexión:

  • Dirección IP de la pasarela
  • nombre de usuario para la conexión
  • clave del usuario
  • Llave compartida a priori (pre-shared key)

Instalar los paquetes necesarios

install -y ipsec libreswan xl2tpd

Importante: Se debe conservar el mismo nombre de conexión en todos los archivos que se creen o editen. Para el caso de este tutorial se utilizará el nombre mivpn 

Configuración de IPSec

Crear un archivo de configuración para IPsec dentro de la carpeta  /etc/ipsec.d/

nano /etc/ipsec.d/mivpn.conf

Y agregar el siguiente contenido:


conn mivpn
authby=secret
pfs=no
auto=add
keyingtries=3
dpddelay=30
dpdtimeout=120
dpdaction=clear
rekey=yes
ikelifetime=8h
keylife=1h
type=transport
left=DIRECCIÓN_IP_LOCAL
leftnexthop=%defaultroute
leftprotoport=17/1701
right=DIRECCIÓN_IP_DE_LA_PASARELA_VPN
rightprotoport=17/1701
rightnexthop=%defaultroute

  • La DIRECCIÓN_IP_LOCAL debe reemplazarse por la IP que tenga asignada el equipo local(consultarla utilizando ifconfig).
  • La DIRECCIÓN_IP_DE_LA_PASARELA_VPN debe reemplazarse por la IP del servidor VPN remoto.
Registro de la Llave compartida a priori (pre-shared key)

Crear un archivo mivpn.secrets en la carpeta /etc/ipsec.d/

nano /etc/ipsec.d/mivpn.secrets

Y agregar el siguiente contenido:

%any REMOTE_VPN_SERVER_IP_ADDRESS : PSK "MI_PRESHARED_KEY"
  • MI_PRESHARED_KEY debe reemplazarse por la cadena de caracteres de la llave compartida a priori.
  • Los espacios en blanco del contenido anterior deben conservarse.
Configurar L2TP

Editar el archivo /etc/xl2tpd/xl2tpd.conf

nano /etc/xl2tpd/xl2tpd.conf

Agregando al final del mismo el siguiente contenido:

[lac mivpn]
lns =DIRECCIÓN_IP_DE_LA_PASARELA_VPN
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd.mivpn
length bit = yes

Luego crear un archivo de configuración del protocolo punto a punto (ppp) en la carpeta /etc/ppp/

nano /etc/ppp/options.xl2tpd.mivpn

Con el siguiente contenido:

ipcp-accept-local
ipcp-accept-remote
refuse-eap
require-mschap-v2
noccp
noauth
idle 1800
mtu 1410
mru 1410
defaultroute
usepeerdns
debug
lock
connect-delay 5000
name NOMBRE_USUARIO
password CLAVE_DEL_USUARIO
  • NOMBRE_USUARIO debe cambiarse por el nombre de usuario para la conexión.
  • CLAVE_DEL_USUARIO debe cambiarse por la clave del usuario.
REALIZAR la conexión

Iniciar el servicio de ipsec

systemctl start ipsec

Agregar (verificar) la configuración de la conexión:

$ ipsec auto --add mivpn

Habilitar la conexión:

$ ipsec auto --up mivpn

Iniciar el servicio xl2tpd:

$ systemctl start xl2tpd

Construir el túnel:

$ echo "c mivpn" > /var/run/xl2tpd/l2tp-control

Cuando se quiera cerrar el túnel:

$ echo "d mivpn" > /var/run/xl2tpd/l2tp-control
Verificación de la conexión

Si el procedimiento ha sido exitoso, al revisar las interfaces con ifconfig se tendría una interfaz tipo ppp0, similar a:

ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1380
        inet XX.XXX.XXX.XXX  netmask 255.255.255.255  destination YY.YYY.Y.Y
        ppp  txqueuelen 3  (Point-to-Point Protocol)
        RX packets 41  bytes 6624 (6.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 881  bytes 173658 (169.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Donde XX.XXX.XXX.XXX corresponde a la dirección IP asignada al equipo en la VPN.

Enrutamiento de tráfico

El último paso es configurar el sistema para que el tráfico que vaya a los hosts de la VPN sean enrutados por la conexión.

ip route add ZZZ.ZZZ.ZZZ.ZZZ via XX.XXX.XXX.XXX dev ppp0
  • ZZZ.ZZZ.ZZZ.ZZZ debe reemplazarse por la dirección del host al que se desea conectar dentro de la VPN.
  • ppp0 es el nombre de la interfaz creada por xl2tpd. Debe cambiarse por el valor que corresponda de acuerdo a lo informado por ifconfig.

Una vez terminado el proceso se tendría capacidad de interconexión con el host ZZZ.ZZZ.ZZZ.ZZZ.

ping ZZZ.ZZZ.ZZZ.ZZZ
Posibles errores

Durante el proceso pueden ocurrir algunos errores debido a falta de paquetes o no sincronización de las herramientas. Los más comunes son:

El servicio de IPSec no puede iniciarse: Tratar de cargar de manera manual los módulos del Kernel

modprobe af_key

El servicio l2tpd no puede iniciarse: Instalar los módulos extra del kernel

dnf install kernel-modules-extra
Referencias

Este manual en español está basado en:

Así como los manuales (man pages) de cada uno de los paquetes.

GISEPROI – Universidad Distrital francisco José de Caldas

Servicios Web en SARA

Creación Web Services (SOAP con Wsdl) en FrameWork SARA

Requisitos

  • Utilizar el repositorio de implementación de web services  de la siguiente Url:                      “https://github.com/stiv15/sara.git
  • Instalar framework dado el Manual “Zetty – SARA Manual de Instalación en AWS”, en el siguiente Link:

https://docs.google.com/document/d/1pNlLerQ0y_BEg7tdWQ5gHy_Yb5RqjyLB4kYO-Fcwq9k
Estrutura Web Services FrameWork Sara

-> Directorio Raiz FrameWork

|

|

-> WebServices

|

|

-> directorioWSDL

|

|

-> servicioModelo

| |

| |

| -> funcion

| | |

| | |

| | -> procesarServicio.php

| |

| -> Funcion.class.php

| -> servidorServicio.php

| -> Sql.class.php

| -> index.php

|

-> index.php

Las funciones de los index.php es evitar el acceso directamente sobre el directorio.

directorioWSDL

Este directorio tiene como fin alojar absolutamente todos los archivos de extensión wsdl (*.wsdl ).

servicioModelo

Este directorio tiene un ejemplo de cómo se estructura un web services Soap,, cuya intención duplicar dicho directorio y  modificarlo para la creación de un nuevo web Services.

funcion(directorio)

Este directorio tiene con fin alojar las n-clases(Funciones) para procesar el webservices posterior a las peticiones al mismo.

Funcion.class.php

Este fichero tiene como función administrar todas las funciones del directorio funcion.

servidorServicio.php

Este fichero tiene como función la  creación y parametrización de la respectiva clase SoapServer (3.2.2 Clase SoapServer).

Sql.class.php

Este fichero tiene  como función retornar las sentencias Sql utilizadas en el procesamiento del del web Services.

Desarrollo Web Services

Duplicar Directorio

Duplicar el directorio Modelo alojando en mismo directorio(WebServices) con el nombre deseado <miWebServices>.

Modificar Namespace

Modificar los namespace  por el nombre del directorio creado <miWebServices> de cada uno de los siguientes ficheros:

  • Funcion.class.php
  • servidorServicio.php
  • Sql.class.php
namespace miWebServices;

Creación de Clase Brindar Web Services.

Este hace referencia al fichero funcion/procesarServicio.php en el cual se modificar el nombre de la clase a conveniencia, en nuestro caso <miclase>, la cual siempre  por mínimo tendrá el método __construct() (contiene la instanciación de las clases de configuración del  framework y clase sql en la cual se crean los query para la ejecución en la base de datos)  y el o los métodos a brindar  en el web services.

<?php

use miWebServices\Sql;

if (! isset ( $GLOBALS [“autorizado”] )) {

include (“../index.php”);

exit ();

}

class miclase {

function __construct() {

$this->miConfigurador = \Configurador::singleton ();

$this->miSql = new Sql ();

}

function metodo_1($variable_1,$variable_2,…, $variable_n) {

}

function metodo_2($variable_1,$variable_2,…, $variable_n) {

}

.

.

.

.

.

.

function metodo_n($variable_1,$variable_2,…, $variable_n) {

}

}

?>

Modificar fichero servidorServicio.php

Modificar el fichero de acuerdo al nombre dado al archivo wsdl y el nombre  la clase a brindar en web services.

Variable:

$nombreArchivoWSDL = “miWSDL.wsdl”;

Clase a Brindar:

$objetoServidorSOAP->setClass(“miclase”);

Conciencia de Seguridad

Hay dos grandes grupos de enfoques de trabajo:

  • Reactivos: Toma medidas cuando ocurre un evento.
  • Preventivo: Toma medidas basados en escenarios supuestos o probables.

Una organización debe tener en cuenta que los dos enfoques no son excluyentes sino complementarios. En la medida que estos se desarrollen de manera adecuada ,se minimiza la ocurrencia e impacto de los incidentes de seguridad.

En los dos enfoques es clave el aumento de la conciencia de seguridad colectiva (en toda la organización, no solo en los equipos especializados).  Para ello – sin detrimento del objetivo principal que será tener un adecuado Sistema de Gestión de la seguridad de la Información (SGSI); se debe considerar:

  • Valorar la información que posee o produce cada persona.
  • Valorar el riesgo de la información importante.
  • Proponer e implementar controles para mitigar el riesgo.

Los talleres controlados de intrusión a sistemas – adaptados a las características de la organización, son un punto de partida para que las personas se den cuenta lo vulnerables que pueden ser.

Caricatura de Daniel Webster robando a Henry Clay

GISEPROI – Grupo de Investigación en Sistemas Empresariales y Protección de la Información