Syslog gratuito para BlueCoat con Splunk

Pasos necesarios para montar un syslog para recibir datos de BlueCoat (entre otras plataformas como Cisco, F5, UNIX).

Utilizaremos la herramienta gratuita Splunk (v.4.1).

http://www.splunk.com/

La versión gratuita nos permite una transferencia de unos 500Mb diarios aproximadamente y las funciones basicas. Es decir, si por ejemplo, tenemos un proxy BlueCoat, pero no tenemos la máquina de analisys de logs porque no generamos tanto tráfico o presupuesto para adquirirla puede sernos muy útil. Durante los 15 primeros días podremos utilizar la funcionalidad completa, si queremos o necesitamos utilizar el resto de funcionalidades, decir que la licencia vale sobre los 6000$.

Instalamos nuestro sistema Linux en modo consola mismamente. Con el sistema base nos sirve. Ahora mismo yo lo tengo en producción bajo una máquina virtual a 3Ghz, con 512Mb de RAM y un solo core. Aunque en un primer arranque cuando sincronice con BlueCoat puede estar la CPU al 100% durante horas, haciendo pruebas con 256Mb de RAM también va sobrado.

Le asignamos una IP fija al sistema.

Una vez realizados estos pasos y desde la consola de nuestro Linux. Nos dirigimos a la carpeta /opt/ y descargamos el paquete de Splunk a descargar.

http://www.splunk.com/download?r=homepage

Escogemos la de nuestra plataforma, en nuestro caso “2.6+ kernel Linux distributions (64-bit)”. Es posible que nos solicite registro.

wget ‘http://www.splunk.com/index.php/download_track?file=4.1.5/linux/splunk-4.1.5-85165-linux-2.6-amd64.deb&ac=&wget=true&name=wget&typed=releases’

Nos descargamos el paquete .deb (estamos usando Ubuntu 10.0.4.1 Server).

Ejecutamos el instalador.

sudo dpkg -i splunk-4.1.5-85165-linux.2.6-amd64.deb

Una vez instalado nos saldrá un mensaje como este:

———————————————————————-
Splunk has been installed in:
        /opt/splunk
To start Splunk, run the command:
        /opt/splunk/bin/splunk start
To use the Splunk Web interface, point your browser at:
        http://splunk:8000
Complete documentation is at http://www.splunk.com/r/docs
———————————————————————-

Una vez instalado ejecutamos Splunk con:

sudo /opt/splunk/bin/splunk start

Nos saldrá la licencia. Una vez hemos llegado al final, le damos a Yes para aceptarla. Acabará de realizar otros procesos.

Ejecutamos también la siguiente línea para que se inicie automáticamente cada vez que reiniciemos el servidor:

sudo /opt/splunk/bin/splunk enable boot-start

Para acceder al servidor utilizaremos el navegador.

http://splunk:8000/

La primera vez iniciará con un usuario y password por defecto:

Cambiamos estas credenciales en el apartado Manager:
Luego en User Options:
Introducimos nuestra contraseña y si queremos también un e-mail nuestro.
Volvemos a Manager y vamos al apartado Apps.

Seguido le damos a “Browse SplunkBase for more apps…”
Buscamos la que necesitemos, en este caso vamos a instalar la que vamos a usar para nuestro proxy BlueCoat, llamado Splunk for Blue Coat que es gratuito.

Le damos a “Install Free”. Nos solicitará nuestro usuario web de Splunk si no estamos logados.
Una vez instalado debería salirnos automáticamente en nuestras aplicaciones.
Volvemos al menú principal a través del menú superior izquierdo con App>Launcher.
Una vez allí nos cargará otra pantalla que nos salen varias pestañas. Clickamos sobre Your Apps y ahí debería salirnos Splunk for Blue Coat. Picamos sobre ella para comprobar que funciona.
Una vez instalado nuestro sistema, deberemos configurar nuestro proxy BlueCoat para que envíe los datos a nuestro servidor.
Desde el servidor de Splunk, nos dirigimos a:
Manager>Data Inputs

TCP>Add New

Introducimos los datos como en la siguiente captura:

Le damos a “Save” para guardar los cambios.
Nos dirigimos luego a nuestro BlueCoat
Dentro de él, nos dirigimos a: Configuration>Access Logging>Logs

Le damos a la pestaña “Upload Client”.
En “Log”, seleccionamos “main”. En “Client type”, seleccionamos “Custom Client”. Le damos al botón “Settings”.
Introduciremos nuestros datos (IP de nuestro Splunk y el puerto TCP que le hemos asignado):
Aplicamos los cambios. Nos aseguramos que tenemos seleccionado Custom Client y en “Save the log file as” en “Text file”.
Luego nos dirigimos a “Upload Schedule” e introducimos las mismas opciones de la siguiente captura.

Una vez aplicados los cambios, el servidor empezará a leer los logs del BlueCoat. Puede tardar varias horas y puede que el primer día salga una alerta de que hemos sobrepasado el límite de datos, es normal, ya que la 1ª vez si el proxy ha estado funcionando durante días puede tener muchos logs guardados.
Nos dirigimos a nuestro servidor Splunk e iniciamos la aplicación “Splunk for BlueCoat”. Ya podemos generar filtros de búsquedas.
Como nota adicional, decir que los logs que se van almacenando (por si se nos llenase el disco duro) se almacenan en el directorio siguiente:

/opt/splunk/var/logs/splunk/

Solo deja acceder con usuario root.

root@splunk:/opt/splunk/var/log/splunk# ls -la
total 264252
drwx—— 2 root root     4096 2010-09-30 09:52 .
drwx–x–x 3 root root     4096 2010-09-01 10:44 ..
-rw——- 1 root root 18681151 2010-09-30 13:20 audit.log
-rw——- 1 root root 25000494 2010-09-22 01:10 audit.log.1
-rw——- 1 root root 25000223 2010-09-14 12:01 audit.log.2
-rw——- 1 root root 25000260 2010-09-07 00:05 audit.log.3
-rw——- 1 root root        0 2010-09-01 10:44 btool.log
-rw——- 1 root root       63 2010-09-01 10:44 first_install.log
-rw——- 1 root root    12471 2010-09-30 09:47 intentions.log
-rw——- 1 root root    21653 2010-09-30 13:20 license_audit.log
-rw——- 1 root root  1118741 2010-09-30 13:53 metrics.log
-rw——- 1 root root 25000103 2010-09-30 09:52 metrics.log.1
-rw——- 1 root root 25000033 2010-09-29 04:19 metrics.log.2
-rw——- 1 root root 25000095 2010-09-27 22:34 metrics.log.3
-rw——- 1 root root 25000042 2010-09-26 18:22 metrics.log.4
-rw——- 1 root root 25000066 2010-09-25 13:53 metrics.log.5
-rw——- 1 root root    12644 2010-09-01 11:36 python.log
-rw——- 1 root root  5098844 2010-09-27 16:20 scheduler.log
-rw——- 1 root root 25000032 2010-09-22 16:25 scheduler.log.1
-rw——- 1 root root    32781 2010-09-30 09:48 searches.log
-rw——- 1 root root        0 2010-09-01 10:44 searchhistory.log
-rw——- 1 root root  6882222 2010-09-30 13:20 splunkd_access.log
-rw——- 1 root root  3015195 2010-09-30 13:53 splunkd.log
-rw——- 1 root root        0 2010-09-01 10:44 splunkd_stderr.log
-rw——- 1 root root     1236 2010-09-27 17:36 splunkd_stdout.log
-rw——- 1 root root  9991423 2010-09-30 10:35 web_access.log
-rw——- 1 root root   588172 2010-09-30 13:20 web_service.log