domingo, marzo 30, 2008

Manual Nessus en Linux

Introduccion:
A pedido de muchas personas, y como veo que no hay muucha documentacion de Nessus, voy a hacer mi manual en español para instalarlo, actualizarlo y utilizarlo step-by-step (paso a paso) bajo linux. Pese a que a partir de la version 3.x la licencia del nessus no es gpl (es comercial) la guia va a ser de estas versiones, preferentemene de la 3.0.5.

Descarga de Nessus:
Por razones que no comprendo con exactitud, el proceso de instalacion del nessus es bastante e innecesariamente largo.
Primero vamos a la pagina de nessus (www.nessus.org) y luego vamos a la parte de descargas (DOWNLOADS). Ahi nos da la opcion de elegir la version del nessus y el SO, ustedes elegiran el que quieran, yo recomiendo 3.0.5 para linux, porque este manual es para ese SO. Una vez seleccionado, presionamos el boton DOWNLOAD. A continuacion nos aparecera una licencia comercial que ni dan ganas de leerla. Bajamos y seleccionamos I accept (aunque piensen lo contario) xD. Despues de esto tenemos que llenar los casilleros con nuestros datos. Asegurense de poner el mail aunquesea correctamente porque es ahi donde recibiran un codigo de verificacion. Continuamos y por fin nos aparecen los links de descarga. Como podran apreciar, solo aparecen unas cuantas distros:

Debian 3.1 Nessus-3.0.5-debian3_i386.deb 5928 KB
Red Hat ES 3 Nessus-3.0.5-es3.i386.rpm 7249 KB
Red Hat ES 4 Nessus-3.0.5-es4.i386.rpm 7288 KB
Fedora Core 4 Nessus-3.0.5-fc4.i386.rpm 7831 KB
Fedora Core 5 Nessus-3.0.5-fc5.i386.rpm 7864 KB
Fedora Core 6 Nessus-3.0.5-fc6.i386.rpm 7866 KB
SuSE 10 Nessus-3.0.5-suse10.0.i586.rpm 5726 KB
SuSE 9.3 Nessus-3.0.5-suse9.3.i586.rpm 5742 KB

Obviamente se bajan el que les corresponde, es posible que su distro no este ahi. Si su distro usa rpm bajense el de fedora, o red hat, o suse, seguro que les anda. Si usan .deb bajense el de debian, que seguro les va a andar. Si usan paquetes .tgz como yo (uso slackware), se van a tener que bajar el de SuSe 10 y lo van a tener que pasar a .tgz con el comando rpm2tgz que ya viene con slackware. Si usan otro paquete, manden un mail a deraison@nessus.org donde el señor Renaud Deraison o su secretario/a les va a contestar amarga y hostilmente, pero la respuesta va a servir.

Instalacion:

Una vez que tienen su paquete preparado o bajado, lo tendran que instalar normalmente:

En red hat o suse:

rpm -ivh Nessus-3.0.5-*

En Debian:

dpkg -i Nessus-3.0.5-*

Y en slackware:

installpkg Nessus-3.0.5-*

Si usan otra distro, sabran hacerlo.

Una vez instalado, diriganse al directorio donde fue instalado Nessus, por defecto es /opt/nessus y ejecutamos el archivo nessus-add-first-user para crearle un usuario al Nessus.

#cd /opt/nessus/sbin
#./nessus-add-first-user
Ahi llenenlo como quieran. Excepto en la parte de User rules:
Si quieren leanse el nessus-adduser man page, pero es medio al pedo, alcanza con que pongan
default-accept como regla para que el usuario pueda escanear un host remoto.

Despues de eso, nos vamos al directorio bin/ y ejecutamos el nessus-mkcert-client

#cd ..
#cd bin/
#./nessus-mkcert-client
Y responden las preguntas como quieran, asegurense de que en la primer pregunta (Do you want to register the users in the Nessus server...) poner que si en el caso de que el usuario creado para nessus y el programa este instalado en la misma PC.

En caso de que quieran hacer un segundo usuario para nessus (con mas o menos privilegios), hacen esto:

#cd ..
#cd sbin/
#./nessus-adduser
Y lo llenan con los datos que quieran.

Una vez hecho esto, vamos a ejecutar el demonio de nessus. Con esto vamos a poner el servidor nessus. Esto es necesario hacerlo cada vez que van a usar el programa, ya que el cliente GTK de nessus e incluso la consola necesitan un servidor para conectarse. Sino no anda.

#cd /opt/nessus/sbin
#./nessusd -D

Y dejamos que carguen los plugins (puede tardar unos minutos).

Instalando el codigo de activacion:

Por la paranohia de la gente de nessus, para utilizar el programa, hay que registrarlo con el codigo que es enviado gratuitamente a tu mail. Asi que abri tu casilla de correo y en el mail que te mandaron copia una licencia o codigo de activacion. Luego de copiarlo, anda a la consola y hace esto:

#cd /opt/nessus/bin
#./nessus-fetch --register CODIGO-DE-ACTIVACION-QUE-TIENEN

Una vez finalizado esto, ya terminaron con la instalacion.

ACTUALIZACION:

En la pagina de nessus, los plugins se actualizan constantemente. Por lo tanto, siempre te conviene estar al dia. Hay dos formas para actualizar:

1)La mas comoda y recomendada:

Vamos a la consola y escribimos esto:

#cd /opt/nessus/sbin
#./nessus-update-plugins

Va a tardar un buen rato. Esto deberias hacerlo todos los dias para mantenerte al dia con los plugins.

2)Menos comoda:

Vas a la pagina de nessus, vas a la parte de plugins, seleccionas los que te interesan, los copias y los pegas en /opt/nessus/lib/nessus/plugins con formato .nasl usando el editor de texto que quieras. Esto se usa porque cuando actualizas, los plugins mas viejos no se bajan, por lo tanto te conviene hacerlo con los plugins que mas te interesen, por lo menos una vez.

Listo Solo falta que les explique como usarlo.

UTILIZACION DEL NESSUS:

Hay dos formas de usar el nessus: con el cliente GTK y el cliente de consola. Yo uso la consola porque me gusta mas. Asi que les voy a enseñar como hacerlo desde la consola suponiendo que no arrancaron el server

#cd /opt/nessus/sbin
#./nessusd -D //Arrancamos el server en modo demonio o background
#cd ..
#cd bin/
#vim targets.txt //Aca usamos el editor que queramos, en mi caso el vim, para crear el archivo donde se encuentren los hosts a escanear. Adentro del archivo debemos poner el host o la IP
#./nessus -q 127.0.0.1 1241 usuariodenessus contraseñadelusuario /opt/nessus/bin/targets.txt /opt/nessus/bin/resultados.txt //El archivo targets debe ser creado si o si antes de ejecutar el cliente, le pueden poner cualquier nombre y donde quieran, siempre especifiquen la ubicacion. El archivo resultados.txt lo crea el nessus, ahi van los logs del escaneo. Donde dice usuariodenessus va el usuario que le crearon a nessus y en contraseñadelusuario, obviamente va la contraseña del usuario.

Informacion obtenida desde: http://zodiac-mitm.blogspot.com/2007/10/manual-nessus.html

sábado, marzo 29, 2008

Creacion ed una red virtual con openVPN

OpenVPN HowTo
Página Oficial
Autor del HowTo: Iñaki Baz (ibc)

Vamos a montar varias VPNs entre 3 delegaciones. Cada red dispone de un servidor Debian haciendo de router con IP pública dinámica y hace NAT para dar salida a los equipos de la red hacia Internet.

Este sería el escenario:

Delegación A
Dominio: a.com
Subred: 192.168.1.0/24
Nodo VPN: 10.0.1.2
[editar]Delegación B
Dominio: b.com
Subred: 192.168.2.0/24
Nodo VPN: 10.0.2.2
Delegación C
Dominio: c.com
Subred: 192.168.3.0/24
Nodo VPN: 10.0.1.1 (para A)
Nodo VPN: 10.0.2.1 (para B)
Vamos a conectar A con C y B con C mediante dos VPNs con OpenVPN. La seguridad será mediante una clave simétrica para simplificar, aunque podría hacerse con TLS.

Primeramente instalamos OpenVPN en los 3 routers:

#> apt-get install openvpn

Debian A
Creamos el fichero /etc/openvpn/vpn_a_c.conf:

remote c.org
float # por si c.org es IP dinámica.
port 1194
dev tun # creado por el paquete debian.
persist-tun # necesario al ejecutarse como "nobody".
ifconfig 10.0.1.2 10.0.1.1 # nodo local - nodo remoto.
comp-lzo
ping 15
ping-restart 120
verb 3
secret /etc/openvpn/clave_a_c.txt # hay que crearla y copiarla al remoto.
persist-key # necesario al ejecutarse como "nobody".
route 192.168.3.0 255.255.255.0 # se ruta por aquí lo que vaya a la red de C.
user nobody
group nogroup
chroot /var/empty # por seguridad.

Generemos la clave simétrica para la VPN entre A y C y la copiamos a C:

#> cd /etc/openvpn
#> openvpn --genkey --secret clave_a_c.txt
#> scp clave_a_c.txt c.org:/etc/openvpn/

Insertamos el módulo tun para controlar los interfaces /dev/net/tunX que se necesiten, creamos el directorio /var/empty para hacer chroot y reiniciamos OpenVPN:

#> modprobe tun
#> mkdir /var/empty
#> chown nobody.nogroup /var/empty
#> /etc/init.d/openvpn restart


Debian B
Creamos el fichero /etc/openvpn/vpn_b_c.conf:

remote c.org
float # por si c.org es IP dinámica.
port 1195 # podría ser distinto el local que el remoto pero así más sencillo.
dev tun # creado por el paquete debian.
persist-tun # necesario al ejecutarse como "nobody".
ifconfig 10.0.2.2 10.0.2.1 # nodo local - nodo remoto.
comp-lzo
ping 15
ping-restart 120
verb 3
secret /etc/openvpn/clave_b_c.txt # hay que crearla y copiarla al remoto.
persist-key # necesario al ejecutarse como "nobody".
route 192.168.3.0 255.255.255.0 # se ruta por aquí lo que vaya a la red de C.
user nobody
group nogroup
chroot /var/empty # por seguridad.

Generemos la clave simétrica para la VPN entre B y C y la copiamos a C:

#> cd /etc/openvpn
#> openvpn --genkey --secret clave_b_c.txt
#> scp clave_b_c.txt c.org:/etc/openvpn/

Insertamos el módulo tun para controlar los interfaces /dev/net/tunX que se necesiten, creamos el directorio /var/empty para hacer chroot y reiniciamos OpenVPN:

#> modprobe tun
#> mkdir /var/empty
#> chown nobody.nogroup /var/empty
#> /etc/init.d/openvpn restart


Debian C
Creamos el fichero /etc/openvpn/vpn_c_a.conf:

remote a.org
float # por si c.org es IP dinámica.
port 1194
dev-node /dev/net/tun1 # creado por el paquete debian y renombrado por nosotros.
persist-tun # necesario al ejecutarse como "nobody".
ifconfig 10.0.1.1 10.0.1.2 # nodo local - nodo remoto.
comp-lzo
ping 15
ping-restart 120
verb 3
secret /etc/openvpn/clave_a_c.txt
persist-key # necesario al ejecutarse como "nobody".
route 192.168.1.0 255.255.255.0 # se ruta por aquí lo que vaya a la red de A.
user nobody
group nogroup
chroot /var/empty # por seguridad.

Creamos el fichero /etc/openvpn/vpn_c_b.conf:

remote b.org
float # por si c.org es IP dinámica.
port 1195 # ¡¡ojo, el 1194 está ocupado en la otra VPN con A!!
dev-node /dev/net/tun2 # creado por nosotros.
persist-tun # necesario al ejecutarse como "nobody".
ifconfig 10.0.2.1 10.0.2.2 # nodo local - nodo remoto.
comp-lzo
ping 15
ping-restart 120
verb 3
secret /etc/openvpn/clave_b_c.txt
persist-key # necesario al ejecutarse como "nobody".
route 192.168.2.0 255.255.255.0 # se ruta por aquí lo que vaya a la red de B.
user nobody
group nogroup
chroot /var/empty # por seguridad.

Renombramos tun por tun1:

#> mv /dev/net/tun /dev/net/tun1

Creamos uno nuevo para la conexión con B:

#> mknod /dev/net/tun2 c 10 200

Insertamos el módulo tun para controlar los interfaces /dev/net/tunX que se necesiten, creamos el directorio /var/empty para hacer chroot y reiniciamos OpenVPN:

#> modprobe tun
#> mkdir /var/empty
#> chown nobody.nogroup /var/empty
#> /etc/init.d/openvpn restart


Iptables de A, B y C
Debemos introducir estas reglas en cada router:

# Aceptamos el tráfico entrante UDP por el puerto del OpenVPN sobre el interfaz real (eth0, ppp0...). Ojo, en C debemos abrir 2 puertos, el 1194 y 1195:
-A INPUT -i eth0 -p udp --dport 1194 -j ACCEPT
# Aceptamos también la salida por dicho puerto:
-A OUTPUT -o eth0 -p udp --sport 1194 -j ACCEPT
# Permitimos conectar desde cualquier equipo de las redes a nuestro router por la VPN:
-A INPUT -i tun+ -j ACCEPT
# Permitimos conectar por la VPN desde el router al resto de routers y equipos de cada red:
-A OUTPUT -o tun+ -j ACCEPT
# Permitimos que equipos de las otras redes accedan a nuestra red:
-A FORWARD -i tun+ -j ACCEPT
# Permitimos que los equipos de nuestra red accedan a la VPN:
-A FORWARD -o tun+ -j ACCEPT




Y ya está, ahora deberíamos poder hacer un ping desde cualquier ordenador de A (192.168.1.0/24) a cualquiera de C (192.168.3.0/24). Lo mismo desde B (192.168.2.0/24) a C. Y también en sentido contrario desde C a A y desde C a B.

Esto es sólo un simple ejemplo de lo que se puede hacer con OpenVPN. Te recomiendo que visites la página oficial de OpenVPN para obtener mucha más información (modo server-clients, TLS, clientes para Windows, road-warrior, etc).

Especial mención merece también el propio manual de OpenVPN (man openvpn), que explica detalladmente todas las posibilidades de este software.

viernes, marzo 28, 2008

Configurar varias ips a una tarjeta de red en linux

Para esto tenemos que conocer algún editor como vi o nano, en particular yo prefiero nano por suerte viene en casi todos los sistemas debian pero el que aparece en la mayoría de los linux es vi el cual puede ser mas complicado por que se utilizan comandos para grabar, salir, reemplazar , buscar, etc es mucho mas flexible que el editor nano. Pero como lo único que queremos hacer es editar un archivo y luego guardarlo nos andará bien usar nano.
En debian o sus otros clones existe un archivo llamado interfaces este contiene la información de cada una de nuestras “interfaces” disponibles en nuestro sistema, generalmente cuando se instala linux la configuración en este archivo es básica eso quiere decir que la configuración es capas de iniciar las interfaces de red y configurarlas como DHC (abstención de ip mediante un servidor DHCP) para que entendamos..Cundo una interfas esta configurada para DHCP quiere decir que cuando se inicia esta busca en la red si existe un servidor DHCP disponible , el servidor DHCP tiene como función otorgar una ip a quien se solo solicite y sin que exista duplicidad , claro todo esto depende de como este configurado el servidor DHCP dado que un servidor de estas características puede dar o no IP a quien se lo solicite o bien puede ser abierto y entregar tantas ips como le sean permitidas. Teniendo esto un poco claro continuamos con el titulo.
La ubicacion del archivo interfaces en debian esta ubicado en /etc/network/interfaces
Para editarlo lo hacemos de la siguiente forma
nano /etc/network/interfaces
Si queremos asignar una ip tendremos que modificar lo que aparece en el campo donde nos indica el nombre de la interfas , en este caso eth0:0
Así puede aparecer
auto eth0:0
iface eth0:0
inet dhcp
Como comentamos anteriormente por defecto podemos encontrar que la interfas esta configurada para DHCP y como queremos ahora configurarla en forma estática tendremos que modificar dhcp por static de la siguiente forma
auto eth0:0
iface eth0:0 inet static
Bien.. ahora le entregaremos los datos de ip , mascara y puerta de enlace, siguiendo con el ejemplo anterior y en modo de ejemplo utilizaremos los datos del ejercicio anterior.
IP : 192.168.53.226
Netmask : 255.255.255.0
Puerta de enlace : 192.168.53.1
Entonces queremos agregar estos datos en nuestro archivo de configuración /etc/network/interfaces , para esto tendremos que agregar después de la linea static lo siguiente.
address 192.168.53.228
netmask 255.255.255.0
gateway 192.168.53.1
Nada complicado o si??
para terminar nuestra configuración de la interfas eth0 quedaría así.
auto eth0:0
iface eth0:0
inet staticaddress 192.168.53.228
netmask 255.255.255.0
gateway 192.168.53.1
Ahora si no te quieres complicar un poco mas la vida reinicia tu sistema o bien reinicia la red de la siguiente forma.
/etc/init.d/networking restart

Texto obtenido y modificado desde: http://pasoslinux.wordpress.com/category/configuraciones/

jueves, marzo 27, 2008

Configurar una conexion tap en qemu

Sera necesario este tipo ed conexion cuando por los motivos que sea se quiera acceder desde la maquina invitada al host o bien desde el host a la maquina invitada como si se tratara de una red de ordenadores.

Configuracion para windows XP ->http://www.secgame.org/downloads/sg6.secgame07.instw32.pdf
http://www.h7.dion.ne.jp/~qemu-win/TapWin32-en.html
Configuracion para windows Vista (supuestamente funciona tambien en windows xp, a mi no me ha funcionado)->http://www.adictosaltrabajo.com/tutoriales/pdfs/qemuWinVPN.pdf

Los IDS como instrumento de lucha contra los exploits y el malware

Parece prácticamente inexcusable que a estas alturas cualquier red que se precie proteger cuente con mecanismos de detección de intrusos.

De entre las múltiples opciones que poseen los administradores, hay un sistema de detección bastante popular. Se trata de Snort, un buen sistema de detección que además, es libre y gratuíto.

Una de las grandes ventajas de Snort es que admite la carga de firmas específicas para determinadas vulnerabilidades, factor interesante a tener en cuenta a la hora de minimizar el riesgo que proviene de la existencia de exploits masivos que puden atacar nuestra infraestructura.

Así por ejemplo, a raíz de la reciente publicación de MS06-042, sobre la que se habló extensamente ayer en una-al-día, han aparecido algunos exploits on the wild que pueden ser detenidos con ayuda de nuestro amigo Snort.

Para ello, basta con añadir firmas que permitan identificar estos exploits. Desde la firma más genérica, del tipo alert tcp any any -> any $RPC_PORTS (msg:"US-CERT MS06-040 Indicator"; content:"| 90 90 EB 04 2B 38 03 78 |"; classtype:malicious-activity; sid:1000003; rev:1;), a firmas más elaboradas, que incluyen información suficiente para identificar al vuelo los exploits conocidos para un determinado problema de seguridad.

Para entender la secuencia PCRE que sirve habitualmente como firma para un IDS como Snort, basta con acudir a una referencia Regular Expression Basic Syntax Reference, en la que se estandariza la sintaxis adecuada para codificar firmas adecuadamente. Estas PCRE son las llamadas Perl Compatible Regular Expressions, orientadas a ofrecer patrones de coincidencia (matching) en expresiones regulares.

Este tipo de firmas pueden ser consultadas y descargadas de servicios como Bleeding Edge Snort. Otro ejemplo interesante de firma sirve para contrarrestar el reciente troyano que se comunica vía túnel ICMP, y sobre el que habló Julio en nuestro blog del laboratorio

IDS. Sistema de deteccion de intrusiones

Un sistema de detección de intrusos (o IDS de sus siglas en inglés Intrusion Detection System) es un programa usado para detectar accesos desautorizados a un computador o a una red. Estos accesos pueden ser ataques de habilidosos hackers, o de Script Kiddies que usan herramientas automáticas.

El IDS suele tener sensores virtuales (por ejemplo, un sniffer de red) con los que el núcleo del IDS puede obtener datos externos (generalmente sobre el tráfico de red). El IDS detecta, gracias a dichos sensores, anomalías que pueden ser indicio de la presencia de ataques o falsas alarmas.


Funcionamiento

El funcionamiento de estas herramientas se basa en el análisis pormenorizado del tráfico de red, el cual al entrar al analizador es comparado con firmas de ataques conocidos, o comportamientos sospechosos, como puede ser el escaneo de puertos, paquetes malformados, etc. El IDS no sólo analiza qué tipo de tráfico es, sino que también revisa el contenido y su comportamiento.

Normalmente esta herramienta se integra con un firewall. El detector de intrusos es incapaz de detener los ataques por sí solo, excepto los que trabajan conjuntamente en un dispositivo de puerta de enlace con funcionalidad de firewall, convirtiéndose en una herramienta muy poderosa ya que se une la inteligencia del IDS y el poder de bloqueo del firewall, al ser el punto donde forzosamente deben pasar los paquetes y pueden ser bloqueados antes de penetrar en la red.

Los IDS suelen disponer de una base de datos de “firmas” de ataques conocidos.

Dichas firmas permiten al IDS distinguir entre el uso normal del PC y el uso fraudulento, y/o entre el tráfico normal de la red y el tráfico que puede ser resultado de un ataque o intento del mismo.

Tipos de IDS

Existen tres tipos de sistemas de detección de intrusos:

  1. HIDS (HostIDS): un IDS vigilando un único ordenador y por tanto su interfaz corre en modo no promiscuo. La ventaja es que la carga de procesado es mucho menor.
  2. NIDS (NetworkIDS): un IDS basado en red, detectando ataques a todo el segmento de la red. Su interfaz debe funcionar en modo promiscuo capturando así todo el tráfico de la red.
  3. DIDS (DistributedIDS): sistema basado en la arquitectura cliente-servidor compuesto por una serie de NIDS (IDS de redes) que actúan como sensores centralizando la información de posibles ataques en una unidad central que puede almacenar o recuperar los datos de una base de datos centralizada. La ventaja es que en cada NIDS se puede fijar unas reglas de control especializándose para cada segmento de red. Es la estructura habitual en redes privadas virtuales (VPN).

Sistemas pasivos y sistemas reactivos

En un sistema pasivo, el sensor detecta una posible intrusión, almacena la información y manda una señal de alerta que se almacena en una base de datos. En un sistema reactivo, el IDS responde a la actividad sospechosa reprogramando el cortafuegos para que bloquee tráfico que proviene de la red del atacante.

Implementación


Para poner en funcionamiento un sistema de detección de intrusos se debe tener en cuenta que es posible optar por una solución hardware, software o incluso una combinación de estos dos. La posibilidad de introducir un elemento hardware es debido al alto requerimiento de procesador en redes con mucho tráfico. A su vez los registros de firmas y las bases de datos con los posibles ataques necesitan gran cantidad de memoria, aspecto a tener en cuenta.

En redes es necesario considerar el lugar de colocación del IDS. Si la red está segmentada con hub (capa 1 del modelo OSI) no hay problema en analizar todo el tráfico de la red realizando una conexión a cualquier puerto. En cambio, si se utiliza un switch (capa 2 del modelo OSI), es necesario conectar el IDS a un puerto SPAN (Switch Port Analiser) para poder analizar todo el tráfico de esta red.

miércoles, marzo 26, 2008

NAT

NAT (Network Address Translation - Traducción de Dirección de Red) es un mecanismo utilizado por routers IP para intercambiar paquetes entre dos redes que se asignan mutuamente direcciones incompatibles. Consiste en convertir en tiempo real las direcciones utilizadas en los paquetes transportados. También es necesario editar los paquetes para permitir la operación de protocolos que incluyen información de direcciones dentro de la conversación del protocolo.

Su uso más común es permitir utilizar direcciones privadas (definidas en el RFC 1918) y aún así proveer conectividad con el resto de Internet. Existen rangos de direcciones privadas que pueden usarse libremente y en la cantidad que se quiera dentro de una red privada. Si el número de direcciones privadas es muy grande puede usarse solo una parte de direcciones públicas para salir a Internet desde la red privada. De esta manera simultáneamente solo pueden salir a Internet con una dirección IP tantos equipos como direcciones públicas se hayan contratado. Esto es necesario debido a la progresiva escasez de direcciones provocada por el agotamiento de éstas. Se espera que con el advenimiento de IPv6 no sea necesario continuar con esta práctica.


Funcionamiento

El protocolo TCP/IP tiene la capacidad de generar varias conexiones simultáneas con un dispositivo remoto. Para realizar esto, dentro de la cabecera de un paquete IP, existen campos en los que se indica la dirección origen y destino con sus respectivos puertos. Esta combinación de números define una única conexión.

Una pasarela NAT cambia la dirección origen en cada paquete de salida y, dependiendo del método, también el puerto origen para que sea único. Estas traducciones de dirección se almacenan en una tabla, para recordar qué dirección y puerto le corresponde a cada dispositivo cliente y así saber donde deben regresar los paquetes de respuesta. Si un paquete que intenta ingresar a la red interna no existe en la tabla de traducciones, entonces es descartado. Debido a este comportamiento, se puede definir en la tabla que en un determinado puerto y dirección se pueda acceder a un determinado dispositivo, como por ejemplo un servidor web, lo que se denomina NAT inverso o DNAT (Destination NAT).

NAT tiene muchas formas de funcionamiento, entre las que destaca.

Estático

Es un tipo de NAT en el que una dirección IP privada se traduce a una dirección IP pública, y donde esa dirección pública es siempre la misma. Esto le permite a un host, como un servidor Web, el tener una dirección IP de red privada pero aún así ser visible en Internet.

Dinámico

Es un tipo de NAT en la que una dirección IP privada se mapea a una IP pública basándose en una tabla de direcciones de IP registradas (públicas). Normalmente, el router NAT en una red mantendrá una tabla de direcciones IP registradas, y cuando una IP privada requiera acceso a Internet, el router elegirá una dirección IP de la tabla que no esté siendo usada por otra IP privada. Esto permite aumentar la seguridad de una red dado que enmascara la configuración interna de una red privada y lo que dificulta a los hosts externos de la red el poder ingresar a ésta. Para este método se requiere que todos los hosts de la red privada que deseen conectarse a la red pública posean al menos una IP pública asociada.

Sobrecarga

La forma más utilizada de NAT, proviene del NAT dinámico, ya que toma múltiples direcciones IP privadas (normalmente entregadas mediante DHCP) y las traduce a una única dirección IP pública utilizando diferentes puertos. Esto se conoce también como PAT (Port Address Translation - Traducción de Direcciones por Puerto), NAT de única dirección o NAT multiplexado a nivel de puerto.

Traslape

Cuando las direcciones IP utilizadas en la red privada son direcciones IP públicas en uso en otra red. El ruteador posee una tabla de traducciones en donde se especifica el reemplazo de éstas con una única dirección IP pública. Así se evita los conflictos de direcciones entre las distintas redes.

Razones de la creación y utilización de NAT

Con el crecimiento exponencial de Internet, y debido a que las direcciones en la versión actualmente usada de IP consisten sólo de 32 bits, empezó a haber escasez de direcciones nuevas. Ayuda a esto el hecho de que el número de direcciones es menor al teórico, por la forma en que se distribuyen las direcciones en clases y que otras son reservadas para multicasting, y para usos especiales. Para solucionar esto se diseñó un protocolo que es capaz de asignar un número mayor de direcciones, llamado IPv6, pero tomará muchos años su implantación, porque no es compatible con el anterior.

Para lidiar momentáneamente con este problema se empezó a emplear la técnica NAT, que al traducir la direcciones multiplica las posibilidades efectivas de asignación.

NAT es muy utilizado en empresas y redes caseras, ya que basta tener una sola dirección IP pública para poder conectar una multitud de dispositivos. Los ISP también pueden utilizar NAT para aliviar la escasez de direcciones IP para los usuarios de cable y ADSL, en este caso el ISP le asigna una dirección a cada usuario, usa direcciones no válidas de internet. Cuando los paquetes de las máquinas de usuario salen del ISP atraviesan una caja NAT que los traduce a la verdadera dirección de Internet del ISP. En el camino de regreso, los paquetes sufren la conversión inversa. En este caso, para el resto de Internet, el ISP y sus usuarios caseros de cable y ADSL se comportan como una compañía grande.

Protocolo RADIUS

RADIUS (acrónimo en inglés de Remote Authentication Dial-In User Server). Es un protocolo de autenticación y autorización para aplicaciones de acceso a la red o movilidad IP. Utiliza el puerto 1813 UDP para establecer sus conexiones.

Cuando se realiza la conexión con un ISP mediante módem, DSL, cablemódem, Ethernet o Wi-Fi, se envía una información que generalmente es un nombre de usuario y una contraseña. Esta información se transfiere a un dispositivo NAS (Servidor de Acceso a la Red) sobre el protocolo PPP, quien redirige la petición a un servidor RADIUS sobre el protocolo RADIUS. El servidor RADIUS comprueba que la información es correcta utilizando esquemas de autentificación como PAP, CHAP o EAP. Si es aceptado, el servidor autorizará el acceso al sistema del ISP y le asigna los recursos de red como una dirección IP, y otros parámetros como L2TP, etc.

Una de las características más importantes del protocolo RADIUS es su capacidad de manejar sesiones, notificando cuando comienza y termina una conexión, así que al usuario se le podrá determinar su consumo y facturar en consecuencia; los datos se pueden utilizar con propósitos estadísticos.

RADIUS fue desarrollado originalmente por Livingston Enterprises para la serie PortMaster de sus Servidores de Acceso a la Red (NAS), más tarde se publicó como RFC 2138 y RFC 2139. Actualmente existen muchos servidores RADIUS, tanto comerciales como de código abierto. Las prestaciones pueden variar, pero la mayoría pueden gestionar los usuarios en archivos de texto, servidores LDAP, bases de datos varias, etc. A menudo se utiliza SNMP para monitorear remotamente el servicio. Los servidores Proxy RADIUS se utilizan para una administración centralizada y pueden reescribir paquetes RADIUS al vuelo (por razones de seguridad, o hacer conversiones entre dialectos de diferentes fabricantes).

RADIUS es extensible; la mayoría de fabricantes de software y hardware RADIUS implementan sus propios dialectos.

OSSIN - Software de seguridad

SSIM quiere suplir un hueco en las necesidades que un grupo profesionales del mundo de la seguridad día a día nos encontramos.

Nos sorprende que con el fuerte desarrollo tecnológico producido en los últimos años que nos ha provisto de herramientas de con capacidades como la de los IDS, sea tan complejo desde el punto de vista de seguridad obtener una foto de una red y obtener una información con un grado de abstracción que permita una revisión práctica y asumible.

Nuestra intención inicial en el desarrollo de este proyecto es mejorar esta situación a través de una función que podríamos resumir con el nombre de:

CORRELACIÓN

O la posibilidad de obtener una visibilidad de todos los eventos de los sistemas en un punto y con un mismo formato, y a través de esta situación privilegiada relacionar y procesar la información para detectar, monitorizar, priorizar y organizar el estado de la seguridad de nuestra red.

La idea de correlación está también implícita en la visión de nuestro proyecto en el sentido de agregación e integración de productos, queremos incluir un número de magníficos productos desarrollados en estos años en un Framework general que permitirá nuevas posibilidades al interrelacionar todas sus funcionalidades.

En el camino nos encontramos con nuevas necesidades que nos han permitido aumentar la precisión de nuestro sistema, esto siempre a través de una capacidad que ya forma parte del núcleo de OSSIM y es la:

VALORACIÓN DE RIESGOS

Como forma de decidir en cada caso cuando un evento que afecta a un activo y representa una amenaza debido a su procedencia, y ha sido detectada a través de sensores que nos ofrecen una fiabilidad, implica la necesidad de ejecutar una acción u otra.

Desde este momento nuestro sistema se vuelve más complejo pues ha de ser capaz de implementar una Política de Seguridad, un Inventario de la Red, nos ofrecerá un Monitor de Riesgos en tiempo Real, todo ello configurado y gestionado desde un Framework... No debemos en cualquier caso dejar que esta complejidad nos aparte de nuestro objetivo que es la integración de productos.

El resultado es por lo tanto realmente ambicioso y hereda todas las funcionalidades y el gran esfuerzo de desarrollo de una comunidad de expertos siendo nuestro papel el de meros integradores y organizadores.

Este proyecto quiere ser así mismo una muestra de la capacidad del mundo de código abierto de crecer en sí mismo y aportar soluciones punteras en sectores concretos como el de la seguridad de redes, donde las soluciones del mundo libre aportan otro importante valor: la auditabilidad o capacidad de auditoría de los sistemas que instalamos en nuestra red.



1. Introducción

1.1. Introducción

El desarrollo de este trabajo quiere dar respuesta a esta imagen que durante estos últimos años se ha repetido tantas veces:

“En el éxito de una intrusión, una vez franqueadas las defensas perimetrales se sucede el compromiso de decenas de máquinas. Existe un flujo de conexiones permanentes y duraderas durante varias horas, conexiones anómalas que dibujan un camino completamente contrario a lo que debería ser aceptable; procedentes desde el exterior crean un puente de entrada a la red interna donde una tras otra van comprometiendo más máquinas trazando un camino cada vez más anómalo, y peligroso..

Los usuarios y administradores de la organización víctima, que en ese momento se encuentran trabajando en las máquinas nunca notan nada extraño en el momento, casi nunca localizan el posible ataque a posteriori.

La analogía con el mundo real, aunque algo exagerada y cómica sería la de un ladrón que entra dando una patada a la puerta a las 12:00 de la mañana en cualquier oficina, se pasea por los despachos y pasillos donde la gente trabaja, visita los archivos, fotocopia la documentación que le interesa, encuentra una caja fuerte y sin ningún tipo de complejos se pone a darle martillazos. Mientras los empleados siguen ausentes concentrados en su trabajo...”

Algo falla en la detección de ataques de las redes corporativas, aparentemente tenemos la tecnología apropiada, a través sistemas de detección de intrusos somos capaces de detectar los eventos más concretos, sin embargo no somos capaces de revisar todas las alertas que estos nos envían debido a dos razones:

  • la cantidad
  • la poca fiabilidad

En otras palabras, obtenemos demasiadas alertas y estas no son fiables, obtenemos demasiados falsos positivos.

Obtenemos así mismo información muy detallada, pero atómica, parcial y sin capacidad de abstracción, no somos capaces de detectar ataques definidos por comportamientos más complejos, nuestro segundo problema son los falsos negativos.



1.2. ¿Que es OSSIM?

OSSIM es una distribución de productos open source integrados para construir una infraestructura de monitorización de seguridad.

Su objetivo es ofrecer un marco para centralizar, organizar y mejorar las capacidades de detección y visibilidad en la monitorización de eventos de seguridad de la organización.

Nuestro sistema constará de las siguientes Herramientas de Monitorización:

  1. Cuadro de Mandos para visibilidad a alto nivel
  2. Monitores de Riesgo y Comportamiento para la monitorización a nivel medio
  3. Consola Forense y Monitores de Red para el bajo nivel

Así mismo constará de las siguientes Capacidades para aumentar la fiabilidad y sensibilidad de detectores y monitores:

  1. Correlación
  2. Priorización
  3. Valoración de Riesgos
Por último deberemos tener una herramienta de administración que configure y organice los diferentes módulos tanto externos como propios que integrará OSSIM, esta herramienta será el Framework y mediante ella podremos definir la Topología, inventariar activos, definir una Política de seguridad, definir las reglas de Correlación y enlazar las diferentes herramientas integradas.

Gráfico: Seguridad0.com

Documento completo y descargas:

http://www.ossim.net/whatis_es.php

martes, marzo 25, 2008

Sistemas operativos alternativos

Todos (o la mayoría) conocen Windows, algunas distribuciones de Linux, BSD’s, Solaris y como no OS X. Pero eso no es todo! Por eso hago este post para mostrarles algunos sistemas operativos que estan en tempranas etapas y quizas no conocen.

ReactOS: ReactOS es un proyecto de código abierto para crear un sistema operativo compatible con aplicaciones y controladores de Windows NT. Parte de su código está basado en el proyecto WINE.

ReactOS siempre ha pensado trabajar con el proyecto WINE para intercambiar tanto esfuerzo en la programación como sea posible.

Esto afecta principalmente a los DLLs del Modo de Usuario (User Mode DLLs) y sucederá una vez el kernel de ReactOS sea más completo, ya que esas áreas forman la infraestructura subyacente.

Otras áreas de cooperación son las aplicaciones y el testeado.

El proyecto ReactOS, aunque actualmente está centrado en la compatibilidad con Windows NT 4.0, busca mantener la compatibilidad con las siguientes versiones de Windows NT; como Windows 2000 (NT 5.0) y Windows XP (NT 5.1).

La arquitectura Windows NT permite tener subsistemas, así como lo hace la arquitectura de ReactOS.

Un subsistema es una implementación de APIs de otro sistema operativo, permitiendo así ejecutar aplicaciones de otros sistemas operativos en ReactOS (subsistemas para Java, OS/2, DOS y otros).

Haiku:

Haiku, antes llamado OpenBeOS, es un proyecto de código abierto que busca recrear el sistema operativo BeOS. El proyecto esta dirigido por Haiku Inc., una organización no lucrativa situada en Nueva York

En 2001 se inició el proyecto con el nombre de OpenBeOS, cuando la empresa Palm compró a Be, la empresa de BeOS. Esto dejaba a los usuarios de BeOS sin soporte a nuevas actualizaciones y nuevo software para sus equipos.

En 2004 el proyecto cambió de nombre para evitar los derechos de marca que tenía Palm. La decisión de usar como nombre Haiku —una forma de poesía tradicional japonesa— intentaba reflejar la sencillez y elegancia que se obtenía con el antiguo sistema operativo BeOS.

SkyOS: SkyOS es un sistema operativo propietario, escrito desde cero (no está basado en ningún otro SO), para PCs del tipo x86 (también conocidas como i386). Como todo sistema operativo moderno, soporta características como el multiproceso simétrico (SMP), memoria virtual, memoria protegida, multitarea y flujo de ejecución por hilos (threading en inglés) y es altamente compatible con POSIX, entre otras cosas.

Portar SkyOS a otras plataformas (que no sean PCs) no era una opción, lo que hizo que el código de bajo nivel estuviera optimizado para dicha arquitectura.


SkyOS es un sistema operativo de escritorio, de forma que después de iniciarse la computadora, se entra en modo gráfico. Cosas como la línea de comandos y la programación de scripts son opcionales (están, pero su uso no es imprescindible). Habitualmente los usuarios no tendrán que abrir un intérprete de comandos en modo texto, pero de todas maneras hay varios comandos útiles (como compilador de C de GNU, utilidades para archivos, etc), y la mayoría de las herramientas disponibles en Microsoft Windows y GNU/Linux.

La primera versión de este sistema operativo fue anunciada en 15 de diciembre del año 1997. La última versión es la SkyOS 5.0 Beta - Build XXXX (30 de agosto de 2006). Algunas características que posee son: un modo real de 16 bits, inexistencia de tareas de usuario y una interfaz gráfica (GUI) muy simple llamada SkyGI que está integrada en el kernel. Por tanto el entorno gráfico de SkyOS a diferencia de los sistemas Unix-like no usa X window. SkyOS se debe principalmente al esfuerzo de un solo hombre, el austríaco Robert Szeleney.

DexOS: DexOS es un Sistema Operativo del que ya hemos hablado su codigo esta escrito integramente en Assembly y es de 32 bit, esta orientado mas a un experimento didactio, que a un producto real.


MenuetOS: MenuetOS es un sistema operativo escrito para PC x86, escrito enteramente en lenguaje Assembler para 64 y 32 Bits. Soporta programación en 64 y 32 bits en lenguaje assembler.Algunas características:

  • GUI con resoluciones de hasta 1280×1024, en 16 millones de colores
  • IDE: Editor/Macro Assembler para aplicaciones
  • TCP/IP
  • Aplicaciones de red incluidos servidores ftp/http/etc
  • Free-form ventanas de aplicaciones
  • Cabe en un solo disquette

Esta orientado básicamente a dispositivos embebidos.

NewOS: NewOS es un sistema operativo libre desarrollado en C/C++ y algo de Assembly. Es compatible con el estandard POSIX y tambien incluye compatibilidad con aplicaciones de BeOS. Soporta varias características de los sistemas operativos modernos (SMP, Multithreading, memoria protegida, memoria virtual, kernel debugging, protocolos de red, kernel modular, etc. Corre en procesadores multinúcleo Intel, AMD, IBM Power, Pegasos, y también en una Sega Dreamcast. Se esta trabajando asiduamente en un sistema de archivos propio (por el momento soporta ext2), en una arquitectura de drivers propia, en una GUI, la implementacion de libc, soporte USB. Soporte completo de IDE/ATAPI, y planea portarse a: ARM dev Board, plataformas compatibles con Sun UltraSPARC, Motorola 68040, Indy MIPS R5000 32 y 64 bits y Alpha 21064.

Syllable:

Syllable es un sistema operativo basado en software libre diseñado para microprocesadores x86 de Intel. Concebido para ser un sistema operativo fácil de usar y orientado al usuario final, nació en julio de 2002 como un proyecto independiente de AtheOS.

Tiene un navegador web nativo llamado Abrowse.

Características:

Plan 9 from Bell Labs (o simplemente Plan 9) es un sistema operativo distribuido, usado principalmente como vehículo de investigación.

Fue desarrollado como el sucesor en investigación del sistema UNIX por el Computing Sciences Research Center de los Laboratorios Bell entre mitad de los años 80 y 2002.

Plan 9 es conocido especialmente por representar todos los interfaces del sistema, incluyendo aquellos utilizados para redes y comunicación con el usuario, a través del sistema de archivos en lugar de con sistemas especializados.

El nombre proviene de la película de ciencia ficción llamada Plan 9 del espacio exterior.

La primera versión pública estuvo disponible en 1992 para universidades. En 1995 se puso a disposición del público en general una segunda versión comercial.

Más tarde, a finales de los 90, Lucent Technologies, quien había “heredado” los Bell Labs, dejó de interesarse comercialmente por el proyecto. En 2000, una tercera versión no comercial fue hecha disponible bajo licencia open source. Y en 2002 una cuarta versión, nuevamente no comercial, se hizo disponible en forma de software libre.

El desarrollo continúa, liderado por un equipo de los Laboratorios Bell y miembros del MIT. Actualizaciones menores se hacen disponibles diariamente en forma de imágenes ISO para la plataforma IA-32.

El árbol de desarrollo es también accesible bajo los protocolos 9P y HTTP, que son usados para mantener una instalación al día.

UTF-8 fue inventado por Ken Thompson para ser usado como codificación nativa en Plan 9. Se adaptaría para ello en 1992. Así, Plan 9 fue el primer sistema operativo en incorporar soporte completo de Unicode.

Plan 9 usa un entorno de ventanas llamado rio.

Un entorno de ejecución instalable existe para la plataforma IA-32, y Plan 9 ha sido portado a MIPS, DEC Alpha, SPARC, PowerPC, ARM, Motorola 68000 y otras arquitecturas. El sistema está escrito en un dialecto del lenguaje de programación C. Diversas aplicaciones fueron originalmente escritas en un lenguaje llamado Alef, pero desde entonces se han reescrito en lenguaje C. Plan 9 puede importar aplicaciones POSIX y emular el sistema de sockets Berkeley.

El centro Computing Sciences Research Center donde se desarrolló Plan 9 fue el mismo que donde se desarrolló UNIX, el lenguaje de programación C y C++. El equipo de Plan 9 fue originalmente liderado por Rob Pike, Ken Thompson, Dave Presotto y Phil Winterbottom con asistencia de Dennis Ritchie como cabeza del Computing Techniques Research Department. A través de los años varios desarrolladores notables han contribuido al proyecto, incluyendo Brian Kernighan, Tom Duff, Doug McIlroy, Bjarne Stroustrup y muchos otros.

Los diseñadores de Plan 9 se interesaron en objetivos similares a los de los microkernels, pero hicieron diferentes elecciones de arquitectura y diseño para alcanzarlos.

  • Recursos como archivos: todos los recursos del sistema se representan como archivos en el sistema de archivos jerárquico.
  • Espacios de nombres (namespaces): la vista de la red por parte de la aplicación es un espacio de nombres simple y coherente que aparece como un sistema de archivos jerárquico pero que puede representar recursos físicamente separados (locales o remotos).
  • Protocolo de comunicaciones estándar: se usa un protocolo estándar, llamado 9P, para acceder a todos los recursos, ya sean locales o remotos.

UNIX fue el primer sistema operativo que intentó describir el entorno informático mayoritariamente como un sistema de archivos. Sin embargo muchos conceptos clave no parecían encajar bien en archivos en aquel tiempo, y, a medida que se añadían nuevas características, éstas se tendían a implementar fuera del sistema de archivos. El proyecto de investigación Plan 9 cuestionó esas distinciones.

Plan 9 extendió el sistema de archivos a nombres, esto es, una ruta única a un objeto ya sea un archivo, pantalla, usuario ó computadora. Todos se manejaron utilizando los estándares UNIX existentes, pero extendidos de forma que cualquier objeto pudiera ser nombrado y accedido, un concepto similar al más conocido sistema URI utilizado en la World Wide Web. En UNIX, dispositivos como impresoras habían sido representados por nombres utilizando “conversores software” en el directorio /dev, pero éstos solamente manejaban dispositivos del hardware local y no dispositivos remotos. Bajo Plan 9 las impresoras fueron virtualizadas como archivos, que podían ser accedidos a través de la red desde cualquier estación de trabajo.

Otra innovación de Plan 9 fue la habilidad de que los usuarios tuvieran nombres diferentes para los mismos objetos reales. Cada usuario podía crear un entorno personalizado colectando objetos varios en su espacio de nombres. UNIX tiene un concepto similar en el que los usuarios ganan “privilegios” siendo copiados desde otro usuario, pero Plan 9 extiende esto a todos los objetos. Los usuarios pueden fácilmente crear copias de sí mismos, modificarlas y después eliminarlas sin afectar los recursos de los que fueron creadas.

Plan 9 también introdujo el concepto de los directorios unión, directorios que combinan y agrupan recursos a través de distintos medios y redes. Por ejemplo, el directorio /bin (programas) de otro computador puede ser vinculado al del propio computador, y entonces este directorio contendrá las aplicaciones locales y las aplicaciones remotas (del otro computador), a las que el usuario puede acceder de forma transparente. Los enlaces de UNIX y los puntos de montaje harían que desapareciera el directorio original, no pudiendo acceder a los programas locales. Usando el mismo sistema, bajo Plan 9, dispositivos externos y recursos pueden ser vinculados a /dev (juntándolos con los locales), haciendo que todos los dispositivos sean dispositivos de red sin código adicional.

Para ilustrar cómo estas características funcionaban juntas para producir un conjunto mayor, se puede considerar el interesante directorio /proc, en el cual se listaban todas las aplicaciones que se estaban ejecutando. Las aplicaciones son objetos con nombre bajo Plan 9 al igual que todo lo demás, y por tanto tenía sentido listarlas en un directorio, como todo lo demás. Este cambio simple tiene muchos efectos secundarios útiles, permitiendo al usuario utilizar herramientas como ls (que al igual que en UNIX listaba el contenido de cualquier directorio) para buscar y ordenar la lista de procesos, que anteriormente sólo estaba disponible utilizando herramientas dedicadas (como ps en UNIX). Pero incluso más interesante era que los usuarios podían utilizar el sistema de directorios unión descrito anteriormente para anexar aplicaciones remotas en su espacio de nombres, interactuando con ellas como si fueran locales, y haciendo el procesamiento a través de una red casi una trivialidad.

El resultado es un entorno de computación distribuida ensamblado a partir de máquinas diferentes: terminales en los escritorios de los usuarios, servidores de archivos que almacenan datos permanentes, y otros servidores que proveen CPUs rápidas, autenticación de usuarios y pasarelas de red; todo ello utilizando el sistema jerárquico nombres-directorios familiar a la mayoría de usuarios de computadoras. Un usuario podía construir un sistema colectando directorios desde servidores de archivos, aplicaciones ejecutándose en servidores, impresoras de la red y después agruparlas todas en su cuenta ejecutándose en su terminal local.

Plan 9 se basa en UNIX pero fue desarrollado para demostrar el concepto de hacer de la comunicación la función principal de un sistema informático. Todos los recursos del sistema se nombraban y accedían como si fueran archivos, y se podían definir múltiples vistas del sistema distribuido dinámicamente para cada programa ejecutándose en una máquina en particular. Esta aproximación mejora la generalidad y modularidad del diseño de aplicaciones, “animando” a los servidores que mantienen cualquier información a aparecer a los usuarios y a las aplicaciones simplemente como archivos ordinarios — accesibles de la misma forma que archivos locales.

La clave para soportar la transparencia de red de Plan 9 fue un nuevo protocolo de red de bajo nivel conocido como 9P. El protocolo 9P y su implementación conectaban objetos de red con nombre y presentaban una interfaz como un sistema de archivos. 9P es un sistema de archivos distribuido rápido y orientado a bytes (en lugar de orientado a bloques). Puede virtualizar cualquier objeto, no sólo aquellos presentados por un servidor NFS en una máquina remota. El protocolo se usa para referirse a procesos, programas y datos, la interfaz de usuario y la red. Con la liberación de la cuarta edición de Plan 9, fue modificado y renombrado a 9P2000.

Plan 9 demostró que el concepto central de Unix (que cualquier interfaz de sistema podía representarse como conjuntos de archivos) podía implementarse y hacerse funcional en un moderno sistema distribuido. Algunas ideas de Plan 9 han sido implementadas en otros sistemas operativos. Sistemas Unix como Linux han implementado partes del sistema de archivos de Plan 9 (por ejemplo el directorio /proc), la codificación UTF-8 y formas limitadas parecidas a la llamada al sistema rfork. Además, varias de las aplicaciones y herramientas de Plan 9 han sido portadas a Unix y Linux y han alcanzado algún nivel de popularidad.

De todas formas, Plan 9 en sí mismo nunca ha sobrepasado a Unix en popularidad, y continúa como una herramienta de investigación. Plan 9 ha sido criticado como “parecer funcionar principalmente como medio para generar papers interesantes en la investigación de sistemas operativos”. Eric S. Raymond en su libro The Art of Unix Programming especula sobre la falta de aceptación de Plan 9:

“Plan 9 falló simplemente porque se quedó corto de ser un mejoramiento lo suficientemente convincente de Unix como para desplazar a su ancestro. Comparado a Plan 9, Unix tiene obvios puntos herrumbrados, pero hace el trabajo lo suficientemente bien como para mantener su posición. Esta es una lección para los arquitectos de sistemas ambiciosos: un código base que es lo suficientemente bueno es el peor enemigo de una mejor solución.”(traducción en proceso)

Entre otros críticos de Plan 9 se incluyen aquellos que critican a UNIX en general, donde Plan 9 se considera el epítome de la escuela peor es mejor (worse is better) de diseño de sistemas operativos, llevando la simplicidad como objetivo de diseño a un extremo.

Los proponentes y desarrolladores de Plan 9 aseguran que los problemas que obstaculizaban su adopción se han solucionado, y que sus objetivos originales como sistema distribuido, entorno de desarrollo y plataforma de investigación se han conseguido, y que disfruta de una popularidad moderada pero en crecimiento. El sistema Inferno, a través de sus capacidades hosted, ha sido un vehículo para llevar tecnologías de Plan 9 a otros sistemas como parte de rejillas de computación hetereogéneas

Glenda es la mascota del sistema operativo distribuido Plan 9 from Bell Labs. Fue dibujada por Renée French y existen tres `versiones disponibles. Una tiene un fondo blanco, una tiene un fondo negro y una es la mascota con un casco de astronauta en su cabeza. Estos diseños están bajo la Lucent Public License, que es una Licencia Open Source.

Como Plan 9 recibió su nombre por la película de Ed Wood Plan 9 del espacio exterior, Glenda fue nombrada por la película también de Ed Wood Glen or Glenda.

Inferno es un producto derivado, empezado originalmente por el mismo grupo que creó Plan 9, y ahora desarrollado por una compañía británica llamada Vita Nuova. Inferno comparte la mayor parte del diseño con Plan 9, pero utiliza un nuevo lenguaje de programación de aplicaciones denominado Limbo, y una máquina virtual que lo acompaña, Dis. Inferno se promociona como un sistema operativo embedido open source.

Plan 9 from User Space (Plan 9 desde espacio de usuario) es un porte de las aplicaciones más notables de Plan 9 a sistemas operativos tipo UNIX.

QNX (pronunciado Q.N.X. o Q-nix) es un sistema operativo de tiempo real basado en Unix que cumple con la norma POSIX. Es desarrollado principalmente para su uso en dispositivos empotrados. Desarrollado por QNX Software Systems empresa canadiense. Está disponible para las siguientes arquitecturas: x86, MIPS, PowerPC, SH4 (incluida la videoconsola Dreamcast con una versión muy limitada de este), ARM, StrongARM y xScale.

QNX: QNX está basado en una estructura de microkernel, que proporciona características de estabilidad avanzadas frente a fallos de dispositivos, aplicaciones, etc.

Photon o Photon microGUI es el sistema de ventanas (servidor y cliente) de QNX, aunque también funciona una versión X Window.

Los sistemas operativos de tiempo real son interesantes para situaciones donde sea absolutamente necesaria una toma contínua de, por ejemplo, muestras de datos. Basándose en este interés, existen diversos proyectos para crear versiones en tiempo real de otros sistemas.

Está orientado a su utilización en microcontroladores y sistemas críticos.

HP-UX: Es la versión de Unix de Hewlett-Packard. HP-UX es la versión de Unix desarrollada y mantenida por Hewlett-Packard desde 1983, ejecutable típicamente sobre procesadores HP PA RISC y en sus últimas versiones sobre Intel Itanium (arquitectura Intel de 64 bits); a pesar de estar basada ampliamente en System V incorpora importantes características BSD. En la actualidad la última versión del operativo es la 11.23, también conocido como 11iv2 (2003), aunque existen numerosas instalaciones de sistemas más antiguos, especialmente HP-UX 10.x (1995-97) o incluso 9.x. (1992-95). Apartir de la versión 11.11 (2000) se usa un sistema de numeración doble, así la 11.11 es también conocida como 11i, la 11.20 es 11iv1.5 y así sucesivamente hasta la actual 11.23 (11iv2). Está previsto el lanzamiento de 11.31 (11iv3) a finales de 2006.

HP-UX es, como la mayor parte de Unix comerciales, un entorno de trabajo flexible, potente y estable, que soporta un abanico de aplicaciones que van desde simples editores de texto a complicados programas de diseño gráfico o cálculo científico, pasando por sistemas de control industrial que incluyen planificaciones de tiempo real.

Durante los últimos años Hewlett-Packard, como muchos otros fabricantes, parece haberse interesado bastante por la seguridad en general, y en concreto por los sistemas de protección para sus plataformas; prueba de ello es la gama de productos relacionados con este campo desarrollados para HP-UX, como el sistema de detección de intrusos IDS/9000 para HP-UX 11.x corriendo sobre máquinas HP-9000 o la utilidad Security Patch Check, similar al PatchDiag de Sun Microsystems. También es importante destacar las grandes mejoras en cuanto a seguridad del sistema se refiere entre HP-UX 9.x, HP-UX 10.x y muy especialmente HP-UX 11.x.

AIX (Advanced Interactive eXecutive) es un sistema operativo UNIX propietario de IBM. Inicialmente significaba “Advanced IBM Unix” pero probablemente el nombre no fue aprobado por el departamento legal y fue cambiado a “Advanced Interactive eXecutive”

AIX corre en los servidores IBM eServers pSeries, utilizando procesadores de la familia IBM POWER de 32 y 64bits.

Algunas de las características únicas de AIX incluyen el Object Data Manager (ODM, una base de datos de información del sistema). La integración de AIX del “Logical Volume Management” (administrador de volumen lógico) dentro del kernel está siendo incluido gradualmente a varios sistemas operativos libres similares a UNIX.

AIX 5L 5.3 puede utilizar un máximo de:

  • 64 procesadores
  • 2 TB en memoria principal
  • JFS2: 16 TB de sistema de archivos máximo soportado
  • JFS2: 16 TB de tamaño de archivos máximo.

Distintas versiones de AIX han existido a través del tiempo. Algunas han sido eventualmente eliminadas. AIX V1, que corría en la IBM RT/PC (AIX/RT) apareció en 1986. Era basado en un System V Release 3. Desde 1989, AIX ha sido el sistema operativo para las estaciones de trabajo y servidores RS/6000 (AIX/6000). Durante el desarrollo de AIX, características del 4.2BSD y el 4.3BSD fueron integradas por IBM y el Interactive Systems Corporation (Bajo contrato con IBM)


AIX Soporta arquitecturas POWER y PowerPC
AIX V1 corría en el bus PS2 MCA de las PCs, la última versión de éstas fue la 1.3. AIX V2 corrió en sistemas RTPC (6150), la última versión fue la 2.2.1. AIX V3 fue una versión para desarrolladores licenciadas para OSF y el LVM (Logical Volume Manager) fue incorporado en el OSF/1. AIX V3.1 estuvo disponible en primer trimestre del 1990

  • AIX 5L 5.3, Agosto del 2004
    • Soporte para NFS Versión 4
    • Advanced Accounting
    • SCSI Virtual
    • Ethernet Virtual
    • Soporte para Simultaneous multithreading (SMT)
    • Soporte para Micro-Particionamiento
    • Soporte para cuota en JFS2
    • Soporte para compactación del sistema de archivos JFS2
  • AIX 5L 5.2, Octubre 2002
    • La versión mínima requerida para el procesador POWER5
    • Soporte para discos MPIO Fibre Channel
    • iSCSI iniciador de software
    • Soporte para LPAR dinámico
    • Permite reducir el tamaño de los file systems
  • AIX 5L 5.1, Mayo 2001
    • La versión mínima requerida para el procesador POWER4 y la última en soportar arquitectura de Micro canal.
    • Introducción de Kernel de 64-bit, instalado pero no activado por defecto.
    • JFS2
    • Soporte para LPAR estáticos
    • La “L” significa afinidad con Linux
    • Trusted Computing Base (TCB)
  • AIX 4.3.3, Septiembre 1999
    • Se agregó funcionalidad de Respaldo online
    • Administración de Carga de Trabajo “Workload Management ( WLM )”
  • AIX 4.3.2, Octubre 1998
  • AIX 4.3.1, Abril 1998
  • AIX 4.3, Octubre 1997
    • Soporte para arquitectura de procesadores de 64bits
  • AIX 4.2.1, Abril 1997
    • Soporte para NFS Versión 3
  • AIX 4.2, Mayo 1996
  • AIX 4.1.5, Agosto 1996
  • AIX 4.1.4, Octubre 1995
  • AIX 4.1.3, Julio 1995
  • AIX 4.1.1, Octubre 1994
  • AIX 4.1, Agosto 1994
  • AIX v4, 1994
  • AIX v3.2 1992
  • AIX v3.1
    • Introducción del sistema de archivos Journaled File System (JFS)
  • AIX v3, 1990
  • AIX v2
  • AIX v1, 1986

El Common Desktop Environment (CDE) es el entorno gráfico por defecto del sistema AIX. Como parte de su afinidad con GNU/Linux y del “AIX Toolbox for Linux Applications (ATLA)” también están disponibles los entornos libres KDE y GNOME.

SMIT, también conocido como smitty, es una herramienta de administración de interfase de AIX. Permite al usuario navegar a través de un menú jerárquico en vez de utilizar una línea de comandos. Administradores del sistema experimentados hacen uso del comando F6 el cual muestra la línea de comandos para tareas complejas.

SMIT y smitty son el mismo programa, sin embargo smitty es la versión basada en texto, y el SMIT es la versión gráfica que corren bajo X Window. Si estás en una terminal basada en texto, corriendo el programa SMIT va a llamar a la versión de texto.

FreeDOS: FreeDOS es un proyecto que aspira a crear un sistema operativo libre que sea totalmente compatible con las aplicaciones y los controladores de MS-DOS.

El programa ya ha alcanzado un alto grado de madurez y tiene algunas características que no existían en MS-DOS. Algunos comandos de FreeDOS son idénticos o mejores que sus equivalentes de MS-DOS, pero aún faltan algunos del sistema operativo original.

El intérprete de línea de comandos usado por FreeDOS se llama FreeCOM.

Diferencias con MS-DOS

  • Controlador Ultra-DMA y soporte para discos grandes (LBA).
  • Soporta el sistema de archivos FAT32.
  • Controlador DOSLFN para usar los nombres de archivo largos de VFAT.
  • Licencia libre (GPL).
  • Soporte de internacionalización definida por el usuario.

Desafortunadamente no es posible iniciar ninguna versión de Windows basada en MS-DOS en modo extendido del 386, sólo se puede iniciar Windows 3.0 en modo estándar, Windows 3.1 en modo estándar y las versiones de Windows 1.x y 2.x desde FreeDOS. No obstante, es posible sortear este problema usando un gestor de arranque o una herramienta similar, como la que viene con FreeDOS, para hacer una instalación paralela (con arranque dual) de FreeDOS y la versión de Windows en cuestión (decidiendo entre un sistema operativo y otro al arrancar).

Estas versiones de Windows están enlazadas al propio DOS que incorporan. No es posible ejecutarlas desde FreeDOS, pero se pueden instalar Windows y FreeDOS en la misma unidad C:, con la ayuda de un gestor de arranque tal como se ha descrito anteriormente, o con un gestor de arranque de Linux como LiLo o Grub.

Una instalación paralela con Windows NT/2000/XP y ReactOS no causa problemas porque estas versiones ya no usan un sistema DOS como sistema base. El núcleo de FreeDOS se puede añadir simplemente al gestor de arranque que estos sistemas operativos incluyen.

El programa de gestión de memoria EMM386 incluido con FreeDOS soporta VCPI, que permite ejecutar programas que utilizan DPMI. FreeDOS también contiene un controlador UDMA para un acceso a disco más rápido, que además también se puede usar en otras versiones de DOS. La memoria intermedia de disco LBAcache almacena los datos del disco a los que se ha accedido recientemente en la memoria XMS para proporcionar un acceso aún más rápido y reducir el acceso directo al disco duro (lo que causa menos ruido)

Gracias a que el intérprete de línea de comandos FreeCOM se puede mover a sí mismo a la memoria extendida, es posible liberar mucha memoria convencional: Con el núcleo almacenado en la memoria alta y los controladores cargados en los bloques de memoria superior, se pueden disponer de 620k (620*1024 bytes) de memoria convencional, lo que es útil para programas y juegos de DOS exigentes en este aspecto.

Algunas ventajas de FreeDOS: La licencia es libre y el programa está en pleno desarrollo, mejorando día a día. Tiene soporte para particiones FAT32, desde las que puede arrancar. Dependiendo de la BIOS usada, se pueden utilizar discos duros LBA de hasta 128 Gb o incluso 2 TB. Algunas BIOS tienen soporte para LBA pero tienen un fallo con los discos mayores de 32 GB; controladores como OnTrack o EzDrive pueden “reparar” ese problema. FreeDOS también se puede usar con un controlador llamado DOSLFN que soporta nombres de archivo largos (ver VFAT), pero la mayoría de los programas de FreeDOS NO soportan nombres de archivo largos, incluso si el controlador está cargado.

No hay planes para añadir soporte NTFS o ext2fs a FreeDOS, pero hay varios controladores shareware disponibles para tal propósito. Para acceder a particiones ext2fs, se pueden usar la herramienta LTOOLS, que puede copiar información desde y hacia particiones ext2fs. Si se ejecuta FreeDOS en DOSEmu (un emulador de PC/DOS para sistemas Linux) es posible instalar aplicaciones DOS en cualquier sistema de archivos y disco duro que soporte Linux.

Tampoco está planeado el soporte de USB, sólo los dispositivos USB reconocidos por la BIOS están disponibles de primera mano para FreeDOS. Se pueden usar controladores gratuitos, o ejecutar FreeDOS en una ventana de DOSEmu y dejar que use cualquier unidad que sea accesible a Linux.

Otros emuladores populares de PC y DOS son Bochs (simula un PC completo) y DOSBox, que simula un PC con un núcleo DOS y su intérprete: Los programas dentro de DOSBox “ven” un DOS, pero no se puede instalar FreeDOS u otro núcleo. No obstante, las herramientas de FreeDOS son plenamente funcionales en DOSBox

El núcleo de FreeDOS también se suministra con DOSEmu. DOSEmu simula de manera optimizada un PC que permite el uso de controladores simplificados (proporcionados con DOSEmu). El sistema se ejecuta mucho más rápido que con el simulador de PC GNU Bochs o el emulador comercial VMware. Sin embargo, la simulación del hardware carece de realismo en algunos aspectos: El acceso al disco simulado a través de la BIOS virtual funciona bien, pero los programas DOS no pueden programar los controladores del disco virtual. No obstante, sí que hay hardware gráfico y de sonido virtual

Debido a un acuerdo con Microsoft, que impedía a los vendedores de ordenadores venderlos sin sistema operativo instalado, Dell Computer ofreció algunos de sus sistemas de su “serie n” con FreeDOS preinstalado.

El proyecto FreeDOS comenzó para proporcionar una alternativa a MS-DOS cuando Microsoft anunció en 1994 que dejaría de vender y dar soporte a su MS-DOS.

AmigaOS es el sistema operativo nativo que viene por defecto en los ordenadores Amiga. Las primeras versiones (1.0, 1.1, 1.2 y 1.3) del sistema operativo que llevaban los ordenadores de la familia Amiga se llamaban Amiga Disk Operating System o AmigaDOS. Más tarde se les cambió el nombre por AmigaOS, manteniéndose hasta la actualidad.

Entre otras características posee:

  • Multitarea preemptiva al estilo Unix utilizando un sistema de prioridades
  • Arquitectura microkernel
  • Interrupciones programables en tiempo real con muy bajas latencias
  • Diseño de 32 bit
  • BOOPSI (Sistema orientado a objetos estándar para la mayoría de componentes)
  • ARexx integrado (lenguaje de scripting que permite automatizar tareas)
  • Dispositivos de sistema de ficheros programables (permite acceder transparentemente y sin recompilar kernels ni extraños parches a particiones FAT, NTFS, FAT32, ext2, mac… y usar sistemas de ficheros nativos de amiga mejorados como SmartFileSystem o ProfessionalFileSystem)
  • Datatypes, un sistema modular de códecs para audio, animación, imágenes, texto etc que permite acceder a todo tipo de formatos desde todas las aplicaciones sin cambiar una sola línea.

Es importante notar que no dispone de protección de memoria y que su paso de mensajes ultrarápido usa punteros. No obstante existen herramientas de desarrollador diseñadas para detectar accesos a memoria no autorizados.

También conviene reseñar que AmigaOS a diferencia de otros sistemas operativos de m68k como MacOS no requiere que partes del SO estén en zonas fijas de memoria. Esto permite por ejemplo liberar la parte baja de la memoria mediante emuladores/máquinas virtuales como Shapeshifter, Fusion/iFusion o Basilisk II

Viene dividido en varias partes:

  • Kickstart (Es la parte que reside en ROM: contiene el gestor de arranque, el núcleo, las bibliotecas más importantes y la parte fundamental del entorno gráfico)
  • Workbench (Es el escritorio del sistema, se lanza mediante el comando LoadWB y puede ser sustituido o incluso puede evitarse lanzarlo. El comando en sí viene en disco pero las librerías están en la ROM. A menudo se confunde pensando que el escritorio es el sistema operativo)
  • AmigaOS propiamente dicho, el cual incluye las partes que no cabían en la rom, contiene librerías adicionales (por ejemplo para crear interfaces de usuario), el lenguaje de scripting ARexx, sistemas de ficheros para acceder a discos de MSDOS o simplemente sistemas mejorados, fuentes de letra, parches y algunas utilidades que complementan el kickstart

El AmigaOS y el Workbench no se requiere para que el Amiga funcione, es por ello por lo que multitud de juegos arrancan directamente desde el kickstart sin necesidad de cargar el Workbench. La mayoría de los juegos antiguos eliminaban el SO para tomar control de todo el ordenador, no obstante los desarrollados para AGA comenzaron progresivamente a respetarlo más y permitían correrlos en multitarea arrancándolos desde el Workbench

Ha tenido diferentes versiones del Workbench, desde la 1.0 hasta la 3.9. El Kickstart llegó a la versión 40. Existen numerosos escritorios para sustituir el WB, los más famosos son Scalos y DirectoryOpus.

En la actualidad se utiliza en la plataforma Power PC

AROS: AROS (AROS Research Operating System) es un sistema operativo gratuito y portable cuyo propósito es conseguir una implementación en código abierto de los APIs del AmigaOS 3.1. Diseñado para ser portable y flexible, es binariamente compatible con AmigaOS en procesadores 68k y compatible a nivel de código fuente en otros procesadores. Hay puertos nativos para x86 PCs y hospedado en Linux y FreeBSD. Actualmente se está preparando versiones hospedadas en Mac OS X y Linux PowerPC.


Con esto creo que cubrí la mayor parte de sistemas operativos, como para completar el otro post. Quise poner información sobre Symbian y JUIX, pero solo encontre listas de teléfonos compatibles y demás, asi que si alguien es tan amable de facilitarme información mas detallada, se lo agradecería.

Desde este enclace se pueden encontrar otros sistemas operativos libres algunos de ellos discontinuados y otros mencionados en el presente articulo: http://www.freeos.com/download.php

lunes, marzo 24, 2008

OWASP - Open Web Application Security Project

OWASP (acrónimo de Open Web Application Security Project, en inglés ‘Proyecto de seguridad de aplicaciones web abiertas’) es un proyecto de código abierto dedicado a determinar y combatir las causas que hacen que el software sea inseguro. La Fundación OWASP es un organismo sin ánimo de lucro que apoya y gestiona los proyectos e infraestructura de OWASP. La comunidad OWASP está formada por empresas, organizaciones educativas y particulares de todo mundo. Juntos constituyen una comunidad de seguridad informática que trabaja para crear artículos, metodologías, documentación, herramientas y tecnologías que se liberan y pueden ser usadas gratuitamente por cualquiera.

OWASP es un nuevo tipo de entidad en el mercado de seguridad informática. Estar libre de presiones corporativas facilita que OWASP proporcione información imparcial, práctica y redituable sobre seguridad de aplicaciones informática. OWASP no está afiliado a ninguna compañía tecnológica, si bien apoya el uso informado de tecnologías de seguridad. OWASP recomienda enfocar la seguridad de aplicaciones informáticas considerando todas sus dimensiones: personas, procesos y tecnologías.

Los documentos con más éxito de OWASP incluyen la Guía OWASP y el ampliamente adoptado documento de autoevaluación OWASP Top 10. Las herramientas OWASP más usadas incluyen el entorno de formación WebGoat, la herramienta de pruebas de penetración WebScarab y las utilidades de seguridad para entornos .NET OWASP DotNet. OWASP cuenta con unos 50 capítulos locales por todo el mundo y miles de participantes en las listas de correo del proyecto. OWASP ha organizado la serie de conferencias AppSec para mejorar la construcción de la comunidad de seguridad de aplicaciones web.


Proyectos

Los proyectos OWASP se dividen en dos categorías principales: proyectos de desarrollo y proyectos de documentación.

Los proyectos de documentación actuales son:

  • Guía OWASP – Un enorme documento que propociona una guía detallada sobre la seguridad de las aplicaciones web.
  • OWASP Top 10 – Documento de alto nivel que se centra sobre las vulnerabilidades más críticas de las aplicaciones web.
  • Métricas – Un proyecto para definir métricas aplicables de seguridad de aplicaciones web.
  • Legal – Un proyecto para ayudar a los vendedores y compradores de software a negociar adecuadamente los aspectos de seguridad en sus contratos.
  • Guía de pruebas – Una guía centrada en la prueba efectiva de la seguridad de aplicaciones web.
  • ISO 17799 – Documentos de apoyo para organizaciones que realicen revisiones ISO 17799.
  • AppSec FAQ – Preguntas y respuestas frecuentes sobre seguridad de aplicaciones web.

Los proyectos de desarrollo incluyen:

  • WebScarab – Un aplicación de chequeo de vulnerabilidades de aplicaciones web incluyendo herramientas proxy.
  • Filtros de validación (Stinger para J2EE, filters para PHP) – Filtros genéricos de seguridad perimetral que los desarrolladores pueden usar en sus propias aplicaciones.
  • WebGoat – Una herramientra interactiva de formación y benchmarking para que los usuarios aprendan sobre seguridad de aplicaciones web de forma segura y legal.
  • DotNet – Un conjunto de herramientas para securizar los entornos .NET.

Historia

OWASP comenzó en el año 2000. La Fundación OWASP, una organización sin ánimo de lucro, se creó en 2004 para apoyar los proyectos e infrastructura de OWASP.

Los líderes OWASP son responsables de tomar decisiones sobre la dirección técnica, las prioridades del proyecto, los plazos y las publicaciones. Colectivamente, los líderes OWASP pueden considerarse gestores de la Fundación OWASP, si bien el proyecto prima la compartición de conocimiento en la comunidad frente al reconocimiento individual.

OWASP depende para su mantenimiento de las donaciones y las cuotas de los socios, particulares y empresas.

viernes, marzo 21, 2008

Windows 2008 - Producto de evaluacion gratuito y en castellano

http://img.microsoft.com/latam/technet/articulos/tn/images/2007/julio/nota_1.gif

El periodo de prueba establecido en 60 dias, puede amplialse otras 2 veces mas con lo cual ala espera de un crack para activar de modo contnuado este podra utilizarse sin necesidad de obtener una licencia valida durante 240 dias o dicho deotro 4 meses. Entre otros idiomas se encuentra el español asi como varias versiones y plataformas a elegir entre 32 o 64 bits.

Introducción

A casi diez años del desarrollo de Windows NT, Microsoft está pronto a lanzar la próxima versión de su sistema operativo empresarial: Windows Server 2008. Durante este período, las necesidades y responsabilidades de los sistemas operativos fueron incrementándose y Microsoft tomó en cuenta las devoluciones de los usuarios para generar los tres conceptos rectores de la nueva versión: más control, más seguridad y más flexibilidad. Control sobre el servidor y sobre la infraestructura de red, protección sobre la totalidad del ambiente, flexibilidad para crear un centro de datos dinámico y ágil que pueda cumplir con las necesidades cambiantes de los negocios.

Sobre estos tres conceptos rectores, Microsoft tuvo en mente que los administradores de IT deben simplificar sus tareas y ahorrar tiempo de administración repetitiva y monótona para generar valor. Microsoft espera que las empresas puedan aprovechar mejor los recursos y tener un alto retorno de inversión.

Si bien Windows Server 2008 está basado en Windows Server 2003, no se trata apenas de un refinamiento de aquella versión, sino de una nueva plataforma productiva para cumplir con los últimos requerimientos de las empresas. A continuación, una lista de características y mejoras que van a iluminar los puntos centrales del nuevo sistema operativo.

Características relacionadas al control

Power Shell: sin lugar a dudas, la panacea de los administradores de TI. El Power Shell es el servicio de línea de comandos con ciento treinta herramientas y lenguaje scripting integrado. Permite controlar y automatizar rutinas con las nuevas herramientas así como ejecutar los scripts pre-existentes. Power Shell no requiere conocimientos avanzados de programación previos para ser utilizado y fue diseñado con comandos intuitivos y con una curva de aprendizaje conveniente.

Publicación Web: provee una plataforma unificada para las necesidades de publicación web actuales. Esta plataforma integra Internet Information Server, ASP.NET, Windows Communication Foundation, Windows Workflow Foundation y Windows SharePoint Services.

RODC: RODC significa controlador de dominio en modo lectura. Es un nuevo tipo de configuración que permite enviar un controlador de dominio a ubicaciones donde no se está garantizada la seguridad física del servidor. El RODC mantiene una replica en modo lectura de la base de datos de servicios del Active Directory. Esto mejora la seguridad y los tiempos de autenticación con respecto a enfoques anteriores.

Manejo del servidor simplificado: ahora es posible realizar en un paso diversas funciones que antes se llevaban a cabo por medio de las opciones: “Administrar El Servidor”, “Configurar el Servidor” y “Agregar o Remover Componentes de Windows”. Los administradores de TI ahora van a ser guiados por el nuevo esquema de configuración, paso a paso, desde el principio hasta el final.

Características relacionadas a la flexibilidad

Server Core: Server Core es un modo de instalación que no incluye la interfase gráfica. Es decir, Windows sin Windows (ventanas) Permite instalar por ejemplo un servidor web Internet Information Server en un box sin entorno gráfico y sin necesidad de tener más software o servicios en esa máquina de los que realmente necesita. Esto implica menos mantenimiento y actualizaciones y también mayores posibilidades de protección dado que si aparece una vulnerabilidad en cierto componente que no fue instalado, no va a ser necesario un parche para solucionar el problema.

Servicios de Terminal: Windows Server 2008 introduce nuevas funcionalidades para conectarse a computadoras y aplicaciones remotas. La integración llega al punto en que prácticamente no hay diferencias entre un usuario local y uno remoto. Un administrador puede ejecutar programas en computadoras remotas, lado a lado con las aplicaciones locales. Terminal Services Web Access permite la misma flexibilidad de aplicaciones remotas a través de un navegador web.

Virtualización: Es conocida como Virtualización a la tecnología que permite ejecutar aplicaciones o bien sistemas operativos completos pertenecientes a otras plataformas. Un ejemplo de esto es utilizar una aplicación Unix sobre Windows Server. El enfoque de Windows 2008 aprovecha los últimos adelantos de virtualización asistida por hardware que ofrecen los procesadores AMD e Intel. Server Virtualization va a aparecer como un Rol más de Server Core. De este modo reduce los requerimientos y disminuye los ataques potenciales. El acercamiento de Windows a la virtualización toma un enfoque diferente al de las aplicaciones conocidas del mercado tales como Vmware y Zen y promete ser una de las características preferidas de este nuevo lanzamiento.

Características relacionadas a la protección

Protección de acceso a la red (NAP): con esta característica, el administrador de TI puede plantear requerimientos de “sanidad” para aquellos clientes que deseen conectarse. De este modo podrá bloquear accesos que podrían poner en riesgo la seguridad de la red. Un ejemplo de esto es el siguiente: el administrador define que solo podrán conectarse a la red aquellos clientes Windows Vista que tengan los últimos parches de seguridad instalados y al menos un antivirus instalado y actualizado. En caso contrario, el cliente no podrá conectarse a la red.

Failover Clustering: incluye ahora una herramienta llamada “Validate” que puede realizar pruebas de sistema, almacenamiento y red para determinar si la computadora es adecuada como cluster. Por medio del clustering, los administradores maximizan la disponibilidad de servicios, almacenan más eficientemente y mejoran incluso la seguridad de sus instalaciones.

Algunas de las mejoras

Las mejoras más significativas de Windows Server 2008 tienen relación con las funciones de red. Estas actualizaciones representan el grupo más grande de innovaciones desde 1990 para Windows Server. Ahora TCP-IP posee las características que le permitirán adoptar nuevos estándares de red. Entre las mejoras relacionadas a redes encontramos: soporte para Ipv4 e Ipv5, algoritmos de auto-optimización inteligentes para el tráfico de red, soporte para tecnologías de aceleramiento de red basadas en hardware y una API completa para desarrolladores.

Windows Server 2008 también incluye varias novedades con respecto al Firewall. Trae un MMC snap-in para configurar sus funciones avanzadas por medio de la interfase gráfica, trae la opción de IPSEC integrada y permite especificar muchas más opciones para las reglas. Asimismo considera la opción de virus y gusanos originados a nivel de red. Para enfrentar esta amenaza permite descartar todo el tráfico entrante que no corresponde al tráfico enviado en respuesta a un pedido de la computadora.

Otra función nueva del firewall es la posibilidad de asignar reglas determinadas a ciertas interfaces. De esta forma es posible por ejemplo aplicar un conjunto de reglas más restrictivo para las interfaces inalámbricas en comparación a las reglas implementadas para la interfase de red LAN. Finalmente, en base a un reclamo válido de muchos administradores de IT, las reglas de firewall ahora pueden ser configuradas para ciertos servicios mientras que antes solo podían ser especificadas para aplicaciones indicando el path completo al ejecutable.

Notas finales

En ciertos blogs de tecnología los administradores ya bromean con la posibilidad de ver una y otra vez la saga de Star Wars durante el tiempo libre que van obtener con la utilización de Windows 2008 Server. Y tanto no falta para eso dado que Windows Server 2008 tiene fecha de lanzamiento planificada para la segunda mitad de 2007. De acuerdo a los comentarios oficiales de Microsoft al respecto y al feedback positivo de los usuarios sobre las versiones beta, Microsoft estaría en camino a cumplir la fecha de lanzamiento.

Mientras tanto, ya es posible familiarizarse con Windows Server 2008 a través de la beta 3 de este sistema operativo que puede ser obtenida en http://www.microsoft.com/latam/technet/productos/beta/betaprogram/lhs/decision.mspx

http://www.microsoft.com/downloads/details.aspx?displaylang=es&FamilyID=13c7300e-935c-415a-a79c-538e933d5424

Con respecto a los precios y términos de licencia, aún no se conoce información al respecto pero se espera un esquema de licencias flexible y precios razonables de actualización.