Deshabilitar el límite de conexiones de terminal services en windows XP

El 8 de abril es la fecha en que se deja de dar soporte a windows XP, y es alucinante la cantidad de XP’s que quedan aún vivos. De hecho, a nivel mundial, parece que es el segundo sistema operativo más instalado.

Windows XP sigue siendo el segundo sistema operativo más usado del mundo

Os dejo también un tutorial para poder activar varias sesiones en windows XP, basada en una versión más antigua de las librerías de terminal.

  1. Entrar en modo a prueba de fallos en windows / Modo seguro. Pulsando F8 en el arranque.
  2. Parar el servicio de terminal services.
  3. Sustituir termsrv.dll en dos ubicaciones:
    C:\windows\system32\dllcache;
    C:\windows\system32
  4. Nueva clave en el registro: regeditHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Licensing Core
    EnableConcurrentSessions (DWORD) = 1
  5.  Cambiar el límite de conexiones. Nosotros hemos puesto 10 el límite:
    gpedit.msc
    Computer Configuration > Administrative Templates > Windows Components > Terminal Services
    Limit number of connections = Enabled
    Number Connections = 10
    Si hubiéramos puesto 99999 las conexiones ya son ilimitadas.
  6. Habilitar en windows el acceso remoto, y concretamente para los usuarios que haga falta.
  7. Reiniciar el sistema.

Backup de wordpress sobre Cpanel y mysql.

Para crear un backup de nuestra instancia de wordpress tenemos que salvaguardar dos partes:

  • Base de datos.
  • Archivos propios de wordpress (en carpeta servida por apache)

Nosotros tenemos la instancia de WP, instalada sobre un gestor de CPANEL, que es el que vamos a usar para sacar el backup de la base de datos.

Buscamos mysql; abrimos phpmyadmin,

Exportar con phpmyadmin:

En el caso de los archivos de wordpress, basta con acceder a la ruta y crear un tar.gz:

tar -cvzf  backup/public_doms_$(date -I).tar.gz public_doms/

Instalación phpmyadmin

Instalación sobre Debian 7:

La instalación sobre debian es bastante trivial, ya que no suele haber problemas con paquetes y librerías de php.

apt-get install phpmyadmin -y

Os pongo también nuestro sources.list

cat /etc/apt/sources.list | grep -v '#'
deb http://ftp.es.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.es.debian.org/debian/ wheezy main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
deb http://ftp.es.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.es.debian.org/debian/ wheezy-updates main contrib non-free

A diferencia de la instalación sobre centos, en este caso tampoco hay que editar a mano la clave secret del fichero config.inc.php.

Instalación  sobre CentOS 6.5

Para ver la versión:
cat /etc/centos-release
CentOS release 6.5 (Final)

Instalar paquetes de phpmyadmin mediante yum:

[root@server~]# yum list installed | grep php
php.x86_64              5.3.3-27.el6_5  @updates
php-cli.x86_64          5.3.3-27.el6_5  @updates
php-common.x86_64       5.3.3-27.el6_5  @updates
php-devel.x86_64        5.3.3-27.el6_5  @updates
php-gd.x86_64           5.3.3-27.el6_5  @updates
php-ldap.x86_64         5.3.3-27.el6_5  @updates
php-mbstring.x86_64     5.3.3-27.el6_5  @updates
php-mysql.x86_64        5.3.3-27.el6_5  @updates
php-pdo.x86_64          5.3.3-27.el6_5  @updates
php-pear.noarch         1:1.9.4-4.el6   @anaconda-CentOS-201303020151.x86_64/6.4
php-xml.x86_64          5.3.3-27.el6_5  @updates
phpmyadmin.noarch       2.11.11.3-2.el6.rf

Si preferís usar pear, aquí os dejo un enlace para configurar pear

 

Instalar mcrypt:

yum install php-mcrypt

Cambiar clave para cookies:

Recién instalado, da un error de configuración:

phpMyAdmin indicates  “configuration files now needs a secret passphase (blowfish_secret)”.

Es necesario editar el fichero de configuración, añadiendo una clave para las cookies.

[root@server~]# cat /usr/share/phpmyadmin/config.inc.php | grep blow
$cfg[‘blowfish_secret’] = ‘mypass’; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

 

Centreon 2.4.5 Añadir nuevo poller o satélite (debian 7)

Nagios empieza a tener mucha carga, y queremos usar otros poller desde otras subredes. Por ello, nos hace falta crear nuevas máquinas, y añadirlas para gestionarlas de forma unificada desde Centreon.

Vamos a seguir la arquitectura distribuida de centreon, basándonos en este tutorial de linux.org

AVISO: Aún no lo hemos logrado configurar.

Os recomiendo seguir el foro de centreon, para lograr configurar esto. Y, por supuesto, los comentarios están abiertos para que nos enviéis sugerencias y correcciones.

Configuración en el Satélite (debian 7). Acceso vía SSH

En el nuevo poller, damos un home a los usuarios nagios y centreon, y capacidad de bash

root@poller:~# grep nagios  /etc/passwd
nagios:x:102:121::/var/lib/nagios:/bin/bash

Creamos un usuario centreon con grupo nagios. Es el usuario que

  centreon:x:1001:1001:,,,:/home/centreon:/bin/bash

Configuramos SUDO para nagios y centreon

visudo:

User_Alias CENTREON=nagios,centreon
CENTREON ALL=NOPASSWD: /etc/init.d/nagios restart
CENTREON ALL=NOPASSWD: /etc/init.d/nagios stop
CENTREON ALL=NOPASSWD: /etc/init.d/nagios start
CENTREON ALL=NOPASSWD: /etc/init.d/nagios reload
CENTREON ALL=NOPASSWD: /usr/bin/nagiostats
CENTREON ALL=NOPASSWD: /usr/local/etc/bin/nagios *

Si no creamos este usuario, sale repetitivamente siguiente error de autenticación en /var/log/auth. Según el manual de centreon, es suficiente con tener un usuario nagios en los poller, pero, nuestra experiencia, dice que necesita también el usuario centreon:

Dec 13 08:19:15 poller sshd[14233]: Connection closed by centreon_ip [preauth]
Dec 13 08:21:02 poller sshd[14242]: Invalid user centreon from centreon_ip
Dec 13 08:21:02 poller sshd[14242]: input_userauth_request: invalid user centreon [preauth]

Instalamos centreon broker en el poller, para la comunicación desde Centreon. La instalación del broker, está mucho más detallada en la web de centreon.

apt-get install build-essential cmake
apt-get install librrd-dev
apt-get install libqt4-dev libqt4-sql-mysql
apt-get install libgnutls-dev  libgnutls26
cd centreon-broker/build
cmake \
-DWITH_DAEMONS='central-broker;central-rrd' \
-DWITH_GROUP=centreon-broker \
-DWITH_PREFIX=/usr \
-DWITH_PREFIX_BIN=/usr/sbin \
-DWITH_PREFIX_CONF=/etc/centreon-broker \
-DWITH_PREFIX_INC=/usr/include/centreon-broker \
-DWITH_PREFIX_LIB=/usr/lib/nagios3 \
-DWITH_PREFIX_MODULES=/usr/share/centreon/lib/centreon-broker \
-DWITH_STARTUP_DIR=/etc/init.d \
-DWITH_STARTUP_SCRIPT=auto \
-DWITH_TESTING=0 \
-DWITH_USER=centreon-broker
make install
# Start service:
adduser centreon-broker
service cbd start

Tenemos que agregar el usuario centreon-broker para evitar esto:

service cbd start
[....] Starting cbd_central-broker: cbdstart-stop-daemon: user 'centreon-broker' not found
start-stop-daemon: user 'centreon-broker' not found
failed!

Tiene que iniciar:


root@poller:~/src/centreon-broker/build# service cbd start
[ ok ] Starting cbd_central-broker: cbd.
[ ok ] Starting cbd_central-rrd: cbd.

Verificamos las rutas de centreon broker, para asegurar que está bien instalado:

 

Como nuestro satélite es debian, y por problemas con nagvis, vamos a usar mklivestatus, en vez de ndomod. Recomendamos leer <a href=”http://mathias-kettner.de/checkmk_livestatus.html”>este artículo </a>de Matthias Kettner.

Instalamos mklive  y su socket (en nuestra instalación no se creó de forma automática).

apt-get install check-mk-livestatus
mkfifo /var/log/nagios3/rw/live
chown nagios:nagios /var/log/nagios3/rw/live

Probamos desde nagios, la comunicación con mklivestatus

root@poller:~# grep broker /etc/nagios3/nagios.cfg
broker_module=/usr/lib/check_mk/livestatus.o /var/log/nagios3/rw/live
event_broker_options=-1

En nagios.log

Sin embargo, sí vamos a instalar ndoutils

Centreon. SSH

Creamos para nagios una clave asimétrica y se la pasamos al nuevo poller o satélite:

nagios@centreon:~#  ssh-keygen
nagios@centreon:~#  chmod 600 id_rsa

# Copiamos para nagios y para usuario centreon:
nagios@centreon:~#  ssh-copy-id  -i id_rsa.pub nagios@poller
nagios@centreon:~#  ssh-copy-id  -i id_rsa.pub centreon@poller
# Prueba de la conexión:
nagios@centreon:~#  ssh nagios@poller
nagios@centreon:~#  ssh centreon@poller

Pasamos todos los plugins al satélite:

scp /usr/local/nagios/libexec/* nagios@{IP_ADDRESS}:/usr/local/nagios/libexec/

Centreon GUI

Creamos el poller

Esta es la configuración del poller para debian 7.1

 

Creamos el ndomod, con su ip, y habilitado

Creamos el nuevo nagios.cfg

Es importante verificar todas las rutas de archivos.

En nuestro caso, al ser el satélite Debian 7, necesitamos que todas las rutas hagan referencia a nagios3.

Además, configuramos el broker, para usar mklive.

Cambiamos los permisos de /var/nagios/spool/checkresults, para evitar el errorde permisos durante “Run monitoring engine debug (-v)”

Error Unable to write to check_result_path (‘/var/nagios/spool/checkresults’) – Permission denied.

 

root@central# chmod 777 /var/nagios/spool/checkresults

Vmware powercli: Scripts útiles

Los scripts aquí definidos están para descargar en github.

Activar y desactivar de forma masiva ssh en los hosts

Desde la 4.1, se puede activar ssh, sin necesidad de entrar por las ilos de los servidores.

Es importante el -Confirm $false, por que si no , pregunta 100 veces.

Nos hemos basado en esta utilísima entrada de techshifter

Get-Cluster | Foreach {
$cl=$_
Get-Cluster -name $cl | Get-VMHost | Foreach {
# Start-VMHostService -HostService ($_ | Get-VMHostService | Where { $_.Key -eq "TSM-SSH" } )
# Stop-VMHostService -HostService ($_ | Get-VMHostService | Where { $_.Key -eq "TSM-SSH" } ) -Confirm:$false
}
}

Activar snmp de forma masiva en todos los nodos

Este script es algo más complicado, porque es necesario iniciar sesión contra el servidor vcenter, y depués contra cada uno de los hosts.

Instalación y configuración de OCS Inventory

Vamos a hacer un piloto con ocs inventory. Hemos intentado usar la máquina virtual que dan en la página principal de ocs inventory, sin éxito. Está documentado al final de este mismo tutorial.

Instalación completa sobre Debian

Prerequisito: Instalación de mysql

apt-get install -y mysql-client-5.5 mysql-server

Recomendamos instalar también phpmyadmin para poder hacer cambios de forma fácil sobre la base de datos.

Prerequisito: Instalación de apache2

apt-get install -y apache2 libapache2-mod-perl2 libapache2-mod-perl2-dev libapache2-mod-php5 libio-compress-perl

Prerequisito: Instalación perl

Configuración previa del proxy si nos hace falta.


cpan install Config::IniFiles XML::Simple Compress::Zlib
cpan install DBI DBD::Mysql Apache::DBI Net::IP Apache2::SOAP
apt-get install expat libexpat1-dev libssh-dev libconfig-yaml-perl
cpan install Crypt::SSLeay XML::Parser SOAP::Lite
cpan -i XML::Entities

Prerequisito: Instalación php

apt-get install php5 php-pear
apt-get install php5-gd libphp-pclzip

Instalación servidor ocs

Hemos dejado todas las opciones por defecto, aunque, lo hemos tenido que ejecutar varias veces por problemas con módulos de perl que faltaban.

tar -xvzf OCSNG_UNIX_SERVER-2.1rc1.tar.gz
cd OCSNG_UNIX_SERVER-2.1rc1/
sh setup.sh
service apache2 restart

Abrimos el navegador a http://administration_console/ocsreports  para acabar de configurar:

Gestión OCS

Usuario por defecto: admin:admin

Antes de finalizar, hay que borrar el fichero install.php

rm -f /usr/share/ocsinventory-reports/ocsreports/install.php

Cambiar la clave de usuario de ocs en mysql, y cambiar el usuario de conexión en el archivo de php:

cat /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php
<?php
define("DB_NAME", "ocsweb");
define("SERVER_READ","localhost");
define("SERVER_WRITE","localhost");
define("COMPTE_BASE","ocs");
define("PSWD_BASE","newpasswd");
?>

Y, la clave de los agentes:
grep OCS_DB_ /etc/apache2/conf.d/z-ocsinventory-server.conf
PerlSetEnv OCS_DB_USER ocs
PerlSetVar OCS_DB_PWD newpasswd

Los logs de ocs se guardan en:

/var/log/ocsinventory-server

Al configurar los agentes, se usa como ruta:

http://my-ip/ocs-inventory

Cuidado con los proxies. Requiere su configuración, porque si no, el tráfico no llega al destino.

 

 

Pruebas con la máquina virtual de ocs inventory

Tras la descarga, subimos la máquina virtual a un datastores de la plataforma de virtualización y registramos la máquina en nuestro inventario:

Para registrar la máquina virtual, se selecciona el archivo vmx, y, en el menú contextual, aparece la opción de registrar la nueva máquina:

Al añadir, da un error de host, relacionado con el disco

El problema está en la versión de hw virtual, por lo que será necesario hacer una actualización para que pueda ejecutar en vmware 5.5

Además de hacer un upgrade de versión, necesitamos convertir el formato de disco. En nuestro caso, no tener herramientas disponibles, lo instalamos sobre debian de 0.

 

Powershell. Función para saber la tasa de transmisión. Velocidad de red

Función para calcular la tasa de copia en MBps de una carpeta a otra. Usado para carpetas de red.

 

Es importante contar con el -Recurse en la función Get-ChildItem $destDir/ -Recurse. Sin ello, no se tienen en cuenta los contenidos de carpetas anidadas.

Existen errores reportados sobre el cmd-let remove-item. Por ello, la línea de borrado se pasa desde un get-childitem.

Function Copy_Folder ($src, $destDir)
{
# Remove old data:
get-childitem $destDir\* -recurse | remove-item -recurse -force

# Create destination:
if (!(Test-Path -path $destDir))
{ New-Item $destDir -itemtype directory -force }
# Copy files:
$date1=Get-Date
copy-item $src $destDir\ -force -recurse -verbose
$date2=Get-Date
# $date1 and $date2 some dates, dates difference:
$duration=($date1-$date2).duration()
# Size of data
$datasize = (Get-ChildItem $destDir/ -Recurse | Measure-Object -property length -sum).sum / 1MB
$mb=”{0:N2}” -f ($datasize) + “MB”
# Transmission rate
$transmision_rate=”{0:N2}” -f ($datasize / ($duration.TotalSeconds)) + “MBps”
$log_line=”`n $src $duration secs $mb $transmision_rate ”
Add-Content $log $log_li$src=ne
Write-host $log_line
}

Encfs. Creando volúmenes de de archivos encriptados

La idea es simple, quiero crear un sistema de archivos, que permita contener dentro una estructura de archivos encriptada.

Para ello, vamos a usar encfs, sobre una distribución debian.

apt-get update encfs

Creamos los directorios de pruebas.

mkdir -p ~/encriptado
mkdir -p ~/desencriptado

A partir de aquí, el primer montaje pedirá la contraseña del sistema de archivos encriptado. Importante: ejecutar como su y poner rutas completas:

  encfs ~/encriptado ~/desencriptado

Para desmontar:
fusermount -u ~/desencriptado