Archivos para Agosto 2008

OpenJDK en Debian Lenny

Esta noticia ha hecho mi día. De acuerdo a este artículo, OpenJDK (la implementación libre de la plataforma Java) ha entrado en Debian Lenny (Debian testing).  No me pude resistir y esto fué lo que hice para ver si era cierto:

# apt-get update
# apt-cache search openjdk
icepick - java toolchain built from OpenJDK sources
icepick-gcj - java toolchain built from OpenJDK sources (native library)
openjdk-6-dbg - Java runtime based on OpenJDK (debugging symbols)
openjdk-6-demo - Java runtime based on OpenJDK (demos and examples)
openjdk-6-doc - OpenJDK Development Kit (JDK) documentation
openjdk-6-jdk - OpenJDK Development Kit (JDK)
openjdk-6-jre - OpenJDK Java runtime, using Hotspot JIT
openjdk-6-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headless)
openjdk-6-jre-lib - OpenJDK Java runtime (architecture independent libraries)
openjdk-6-source - OpenJDK Development Kit (JDK) source files

Esto confirma que OpenJDK está vivita y coleando en Debian. Ahora vamos a instalarla.

# apt-get install openjdk-6-jdk

Y después de 76 megas de descarga tenemos:

$ java -version
java version "1.6.0_0"
OpenJDK  Runtime Environment (build 1.6.0_0-b11)
OpenJDK Server VM (build 1.6.0_0-b11, mixed mode)

Ahora vamos a crear un programa de prueba:

import javax.swing.*;

public class Prueba {
    public static void main(String[] args) {
        JFrame ventana = new JFrame("Probando OpenJDK");
        ventana.setSize(250, 250);
        ventana.add(new JLabel("OpenJDK en Debian Lenny!!"));
        ventana.setVisible(true);
    }
}

Compilamos:

$ javac Prueba.java

Ejecutamos:

$ java Prueba

El agujero de seguridad en DNS

Desde hace unas semanas se ha comentado mucho acerca de un agujero de seguridad en la mayoría de las implementaciones de DNS (servidores DNS). Según mi investigación, el agujero podría llegar a hacerte creer que entras a www.tubancofavorito.com cuando en realidad estás entrando a un sitio de dudosa procedencia.

He encontrado un artículo en Linux Journal donde se explica la vulnerabilidad en detalle y de una manera muy clara.

En el podcast de Security Now No. 157 se discute una posible solución. Ésta consiste en aumentar el número de bits disponibles para la identificación de una petición DNS. En realidad es un hack, pero por lo que escuché tiene mucho sentido. La solución se basa en combinar caracteres mayúsculos y minúsculos en las peticiones DNS (wWw.AlgUNaWeb.AbC). Los caracteres mayúsculos o minúsculos son indiferentes para los servidores DNS raíz pero pudieran ayudar a agregar números de identificación a las peticiones DNS haciendo sumamente complicado el envenenamiento de servidores DNS.

Instalando un servidor SAMBA en Debian

En esta ocasión explicaré cómo crear tu propio servidor SAMBA en un computador corriendo Debian. Esta guía ha sido realizada en Debian testing (Lenny). Sin embargo, deberá funcionar sin problemas para otras versiones de Debian (y quizá Ubuntu también).

¿Qué es SAMBA? Es una implementación del protocolo CIFS. El cual es utilizado por el sistema operativo Windows para compartir recursos a través de una red. Con Samba, podemos compartir recursos a otros equipos en una red. Los clientes podrán ser máquinas corriendo alguna versión de Linux, UNIX, Mac OS o Windows.

¿Comenzamos?

1. Buscar si el paquete samba está disponible en la caché de paquetes:

# apt-cache search samba
samba - a LanManager-like file and printer server for Unix

2. Para instalar el servidor SAMBA, ejecutar el siguiente comando:

# apt-get install samba

3. Editar el archivo de configuración de SAMBA:

# nano /etc/samba/smb.conf

Buscar la siguiente línea:

workgroup = ALGO

En esta línea se configura el grupo de trabajo (tal y como lo hacemos en equipos Windows).

4. Refinar la configuración de directorios de usuario compartidos. Por defecto, SAMBA comparte los directorios de usuario del equipo. Esto es deseable la mayoría de las veces. Las opciones de configuración pueden encontrarse en el archivo de configuración SAMBA (/etc/samba/smb.conf) en la directiva llamada [homes]. A continuación se muestra un ejemplo en el que se comparten los directorios de usuario y se dan permisos de escritura sobre ellos.

[homes]
   comment = Directorios de usuarios
   browseable = yes
   public = yes
   writable = yes

5. Reiniciar servidor para hacer efectivos los cambios:

# /etc/init.d/samba restart

6. Crear usuarios a los cuales se les permitirá usar este servidor SAMBA. Es necesario crear cuentas de usuario SAMBA, típicamente serán las mismas cuentas de usuario que ya existan en el equipo. Ejemplo:

# smbpasswd -a usuario

Listo. Con estos pasos puedes comenzar a utilizar el servicio. Una cosa final a señalar es el hecho de que SAMBA utiliza los siguientes puertos:

137/udp
137/tcp
138/udp
138/tcp
139/udp
139/tcp

Solo ajustar el cortafuegos del servidor y permitir el tráfico a esos puertos.

¡Hasta la próxima!

Google code “bannea” a MPL (Mozilla Public License)

Leo aquí que en el OSCON (O’ Rreilly Open Source Convention) Chris DiBona anuncia que Google Code no permitirá licenciar proyectos bajo la licencia MPL (Mozilla Public License). Las razones no son claras. En mi opinión esto se trata de que Google quiere evitar la proliferación de licencias libres y mantener solo unas cuantas.

Artículo

JavaFX (Versión preliminar) liberada

Sun ha liberado una versión preliminar de JavaFX. Esta plataforma viene a competir con Flex de Adobe y Silverlight de Microsoft. En lo personal me agrada el hecho de que tanto el compilador y parte de las librerías gráficas son liberadas bajo GPL 2.0. Creo que la idea de Sun será liberar la plataforma por completo de la mima manera en que lo hizo con Java (openJDK).

¿La parte mala?

Intento descargar el SDK y me llevo la grata sorpresa de que solo hay versión para Windows y Mac OS. Mi entusiasmo se ha ido por la borda con el pequeño detalle de que no tengo una versión del SDK para mi sistema operativo.

Esperemos que en breve tengamos una versión para Linux.

Les dejo estos enlaces:

OpenJFX

Sitio oficial de JavaFX

Blog de JavaFX