Crear certificado de usuario para probar servicios web con ssl

En ocasiones es necesario contar con un certificado de usuario, para poder hacer pruebas sobre un servicio web.

Creación del certificado

Para crear el certificado, en una máquina linux con openssl instalado, creamos el certificado. Por defecto, la clave privada se crea con una clave (passphrase). Dado que es un certificado simplemente para test, vamos a crear también el fichero de clave privada sin passphrase (paso 3)

 

# Creación de clave privada
openssl genrsa -out testing_password.key 4096
# Creación de clave pública
openssl req -new -x509 -days 3000 -key testing_password.key -out testing.crt
# Hacer una copia del fichero de claves sin proteger con contraseña
openssl rsa -in testing_password.key -out testing_nopasswd.key
# Exportar en pkcs12 para poderlo usar con navegadores como firefox
openssl pkcs12 -export -out testing.p12 -inkey testing_password.key -in testing.crt

Ver más información

Uso del certificado

Ahora, para probar el servicio web, podemos importarlo desde un navegador , o ponerlo en línea de comando en wget: wget


wget https://myhost.com/service --no-proxy --no-check-certificate --certificate=testing.csr

 

 

GPG Keys en distintas distribuciones:

Ubuntu

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6E80C6B7

Debian

En el ejemplo, se ha usado la clave gpg de security.debian.org. Sería necesario cambiar new key con el identificador de clave que hay que introducir para usar con apt.


newkey=8B48AD6246925553

gpg --keyserver pgpkeys.mit.edu --recv-key $newkey

gpg -a --export $newkey| sudo apt-key add -

CentOS
rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6

Gestión de certificados en Windows 7, 2008Server

Para poder mover de almacén, borrar, exportar, etc. los certificados en una máquina windows 7 o posterior:

En la consola, escribimos mmc

Si no tenemos vista de Certificados, se agrega mediante Archivo > Agregar o quitar complemento > Certificados.

En esta vista, ya será posible trabajar con los certificados.

Ver más información

CentOS: Uso común de yum

Configurar proxy en yum

En el fichero  /etc/yum.conf se añade la línea:

proxy=http://proxy.organizacion.com:80
Ver repositorios de yum que tenemos configurados

En consola de bash
yum repolist

Añadir un repositorio a yum

El ejemplo lo vamos a hacer con repoforge. Es posible que haya versiones más modernas que rpmforge:

wget http://tree.repoforge.org/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

Borrar un repositorio de yum y cambiarlo por otro más moderno

rpm -e rpmforge-release-0.5.2-2.el5.rf.x86_64
wget http://tree.repoforge.org/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm

Actualizar todos los comandos a la vez por línea de comandos en yum:

Actualizar todos los paquetes de CentOS. Recomendamos seriamente que se haga un backup previo a hacer este paso:

yum update
yum upgrade -y
yum clean all
yum --obsoletes update


Ver paquetes instalados

yum list installed

Instalar check_mssql_health como plugin de nagios en CentOS 6

El objetivo de check_mssql_health es monitorizar las bases de datos internas a un sql server desde nagios, centreon o similar.

La conexión, se hace desde el monitor (nagios) hacia la base de datos, directamente por el puerto de base de datos. Por defecto, en las instalaciones MS SQL SERVER es 1433. En caso de no funcionar, habrá que revisar que no haya un cortafuegos (tanto de windows como físico) que corte el puerto 1433 entre el monitor y el SQL Server.

Instalación del check en CentOS 6

Descargar el paquete

Descomprimir, configurar e instalar:

   tar -xvzf check_mssql_health-1.5.19.1.tar.gz

cd check_mssql_health-1.5.19.1

./configure

./make

./make install

El directorio donde deja el script, no coincide con el directorio donde están los plugins en nagios sobre CENTOS. Por lo tanto, es importante moverlo:

mv /usr/local/nagios/libexec/check_mssql_health /usr/lib64/nagios/plugins/

Problema DB:Sybase

Al ejecutar mssql_health faltan  paquetes de perl:

> ./check_mssql_health –hostname host  –username nagios –password dkfjlskf –mode  database-online
CRITICAL – cannot connect to host . install_driver(Sybase) failed: Can’t locate DBD/Sybase.pm in @INC (@INC contains: . /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at (eval 17) line 3.
Perhaps the DBD::Sybase perl module hasn’t been fully installed,
or perhaps the capitalisation of ‘Sybase’ isn’t right.
Available drivers: DBM, ExampleP, File, Gofer, Proxy, SQLite, Sponge, mysql.
at ./check_mssql_health line 3045.

Instalamos perl-DBD-Sybase con yum:

 yum install perl-DBD-Sybase.x86_64 -y

Comando de nagios /etc/nagios/checkcommands.cfg

 

define command{
command_name                    check_mssql_health
command_line                    $USER1$/check_mssql_health –hostname $HOSTADDRESS$  –username $ARG1$ –password $ARG2$ –mode  database-online
;command_example                        !nagios!password
;$ARG1$                         Service
}

 

 

 

LVM: Añadir una nueva partición a un Volumen

Primero, con fdisk, se crea la partición

fdisk /dev/sda

En nuestro caso, se habrá creado /dev/sda3

Se crea un volumen físico en esta partición:

pvcreate /dev/sda3

Antes de extender, se mira el espacio ocupado por el volumen lógico, se extiende, y se verifica que se haya modificado la partición:

vgdisplay

vgextend VolGroup00 /dev/sda3

vgdisplay

Ahora, se le asigna el espacio al volumen lógico que lo requiera, y se cambia la información de filesystem para que coja el nuevo espacio:

lvresize -L +10GB /dev/VolGroup00/lv2

resize2fs -p /dev/VolGroup00/lv2

 

Ver más información

 

 

Configurando NSClient++ para monitorizar Windows 2012

Para monitorizar un SQL Server 2012 desde nagios, vamos a poner en los servidores de SQL Server NSClient++.

Instalación

Descarga la aplicación

Instalación del msi. Aconsejo hacer la instalación completa, el espacio que usa de disco es mínimo y se reducen los problemas después. Se especificando qué servidores de monitorización (nagios) va a lanzar los comandos.

El archivo boot, especifica donde se va a guardar la configuración de NSClient++. En nuestro caso, estará en nsclient.ini.

[settings]
1=ini://${exe-path}/nsclient.ini
[main]
write=ini://${exe-path}/nsclient.ini

Configuración NSCclient.ini

Servidores que podrán hacer consultas por nrpe:

[/settings/default]
allowed hosts = 192.168.25.0/24

Para aceptar argumentos en las invocaciones por nrpe

; Section for NRPE (NRPEServer.dll) (check_nrpe) protocol options.
[/settings/NRPE/server]

; COMMAND ARGUMENT PROCESSING – This option determines whether or not the we will allow clients to specify arguments to commands that are executed.
allow arguments = true

Powershell para iniciar y parar el servicio

restart-service nscp
stop-service nscp
start-service nscp

 

Instalar openoffice 4 en Debian

Descarga de los paquetes: http://sourceforge.net/projects/openofficeorg.mirror/files/4.0.0/binaries/es/Apache_OpenOffice_4.0.0_Linux_x86-64_install-deb_es.tar.gz/download

Descompresión del archivo e instalación de paquetes deb:

cd es/DEBS/
dpkg -i *.deb
dpkg -i */*.deb

Para que funcione, no debe existir el enlace de soffice a libreoffice. Aunque distintos tutoriales explican que es posible borrando la ruta del enlace que convivan openoffice y libreoffice, yo no lo he conseguido.

Para conseguir hacerlo funcionado, he eliminado (completamente) los paquetes de libreoffice, y, a partir de este momento, ya no he tenido problemas al instalar openoffice.

Instalación de elastic search sobre windows 2008

He hecho las pruebas con elasticsearch-0.90.2 ejecutando sobre windows 7. Todas las invocaciones se hacen a través de powershell. Esto es una guía mínima. Para más información, recomendamos

Elastic search: Instrucciones de  instalación

Instalación

En una instalación de producción, sería necesario que se activará elastic search por defecto. Para las pruebas, lo iniciamos de forma manual.

Tras la descarga al ejecutar elastic search, puede dar un error de JAVA_HOME. Requiere java 1.6 o superior.

PS C:\elasticsearch-0.90.2\bin> .\elasticsearch.bat
JAVA_HOME environment variable must be set!
Presione una tecla para continuar . . .

Especificamos la variable de entorno en powershell. Suponiendo que está ya instalada la máquina virtual Java en versión 1.7:

$env:JAVA_HOME += “;C:\Program Files (x86)\Java\jre7\”

Para comprobar que elastic search está ejecutando:

http://localhost:9200/_cluster/health

Elasticsearch Browser

Para acceder a las búsquedas, necesitamos una interfaz o front-end. Nosotros hemos optado por elasticsearch browser

 

 

Configuracion proxy en Perl

Configuración de proxy para CPAN (perl) en CentOS

Para instalar el proxy de CPAN:

cpan[3]> o conf http_proxy http://proxy.mydomain.com
Please use ‘o conf commit’ to make the config permanent!
cpan[4]> o conf ftp_proxy http://proxy.mydomain.com
Please use ‘o conf commit’ to make the config permanent!
cpan[5]> o conf commit
commit: wrote ‘/usr/share/perl5/CPAN/Config.pm’

 

Configuración de proxy para CPAN (perl) en Debian

perl -MCPAN -e shell
cpan[4]> o conf init /proxy/
cpan[5]> o conf commit
commit: wrote '/root/.cpan/CPAN/MyConfig.pm'

YAML Error

Warning (usually harmless): 'YAML' not installed, will not store
>> persistent state

Requiere instalación de perl y de yaml-perl

apt-get install make libconfig-yaml-perl

CentOS Perl INC error

Con las instalaciones nuevas de CentOS, suele haber problemas de Perl al iniciar:

Could not load the Perl module ‘Config::IniFiles’ Can’t locate Config/IniFiles.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at (eval 13) line 1.

Para instalar el módulo que falta:

cpan install Config::IniFiles