All posts by Jordi Prats

MySQL: Your password does not satisfy the current policy requirements

Mediante el plugin validate_password podemos definir unos requisitos minimos de seguridad para las contraseñas de MySQL:

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER ON `dbdemo`.* TO 'demouser'@'%' identified by 'demopassword';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER ON `dbdemo`.* TO 'demouser'@'1.2.3.4' identified by 'demopassword';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

Evidentemente para ciertos entornos dicho plugin puede resultar un problema por lo que podemos querer desactivarlo.

Podemos desactivar el plugins mediante el siguiente comando:

mysql> uninstall plugin validate_password;
Query OK, 0 rows affected (0.04 sec)

A continuación los password ya no serán examinados con los criterios mínimos de seguridad:

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER ON `dbdemo`.* TO 'demouser'@'%' identified by 'demopassword';
Query OK, 0 rows affected, 1 warning (0.06 sec)

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER ON `dbdemo`.* TO 'demouser'@'1.2.3.4' identified by 'demopassword';
Query OK, 0 rows affected, 1 warning (0.01 sec)

Tags:

Comprobar disponibilidad de protocolos SSL

Para un determinado servicio SSL podemos verificar mediante openssl s_client. Vamos a ver cómo:

El subcomando s_client dispone de opciones para indicar el protocolo a usar:

echo | openssl s_client -connect systemadmin.es:443 -ssl3
echo | openssl s_client -connect systemadmin.es:443 -tls1_2
echo | openssl s_client -connect systemadmin.es:443 -tls1_1
echo | openssl s_client -connect systemadmin.es:443 -tls1

Por lo tanto simplemente buscando si se establece la sesión podemos ver si el protocolo esta soportado en el lado servidor:

# echo | openssl s_client -connect systemadmin.es:443 -tls1_2 2>&1 | grep "Session-ID: "
    Session-ID: AA27E5EAC09CF474E38E8934B81CAE0D5759BFDAFAA0274AB37B38D6715F84EB
# echo | openssl s_client -connect systemadmin.es:443 -ssl3 2>&1 | grep "Session-ID: "

Por lo tanto, podemos ver que en este caso TLS 1.2 esta soportado mientras SSLv3 no

Tags:

Hacer un rescan de discos iSCSI

En el caso que hayamos cambiado el tamaño de un disco iSCSI, vamos a necesitar hacer un rescan de las sesiones iSCSI

Vamos a suponer que hemos ampliado el siguiente disco:

# fdisk -l /dev/sdb

Disk /dev/sdb: 32.2 GB, 32212254720 bytes
64 heads, 32 sectors/track, 30720 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       30720    31457264   83  Linux

Mediante iscsiadm podemos hacer el rescan de las sessiones iSCSI:

# iscsiadm -m node -R
Rescanning session [sid: 1, target: iqn.1992-08.com.netapp:sn.193472889, portal: 10.12.16.222,3260]

A continuación veremos el nuevo tamaño del disco:

# fdisk -l /dev/sdb

Disk /dev/sdb: 85.8 GB, 85899345920 bytes
64 heads, 32 sectors/track, 81920 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       30720    31457264   83  Linux

Tags:

NRPE en Ubuntu 16.04: Ignora dont_blame_nrpe

En el Debian Bug report logs – #756479 podremos ver como se han deshabilitado los comandos desde el servidor (compilando el nrpe sin –enable-command-args con argumentos tan sólidos como “hay gente que los usa mal“. Vamos a ver cómo usar un PPA alternativo para saltarnos la restricción de Debian


Podemos usar el PPA dontblamenrpe:

add-apt-repository ppa:dontblamenrpe/ppa

Configuramos preferencia del PPA sobre el paquete de la distribución:

cat <<EOF > /etc/apt/preferences.d/nrpe_dontblamenrpe 
Package: *
Pin: release o=LP-PPA-dontblamenrpe
Pin-Priority: 700
EOF

Podemos ver las prioridades mediante apt-cache policy:

root@ubuntu16:~# apt-cache policy nagios-nrpe-server
nagios-nrpe-server:
  Installed: (none)
  Candidate: 2.15-1ubuntu10
  Version table:
     2.15-1ubuntu10 700
        700 http://ppa.launchpad.net/dontblamenrpe/ppa/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status
     2.15-1ubuntu1 500
        500 http://ad.archive.ubuntu.com/ubuntu xenial/main amd64 Packages

Actualizamos e instalamos:

apt-get update
apt-get install nagios-nrpe-server

Una vez instalados ya dispondremos del binarion de nrpe con la opción enable-command-args habilitada

Tags: ,

sar: Invalid system activity file

Al intentar ver el contenido de un fichero de sar podemos ver el siguiente mensaje:

# sar -f /var/log/sa/sar09
Invalid system activity file: /var/log/sa/sar09 (0x3130)

Dicho error puede parecer critico, pero en realidad nos esta diciendo que no entiende el contenido del fichero. La razón es simplemente que debemos usar los ficheros sa en lugar de los sar:

# sar -f /var/log/sa/sa09

Tags:

Arquitecturas i386, i486, i586, i686, i786

En los paquetes podemos encontrar que esta compilado para 32 bits usando i386 o i586 generalmente.

La diferencia radica en el set de instrucciones que usa el binario. Las diferentes generaciones son:

  • i386: Intel i386/80386 (1985) y AMD386 (1991)
  • i486: Intel i486/80486 (1989) y AMD486 (1993)
  • i586: Intel Pentium (1993) y AMD-K5 (1996)
  • i686: Intel Pentium Pro (1995) y AMD-K6 (1997)
  • i786: Intel Pentium 4 (2000) y AMD-K7 (1999)

Tags: ,

Instalar PHP 5.4, 5.5, 5.6 o 7.0 en Ubuntu 14.04

Vamos a ver cómo instalar las versiones 5.4, 5.5, 5.6 y 7.0 de PHP en Ubuntu 14.04

Primero deberemos tener instalado el siguiente paquete:

$ sudo apt-get install python-software-properties

Para PHP 5.4 usaremos el repositorio ppa:ondrej/php5-oldstable:

$ sudo add-apt-repository ppa:ondrej/php5-oldstable
$ sudo apt-get update
$ sudo apt-get install -y php5

Para PHP 5.5:

$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install -y php5.5

Para PHP 5.6

$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install -y php5.6

Finalmente, para PHP 7.0:

$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install -y php7.0 

Tags: ,

Limitar número de cores disponibles mediante cgroups

Mediante cgroups podemos limitar el número de cores disponibles para un determinado proceso, vamos a ver cómo.

Para hacer los cambios persistentes, deberemos editar el fichero /etc/cgconfig.conf , por ejemplo:

group vuitcores {
    perm {
        admin {
            uid = root;
        }
        task {
            uid = jprats;
        }
    }
    cpuset {
	cpuset.mems=0;
        cpuset.cpus="0-7";
    }
}

Mediante dicha sintaxi estamos definiendo:

  • Un grupo llamado: vuitcores
  • Opcionalmente, podemos definir permisos mediante la directiva perm
  • Limitamos el cpuset (mems y cpus son options obligaatorias):
    • cpuset.mems: Listado de nodos de memoria que permitimos acceso (para NUMA)
    • cpuset.cpus: Listado de CPUs que permitimos acceso a este cgroup

Reiniciamos el servicio para aplicar los cambios:

# /etc/init.d/cgconfig restart
Stopping cgconfig service:                                 [  OK  ]
Starting cgconfig service:                                 [  OK  ]

Mediante nproc podremos validar el número de cores disponibles para el proceso:

# /usr/bin/nproc
32

Para ejecutar una tarea en un cgroup deberemos usar cgexec indicando el grupo mediante la opción -g:

# cgexec -g cpuset:vuitcores /usr/bin/nproc
8

Podemos apreciar que en este caso nproc nos reporta 8 cores en lugar de los 32 que tiene el equipo.

Tags:

vi: Habilitar y deshabilitar el resaltado de sintaxis

En vi podemos habilitar y deshabilitar fácilmente el resaltado de sintaxis, vamos a ver cómo

Mediante el comando :syntax podemos habilitar y deshabilitar fácilmente:

:syntax on

Podemos hacer el cambio permanente, si siempre queremos tener habilitado el resaltado de sintaxis editando el fichero .vimrc

Algunas veces nos podemos encontrar que no detecta bien el tipo de fichero del que se trata, por lo que mediante syn podemos definir de que sintaxis se trata, por ejemplo para shell scripts haríamos:

:set syn=sh

Tags: