ff-multiconverter, multimedia, audio, video, linux, ubuntu ubuntu kylin, china, releases, linux terminal, ubuntu, linux, comandos, shell conky, gadgets, ubuntu, linux SpeedTest-Cli, velocidad, red, consola, terminal tag foto 6 pinta, grafica, linux, ubuntu djl, juegos, yum, synaptic, paquetes ubuntu, releases, canonical psensor, ubuntu, linux, sistema, monitor

Instalando un servidor Ubuntu: primera parte

Instalando los paquetes y servicios del servidor.

1º paso habilitar el usuario Root, del sistema, que por defecto en la distribución Ubuntu viene deshabilitado para que los usuarios noveles no realicen un estropicio. Para ello vamos ha Sistema>Administración>Usuarios y grupos, nos pedirá la contraseña del usuario que creamos en la instalación que es con el que actualmente estamos trabajando, la introducimos y nos mostrará la ventana “Usuarios y grupos” y veremos solo nuestro usuario creado.

Para mostrar los usuarios del sistema activamos la casilla de verificación [X]Mostrar todos los usuarios y grupos la ventana de usuarios se llenará, buscamos el usuario Root, lo seleccionamos y pulsamos en el botón propiedades nos mostrará las propiedades del usuario y la posibilidad de cambiar la contraseña, la tecleamos en las 2 cajas de texto y cerramos, listo ya tenemos controlada la contraseña del Root, pero aún falta una cosa el usuario Root tiene desactivado la opción de ejecutar entorno gráfico vamos ha solucionarlo.

Sistema>Administración>Ventana de entrada y nos mostrará la ventana de “preferencias de entrada” pulsamos en la ventana Seguridad y marcamos la casilla “permitir entrada local al administrador del sistema”

Con esto ya tenemos todo resuelto en cuanto al root.

2º Paso cargar las aplicaciones de servidor Apache+PHP+Mysql server+Mysql client, FTP y Samba para ello introducimos el CD de la instalación Ubuntu y vamos al menú Sistema>Administración>Gestor de paquetes Synaptic, se cargará la ventana del gestor de paquetes Synaptic y en la caja de texto con la barra de desplazamiento vertical seleccionamos:

World Wide Web la caja de la derecha nos mostrará los paquetes disponibles marcamos Apache2, libapache2-mod-php5, PHP5 nos dará mensajes de instalación de paquetes adicionales para completar las dependencias.

seguidamente seleccionamos Documentación y en la ventana de paquetes seleccionamos apache2-doc.

Y por ultimo en Varios-basados en texto seleccionamos los paquetes de samba y vsftpd también Mysql-server y Mysql-client y listo.

Si quisiéramos instalar un paquete del cual no sabemos el nombre exacto hay 2 maneras seleccionando Todo en la ventana de la izquierda y buscando por orden alfabético en la ventana de la Dcha el paquete o bien dando al botón buscar y introducir al menos 3 letras de la descripción del paquete nos hará una búsqueda de los paquete que contengan esas 3 letras anidadas en su nombre o descripción.

Pulsamos el botón aplicar y listo, comienza la instalación de los paquetes, después de la instalación nos mostrará una ventana informando que los cambios se han aplicado con éxito y procedemos a ver que los servidores están corriendo. vamos al menú: Sistema>Administración>Servicios

Veremos los servicios Apache2, FTP(vsftpd) y el servicio compartición de carpetas Samba que esta Ok, tal como muestra la imagen de la Izda

Verificando el servidor HTTP:

Ahora pasaremos a comprobar y realizar alguna configuración mínima en cada uno de los 3 servicios. Durante la instalación yo asigne una ip determinada al equipo y un nombre, la IP es 192.168.100.10 lo podemos ver en: Sistema>Administración>Red

veremos los interfaces de red seleccionamos y pulsamos propiedades veremos lo siguiente.

Vamos ha proceder a verificar el servidor Apache en el navegador local, abrimos el navegador Firefox en: Aplicaciones>Internet>Navegador

Web Firefox nos mostrará el documento local de inicio de Ubuntu nos ponemos en la barra de dirección y tecleamos http://localhost <--|

Nos mostrará la carpeta que por defecto se ha instalado conteniendo la documentación Apache ya tenemos verificado el servidor Web probemos ha introducir el nombre de nuestra máquina y debería funcionar, probemos ahora nuestra IP y el resultado será el mismo.

Si estamos conectados en red con otro ordenador como es mi caso compre un cable cruzado rj45 de varios metros y conecte ambas tarjetas de red y en mi caso el ordenador con el cual me conecto al servidor tiene una conexión Wifi a un router + la conexión que he realizado a través del rj45, o sea 2 conexiones de red, para ello tengo el Explorer 5 configurado de la siguiente manera en Herramientas > opciones de Internet > Conexiones > configuración lan tengo seleccionado “detectar la configuración automáticamente” y la opción de servidor proxi sin rellenar. y me funciona.

Ahora probamos desde el ordenador remoto en red con el nuestro tecleamos en el navegador http://192.168.100.10 que es la ip de nuestro servidor Web tambien probar con el nombre del dominio y nos debería mostrar lo mismo. Ya tenemos completamente verificado el servidor Apache2.

Nota de novato 1: Localhost y la dirección IP 127.1.1.1 son propias del ordenador que contiene el servidor no podemos usar estos enlaces desde un ordenador externo

Ficheros de configuración y permitir a los usuarios su WebSite.

¿Donde se encuentra el directorio que Apache nos muestra? pues vamos a verlo, abrimos el navegador de carpetas local Nautilus, y mediante el menú Lugares>Carpeta personal seleccionamos sistema de archivos en la ventana derecha y en la izquierda buscamos la carpeta var y luego WWW esta es la carpeta de inicio del navegador Apache2, todo lo que añadamos en la misma se mostrará a través del navegador HTTP, probemos a crear una carpeta ¡no podemos!, ¿por que? porque solo el root tiene acceso a las carpetas del sistema pero como lo hemos habilitado cambiemos de usuario, damos al botón de apagado o bien Sistema>Salir y seleccionamos la opción cambiar de usuario iniciamos una sesión como root y la contraseña que hayamos elegido, Ojo al realizar este paso tenemos la sesión anterior abierta.

Nota de novato 2: Linux es multi usuario podemos tener varias sesiones abiertas y conmutar entre ellas pulsando Alt+F7 es la 1º sesión que iniciemos Alt+F8 la segunda y así sucesivamente por debajo de Alt+F1 a Alt+F6 tenemos la posibilidad de abrir sesiones en modo texto muy utiles para trabajar en linea de comandos.

En la sesión de root probamos ha cambiar los permisos del directorio WWW pulsando el botón izquierdo del ratón y asignamos propiedades de lectura escritura y ejecución a usuarios y grupos, ahora si podemos crear carpetas todo lo que introduzcamos será visto a través del navegador.

Ficheros de configuración de apache cambian según la distribución de Linux normalmente suele ser httpd.conf en Ubuntu el fichero principal de configuración es apache2.conf es un poco lioso esto de los cambios de nombre según distribución y tambien la configuración de los parametros dista mucho de ser igual en todas las distribuciones.

en la de Unbuntu aunque el fichero principal es apache2.conf este llama a otros ficheros con la instrucción include. Ver listado de los includes sacado de apache2.conf

# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
# Include all the user configurations:
Include /etc/apache2/httpd.conf
# Include ports listing
Include /etc/apache2/ports.conf
# Include generic snippets of statements
Include /etc/apache2/conf.d/[^.#]*

La parte que nos interesa es la siguiente:

# UserDir is now a module
#UserDir public_html
#UserDir disabled root

Nota de novato 3: siempre hay que salvar los ficheros de configuración que están correctamente instalados y funcionan, para ello en modo root navegamos a la carpeta /etc/ y buscamos el fichero apache2.conf y lo copiamos en la misma carpeta lo dejará con el nombre apache2(copia).conf podemos renombrarlo y dejarlo como apache2(original).conf con lo cual dispondremos de una copia de seguridad original.

Vamos a ir paso a paso si Apache ya esta funcionando ¿que pretendemos? pues a parte de la ruta /var/www que es la ruta general del dominio, permitir a los usuarios del sistema tener su propia Web Site esto se consigue con UserDir, hay varios parámetros para conseguir tener su propio directorio Web yo me decanto por el parametro que esta ya predefinido en Apache2.cof que es

“UserDir public_html” que quiere decir que si en el navegador tecleamos http://localhost/~usuariolinux Apache traducirá esta ruta por /home/usuariolinux/public_html con lo cual hemos de crear un directorio public_html dentro del directorio home del usuario. ¿como coño escribimos el símbolo “~”? pues tecleando Alt-Gr + la tecla 4 del teclado alfanumérico no pasará nada pero en el siguiente carácter tecleado ya aparecerá con el símbolo ~ por detrás, es un poco retorcido tener que emplear este caracter pero que le vamos a hacer, con lo cual descomentamos la línea quitando el simbolo # guardamos el documento y reiniciamos apache usando una consola o terminal.

Nota de novato 4: Ha partir de este momento tenemos que abrir una consola / terminal en modo texto para introducir comandos en modo texto hay 2 sistemas, uno abrir una consola en modo root iniciando una sesión como Root y otra empleando una consola de un usuario si privilegios añadiendo el prefijo sudo que indica que la instrucciónes que queremos ejecutar son como Root con lo cual teclearemos sudo comandoaejecutar y antes de lanzar el comando al sistema nos pedirá que nos indentifiquemos introduciendo la contraseña del Root.

Nos situamos en la ruta /etc/init.d que es donde normalmente están los scrip de arranque y tecleamos como root “./apache2 restart” listo veremos como se reinicia el servicio Apache no olvidar el “./” ya que es un scrip.

Nota de novato 5: si nunca nos hemos movido entre directorios en modo consola hay va el modo: con cd /etc/init.d nos situamos en el directorio init.d también podemos hacerlo en 2 veces cd /etc, cd init.d, vemos que el el 1º cd hemos puesto la “/” y en el segundo no la barra se pone para indicar que partimos de la raíz o para separar directorios y con cd .. retrocedemos un directorio ojo dejar un espacio siempre después de cd no como en MSDOS que no se dejaba.

En UserDir disabled podemos introducir una lista a continuación del comando con los usuarios a los cuales queremos negar que tengan Web Site, por mi parte lo dejo como esta.

ya podemos probar la nueva configuración:

Ahora vamos a avanzar un paso mas hablando de htaccess el fichero mágico del servidor apache, con el, en los servidores de internet podemos conseguir tener carpetas navegables como si estuviésemos inspeccionando un disco duro incluso proteger determinadas carpeta con contraseña esto se consigue poniendo un fichero llamado .htaccess característico del servidor Apache que es invisible para el navegante. En este caso desde el principio podemos observar que ya el Apache de Ubuntu viene configurado de este modo por defecto.

De todos modos las líneas que determinan en apache el comportamiento de los directorios de los usuarios y el acceso a los ficheros htaccess son las siguientes líneas:

#
# AllowOverride FileInfo AuthConfig Limit
# Options Indexes SymLinksIfOwnerMatch IncludesNoExec
#
AccessFileName .htaccess

Order allow,deny
Deny from all

Pienso que de momento no es necesario configurar con lo que hemos configurado es suficiente. Lo de Htaccess os lo dejo por si o queréis investigar.

Pues no he consegido un tutorial de uso de htaccess ver http://web.z84.es/publicaciones/tutorial_htaccess/tutorial_htaccess.html

Tam,biém podeís ver un tutorial de VirtualHost en esta Web ¿Que es Virtual Host? pues para los que no conozcan es la asignación de un nombre propio por ejemplo migoogle.micasa y que esl servidor sea capaz de contestar a esta instancia mostrando un directorio determinado. mas de Virtual Host en http://web.z84.es/publicaciones/virtual_host/receta_virtual_host.html .

FreeCiv es un clon de dominio publico del famoso juego de Sid Meier's Civilisation, uno de los mayores proyectos de juegos para Unix.

FreeCiv es un clon de dominio publico del famoso juego de Sid Meier's Civilisation. Daremos un vistazo al programa, desde su descarga hasta algunos aspectos básicos del juego. La versión analizada aquí es FreeCiv 1.8.3 beta 3.
 
Introdución

FreeCiv es (como su propio nombre indica) una versión de código libre de Civ, Civ II, Civ Net, la famosa serie, creada por Sid Meier en Microprose. Actualmente, FreeCiv se parece a Civ I (aunque los gráficos son mejores), sigue la mayoría de las reglas de Civ II (aunque se han hecho modificaciones  donde se ha considerado necesario) y permite (desde luego) jugar en red.

Resumiendo, el objetivo de los jugadores es conducir a su nación desde una tribu de trashumantes hasta una poderosa civilización fundando ciudades, transformando el paisaje, investigando, comerciando o luchando contra otras civilizaciones. Bueno, siendo honesto, la única meta es eliminar a todos los contrincantes "unificando" así el mundo. Las unidades terrestres, aéreas o marítimas son las encargadas de luchar, comerciar o transformar el paisaje. Cada unidad tiene una cantidad de puntos de movimiento, de ataque y de defensa, así como un estado de los daños recibidos. FreeCiv es un juego basado en turnos, pero todos los jugadores juegan sus turnos en paralelo. Los jugadores que hayan terminado su turno deben esperar a que terminen el resto. Una vez que el último jugador ha finalizado su turno o se ha alcanzado el tiempo máximo de turno el siguiente turno comienza.

Creo que FreeCiv es uno de los mayores proyectos de juegos para Unix. Se ha trabajado mucho para hacer este juego tan adictivo. Tiene unos gráficos agradables y un sistema fácil de manejo. El juego en sí consiste en dos programas, un servidor (civserver) que es el responsable de la creación del juego y civclient, el programa que ejecuta el usuario para poder jugar. Antes de que puedas jugar te tienes que conectar a un servidor con el cliente, ya sea a uno local o a uno en cualquier lugar de la red.

La ùltima versiòn estable liberada es la 2.1

Freeciv 2.1 screenshots

Como instalar Linux MultiMedia Studio 0.4 en Ubuntu

lmms_logo La versión 0.4 es definitiva y tiene muchas mejorìas con respecto a la versión anterior 0.3.0.

Primero descargaremos el paquete, para eso entramos a la sección de downloads del sitio oficial de lmms.

Descargamos la última versión, en este caso la 0.4.4

Antes de empezar tenemos que resolver las dependencias a este programa, basándome en el wiki oficial tenemos la lista de las dependencias, las nombraré y escribiré el nombre del paquete correspondiente en Ubuntu, entonces para instalarlas es cuestión de poner sudo apt-get install y la lista de todos los paquetes listados abajo o buscarlos uno a uno en gestor de paquetes synaptic marcarlos para instalar y aceptar. Elige la que te parezca más cómoda :

Librerías Qt 3.x y librerías de desarrollo. libqt3-mt libqt3-mt-devlibqt3-headers qt3-dev-tools.

* ALSA. Advance Linux Sound Architecture. libasound2-dev.
* JACK. Jack Audio Connection Kit. libjack0.100.0-dev libjackasyn-dev.
* SDL. Simple Directmedia Layer. libsdl-sound1.2-dev libsdl1.2-dev libsdl-mixer1.2-dev.

Estas son las dependencias requeridas, existen otras dependencias opcionales, pero aún así son altamente recomendadas, la verdad yo recomiendo instalarlas para sacarle todo al programa.

* Librerías ogg-vorbis para codificar y decodificadar. libvorbis-dev libvorbisfile3 libvorbisenc2.
* Sample rate conversion tool. libsamplerate0-dev.
* Sound file library, para leer y escribir archivos que contengan datos de audio. libsndfile1-dev.
* STK library. libstk0-dev stk.
* WINE + devel-packages. wine wine-dev.

La instalación de estos componentes requerirá de otras dependencias que se instalarán automáticamente.

Ahora descomprimimos el paquete descargado en cualquier carpeta, ahora desde la consola solo es necesario teclear los siguientes comandos.

./configure
sudo make
sudo make install

Si todas las dependencias fueron correctamente instaladas, no debe de haber ningún problema, una vez que el make install termine, sólo escribiremos en la consola lmms y el programa se ejecutará. También podemos crear un lanzador en la barra o el escritorio o el menú, como tu quieras.

Al momento de instalar me pedía que instalará un par de dependencias más:

* g++. Para poder compilar los sources.
* ladspa-sdk o ladspa-dev.

Screenshots

Song-Editor, FX-Mixer, Project Notes and an instrument track window
Song-Editor, FX-Mixer, Project Notes and an instrument track window
Piano-Roll (with some selected notes) and Automation-Editor
Piano-Roll (with some selected notes) and Automation-Editor
sample browser, Song-Editor, Beat+Bassline-Editor and some controllers
sample browser, Song-Editor, Beat+Bassline-Editor and some controllers

all tabs of an instrument track window
all tabs of an instrument track window


LMMS on Windows with ZynAddSubFX
LMMS on Windows with ZynAddSubFX
3 VSTi-plugins within LMMS
3 VSTi-plugins within LMMS

Video on YouTube showing LMMS 0.4.0-Beta2 in action:

TCP Wrapper excelente sistema para filtrar el acceso de red a servicios de protocolos de Internet

tcp TCP Wrapper ("Envolvedor de TCP") es un sistema de red ACL que trabaja en terminales y que se usa para filtrar el acceso de red a servicios de protocolos de Internet que corren en sistemas operativos (tipo UNIX), como ser Linux o BSD. Permite que las direcciones IP, los nombres de terminales y/o respuestas de consultas ident de las terminales o subredes sean usadas como tokens sobre los cuales filtrar para propósitos de control de acceso.

El código original fue escrito por Wietse Venema de la Universidad Tecnológica de Eindhoven, Países Bajos, entre los años 1990 y 1995. Desde el 1ro de junio de 2001, el programa es lanzado bajo su propia licencia tipo BSD.

El tarball incluye una biblioteca llamada libwrap que implementa la funcionalidad en sí. Inicialmente, solo aquellos servicios que se creaban a partir de cada conexión a un super servidor (como inetd) eran envueltos (de ahí su nombre) utilizando el programa 'tcpd'. Sin embargo, los demonios de servicio de red más comunes de hoy en día pueden ser enlazados contra libwrap en forma directa. Los demonios que operan sin crear descendientes de un super servidor usan esto, o un proceso único maneja conexiones múltiples. Caso contrario, solo el primer intento de conexión se chequearía contra sus ACLs.

tcp wrapper

Al compararse con las directivas de control de acceso de una terminal, que comúnmente se encuentran en los archivos de configuración de los demonios, TCP Wrappers tienen el beneficio de una reconfiguración de ACL en tiempo de ejecución (es decir, los servicios no necesitan ser cargados nuevamente o reiniciados) y de una aproximación genérica a la administración de redes.

Si bien fue escrito para proteger servicios de aceptación de TCP y UDP, también existen ejemplos de uso para filtrado de ciertos paquetes ICMP (tales como 'pingd' – el contestador de pedidos de pings del espacio de usuario).

En el punto 13.4 hablábamos de los servicios ofrecidos desde nuestra máquina; allí comentamos que cualquiera de ellos es una potencial puerta de entrada para un atacante, por lo que es muy recomendable cerrar todos los que no necesitemos; vimos un esquema todo o nada: u ofrecíamos un servicio a toda la red o lo denegábamos, pero no había término medio.

Hay una serie de servicios como telnet o ftp que habitualmente no vamos a poder cerrar, ya que los usuarios necesitarán conectar al servidor para trabajar en él o para transferir ficheros; en estos casos es peligroso permitir que cualquier máquina de Internet tenga la posibilidad de acceder a nuestros recursos, por lo que se suele utilizar un programa denominado TCP Wrappers ([Ven92]) para definir una serie de redes o máquinas autorizados a conectar con nosotros. Aquí veremos como instalar este software - en su versión 7.6 - y su configuración básica para que no todo el mundo pueda contactar con nosotros. Actualmente, cualquier administrador que desee un mínimo de seguridad ha de instalar TCP Wrappers en sus equipos; incluso algunos Unices como Linux o BSDI lo ofrecen por defecto al instalar el operativo. Cabe decir que la configuración del programa puede ser muy elaborada y con muchas opciones; aquí veremos la forma más básica, que suele ser automática mediante make install 22.2. Para configuraciones más avanzadas se recomienda consultar los ficheros de ayuda.

tcp

En nuestro caso vamos a instalar TCP Wrappers sobre una máquina Silicon Graphics corriendo IRIX 6.2:

llegona_(/) # uname -a
IRIX64 llegona 6.2 06101031 IP28
llegona_(/) #

No vamos a entrar aquí en como compilar el software (para ello se puede consultar el fichero README); asumiremos que ya lo tenemos compilado y el resultado está, por ejemplo, en el directorio /tmp/tcp_wrappers_7.6/. Tras compilar el software se habrán generado una serie de ficheros ejecutables que hemos de copiar a un destino definitivo, por ejemplo a /etc/usr/sbin/:

llegona_(/tmp/tcp_wrappers_7.6) # cp `find . -type f -perm -700` /usr/sbin/
llegona_(/tmp/tcp_wrappers_7.6) #

Una vez en su destino definitivo, hemos de modificar el fichero /etc/inetd.conf para indicarle a inetd que ha de utilizar el demonio tcpd (la parte más importante de TCP Wrappers) a la hora de servir peticiones; para ello, una entrada de la forma

telnet stream tcp nowait root /usr/etc/telnetd

se convertirá en una como

telnet stream tcp nowait root /usr/sbin/tcpd /usr/etc/telnetd

Como vemos, en lugar de que inetd ejecute directamente el demonio correspondiente a cada servicio, ejecuta el wrapper, y es éste el encargado de controlar la ejecución del demonio real.

Tras haber modificado convenientemente /etc/inetd.conf hemos de configurar los servicios que vamos a ofrecer a diferentes máquinas o redes; seguiremos una política restrictiva: todo lo no explícitamente permitido, está negado. Para ello, en el archivo /etc/hosts.allow indicamos que servicios ofrecemos y a dónde lo hacemos22.3, de la siguiente forma:
demonio: maquinas
Donde `demonio' es el nombre del demonio encargado de atender el servicio correspondiente
(sendmail, telnetd, fingerd...), y `maquinas' es la especificación de los hosts a los que les está permitida la conexión a cada servicio; se trata de una lista separada por espacios donde podemos incluir desde nombres de sistemas o direcciones IP hasta subdominios, pasando por palabras reservadas como ALL. Así, si por ejemplo queremos ofrecer todo a las máquinas .dsic.upv.es, telnet a andercheran.aiind.upv.es y luisvive.euiti.upv.es, y ftp a toda la UPV, tendremos un /etc/hosts.allow de la forma siguiente:

llegona_(/) # cat /etc/hosts.allow
ALL: .dsic.upv.es
telnetd: andercheran.aiind.upv.es luisvive.euiti.upv.es
ftpd: .upv.es
llegona_(/) #

Acabamos de configurar los sistemas con acceso a ciertos demonios; para indicar a TCP Wrappers que nuestros servicios no van a ser ofertados a nadie más, creamos el fichero /etc/hosts.deny y denegamos todo a todos:

llegona_(/) # cat /etc/hosts.deny
ALL: ALL
llegona_(/) #

Run with -[Ff] option to fix

Una vez hemos configurado todo, hemos de hacer que inetd relea su fichero de configuración enviándole la señal SIGHUP, por ejemplo con la orden killall -HUP inetd22.4. A partir de ese momento los cambios han tenido efecto; en función de nuestro /etc/syslog.conf, pero generalmente en archivos como /var/adm/SYSLOG o /var/adm/messages vamos a poder ver las conexiones aceptadas y las rehusadas:

Dec 2 02:16:47 llegona ftpd[18234]: refused connect from bill.microsoft.com
Dec 2 02:45:23 llegona telnetd[18234]: connect from corbella.dsic.upv.es

Cuando alguien desde una máquina que tiene permiso para acceder a cierto servicio conecte a él no notará nada raro, pero si lo hace desde un equipo no autorizado, la conexión se cerrará:

anita:~# telnet llegona.dsic.upv.es
Trying 158.42.49.37...
Connected to llegona.dsic.upv.es
Escape character is '^]'.
llegona login: Connection closed by foreign host.
anita:~#

Programa de auditoría automática Titan, que detecta problemas de seguridad en la máquina local

titan Para corroborar la inseguridad de los sistemas Unix instalados tal y como se distribuyen, o mínimamente configurados, hemos hecho la prueba con uno de los sistemas considerados más seguros: Solaris, de la empresa Sun Microsystems, Inc.. Hemos instalado Solaris 7 sobre un PC, cerrado la mayoría de servicios ofrecidos (en /etc/inetd.conf), y controlado el acceso a otros (telnet, finger, ftp...) mediante TCP Wrappers: justo lo que la mayor parte de administradores harían antes de poner el sistema a funcionar. Tras estos pasos, hemos ejecutado el programa de auditoría automática Titan, que detecta problemas de seguridad en la máquina local (para más información sobre este software se puede consultar [FPA98]).


Instalación de Titan

Hemos elegido Titan justamente por ser uno de los programas más fácilmente instalables sobre SunOS o Solaris: al tratarse de un conjunto de shellscripts, el administrador no ha de preocuparse por ningún proceso de compilación (con los posibles errores que éste puede causar), ni conocer técnicas avanzadas de seguridad para poder utilizarlo (como otros programas que presentan una multitud de opciones diferentes que se pueden combinar entre ellas, de forma que quien los quiera utilizar debe conocer bastante bien ciertos términos de Unix y de la seguridad, que no suelen ser triviales). Tanto la instalación de Titan como su ejecución son muy sencillos.
Para instalar Titan, una vez desempaquetado el fichero, hemos de ejecutar simplemente
Titan-Config, con la opción -i (la opción -d desinstala el software. El programa de instalación nos preguntará si deseamos hacer copias de seguridad de los ficheros que se modifiquen al ejecutar Titan; por nuestra seguridad, podemos decirle que sí (y):

anita:/export/home/toni/Security/Tools# gzip -d Titan,v3.0.FCS.tar.gz
anita:/export/home/toni/Security/Tools# tar xvf Titan,v3.0.FCS.tar
anita:/export/home/toni/Security/Tools# cd Titan,v3.0.FCS
anita:/export/home/toni/Security/Tools/Titan,v3.0.FCS# ./Titan-Config -i
checking for dependencies...
finding out where we are...
we are in '/export/home/toni/Security/Tools/Titan,v3.0.FCS'

checking out your system...
this system runs: SunOS-5.7-i86pc
we will be using: sol2x86

setting up links...
removing old links...
linking bin into path...
linking lib into path...
linking logs into path...
linking src into path...
linking tmp into path...
linking done.
cleaning up is_root, sanity_check, Titan...
pulling in local Titan script...
Run Titan utilites with 'Titan -[v,f,i]' after reading the Docs...
OR
Run Titan using a config file. (Titan -c sample.Server) after reading the Docs
Titan can backup all of the files it modifies; This is recommended
proceed? y/n: y
Okay... Checking for backup program...
Found backtit.sh - Backing up system files now... This might take a while..
Creating backup dir in : /export/home/toni/Security/Tools/Titan,v3.0.FCS/\
arch/sol2sun4/bin/Backup//1013990418
Generating listings.....
Calculating and backing up files now...................................\
............ Done!!
...
...
Saved off 44 files to: /export/home/toni/Security/Tools/Titan,v3.0.FCS/\
arch/sol2sun4/bin/Backup//1013990418
See details in savelist: /export/home/toni/Security/Tools/Titan,v3.0.FCS/\
arch/sol2sun4/bin/Backup//1013990418/../SaveList.1013990418
Restore by running /export/home/toni/Security/Tools/Titan,v3.0.FCS/\
arch/sol2sun4/bin/lib/untit.sh -[g,r]
anita:/export/home/toni/Security/Tools/Titan,v3.0.FCS#

Una vez instalado Titan (todo a partir del directorio actual, no genera ficheros en ningún otro lugar de nuestros sistemas de archivos) podemos ejecutar ya el programa de auditoría, con la opción -v para que no realice ningún cambio en nuestro sistema, sino que simplemente se limite a informarnos de los posibles problemas de seguridad que podemos tener; si deseamos ver el funcionamiento de cada uno de los shellscripts invocados por Titan, podemos utilizar la opción -i, y si lo que queremos es solucionar los problemas detectados, la opción -f (cuidado si hacemos esto, la política de seguridad de Titan es tan estricta que podemos dejar al sistema sólamente utilizable por el root).

Ejecución de Titan
En nuestro caso, queremos que Titan nos informe de los problemas de seguridad que detecte, pero que no los solucione él:

anita:/export/home/toni/Security/Tools/Titan,v3.0.FCS# ./Titan –v _____________________________________________________
*=*=*=*=* Running modules/add-umask.sh now.....
Output to ../logs/modules/add-umask.sh.V.042506
-----------------------------------------------------
No umask file /etc/init.d/umask.sh found

_____________________________________________________
*=*=*=*=* Running modules/adjust-arp-timers.sh now.....
Output to ../logs/modules/adjust-arp-timers.sh.V.042506
-----------------------------------------------------

Checking for ARP timers in /etc/rc2.d/S69inet

ARP timers are not set - FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/adjust.syn-timeout.sh now.....
Output to ../logs/modules/adjust.syn-timeout.sh.V.042506
-----------------------------------------------------
ERROR - This script is Only needed on Solaris 2.4 and older
please see Sun's patch (Patch 103582-11 currently) for a better fix

_____________________________________________________
*=*=*=*=* Running modules/automount.sh now.....
Output to ../logs/modules/automount.sh.V.042506
-----------------------------------------------------
File /etc/rc2.d/S74autofs exists...
Automounter =
/usr/lib/autofs/automountd /usr/sbin/automount /usr/bin/pkill - FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/create-issue.sh now.....
Output to ../logs/modules/create-issue.sh.V.042506
-----------------------------------------------------
Cannot read /etc/issue - FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/decode.sh now.....
Output to ../logs/modules/decode.sh.V.042506
-----------------------------------------------------
Decode disabled - PASSES CHECK

_____________________________________________________
*=*=*=*=* Running modules/disable-L1-A.sh now.....
Output to ../logs/modules/disable-L1-A.sh.V.042506
-----------------------------------------------------
./modules/disable-L1-A.sh: ./sanity_check: No such file or directory

_____________________________________________________
*=*=*=*=* Running modules/disable-NFS.bind.sh now.....
Output to ../logs/modules/disable-NFS.bind.sh.V.042506
-----------------------------------------------------
Verifying port settings using ndd
privileged port definition is currently set to 1024

You should run disable-NFS.bind.sh with the -F option (port=1024)

_____________________________________________________
*=*=*=*=* Running modules/disable-accounts.sh now.....
Output to ../logs/modules/disable-accounts.sh.V.042506
-----------------------------------------------------
Checking 11 Users....
Checking that shell set to noshell for:
daemon bin adm lp uucp nuucp listen nobody noaccess nobody4 ppp
Verify shell status....

daemon shell = - FAILS CHECK
bin shell = - FAILS CHECK
adm shell = - FAILS CHECK
lp shell = - FAILS CHECK
uucp shell = - FAILS CHECK
nuucp shell = /usr/lib/uucp/uucico - FAILS CHECK
listen shell = - FAILS CHECK
nobody shell = - FAILS CHECK
noaccess shell = - FAILS CHECK
nobody4 shell = - FAILS CHECK
ppp shell = /usr/sbin/pppls - FAILS CHECK

11 Users Not Secured Out Of 11

_____________________________________________________
*=*=*=*=* Running modules/disable-core.sh now.....
Output to ../logs/modules/disable-core.sh.V.042506
-----------------------------------------------------
Core dump size has not been set: FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/disable-ping-echo.sh now.....
Output to ../logs/modules/disable-ping-echo.sh.V.042506
-----------------------------------------------------
Ping echo response allowed - FAILED CHECK
Run ./modules/disable-ping-echo.sh with -[Ff] to fix...

_____________________________________________________
*=*=*=*=* Running modules/disable_ip_holes.sh now.....
Output to ../logs/modules/disable_ip_holes.sh.V.042506
-----------------------------------------------------
Checking ip_forwarding...
ip_forwarding disabled - PASSES CHECK
Checking ip_forward_src_routed...
ip_forward_src_routed disabled - PASSES CHECK
Checking ip_forward_directed_broadcasts...
ip_forward_directed_broadcasts disabled - PASSES CHECK
Checking ip_ignore_redirect...
ip_ignore_redirect enabled - PASSES CHECK
Checking ip_strict_dst_multihoming...
ip_strict_dst_multihoming enabled - PASSES CHECK
System configured as 'notrouter' - PASSES CHECK

_____________________________________________________
*=*=*=*=* Running modules/dmi-2.6.sh now.....
Output to ../logs/modules/dmi-2.6.sh.V.042506
-----------------------------------------------------
ERROR - This script is Only supported on Solaris 2.6 and newer,
please use one of the other scripts for your OS

_____________________________________________________
*=*=*=*=* Running modules/eeprom.sh now.....
Output to ../logs/modules/eeprom.sh.V.042506
-----------------------------------------------------
Architecture = i86pc
Eeprom security-mode not supported on this host

_____________________________________________________
*=*=*=*=* Running modules/file-own.sh now.....
Output to ../logs/modules/file-own.sh.V.042506
-----------------------------------------------------
Checking /usr file ownership
Found 25345 files in /usr that should be root owned
Checking /sbin file ownership
Found 13 files in /sbin that should be root owned
Checking /usr group permissions
Found 0 files in /usr that should be set group g-w
Checking /sbin group permissions
Found 0 files in /sbin that should be set group g-w
Checking /etc group permissions
Found 0 files in /etc that should be set group g-w
Checking /opt group permissions
Found 0 files in /opt that should be set group g-w

_____________________________________________________
*=*=*=*=* Running modules/fix-cronpath.sh now.....
Output to ../logs/modules/fix-cronpath.sh.V.042506
-----------------------------------------------------
File /var/spool/cron/crontabs/root exists; continuing
/etc is not writable by world - PASSES CHECK.
/etc is not writeable by group - PASSES CHECK.
/etc/cron.d is not writable by world - PASSES CHECK.
/etc/cron.d is not writeable by group - PASSES CHECK.
/usr is not writable by world - PASSES CHECK.
drwxrwxr-x 32 root 1024 Oct 8 00:58 /usr
/usr is writeable by group - FAILS CHECK
/usr/sbin is not writable by world - PASSES CHECK.
drwxrwxr-x 5 root 4608 Sep 24 01:32 /usr/sbin
/usr/sbin is writeable by group - FAILS CHECK
/usr/lib is not writable by world - PASSES CHECK.
drwxrwxr-x 42 root 10240 Oct 8 00:55 /usr/lib
/usr/lib is writeable by group - FAILS CHECK
/usr/lib/fs is not writable by world - PASSES CHECK.
drwxrwxr-x 13 root 512 Sep 23 18:33 /usr/lib/fs
/usr/lib/fs is writeable by group - FAILS CHECK
/usr/lib/fs/nfs is not writable by world - PASSES CHECK.
/usr/lib/fs/nfs is not writeable by group - PASSES CHECK.
/usr/bin is not writable by world - PASSES CHECK.
drwxrwxr-x 3 root 7680 Oct 8 00:52 /usr/bin
/usr/bin is writeable by group - FAILS CHECK
/etc/cron.d/logchecker ownership should be changed to root
/usr/lib/newsyslog ownership should be changed to root
/usr/bin/rdate ownership should be changed to root
/usr/sbin/rtc ownership should be changed to root
No cron.allow file - FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/fix-modes.sh now.....
Output to ../logs/modules/fix-modes.sh.V.042506
-----------------------------------------------------
Only supported on Solaris 2.2 thru 2.6

_____________________________________________________
*=*=*=*=* Running modules/fix-stack.sh now.....
Output to ../logs/modules/fix-stack.sh.V.042506
-----------------------------------------------------
ERROR - This script is Only known to work on Solaris 2.5.[0-5]

_____________________________________________________
*=*=*=*=* Running modules/fix-stack.sol2.6.sh now.....
Output to ../logs/modules/fix-stack.sol2.6.sh.V.042506
-----------------------------------------------------
Stack Protection not currently set - Run fix-stack.sol2.6.sh -F

_____________________________________________________
*=*=*=*=* Running modules/ftpusers.sh now.....
Output to ../logs/modules/ftpusers.sh.V.042506
-----------------------------------------------------
No /etc/ftpusers file in place...
Should contain at least:

root
daemon
sys
bin
adm
lp
smtp
uucp
nuucp
listen
nobody
noaccess
news
ingres
audit
admin
sync
nobody4

Please Run with '-F/f' to Fix - FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/hosts.equiv.sh now.....
Output to ../logs/modules/hosts.equiv.sh.V.042506
-----------------------------------------------------
No /etc/hosts.equiv - PASSES CHECK

_____________________________________________________
*=*=*=*=* Running modules/inetd.sh now.....
Output to ../logs/modules/inetd.sh.V.042506
-----------------------------------------------------
File /etc/inet/inetd.conf exists - Checking...
name Closed - PASSES CHECK
exec Closed - PASSES CHECK
comsat Closed - PASSES CHECK
talk Open - FAILS CHECK
uucp Closed - PASSES CHECK
smtp Closed - PASSES CHECK
tftp Closed - PASSES CHECK
finger Open - FAILS CHECK
systat Closed - PASSES CHECK
netstat Closed - PASSES CHECK
rquotad Closed - PASSES CHECK
rusersd Closed - PASSES CHECK
sprayd Closed - PASSES CHECK
walld Closed - PASSES CHECK
rexd Closed - PASSES CHECK
shell Closed - PASSES CHECK
login Closed - PASSES CHECK
exec Closed - PASSES CHECK
comsat Closed - PASSES CHECK
time Closed - PASSES CHECK
echo Closed - PASSES CHECK
discard Closed - PASSES CHECK
daytime Closed - PASSES CHECK
chargen Closed - PASSES CHECK
100087 Closed - PASSES CHECK
rwalld Closed - PASSES CHECK
rstatd Closed - PASSES CHECK
100068 Closed - PASSES CHECK
100083 Closed - PASSES CHECK
100221 Closed - PASSES CHECK
fs Closed - PASSES CHECK
ufsd Closed - PASSES CHECK
100232 Closed - PASSES CHECK
100235 Closed - PASSES CHECK
536870916 Closed - PASSES CHECK

_____________________________________________________
*=*=*=*=* Running modules/keyserv.sh now.....
Output to ../logs/modules/keyserv.sh.V.042506
-----------------------------------------------------
In /etc/rc2.d/S71rpc keyserv ; user nobody enabled - FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/log-tcp.sh now.....
Output to ../logs/modules/log-tcp.sh.V.042506
-----------------------------------------------------

_____________________________________________________
*=*=*=*=* Running modules/loginlog.sh now.....
Output to ../logs/modules/loginlog.sh.V.042506
-----------------------------------------------------
No /var/adm/loginlog file - FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/lpsched.sh now.....
Output to ../logs/modules/lpsched.sh.V.042506
-----------------------------------------------------
In /etc/rc2.d/S80lp lpsched is enabled - FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/nfs-portmon.sh now.....
Output to ../logs/modules/nfs-portmon.sh.V.042506
-----------------------------------------------------
NFS port monitor disabled - FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/nsswitch.sh now.....
Output to ../logs/modules/nsswitch.sh.V.042506
-----------------------------------------------------
passwd -> files - PASSES CHECK
group -> files - PASSES CHECK
hosts -> files - PASSES CHECK
networks -> files - PASSES CHECK
protocols -> files - PASSES CHECK
rpc -> files - PASSES CHECK
ethers -> files - PASSES CHECK
netmasks -> files - PASSES CHECK
bootparams -> files - PASSES CHECK
publickey -> files - PASSES CHECK
netgroup -> files - PASSES CHECK
automount -> files - PASSES CHECK
aliases -> files - PASSES CHECK
services -> files - PASSES CHECK
sendmailvars -> files - PASSES CHECK
15 of 15 entries set to files as default - PASSES CHECK

_____________________________________________________
*=*=*=*=* Running modules/nuke-sendmail.sh now.....
Output to ../logs/modules/nuke-sendmail.sh.V.042506
-----------------------------------------------------
Sendmail is enabled in /etc/rc2.d/S88sendmail - FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/pam-rhosts-2.6.sh now.....
Output to ../logs/modules/pam-rhosts-2.6.sh.V.042506
-----------------------------------------------------
PAM allows rhosts for rlogin : FAILS CHECK
PAM allows rhosts for rsh : FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/passwd.sh now.....
Output to ../logs/modules/passwd.sh.V.042506
-----------------------------------------------------
All accounts have passwords - PASSES CHECK

_____________________________________________________
*=*=*=*=* Running modules/powerd.sh now.....
Output to ../logs/modules/powerd.sh.V.042506
-----------------------------------------------------
Power management not set to be run by root - FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/psfix.sh now.....
Output to ../logs/modules/psfix.sh.V.042506
-----------------------------------------------------
Could not find /etc/rc3.d/S79tmpfix - FAILS CHECK
Run with -[Ff] option to fix

_____________________________________________________
*=*=*=*=* Running modules/rhosts.sh now.....
Output to ../logs/modules/rhosts.sh.V.042506
-----------------------------------------------------
Running against /etc/passwd...

_____________________________________________________
*=*=*=*=* Running modules/rootchk.sh now.....
Output to ../logs/modules/rootchk.sh.V.042506
-----------------------------------------------------
/.login - Clean of . - PASSES CHECK
/etc/.login - Clean of . - PASSES CHECK
/etc/default/login - Clean of . - PASSES CHECK
/.cshrc - Clean of . - PASSES CHECK
/etc/skel/local.cshrc - Contains . - FAILS CHECK
set path=(/bin /usr/bin /usr/ucb /etc .)
/etc/skel/local.login - Clean of . - PASSES CHECK
/etc/skel/local.profile - Clean of . - PASSES CHECK
/.profile - Clean of . - PASSES CHECK
/etc/profile - Clean of . - PASSES CHECK

_____________________________________________________
*=*=*=*=* Running modules/routed.sh now.....
Output to ../logs/modules/routed.sh.V.042506
-----------------------------------------------------

The route daemon advertises routes - FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/sendmail.sh now.....
Output to ../logs/modules/sendmail.sh.V.042506
-----------------------------------------------------
No sendmail.cf.titan2 exists - FAILS CHECK
Run with -[Ff] option to fix.
Checking for smrsh
smrsh not found in /sbin - FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/smtp-banner.sh now.....
Output to ../logs/modules/smtp-banner.sh.V.042506
-----------------------------------------------------
No /etc/mail/sendmail.cf exists - FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/smtpbanner-8.8.sh now.....
Output to ../logs/modules/smtpbanner-8.8.sh.V.042506
-----------------------------------------------------
ERROR - This script is Only supported on patched Solaris 2.6 and newer,
please use one of the other scripts for your OS

_____________________________________________________
*=*=*=*=* Running modules/snmpdx-2.6.sh now.....
Output to ../logs/modules/snmpdx-2.6.sh.V.042506
-----------------------------------------------------
ERROR - This script is Only supported on Solaris 2.6 and newer,
please use one of the other scripts for your OS

_____________________________________________________
*=*=*=*=* Running modules/syslog.sh now.....
Output to ../logs/modules/syslog.sh.V.042506
-----------------------------------------------------
File /etc/syslog.conf exists checking contents....
Syslog auth notice messages disabled - FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/tcp-sequence.sh now.....
Output to ../logs/modules/tcp-sequence.sh.V.042506
-----------------------------------------------------
TCP_STRONG_ISS=1
/etc/default/inetinit - has the system default . - FAILS CHECK

_____________________________________________________
*=*=*=*=* Running modules/userumask.sh now.....
Output to ../logs/modules/userumask.sh.V.042506
-----------------------------------------------------
Checking for umask 022 in
/etc/.login
/etc/default/login
/etc/profile
/etc/skel/local.cshrc
/etc/skel/local.login
/etc/skel/local.profile

Umask value other than 022 in /etc/.login - FAILS CHECK
Umask value other than 022 in /etc/.login - FAILS CHECK
Umask value 022 in /etc/profile - PASSES CHECK
Umask value 022 in /etc/skel/local.cshrc - PASSES CHECK
Umask value other than 022 in /etc/skel/local.login - FAILS CHECK
Umask value other than 022 in /etc/skel/local.profile - FAILS CHECK

UMASK value 022 in /etc/default/login - PASSES CHECK

_____________________________________________________
*=*=*=*=* Running modules/utmp.sh now.....
Output to ../logs/modules/utmp.sh.V.042506
-----------------------------------------------------
File utmp permissions o-w - PASSES CHECK
File utmp permissions o-w - PASSES CHECK

_____________________________________________________
*=*=*=*=* Running modules/vold.sh now.....
Output to ../logs/modules/vold.sh.V.042506
-----------------------------------------------------

File /etc/rc2.d/S92volmgt and /usr/sbin/vold exists - FAILS CHECK

Run with -[Ff] option to fix

_____________________________________________________
*=*=*=*=* Running modules/ziplock.sh now.....
Output to ../logs/modules/ziplock.sh.V.042506
-----------------------------------------------------

Unfortunately this is a FIX ONLY utility.....
As noted in the Introduction statement it may break functionality
for all non-root users if run -F

The list of files is as follows and may be manually modified
by editing this script and inserting/commenting out as you
like. Just make sure you know what it is you are changing:

The list of binaries that would be modified is:

/usr/bin/at
/usr/kvm/eeprom
/sbin/su
/usr/bin/atq
/usr/bin/atrm
/usr/bin/chkey
/usr/bin/crontab
/usr/bin/eject
/usr/bin/fdformat
/usr/bin/newgrp
/usr/bin/ps
/usr/bin/rcp
/usr/bin/rdist
/usr/bin/rlogin
/sbin/sulogin
/usr/bin/login
/usr/bin/rsh
/usr/bin/su
/usr/bin/tip
/usr/bin/uptime
/usr/bin/yppasswd
/usr/bin/w
/usr/bin/ct
/usr/bin/cu
/usr/bin/uucp
/usr/bin/uuglist
/usr/bin/uuname
/usr/bin/uustat
/usr/bin/uux
/usr/lib/exrecover
/usr/lib/fs/ufs/ufsdump
/usr/lib/fs/ufs/ufsrestore
/usr/lib/pt_chmod
/usr/lib/sendmail.mx
/usr/lib/acct/accton
/usr/sbin/allocate
/usr/sbin/mkdevalloc
/usr/sbin/mkdevmaps
/usr/sbin/ping
/usr/sbin/sacadm
/usr/sbin/static/rcp
/usr/sbin/whodo
/usr/sbin/deallocate
/usr/sbin/list_devices
/usr/openwin/bin/xlock
/usr/openwin/bin/xdm
/usr/openwin/lib/mkcookie
/usr/ucb/ps
/usr/vmsys/bin/chkperm
/usr/bin/passwd
/usr/bin/csh
/etc/lp/alerts/printer
/usr/kvm/crash
/usr/kvm/eeprom
/usr/bin/netstat
/usr/bin/nfsstat
/usr/bin/write
/usr/bin/ipcs
/usr/sbin/arp
/usr/sbin/prtconf
/usr/sbin/swap
/usr/sbin/sysdef
/usr/sbin/wall
/usr/sbin/dmesg
/usr/openwin/bin/Xsun
/usr/openwin/bin/wsinfo
/usr/openwin/bin/mailtool
/usr/openwin/bin/xload
/usr/openwin/bin/kcms_calibrate
/usr/openwin/bin/kcms_configure
/usr/openwin/bin/kcms_server
/var/adm/messages
/var/log/syslog
/var/adm/pacct
anita:/export/home/toni/Security/Tools/Titan,v3.0.FCS#

Mirando por encima el resultado ofrecido por Titan, vemos que ha detectado <casi 50 posibles problemas! (cada mensaje FAILS CHECK denota una alarma, mientras que cada mensaje PASSES CHECK denota un test satisfactorio).

A la vista de estos resultados, y teniendo en cuenta que hemos utilizado una versión más o menos moderna de Solaris (la versión 7 10/98, si hubiéramos comprobado una versión de Solaris o SunOS más antigua habríamos detectado seguramente muchos más problemas), parece claro que un sistema Unix instalado tal y como se distribuye, o con una configuración de seguridad mínima -nuestro caso-, representa un grave problema ya no sólo para la máquina en cuestión, sino para toda la red en la que trabaja. Por tanto, el uso de cualquier herramienta que nos ayude a solucionar, o al menos a localizar problemas, va a ser útil.

Tremulous, videojuego de acción en primera persona, con ambientación futurista

tremulous_logo Es un juego FPS por equipos en el que los humanos luchan contra aliens, es muy similar al Quake 3 y Halflife.

Tremulous es un videojuego de acción en primera persona, con ambientación futurista. Es software libre y totalmente gratuito.

Los jugadores pueden elegir entre 2 equipos: aliens o humanos. Ambos bandos pueden construir estructuras: los aliens nacen de huevos cada vez que mueren mientras que los humanos nacen de telenodos.

La construcción de las bases incluye estructuras de defensa con el objetivo de proteger los nodos/huevos El objetivo del juego es eliminar al equipo contrario matando a todos sus componentes y destruyendo las estructuras que les permiten volver a nacer. Al matar enemigos se obtienen créditos para comprar mejores armas y escudos en el caso de los humanos o evolucionar a un ser más poderoso en el caso de los aliens.

tremulous

En el juego existen tres etapas. La forma de alcanzar estas etapas es cuando las muertes que consigue un bando suman cierto número. Cuando un bando pasa a la siguiente etapa consigue nuevas armas o evoluciones posibles con lo que se hace más poderoso. Alcanzar la siguiente etapa antes que el equipo contrario da una gran ventaja sobre éste.

Los aliens como recompensa por la construcción de estructuras y/o cobrarse la vida de un desafortunado humano derribado en el encuentro, ganan puntos de evolución que podrán emplear en nuevas evoluciones. Los puntos máximos de evolución acumulados no supera los 9, obligándolos a hacer uso de ellos o compartirlos con el resto del equipo. Al iniciar el juego o regresar de una desafortunada muerte, el jugador tiene dos clases de aliens a su elección: Dretch y Granger.

Screenshots