Icinga2 – No encuentra la tabla rememberme

Introducción

Antes de empezar hablar sobre el problema vamos a indicar el software del servidor:

  • Ubuntu 20.04
  • Icinga2 (2.13.1-1)
  • Icingaweb2 (2.9.3-1)

Esas son las versiones finales en las que quedó el servidor cuando procedí a actualizarlo. Una vez que lo hice todo estaba funcionando correctamente. Al día siguiente (tenía mis credenciales guardadas automáticamente) me saltó un error de que no encontraba la tabla «rememberme».

Me imaginé, por el nombre de la tabla, que tendría que ver con la parte de logarte automáticamente así que investigué un poco hasta encontrar la solución.

Leer más

Securizando PHP a nivel servidor

Introducción

Hoy en día los administradores de sistemas nos solemos centrar mucho en el tema de seguridad. Como es evidente tratamos de cerrar los posibles caminos que puedan venir los ataques para curarnos ante el cliente. Como muchas veces no podemos controlar los scripts/programaciones de cada cliente tenemos que buscar ciertas formas que nos ayuden.

Recordamos que la mayor parte de las intrusiones o defacement en las webs suelen venir por CMS desactualizados. Así que siempre recomendamos que se actualice siempre que se pueda porque suelen tener correcciones de seguridad.

En nuestro caso vamos a trabajar con un poco de seguridad sobre nuestro php a nivel de servidor.

Las normas que vamos a seguir son:

1) Otorgar la menor información posible al atacante.

2) Deshabilitar funciones en PHP que permitan la ejecución de comandos o procesos en el servidor.

Actualizaciones:

27/04/2017: Añadido open_basedir, Securizar Sesiones, Nuevas funciones a deshabilitar.

Leer más

Expandiendo las variables de entorno

Hola a todos!

Hoy nos hemos encontrado con un problema expandiendo las variables de entorno en uno de nuestros clientes y es que está intentando ejecutar el comando php desde fuera.

Aparentemente no es ningún problema, pero cuando tiene un PLESK o un sistema multi PHP te coge la versión del sistema por defecto.

Lo que hicimos para solventarlo fue la de meter un alias a php usando la versión que nos había facilitado el cliente.

A pesar de realizar esto efectivamente desde fuera no estaba funcionando, ya que seguía cogiendo la propia del sistema y no la que habíamos establecido en el .bashrc.

Pues la solución para que obtenga nuestras variables en «.bashrc» es poner la siguiente línea:

shopt -s expand_aliases

Con esto lo que hace es expandir las variables que hemos establecido a una shell no interactiva y saldría la versión de php que hemos configurado.

Un saludo

Reiniciar contraseña de ROOT en CentOS 7

Resumen de Reiniciar contraseña de ROOT en CentOS 7

He de reconocer que se me suele olvidar un poco realizar esto ya que no es algo habitual que se suela hacer, pero hay que tenerlo siempre en mente.

Reiniciar contraseña de root en Centos 7 cuando se ha perdido o has sido victima de una intrusión viene bien tenerlo cerca para hacer las gestiones de manera eficiente.

Editando el grub

En la parte casi del final del grub debemos detectar donde se encuentra la opción de «ro».

Reiniciar contraseña de ROOT CentOS 7-1
Reiniciar contraseña de ROOT CentOS 7-1

Después debemos modificar dicho valor por el siguiente: «rw init=/sysroot/bin/sh» y pulsar control + x para iniciar el arranque del sistema.

Reiniciar contraseña de ROOT CentOS 7-2
Reiniciar contraseña de ROOT CentOS 7-2

En el sistema operativo

Ejecutamos el comando:

chroot /sysroot

Nos dará acceso al root al completo y podemos cambiar la contraseña de root:

passwd root

Con esto establecemos la contraseña y podemos reiniciar nuestro equipo.

Un saludo

Fuente del artículo

Configurando Chroot con SFTP

Introducción

Se nos presentó la problemática de que un cliente quería crear un SFTP (Secure File Transfer Protocol) para que un usuario solo pudiera acceder de esa manera. Es decir, que no quería que por FTP tuviera acceso. Aparte de ello quería enjaularlo en su propio directorio y que no pudiera navegar a ningún lugar.

Recordemos que SFTP utiliza el puerto del SSH para realizar la transferencia de ficheros proporcionando una capa de seguridad extra.

Recordamos también que existe otras maneras de hacerlo cifrado y seguro con ssl sobre ftp con VSFTP y ssl sobre ftp con PROFTPD.

Configurando Chroot con SFTP

Antes de empezar debemos crear el entorno cerrado, en nuestro caso vamos a usar el directorio «/var/www/sftpusuarios/».

Los pasos que vamos a seguir para configurar Chroot con SFTP son los siguientes:

# Creando el grupo de sftp
groupadd sftp_users

# Creamos el usuario
adduser -d /var/www/sftpusuarios/ -G sftp_users sftpuser1

# Configuramos el SSH
vim /etc/ssh/sshd_config

# Comentamos la siguiente línea, suele estar al final
Subsystem sftp /usr/libexec/openssh/sftp-server


#Añadimos las siguientes
Subsystem sftp internal-sftp
Match Group sftp_users
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory /var/www/sftpusuarios
ForceCommand internal-sftp

Ahora mismo después de ejecutar dicha configuración tan solo tenemos que reiniciar y probar nuestro acceso por SFTP (recordad el mismo puerto del SSH).

Deshabilitar el usuario por FTP

Actualmente solo lo hemos probado por VSFTP, no sabemos si será igual para otros clientes FTP:

# Editamos el fichero siguiente
vim /etc/vsftpd/ftpusers

# Añadimos el usuario que no queremos que tenga FTP
sftpuser1

Guardamos el fichero y reiniciamos el servicio de VSFTP.

Plesk Gzip Apache y Nginx

Introducción

Gzip Apache y Nginx, A menudo necesitamos en nuestra página web (sobre todo los que se dedican a marketing y SEO) que nuestra web vaya rápida y utilizando el servicio de page speed insight de google nos recomienda que habilitemos la compresión de nuestro site para que ocupe menos. Pues bien este manual se basa en como activar Gzip en Apache (Mod_Deflate) y en Nginx a nivel de sistema y en la configuración de nuestro PLESK.

Como esto no es necesario para todos los dominios esto lo habilitaremos por defecto a aquellos dominios que lo necesiten.

Los pasos que vamos a seguir en este manual son los siguientes:

  1. Comprobar que el módulo esté cargado.
  2. Configurar el módulo si es necesario.
  3. Habilitar las directivas a nivel de dominio en Plesk.
Leer más

Error Validación SPF Cpanel

cpanel-logo

Vamos a explicar un error validación SPF Cpanel que hemos encontrado en uno cliente.Parece ser que CPanel y Exim existe una especie de problema con la validación SPF a la hora de tener la siguiente configuración:

Email Origen -> Plataforma AntiSpam -> Servidor Destino

Parece ser que la validación SPF toma la IP de origen desde donde se está enviando el correo y lo rechaza. Para subsanar este problema tuvimos que deshabilitar el siguiente chequeo:

  1. Exim Configuration Manager
  2. Pestaña Advanced Editor
  3. Buscamos la parte que dice "spf_bl" y si está habilitado lo quitamos.

Con esto los mensajes de error de SPF de IP origen desaparecieron. Esto se puede ver en la consola de CPANEL en las estadísticas de los correos.

Los chequeos que probamos antes de deshabilitar esto:

  1. Deshabilitar el SPF para el dominio del cliente, pero esto no era posible.
  2. Agregar las IP de la plataforma AntiSpam al whitelist del exim.

Pero ninguna de las dos soluciones funciono para evitar este problema.

Al parecer esto también ser aplica con plataformas que tengan MX secundarios o de backup.

Se puede encontrar más información en este enlace.

Plesk – Pestaña Correo Sin Permisos

plesk-panel

Introducción

Hoy os traigo un tema nuevo que me dio un par de dolores de cabeza hasta que di con ello. El problema viene siendo que al pulsar la pestaña de correo en Plesk me saltaba un mensaje de error de «No tiene permisos».

Los pasos que hice fueron los siguientes:

  • Revisar el plan que estaba asignado.
  • Revisar las DNS.
  • Ejecutar los comandos para ver el estado del dominio.

Al final después de estar buscando por todo el PLESK encontré la solución y es más fácil de lo que me imaginaba.

Información obtenida: https://kb.plesk.com/en/120566

Leer más

Too Many Open Files Mysql o MariaDB

Introducción

Mirando los logs de Mysql o MariaDB nos hemos percatado de que un cliente estaba teniendo problemas de apertura (Too Many Open Files) con tablas aleatorias de distintas bases de datos. No había un patrón claro pero tuvimos que pasar por varios pasos para detectar el problema.

Los logs los encontramos en: /var/log/mariadb/mariadb.log

En el artículo vamos a mirar los siguientes puntos:

  1. Revisión de los permisos del directorio «datadir» de mysql/mariadb
  2. Revisión de la variable open_file de mysql.
  3. Revisión de las limitaciones del sistema a la hora de abrir ficheros por un servicio.

Con esto hemos conseguido acotar el problema y solventar la incidencia que se nos había presentado.

Leer más

Montando NFS [CENTOS]

Introducción

NFS (WIKIPEDIA) es un protocolo que nos permite compartir una carpeta de red a través de distintos servidores. Permitiendo que los distintos clientes puedan usar esa carpeta como si perteneciera al propio equipo.

En nuestro caso lo vamos a montar con 1 servidor (master) el cual será el que contiene la información y 1 servidor (cliente) el cual accederá a este recurso de manera remota.

Servidor Master (192.168.1.69)
Servidor Cliente (192.168.1.100)

Es evidente que ambas máquinas tienen que tener visibilidad a través de IP.

Leer más