miércoles 18 de agosto de 2010

Como montar un servidor centralizado de logs con interfaz web

A veces por cuestiones de seguridad necesitamos guardar logs y podemos llegar a tenerlos desperdigados por un montón de servidores.

Una opción sería intentar centralizar el máximo de logs posibles en un servidor.

Hay diferentes opciones. Voy a explicar como montar un Syslog server con Syslog-NG y poder acceder a el vía web.

Este tutorial está basado en el de la siguiente URL con algunas modificaciones.


El servidor lo montaremos bajo Ubuntu Server 10.04.1. Cabe decir, que como servidor de logs, será necesario tener bastante espacio para almacenar.

Cuando estemos en el menú de instalación escogeremos la opción "Instalar un sistema mínimo". Seguiremos el asistente hasta finalizar la instalación.  A medida que necesitemos más opciones las instalaremos a medida que vayamos siguiendo el tutorial.

Configuración del servidor:
  • Asignaremos un nombre a nuestro servidor "websyslog"
  • Seleccionaremos nuestra zona horaria.
  • Realizaremos las particiones oportunas de nuestros discos.
  • Configuramos la cuenta de usuario.
  • Ciframos o no la cuenta de usuario.
  • Configuramos nuestro proxy si lo tenemos.
  • Escogemos "Sin actualizaciones automáticas".
  • En selección de programas escogeremos si queremos como mucho "OpenSSH server" por si queremos acceder remotamente por terminal.
  • Configuramos GRUB.
  • Finalizamos la instalación.


Una vez instalado comprobamos que tenemos red y si hemos instalado OpenSSH Server comprobamos que podemos acceder correctamente.

login as: manager
manager@192.168.2.6's password:
Linux websyslog 2.6.32-24-generic-pae #39-Ubuntu SMP Wed Jul 28 07:39:26 UTC 2010 i686 GNU/Linux
Ubuntu 10.04.1 LTS


Welcome to Ubuntu!
* Documentation: https://help.ubuntu.com/
Last login: Wed Aug 18 13:24:17 2010 from pcs11.mired.intranet
To run a command as administrator (user "root"), use "sudo ".
See "man sudo_root" for details.


manager@websyslog:~$

El siguiente paso será asignarle una IP fija, ya que por defecto se configura por DHCP.

  • sudo nano /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).


# The loopback network interface
auto lo
iface lo inet loopback


# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.17
netmask 255.255.255.0
gateway 192.168.1.1

Si lo requerimos también podemos asignar DNS' editando en /etc/resolv.conf

Una vez realizado estos cambios reiniciaremos la interfaz de red.
  • sudo /etc/init.d/networking restart
Volvemos a conectarnos. Antes de proseguir vamos a actualizar nuestro servidor con las últimas actualizaciones.

  • sudo apt-get update
  • sudo apt-get upgrade

Instalaremos el siguiente componente.

  • sudo apt-get install build-essential
Una vez ya tenemos lista la base de nuestro servidor empezaremos ya a instalar Syslog-NG y PHPSyslog-NG y el resto de paquetes que necesitaremos.

  • sudo apt-get install syslog-ng
  • sudo nano /etc/syslog-ng/syslog-ng.conf
Buscar las siguientes linea y sustituirla:
#Disable statistic log messages.
stats_freq(0);
Reemplazar por:
#Enable statistic log messages.
stats_freq(43200);
Buscar las siguientes linea y sustituirla:

# (this is equivalent to the "-r" syslogd flag)
# udp();

Reemplazar por:
# (this is equivalent to the "-r" syslogd flag)
udp();

Buscar las siguientes linea y sustituirla:
# enable or disable DNS usage
# syslog-ng blocks on DNS queries, so enabling DNS may lead to
# a Denial of Service attack
# (default is yes)
use_dns(no);

Reemplazar por:
# enable or disable DNS usage
# syslog-ng blocks on DNS queries, so enabling DNS may lead to
# a Denial of Service attack
# (default is yes)
use_dns(yes);
dns_cache(yes);
  • sudo apt-get install apache2 php5 libapache2-mod-php5 php5-cli
  • sudo apt-get install mysql-server mysql-client php5-mysql
Nos solicitará el password de root de MySQL. La introducimos.

  • sudo apt-get install php5-gd
  • sudo apt-get install libice6
  • sudo apt-get install msttcorefonts
Una vez instalados todos estos paquetes conectamos al MySQL para comprobar que correctamente se ha instalado bien.

  • mysql -u root -p
mysql> status

--------------
mysql Ver 14.14 Distrib 5.1.41, for debian-linux-gnu (i486) using readline 6.1
Connection id: 43
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.1.41-3ubuntu12.6 (Ubuntu)
Protocol version: 10
Connection: Localhost via UNIX socket
Client characterset: latin1
Server characterset: latin1
UNIX socket: /var/run/mysqld/mysqld.sock
Uptime: 9 min 7 sec
Threads: 1 Questions: 318 Slow queries: 0 Opens: 263 Flush tables: 1 Open tables: 23 Queries per second avg: 0.581
--------------

Si conectamos vía web a la IP de nuestro servidor [http://192.168.1.17], también debería cargarnos la página web por defecto de Apache.
 
It works!




This is the default web page for this server.
The web server software is running but no content has been added, yet.
El siguiente paso será instalar PHP-Syslog-NG.
Se descargará el paquete solicitado. Cabe recordar, que el paquete en cuestión es la versión actual en la elaboración de este tutorial. Puede variar dependiendo de cuando sea consultado.

  • sudo tar xzvf php-syslog-ng-2.9.8.tgz
  • sudo rm php-syslog-ng-2.9.8.tgz
  • cd php-syslog-ng/
  • sudo cp -r * /var/www/
  • sudo rm -dfr php-syslog-ng
  • sudo chmod 777 html/config/
  • sudo chmod 777 html/jpcache/

Una vez realizado los pasos realizados hasta ahora, editaremos el archivo php.ini.

  • sudo nano /etc/php5/apache2/php.ini

Buscar las siguientes linea y cambiar los parametros:

  • max_execution_time cambiarlo 300
  • memory_limit cambiarlo a 128MB

Crearemos el siguiente directorio:

  • sudo mkdir -p /var/log/php-syslog-ng

Editaremos la entrada de Virtual Host de Apache

  • cd /etc/apache2/sites-available
  • sudo nano php-syslog-ng

Este podría ser el contenido de nuestro archivo. Aunque podemos midificarlo a nuestro gusto.


ServerName websyslog.midominio.intranet
ServerAdmin e-mail@miservidor.com

DocumentRoot /var/www/html/

Options FollowSymLinks
AllowOverride All

# pcw No directory listings
# Options Indexes FollowSymLinks MultiViews
Options -Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all

ErrorLog /var/log/apache2/php-syslog-ng-error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/php-syslog-ng-access.log combined
ServerSignature On

Guardamos la configuración y ejecutamos los siguientes comandos. Esta configuración es para solo usarlo con 1 host. Si tenemos otros deberemos agregarlos al archivo default y configurarlo tal cual.

  • sudo cp default default.bak
  • sudo cp php-syslog-ng default
  • sudo a2ensite php-syslog-ng
  • sudo invoke-rc.d apache2 reload

Una vez finalizado todo esto, podemos ir a nuestro navegador y tal como le hemos dicho en el fichero de configuración se accederá a través de http://192.168.1.17/html/
 
Debería cargarnos correctamente algo como la pantalla siguiente.


 


Vemos que en la pantalla inicial el archivo config.php está solo en modo lectura.

Para cambiarlo ejecutaremos el siguiente comando

  • sudo chmod 777 /var/www/html/config/config.php

Le daremos a la tecla F5 para ver que efectivamente ya da como disponible.



  • A partir de aquí empezaremos la instalación vía web con el boton "Next". (*Me he encontrado que a veces con Internet Explorer 8 puede dar problemas. Mejor utilizar otro navegador).
  • Aceptamos la licencia y "Next".
  • La siguiente pantalla nos solicitará los datos para la base de datos. Solo deberemos introducir el password de MySQL, el resto podemos dejarlo tal cual si lo deseamos y "Next".
  • Nos solicitará el nombre de nuestro Site, introducimos "WebSysLog Server" por ejemplo y "Next".
  • Confirmamos las rutas y el password de administrador y "Next".
  • Nos indicará que una vez finalizada la instalación eliminemos de nuestro servidor web el directorio "Install". Luego le damos al botón "Install CEMDB".
  • Nos cargará otra pantalla. Le damos a "Start Import of CEMDB data into syslog at localhost".
  • Nos cargará otra pantalla con una tabla. Una vez salga el mensaje "Congratulations: End of file reached, assuming OK" podemos darle a "Continue..."
  • Eliminamos la carpeta "install" de /var/www/html/install

Accedemos nuevamente a http://192.168.1.17/ y debería aparecernos una pantalla como la siguiente.


Introducimos nuestro Login/Password que pusimos en los últimos pasos de la configuración y si todo ha ido correcto debería aparecernos un Panel de Control como el de la captura siguiente.


viernes 13 de agosto de 2010

Como instalar VMware Tools (ESX) en Ubuntu Server 10.04

Este es un pequeño tutorial para realizar paso a paso una instalación de las VMWare Tools desde nuestro ESX ó ESXi en un Ubuntu Server (desde la consola).

Una vez tenemos instalado el sistema operativo (requiere tener GCC instalado) y estamos en la consola realizaremos los siguientes pasos:
  • Menú VM > Guest > Install/Upgrade VMware Tools
Nos saldrá una pantalla como la siguiente. Le daremos a OK.


El siguiente paso que realizaremos será montar la unidad de CDROM.

  • sudo mount /dev/cdrom /mnt/
Debería salirnos un mensaje como el de la siguiente pantalla.


El siguiente paso será ver el nombre y versión concreta del paquete que vamos a instalar, para ello listaremos /mnt/.


En nuestro caso concreto el paquete que utilizaremos será VMwareTools-4.0.0-208167.tar.gz.

Primero descomprimiremos el tar.gz.
  • sudo tar -C /tmp/ -zxvf /mnt/VMwareTools-4.0.0-208167.tar.gz
Una vez descomprimido desmontamos la unidad de CDROM.
  • sudo umount /mnt
Nos dirigiremos al directorio /tmp/ y deberiamos tener una carpeta nueva con los archivos que hemos descomprimido. Accedemos a ella.
  • cd /tmp/vmware-tools-distrib/
Cuando ejecutemos el script empezará a preguntarnos un montón de opciones que las dejaremos todas por defecto menos una.
  • What is the location of the directory of C header files that match your running kernel?
Para ello vamos a ejecutar la siguiente línea.
  • ls -d /usr/src/linux-headers-$(uname -r)*/include
En nuestro caso nos devuelve lo siguiente:
  • /usr/src/linux-headers-2.6.32-21-generic-pae/include
Anotamos esta línea ya que seguramente puede que tengamos que agregarla a mano.

Volviendo para iniciar la instalación ejecutaremos el archivo vmware-install.pl
  • sudo ./vmware-install.pl


Una vez finalizada la instalación debería salirnos un mensaje como el de la captura siguiente.

miércoles 11 de agosto de 2010

Imagen ISO Microsoft de seguridad de Agosto 2010

Detalles rápidos
Versión: 913086

Boletines de seguridad: MS10-046 MS10-047 MS10-048 MS10-049 MS10-050 MS10-051 MS10-052 MS10-053 MS10-054 MS10-055 MS10-058 MS10-059 MS10-060

Artículos de Knowledge Base (KB): KB2079403 KB2115168 KB2160329 KB2183461 KB2286198 KB978886 KB980436 KB981852 KB981997 KB982214 KB982316 KB982665 KB982799 KB983582 KB983583 KB983587 KB983588 KB983589 KB983590

Descargar imagen ISO

viernes 6 de agosto de 2010

vAlarm - Visualizador de Alarmas de VMWare

A veces, tener abierto constantemente nuestro cliente de VMWare puede llegar a ser tedioso ya que consume bastantes recursos y tampoco nos garantiza que nos demos cuenta de los problemas.

Hace poco me topé con una herramienta en la web xtraVirt que monitoriza las alarmas de nuestro Virtual Center.

La herramienta es gratuita y solo pide un registro en su web.


vAlarm is a Windows® based application which monitors alarms generated by VMware® vCenter.
The product is designed to be installed on an administrators PC, and provides automated monitoring of vCenter alarms without needing to be logged into a full VI Client console.
The software automatically communicates with a vCenter server on a user configurable schedule, and notifies any active alarms via a popup information bubble in the notification area of a users desktop.
The option to show details of all active alarms displays an information dialogue which lists individual alarms with detailed descriptions.
The software supports VMware vCenter 2.5 & 4.0.

Implicaciones de seguridad en la implantación de IPV6 (INTECO-CERT)

Para que Internet siga creciendo y evolucionando se ha revisado uno de sus elementos de base: el protocolo IP. La nueva versión, IPv6, esta diseñado para ser el sucesor de IPv4 en Internet solventando muchas de sus deficiencias. IPv6, entre otras ventajas, soluciona el problema del agotamiento de las direcciones IP, aporta funcionalidades de seguridad para el cifrado y autenticación en comunicaciones de extremo a extremo, y permite la creación de nuevos servicios.

Este informe pretende servir de apoyo a responsables de seguridad, administradores de sistemas y técnicos de seguridad, a la hora de plantearse la transición a esta nueva versión del protocolo IP que tanta importancia tiene en los sistemas de información de las organizaciones. Sus objetivos son informar sobre los siguientes aspectos:

  • Describir su funcionalidad.
  • Detallar los aspectos de seguridad a tener en cuenta.
  • Dar un código de buenas prácticas o consejos de actuación.
Esta guía está bajo licencia Creative Commons.

Descargar informe en PDF

NT4 P2V BlueScreen bajo VMWare

 Aunque hace años que Microsoft dejó de dar soporte a Windows NT, en la actualidad aún se siguen utilizando o se conservan máquinas guardadas en los almacenes por algún tipo de aplicación que solo funciona bajo ese entorno.

Hace poco me encontré con esa situación. Un servidor P-II Dual a 200Mhz, con 196Mb de SDRAM y un RAID montado. Para poder deshacernos de ese armatoste, decidimos virtualizarlo ya que el RAID donde estaba el sistema ya solo dependía de un disco por haber fallado el primero.

En un principio pensamos utilizar el VMWare Converter, pero este requiere un mínimo de memoria RAM de la cual no disponemos.

Otra alternativa que pensamos fue realizar un Ghost de los discos y luego clonarlos en una máquina virtual para que luego reconozca el hardware e instalarle las Tools.

Craso error. NT4 no soporta Plug&Play, así que no reconocerá el hardware automáticamente y lo más probable es que de pantallazo azul. No solo por el "hierro" físico, sino en nuestro caso también por unos controladores de Compaq del RAID.



Buscando documentación acerca de como poder virtualizar correctamente un NT4 me topé con un blog (OzVMs Dot Com) donde explica unos posibles casos para que funcionase realizando un Ghost. Se trata de coger el correspondiente Service Pack instalado y compiar a mano las librerías en las cuales da error cargando el VMDK desde otra máquina virtual.

Resultado, no nos funcionó, ya que seguía dando errores en las librerías de Compaq.

También probamos a hacer un disco de sistema con RDisk e intentar restaurar la configuración, pero el resultado fue idéntico. No iniciaba.

Recordé que a partir de cierta versión de Ghost, permitía convertir los discos a VMWare directamente. En nuestro caso, como no teníamos espacio suficiente para convertir la imagen, le puse una controladora de puertos USB por PCI y conectar un disco duro e iniciar con un Hirens BootCD.

Solo quedaba esperar que el sistema de archivos del NT no diese problemas corrupto en algún punto.


Una vez creado la imagen VMDK, creamos en nuestro entorno virtual de VMWare una máquina virtual con características similares a la que teníamos físicamente o con los recursos que creamos que necesitamos.


Subimos el VMDK al directorio correspondiente de nuestra máquina virtual y la agregamos a esta.

Iniciamos el equipo y comprobamos que efectivamente arranca bien. En este artículo se ha hecho la conversión con Ghost 11.5 y ejecutado bajo vSphere 4.0 Update 1.


 Una vez iniciemos sesión nos quedará instalar las VMWare Tools para que dispongamos de red si la necesitamos y una resolución a nuestro gusto.

miércoles 4 de agosto de 2010

Una al día: Once años de seguridad informática (1998-2009)

Hispasec tiene una de las listas más seguidas por los administradores de sistemas que desde hace 11 años publican diariamente noticias sobre vulnerabilidades.

Acaban de publicar una recopilación de todos los artículos en un PDF y de forma gratuita en su página web.

Se puede descargar en el siguiente enlace.

Una al día: Once años de seguridad informática

El libro está publicado bajo licencia Creative Commons.