Archivos mensuales: enero 2014

F5 ltm 1600 Irules: Cerrando conexiones con http 1.0 y keepalived

Restringimos el tráfico de nuestros servidores virtuales de los F5, a través de una irule de throttle.

Básicamente, guardamos una subtabla con el número de peticiones en una ventana (1 hora), y cuando sobre pasa el límite, fijamos el estado de la IP a bloqueado.

La irule, se basa en el evento: when HTTP_REQUEST.

Hemos detectado, que se nos pasaban algunas peticiones.

Los que abren conexiones http 1.0 con el flag de keepalived. Estas conexiones, sólo lanzan el evento de HTTP_REQUEST en el primer Request (get o post).

  • El primer GET por la conexión, lanza el evento, y se devuelve el código de error.
  • Los siguientes, ya no aplica la irule, y se sirven.

Se añade a la lógica del programa el cierre TCP, para evitar que la conexión la mantengan abierta:

HTTP::respond 403 content «RequestLimit: THROTTLED»
TCP::close

Si usamos HTTP::Close, el cierre de http es demasiado brusco, y los navegadores no  devuelven el error que enviamos desde los F5. Lo que se ve es «Connection reset by server»

 

 

 

 

 

Configuración sudoers con nopassword

Recomentamos hacer los cambios siempre en la sección de usuario de sudoers. Aunque en la práctica da igual, es mejor a efectos de orden, saber donde buscar la configuración.

Cuando queremos que un usuario ejecute sin
contraseña cualquier script, como si fuera root:

# User privilege specification
root ALL=(ALL:ALL) ALL
user1 ALL=NOPASSWD: ALL

Para que un usuario ejecute un comando concreto, os pongo el ejemplo de nagios:

nagios ALL=NOPASSWD: /usr/sbin/nagiostats

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! */