Archivo de la categoría: Programación

Seguridad en los Sistemas Operativos

Protección y seguridad

Niveles de seguridad

1.        Nivel físico: no permitir el acceso al hardware a personal no autorizado

2.        Nivel de usuario: educar a los usuarios para no dar información (aparentemente irrelevante) de los sistemas a terceros.  Evitar la ingeniería social

3.        Nivel de red: firewalls bien configurados para permitir sólo los ingresos autorizados

4.        Nivel de aplicación: los procesos y programas propios de la organización deben contar con sus propias medidas de seguridad, como usuarios independientes del sistema operativo, encriptación de las bases de datos, etc.

5.        Nivel de sistema operativo:  tener en cuenta las configuraciones de los sistemas operativos para no utilizar las de instalación simple (por omisión)

Amenazas de seguridad

1.        Intrusos

2.        Virus

3.        Gusanos

4.        Caballos de troya

5.        Bombas lógicas

6.        Trampas

7.        Desbordamiento de buffer

8.        Ataques genéricos

Principio del menor privilegio

Un usuario debe tener acceso a todo lo que necesita y sólo lo que necesita  para realizar su trabajo.

Criptografía

1.        Clave secreta (simétrica)

2.        Clave pública (asimétrica)

3.        Firmas digitales

Componentes de seguridad

Autenticación

1.        Saber: Contraseña

2.        Tener: Por objeto físico

3.        Ser: Biométrica

Autorización

1.        derecho de acceso: la habilidad de ejecutar una operación sobre un objeto

2.        Dominio: colección de derechos de accesos, en pares (Objeto, derecho)

3.        Asociación estática o dinámica  (cambio de dominio)

4.        Implementaciones

  • Dominio por usuario
  • Dominio por proceso: definición de roles, que son la asociación de un programa con un conjunto de derechos de acceso.
  • Dominio por procedimiento: nivel de lenguajes de programación.

5.        Matriz de acceso: es la forma de ver los diferentes dominios, en la cual se especifica en columnas los objetos y en las filas los dominios, y en cada celda el acceso.

6.        Implementaciones

1.        Listas de control de accesos

2.        Capacidades

3.        SELinux

7.        Políticas de seguridad

  • Política militar
  • Políticas comerciales
  • Modelos de seguridad

Auditoría

  • Post mortem
  • Oportunidad de mejoras al realizar análisis de bitácoras
  • Una auditoría constante permite detectar posibles ataques al sistema
  • ej: tripwire

Kerberos

1.        1983 en el M.I.T.

2.        Elimina la necesidad de tener contraseñas por servicios

3.        Cumple con las tres funciones de seguridad

Arquitectura

Un servidor Kerberos se denomina KDC (Kerberos Distribution Center), y provee de dos servicios fundamentales:

1.        Autenticación (AS, Authentication Service):  Autenticar y proporcionar un ticket , que certifica la autenticidad del usuario

2.        Tickets (TGS, Ticket Granting Service):  Basado en el ticket, determina el acceso del usuario a los diferentes servicios

Se tiene tres componentes básicos de seguridad:

1.        La clave de sesión: es una clave secreta generada por Kerberos y expedida a un cliente para uso con un servidor durante una sesión; no es obligatorio utilizarla en toda la comunicación con el servidor, sólo si el servidor lo requiere (porque los datos son confidenciales) o si el servidor es un servidor de autenticación. Se suele denominar a esta clave , para la comunicación entre un cliente C y un servidor S. Las claves de sesión se utilizan para minimizar el uso de las claves secretas de los diferentes agentes: éstas últimas son válidas durante mucho tiempo, por lo que es conveniente para minimizar ataques utilizarlas lo menos posible.

2.        El ticket: es un testigo expedido a un cliente del servicio de tickets de Kerberos para solicitar los servicios de un servidor; garantiza que el cliente ha sido autenticado recientemente. A un ticket de un cliente C para acceder a un servicio S se le denomina. Este ticket incluye el nombre del cliente C, para evitar su posible uso por impostores, un periodo de validez y una clave de sesión asociada para uso de cliente y servidor. Kerberos siempre proporciona el ticket ya cifrado con la clave secreta del servidor al que se le entrega.

3.        El autenticador: es un testigo construido por el cliente y enviado a un servidor para probar su identidad y la actualidad de la comunicación; sólo puede ser utilizado una vez.


Funcionamiento

1.        Un usuario ingresa su nombre de usuario y password en el cliente

  • El cliente genera una clave hash a partir del password y la usará como la clave secreta del cliente
  • El cliente envía un mensaje en texto plano al AS solicitando servicio en nombre del usuario.

2.        El AS comprueba si el cliente está en su base de datos. Si es así, el AS envía dos mensajes al cliente:

  • Mensaje A: Client/TGS session key cifrada usando la clave secreta del usuario
  • Mensaje B: Ticket-Granting Ticket (que incluye el ID de cliente, la dirección de red del cliente, el período de validez y el Client/TGS session key) cifrado usando la clave secreta del TGS.

 

3.        Una vez que el cliente ha recibido los mensajes, descifra el mensaje A para obtener el client/TGS session key. Esta session key se usa para las posteriores comunicaciones con el TGS. (El cliente no puede descifrar el mensaje B pues para cifrar éste se ha usado la clave del TGS). En este momento el cliente ya se puede autenticar contra el TGS.  Entonces el cliente envía los siguientes mensajes al TGS:

  • Mensaje C: Compuesto del Ticket-Granting Ticket del mensaje B y el ID del servicio solicitado.
  • Mensaje D: Autenticador (compuesto por el ID de cliente y una marca de tiempo), cifrado usando el client/TGS session key.

4.        Cuando recibe los mensajes anteriores, el TGS descifra el mensaje D (autenticador) usando el client/TGS session key y envía los siguientes mensajes al cliente:

  • Mensaje E: Client-to-server ticket (que incluye el ID de cliente, la dirección de red del cliente, el período de validez y una Client/Server session key) cifrado usando la clave secreta del  servicio.
  • Mensaje F: Client/server session key cifrada usando el client/TGS session key.

5.        Cuando el cliente recibe los mensajes E y F, ya tiene suficiente información para autenticarse contra el SS. El cliente se conecta al SS y envía los siguientes mensajes:

  • Mensaje E del paso anterior.
  • Mensaje G: un nuevo Autenticador que incluye el ID de cliente, una marca de tiempo y que está cifrado usando el client/server session key.

6.        El SS descifra el ticket usando su propia clave secreta y envía el siguiente mensaje al cliente para confirmar su identidad:

  • Mensaje H: la marca de tiempo encontrada en el último Autenticador recibido del cliente más uno, cifrado el client/server session key.
  • El cliente descifra la confirmación usando el client/server session key y chequea si la marca de tiempo está correctamente actualizada. Si esto es así, el cliente confiará en el servidor y podrá comenzar a usar el servicio que este ofrece.

7.        El servidor provee del servicio al cliente.

Ventajas:

  • Cubre las tres funciones de seguridad
  • La contraseña nunca viaja por la red en el proceso de autenticación

Desventajas:

  • Uso intensivo de la red
  • Uso intensivo de encripción
  • Punto único de fallo
  • Punto único de ataque

Google Analytics y WordPress

Por lo que estuve revisando, no se puede hacer esa combinacion por ahora, asi que, tocara esperar si lo liberan mas adelante.

Aqui, esta el link donde dicen que no se puede 😦

http://en.support.wordpress.com/?s=google+analytics

Aclaro, esto es para los que usamos wordpress.com, ahora si lo instalaste en tu propio hosting, ahi si se puede.

The medium is the massage

Otro magnifico libro, les recomiendo su lectura y ver como este gran autor acerto en muchas de sus «predicciones» con lo que respecta a la tecnología y de como nos afecta en nuestro diario vivir. Ya que como el dice en otro libro la tecnología nos trae varias extensiones al ser humano, aunque tambien nos trae consigo muchas amputaciones (no físicas) Espero les sirva y como indique en el post anterior para quien pueda comprarlo se lo recomiendo.

http://rapidshare.com/files/135095671/the_medium_is_the_massage.pdf.tar.bz2

O Reilly – Head First Design Patterns

Para los amantes de la lectura, les dejo este magnifico libro en descarga directa. Así que aprovechen y para los que puedan comprar el libro se los recomiendo, es un libro que vale la pena comprar, lástima que uno a veces no cuenta con los $$$ suficientes para hacerlo y no queda otra alternativa más que esta 😦

http://rapidshare.com/files/122756244/O_Reilly_-_Head_First_Design_Patterns.rar

Interesante noticia sobre JAVA

Imagen de JAVA

Una nueva noticia de JAVA, como avanza y de que se podria hacer con esta herramienta tan util, aunque a mi me ha dado dolores de cabeza 😦 , pero hay que adaptarse al cambio y aprender como debe de ser JAVA.

Sun Microsystems presenta JavaFX

La plataforma Java es un estándar que se encuentra en miles de millones de dispositivos, desde navegadores y ordenadores (800.000) a teléfonos móviles (más de 2.000 millones) y reproductores Blu-Ray (13 millones), TVs (9 millones) y otros productos y dispositivos en red. Diario Ti: Durante la ceremonia de apertura de la 13ª Conferencia de Desarrolladores JavaOne, Rich Green, vicepresidente ejecutivo de Software de Sun Microsystems destacó el importante papel que la tecnología Java está jugando en el desarrollo de contenidos y experiencias. Green señaló las múltiples oportunidades que ofrece Java, el contenido dinámico, los servicios avanzados y las aplicaciones mashups que son posibles gracias a “JavaFX», familia de productos para la creación de Rich Internet Applications (RIAs) con medios y contenidos.

Leer el articulo completo

Organizacion y Lenguajes de Compiladores

Compiladores

Les coloco en formato digital el Libro del Dragon de Compiladores, el clasico libro que habla sobre los compiladores, su manejo, implementación y más. El autor de este libro es Aho.

Link 1

Gracias compañeros Raul, link corregido

PD. Lamento que el libro este en inglés, pero la portada la encontre en español. Así que pido mil disculpas para aquellas personas que se ilusionan al ver la portada en español, pero como dije antes. el libro está en INGLES

Biblia de Java

Biblia de Java

Queridos compañeros de programacion, les pongo en descarga directa el libro Biblia de Java, el cual consta de dos partes, el inconveniente de esta version es que la escanearon «mal» x asi decirlo, ya que el archivo ya descomprimido ocupada más de 100 Mbs. 😦

Parte 1 – Biblia de Java

Parte 2 – Biblia de Java

Disfruten de este buen manual de programacion, es muy bueno para empezar a aprender Java.