AAA – Authentication, Authorization and Accounting

abril 4, 2008 § Deja un comentario

Uno de los acrónimos mas usados en distintos documentos relacionados con la seguridad es AAA, por ejemplo este articulo de Cisco:

AAA – Autenticación, Autorización y Registro
Conjunto de herramientas, procedimientos y protocolos que garantizan un tratamiento coherente de las tareas de autenticación, autorización y registro de actividad de las entidades que tienen acceso a un sistema de información.

Autenticación es el proceso de identificación de un individuo, normalmente mediante un nombre de usuario y contraseña. Se basa en la idea de que cada individuo tendrá una información única que le identifique o que le distinga de otros.

Autorización es el proceso de aceptar o denegar el acceso de un usuario a los recursos de la red una vez que el usuario ha sido autenticado con éxito. La cantidad de datos y servicios a los que el usuario podrá acceder dependen del nivel de autorización que tenga establecido.

Accounting es el proceso de rastrear la actividad del usuario mientras accede a los recursos de la red, incluso la cantidad de tiempo que permanece conectado, los servicios a los que accede así como los datos transferidos durante la sesión. Los datos registrados durante este proceso se utilizan con fines estadísticos, de planeamiento de capacidad, billing, auditoría y cost allocation.

Fuente: http://seguridad-informacion.blogspot.com/2008/04/glosario-aaa-authentication.html

Anuncios

¿Port Knocking… ofuscación o capa de seguridad?

enero 28, 2008 § Deja un comentario

El objeto de este artículo es recordar el concepto de “Port Knocking” y sus implicaciones de seguridad para en un posterior artículo reflexionar sobre “Single Packet Authorization” (SPA). “Port Knocking” no es un ingenio nuevo, lleva con nosotros desde 2003, pero es un tema recurrente en listas de correo y discusiones sobre seguridad.

¿Qué es “Port Knocking”?

Todos hemos visto películas en las que alguien golpea cierta secuencia en la puerta de una taberna y si la secuencia era correcta el tabernero abre una rendija para solicitar una clave verbal. Si la secuencia de llamada no era correcta, ninguna medida se toma y el interesado cree que la taberna se halla cerrada. El concepto de “Port Knocking” es exactamente análogo.

En informática, este concepto consiste en enviar paquetes a ciertos puertos en un orden específico con el fin de abrir un puerto en concreto. Este último puerto se halla cerrado por un cortafuegos siempre y cuando no se realice el barrido de puertos siguiendo la secuencia particular. De esta forma, si un atacante efectúa un escaneo del sistema, el puerto aparecerá cerrado aun estando el servicio asociado a él en funcionamiento, el cortafuegos hace un simple DROP si no se ha efectuado la secuencia de barrido previa.

Tomemos como ejemplo un demonio sshd escuchando en el puerto 22/TCP. Elegimos como secuencia de barrido la sucesión 43, 6540 y 82. El puerto 22 se abrirá si, y solo si, un usuario inicializa conexiones TCP hacia los puertos 43, 6540 y 82 en ese orden exacto. En caso contrario el usuario recibirá como respuesta un RST/ACK cuando intenta comenzar una conexión hacia el puerto 22.

Si la secuencia correcta de inicializaciones ha sido efectuada, el puerto 22 se abrirá durante un lapso de tiempo determinado y únicamente para la IP que completó la secuencia previa. Una vez el puerto 22 se halle abierto, se pueden llevar a cabo medidas adicionales de autenticación.

Polémica

Muchos son los que defienden que “Port Knocking” no es una capa de seguridad sino una medida de ofuscación (“security by obscurity”). Lo cierto es que hay argumentos a favor y en contra de ambas afirmaciones.

Acudiendo a las definiciones clásicas de los tipos de autenticación (algo que sabes, algo que eres y algo que tienes), este mecanismo se encuadraría en el primer conjunto. Ahora bien, si un atacante conociera la existencia de esta medida y fuera capaz de escuchar el tráfico (en lado cliente o servidor), esta medida de seguridad sería tan débil como las contraseñas que viajan en claro.

Por tanto, como muchas otras técnicas, se trata de una línea de defensa que de manera aislada puede resultar muy débil, pero que junto con medidas adicionales puede proporcionar un nivel de robustez aceptable.

Consideraciones de seguridad

* Un atacante siempre podría intentar un ataque por fuerza bruta con el fin de descubrir la secuencia de puertos correcta, no obstante este ataque sería fácilmente detectado teniendo en cuenta su naturaleza ruidosa. Para una secuencia de 3 puertos, si el ataque recorre el rango de puertos 1 a 65535, esto implica que el ataque sería del orden de 655.353 tentativas, teniendo una esperanza de la mitad de este valor. Por tanto, como media, serían necesarios unos 140 billones de paquetes hasta conseguir la apertura del puerto deseado. Obviamente, esto se puede complicar mucho más incrementando el número de puertos de la secuencia.

* Si un atacante ha conseguido la secuencia de puertos, nada le impide hacer un “replay” de la secuencia capturada contra el servidor para así abrir el puerto. Sería por tanto interesante que la secuencia mutara con el tiempo, que se hiciera algún tipo de Hash con información adicional (temporal, etc.) o alguna otra medida para impedir los ataques por “replay”. No obstante ello implicaría sincronización cliente-servidor y/o involucrar otros campos de los paquetes que no fueran tan sólo los 16bits del puerto destino en la cabecera TCP. Como consecuencia de estas modificaciones, la medida se hace difícilmente escalable en situaciones donde hay un gran número de clientes.

* Mucho más sencillo es hacer una denegación de servicio. Debido al lapso existente entre cada inicialización de conexión en la secuencia, un atacante puede simular y enviar paquetes para interrumpir la secuencia que está construyendo un usuario legítimo. Así, nada impide a un atacante el emplear herramientas como hping para forjar paquetes con la dirección IP de un usuario legítimo y enviar un flujo continuo hacia puertos aleatorios de la máquina servidor para que dicho usuario legítimo jamás sea capaz de completar una secuencia válida.

* Por último en esta lista no exhaustiva de reflexiones, para un observador del tráfico de red, un “Port Knocking” es indistinguible de un escaneo de puertos. Muchos IDS detectan los escaneos de puertos y algunos no tienen forma de diferenciar lo que es un “Port Knocking” de lo que es un escaneo. Si el umbral de paquetes para alertar de un escaneo de puertos es lo suficientemente bajo, el “port knocking” podría introducir ruido no deseado en los logs del IDS.

Aplicaciones

* Imaginemos que deseamos correr un servidor SSH para compartir archivos con nuestros amigos. No deseamos que gusanos, automatismos y usuarios maliciosos encuentren el puerto del servidor SSH abierto en sus escaneos de reconocimiento para posteriormente lanzar un ataque por fuerza bruta que consume recursos y podría dar lugar a una intrusión. En este caso podríamos emplear “port knocking” para evitar “automatismos tontos”. Obviamente, tras el “Port Knocking” deberíamos tener como mínimo una autenticación por usuario/contraseña, y además, deseablemente, autenticación basada en algún algoritmo de clave pública.

* Una aplicación más oscura, y probablemente más popular, del “Port Knocking” es como método de ocultación de puertas traseras (ejemplo: cd00r.c). Muchos atacantes, tras haber instalado una puerta trasera en una víctima, la camuflan mediante “Port Knocking”, de esta forma cualquiera que intente detectar anomalías basadas en la apertura de nuevos puertos difícilmente detectará la intrusión. Así, los servicios basados en herramientas como Nesus para detectar alteraciones en ciertas redes presentan una gran punto débil ante dichos ingenios y los profesionales de la seguridad no deberían tomar sus resultados como verdades absolutas.

Conclusión

“Port knocking” se basa en la comunicación de información en las cabeceras de los paquetes, lo cual limita severamente la cantidad de información que puede ser transmitida, y por tanto, su fortaleza como capa de seguridad. En una futura reflexión analizaremos otras técnicas como “Single Packet Authorization” (SPA), que presenta grandes ventajas sobre el mecanismo aquí estudiado.

Fuente: http://www.hispasec.com/unaaldia/3382

Póngame una de SLAs!

marzo 1, 2007 § Deja un comentario

Últimamente, eso de los SLAs (Service Level Agreements) se ha convertido en un tema de conversación tan habitual que parece algo que sirvan en los bares de tapas. El problema es que la terminología se ha trivializado tanto que en muchas ocasiones se utiliza el término de forma incorrecta.

Un SLA debe ser, en primer lugar, un acuerdo. En caso contrario estaríamos, como mucho, ante un SLI (de Imposition). Debe ser un acuerdo en todos los sentidos, desde el precio hasta los elementos a valorar. Vamos, que el contrato particular del ADSL nunca será un SLA, aunque nos garanticen un cierto ancho de banda o nos regalen el primer mes de cuota si no funciona bien. ¿O alguien piensa que el operador de banda ancha va a negociar el contrato con los particulares?

Evidentemente, un SLA tiene que incluir niveles de servicio (que por algo aparecen la S y la L). Pero… qué es una disponibilidad del servicio de asistencia técnica del 99%? ¿Significa que casi siempre que llamo me cogen el teléfono? ¿Tanto si llamo a las 10 de la mañana como a las 12 de la noche? El SLA tiene que definir no sólo el servicio en sí, sino sus características, cómo se calcula el indicador, en qué periodo se mide…

Normalmente, los SLAs incluyen penalizaciones si no se alcanzan los compromisos. Pero… es suficiente? Si en lugar del 99% me dan una disponibilidad del 50%, las penalizaciones me resarcen de los perjuicios causados? Y si por culpa del incumplimiento pierdo clientes? Un SLA también debería incluir un mínimo garantizado, que me asegure que la curva de penalización realmente me compensa.

Y otro apartado que debería incluir todo SLA son las condiciones adicionales. Y aquí es donde la mayoría de los mal llamados SLAs fallan. No es suficiente con especificar en el contrato todos los apartados anteriores. Hay otros aspectos como el seguimiento, la gestión de cambios en los servicios prestados, la resolución de conflictos o los roles y funciones de proveedor y cliente que deberían estar especificados. Contemplan estos aspectos los SLAs del bar de tapas?

En resumen, un SLA es un contrato en el que, en el caso ideal, todas las situaciones que se puedan dar en relación a la prestación del servicio han sido contempladas y reguladas. Sobre todo, un contrato en el que se contemple no sólo qué hacer cuando todo va bien, sino que tenga en cuenta cómo actuar cuando todo va mal. ¿El objetivo final? Que los problemas graves entre cliente y proveedor se puedan resolver como amigos, porque hemos acordado en el SLA cómo se deben resolver situaciones que, en otro caso, quizás llegasen a los tribunales.

Fuente: http://secugest.blogspot.com/2007/03/pngame-una-de-slas.html

Conceptos Pirateables

enero 16, 2007 § Deja un comentario

Hoy, relacionando ciertas noticias, pensaba en una forma de explicar algo que ya muchos en la red saben y entienden pero que, muchos que no son habitué de los bits, mezclan y desconocen.

Estaba escuchando en la radio y se la pasaban mezclando a la gente en una gran moulinex y metiendo en la misma cubeta a los que descargan cosas de la red, los que compran CDs truchos y los que los generan, una gran ensalada de personajes antagónicos o parecidos o totalmente difusos, todos eran “Piratas”, sin diferenciar nada, todos en la misma bolsa.

Entonces ¿como poder identificar cada sujeto en la situación? un simple recordatorio, para que no los acusen de lo que no son.

Tenemos un producto X fabricado en masa por la empresa YYY y creado inicialmente por el “artista” ZZ ZZ. Hasta ahí lo normal, este producto X se vende en locales comerciales, se muestra en un cine o en un recital, se pasa por radio o TV, etc.

Con este producto X puede transferirse con venta o intercambio. El primero tiene un marco legal, el segundo, se lo trata de vandalizar, pero es la forma más básica de comercio y de cultura, el intercambio.
Si yo te presto el producto X para que lo veas en tu TV o lo escuches en tu reproductor, estoy compartiendo, te lo puedo regalar, te lo puedo prestar, lo puedo intercambiar por otro bien, esto es la base del intercambio informal y sosten de cualquier sociedad moderna, va con la humanidad.

Pero tenemos otra forma de venta, no intercambio, venta, que es ilegal y que todos reconocemos como tal. La piratería. Un individuo toma el producto X, lo lleva a su planta VVV VV y realiza cientos de miles de copias, imprime etiquetas, packaging, todo lo que quiera agregarle, no paga royalties, ni impuestos ni nada.
Lo distribuye en el mercado negro y lo vende a un precio inferior que YYY, le roba mercado y el “artista” ZZ ZZ no cobra ese céntimo miserable de regalías ni YYY cobra esa fortuna morbosa de las ventas Risa Eso es la piratería.

Ahora bien, el primer caso se emparenta con el P2P, uno no vende, intercambia, presta, regala, otro hace lo mismo y así una gran cadena de regaladores. El segundo caso es punible, es lucrativo y es ilegal.

Y NO SON JODIDAMENTE IGUALES, SE ENTIENDE ASÍ???

Son dos casos distintos, después podemos discutir si una cosa corresponde o no, si habrá una nueva legislación para el primer caso, si lo que mata a la música no es el músico de mierda si no el inescrupuloso público, etc. Pero comencemos por hablar con propiedad y no meter a todos en la misma bolsa.

Si no, simplemente, decreten que todo “criminal” es aquel que hace algo ilegal y le damos a todos la misma condena, total, son todos iguales, todo criminal hace lo mismo, es igual. Si matás a alguien, sos Pirata, si violás, sos Pirata, si estafás, sos Pirata, total… son más o menos las cosas que hacían los Piratas en el siglo XVIII/XIX Risa

Si dejasen de criminalizar a su propio cliente y comenzasen por cambiar su producto, cambiar sus márgenes de ganancias, adaptarse a las nuevas tecnologías en vez de querer forzar a que cambien para sus intereses privados (eso es robo, eso es piratería, DRM!), la cosa cambiaría.

El problema no está en que uno intercambie o preste, el problema principal es qué motiva a la gente hacerlo no es precisamente la buena calidad del producto o del productor. Es una consecuencia de que YYY no quiera que X llegue al público de la forma que el público espera recibirla si no que pretenden que uno se adapte a lo que ellos imponen. La realidad les demustra una y otra vez que no lo han podido hacer. Nadar contra la corriente es complicado.

La gente no deja de ir al cine porque exista el DVD, deja de ir porque una entrada cuesta casi 20$ e igualmente seguimos yendo al cine porque nos gusta.

A todo esto, los de The Pirate Bay.org andan tratando de comprar Sealand para instalar los servidores ahí, ¿no será mucho?

Fuente: http://www.fabio.com.ar/verpost.php?id_noticia=1938

¿Dónde estoy?

Actualmente estás explorando la categoría definiciones en Seguridad Informática.