Conoce nuestro nuevo servicio de gráficas de rendimiento.

Después de 6 meses de intenso trabajo nos complace informaros que pronto tendremos un nuevo servicio de estadísticas. Un gestor de servidores físicos, virtuales o instancias en Cloud. Esté donde esté tu infraestructura podrás hacer uso de nuestro gestor de gráficas.A continuación vamos a explicaos algunas de las funcionalidades.

Lista de servidores.

Encontrarás todos los servidores de tu infraestructura en un rápido vistazo. Desde esta sección es desde donde podrás realizar multitud de tareas en cualquier máquina.

list_of_servers

Snapshot.

En cualquier momento podrás realizar un snapshot del estado de la máquina para ver en tiempo real la carga de la máquina, memoria, uso de disco, tŕafico y procesos.

snapshot

Gráficas.

Hasta ahora ofrecíamos a nuestros clientes las gráficas de sus servidores mediante Cacti. Hemos desarrollado un sistema donde podrás configurar las gráficas de tus servidores con múltiples métricas del mismo de manera sencilla. Una característica que te puede ser útil es que podrás agregar métricas en una misma gráfica indistintamente de su origen/servidor. Imagina poder tener en una sola gráfica los accesos a tu haproxy y el tráfico o información de la base de datos. Incluso podrás mandarnos métricas personalizadas en formato JSON.

new_graph

Dashboard.

Todas las gráficas que se crean de todos los servidores se podrán ver de un vistazo rápido en el Dashboard.

dashboard

 

Y esto es sólo el principio de lo que estamos preparando. Os mantendremos informados.

 

Bacula Enterprise Edition: Nuevas funcionalidades de backup

(english version)
En algún que otro post de este blog ya me he referido a esta herramienta de backup de su versión “Comunity”.

Leer más / Read more

Mongodb. Replicación de bases de datos NoSQL

(english version)

El tema que nos ocupa hoy es Mongodb. Se trata de una base de datos Nosql que se base en un modelo orientado a documentos.
Hoy vamos a explicar cómo se instala y cómo activar la replicación de los datos entre varios servidores.

Instalación mongodb.

Aunque cada distribución tiene sus propios paquetes listos para instalarse con su correspondiente gestor de paquetes, es mejor instalar los de 10gen, que son  los desarrolladores de Mongodb.

Leer más / Read more

Instala tu primera máquina virtual

(english version)

Este artículo abre una sección dedicada a la virtualización de un servidor para alojar máquinas virtuales. Ahora está muy de moda en el mundo del hosting usar un máquina virtual como un servidor virtual privado (VPS). De manera que de un servidor con gran capacidad de proceso, memoria y disco duro, se puede crear varios servidores virtuales privados.

En este primer artículo voy a tratar libvirt con el hipervisor kvm,

Leer más / Read more

Fail2Ban – Mejora la seguridad de tu servidor.

(english version)

Ya sabes lo importante que es tener tu servidor dedicado o servidor virtual con una buena política de seguridad que dificulte la entrada de atacantes al mismo.

Además de configurar correctamente los servicios de tu servidor dedicado para añadirle  seguridad, podemos contar con herramientas que añaden una capa más que los posibles atacantes deberán sortear si quieren acceder a tu sistema.

Hoy me voy a centrar en fail2ban. Básicamente fail2ban mira en los logs del servidor web (apache), ssl, imap, smtp, etc.. en busca de intentos de acceso que puedan ser maliciosos, como fallos repetitivos de contraseñas, búsquedas de exploits en el servidor, etc…, y añade las ips origen de esos accesos al firewall (iptables) para bloquear el acceso.

En Ubuntu su instalación es bien sencilla ya que está el los repositorios de Ubuntu. Basta con ejecutar en la linea de comando lo siguiente:

$: aptitude install fail2ban

En Centos no está en los repositorios por defecto, por tanto habrá que añadir un repositorio que lo contenga (como epel) o descargarlo desde aquí (32 bits). Si añades el repositorio tendrías que ejecutar:

$: yum install fail2ban

o si te descargas el archivo rpm correspondiente sería:

$: rpm -ivh fail2ban-0.8.4-29.el5.noarch.rpm

Una vez instalado, hay que echar un vistazo a los 2 archivos principales de configuración para comprobar que todo está en orden.

Uno de ellos es /etc/fail2ban/fail2ban.conf, en el cual están los parámetros de configuración de fail2ban propiamente dicho, como son:

  • loglevel -> que establece el nivel de log de fail2ban que se almacenará en el propio archivo de log de fail2ban.
  • logtarget -> especifica la ruta del archivo de log de fail2ban.
  • socket -> establece el archivo de socket para fail2ban.

En /etc/fail2ban/jail.conf es donde debes especificar los servicios de tu servidor junto con los puertos y la ruta del archivo log correspondiente al servicio en cuestión. Por defecto vienen ya muchos servicios configurados y lo único que hay que hacer es comprobar que la ruta del log sea la correcta.

Una vez hecho esto solo queda iniciar (o reiniciar) el servicio:

$: service fail2ban restart

Aunque hay algunas más, ésta es tan solo una capa más de protección para tu servidor bastante potente para poner un poco más difícil los accesos ilegales a tu servidor.

 

Amazon en listas negras anti spam.

(English version)

De unos meses a esta parte, cada vez es más común que se agreguen en listas negras anti spam rangos enteros de direcciones ip de Amazon, con el consecuente perjuicio que puede acarrear a quien tenga sus servidores de correo en esos rangos de direcciones ip.

Leer más / Read more

Cloud Amazon EC2. AMI personalizada

(English version)

En este artículo vamos a explicar cómo crear y registrar tu propia AMI personalizada de tu propio servidor dedicado o servidor virtual externo al Cloud Amazon EC2.

Una AMI (Amazon Machine Image) es una imagen preconfigurada de un sistema operativo que sirve para lanzar instancias en Amazon EC2.

Leer más / Read more

Cambiar usuario SMTP IMAP / POP de una cuenta de correo en plesk 10.4

(english version)

Plesk es un panel amigable para los usuarios inexpertos, pero cuando quieres personalizar algo da bastantes problemas. Uno de ellos, es que muchas veces Parallels usa versiones antiguas de software modificadas por ellos mismos, con lo que evita que el cliente modifique cosas y de esa forma cobrarles por la personalización, si es que la hacen, o por cualquier tipo de poblema con el software (vendor lock-in).

El cambio de usuario SMTP e IMAP es extramadamente complejo, ya que hay que modificar el código fuente del software del MTA y varios archivos de configuración importantes del sistema. Esto tiene una serie de desventajas. La principal de ellas es que cualquier microupdate de plesk sobreescribirá la mayoría de personalizaciones que realicemos.

Si lo que quieres es cambiar el nombre de usuario de una cuenta en Plesk 10.3 ó 10.4 no podrás 🙁 . Por lo menos, sin quitar el software de Plesk. Tienen un demonio propietario que autentifica y que forma el nombre de usuario de una base de datos sqlite3 de una forma específica y que no permite cambiar el formato tipo ‘email’ (test@conekia.es) como nombre de usuario.. Sin embargo, sí podemos saltarnos ese demonio para realizar un alias (con el nombre que queramos) de una cuenta real. De esta forma, podríamos autentificarnos con ese alias tanto para enviar como para recibir 🙂 Si te vas a poner con la tarea te podemos dar algunas pistas para llegar a tu objetivo, ya que hay varias formas de realizarlo:

Leer más / Read more

Mantenimiento de servidores

(english version)

A cualquiera que base su negocio en Internet, ya sea con tiendas virtuales o con cualquier otro SaaS, el mantenimiento de servidores ayuda en gran medida a que el servicio esté la mayor parte del tiempo activo.

Si no dedicamos tiempo a revisar de forma periódica nuestro servidor podemos vernos inmersos en un serie de problemas desagradables como:

  • Atacantes que obtienen permisos de root en el servidor o que escalan privilegios.
  • Robo o borrado de información almacenada en el servidor (bases de datos por ejemplo).
  • Fallos en discos duros con la consecuente pérdida de información si no se tiene una buena política de backup.
  • Envío de spam con scripts subidos mediante aplicaciones vulnerables.
  • Negación de servicio.
  • Que el servidor pase a formar parte de una botnet.
  • etc..

El mantenimiento de servidores surge para evitar todos estos problemas y puede englobar los siguientes pasos:

Monitorización del servidor 24x7x365.

En el mantenimiento de servidores es imprescindible tener monitorizado el servidor y los servicios críticos que dependan de él, como por ejemplo el ping, el servicio web (puerto 80), servicio mysql, etc. De manera que nos demos cuenta inmediatamente de si alguno de ellos fallan y podamos acceder al servidor para ver qué ocurre.

Para monitorizar el servidor se puede hacer uso de software específico para ello como Nagios, o bien recurrir a algún proveedor especializado en este tema.

Estadísticas de rendimiento del servidor.

Aunque no sea necesario para determinar si el servidor está on line o no, es una gran ayuda para ver la evolución de los recursos del servidor (memoria, carga, espacio en disco, tráfico, etc). Por ejemplo, podemos ver si un momento dado el servidor ha tenido un pico de carga o una bajada de la memoria libre que quizá dependan de factores externos, como un gran número de conexiones entrantes, o quizá dependan de la programación de la aplicación que hay que optimizar.

Refuerzo de seguridad.

Uno de los puntos en el que más incapié se hace en el mantenimiento de servidores es en la seguridad.

Para proteger nuestro servidor de accesos no autorizados que permitieran al atacante realizar cualquier cosa en nuestro servidor, es habitual reforzar la seguridad de los servicios que estén activos.

Por ejemplo el servicio SSH, que es normal tenerlo activo para poder acceder de forma remota al servidor. La configuración de este servicio se puede modificar para que no permita acceso al usuario root, o se puede modificar para cambiar el puerto por defecto, etc.

Deshabilitar servicios innecesarios .

En cualquier instalación de Linux siempre se instalan servicios que a priori no son necesarios para el funcionamiento de nuestras aplicaciones. Es aconsejable estudiar qué servicios se pueden quitar, de forma que no hará falta configurarlos para reforzar la seguridad y ahorraremos tiempo.

Procesos y sockets.

Otra cosa a tener en cuenta en el mantenimiento de servidores a la hora de añadir seguridad al servidor es revisar periódicamente los procesos que se están ejecutando en el mismo, para comprobar si hay algún proceso que no debiera estar ejecutándose o que esté consumiendo demasiados recursos.

En Linux con un simple “ps aux” podemos ver los procesos, su usuario correspondiente y la cpu y la memoria que está consumiendo.

Lo mismo podemos decir de los puertos abiertos. Hay que revisar qué puertos están abiertos y asegurarse de que solo esos y ninguno más está abierto. De esta manera podemos detectar si hay alguna aplicación en marcha mediante la cual se está accediendo al servidor.

Escaneo remoto de puertos.

Esto complementa al apartado anterior. Podemos usar software de escaneo de puertos, como nmap, para comprobar que puertos están abiertos en el servidor y cerrar los que nos interese, bien parando el servicio o bien mediante firewall.

Obviamente el escaneo se hace desde otro servidor y no en local.

Firewall.

Siguiendo con la seguridad, en el mantenimiento de servidores es vital tener en marcha un buen firewall que controle quién y como puede acceder a los servicios activos en nuestro servidor. En Linux, la alternativa más famosa es iptables aunque hay otros frontends basados en él.

Actualizaciones de seguridad.

Para terminar con el tema de la seguridad, es importantísimo revisar si hay actualizaciones de los servicios críticos de nuestro servidor y aplicarlas, como actualizaciones de kernel, servidor web, php, etc.

Normalmente los servicios se instalan con el gestor de paquete de la distribución que estemos usando, por lo que la actualización es una tarea muy sencilla que puede eliminar vulnerabilidades o fallos de seguridad en la programación del software citado anteriormente.

Por ejemplo, algunas vulnerabilidades de kernel descubiertas recientemente permiten a un atacante desde escalar privilegios hasta ganar privilegios de root

Si además, disponemos de un panel de control como Plesk o Cpanel para gestionar el servidor, es muy importante también comprobar si hay actualizaciones del mismo, para prevenir acceso no deseados al servidor.

Como ejemplo, la vulnerabilidad descubierta en febrero de 2012 en la API del Panel Plesk, que permitía a un atacante acceder al servidor mediante inyección de código mysql

Optimización de MySQL.

Si tenemos un servidor con MySQL es necesario modificar la configuración por defecto para que se ajuste a la cantidad de ram, número de cpus, etc, del servidor. De esta manera evitaremos que el servidor de bases de datos se convierta en un cuello de botella en el funcionamiento de las aplicaciones que hagan uso de él.

Comprobación del estado de discos duros .

Por último, pero no menos importante es revisar la salud de los discos duros de nuestro servidor.

En Linux hay herramientas de para comprobar discos como fsck. El problema es que no se puede usar esta herramienta en discos duros montados, ya que producirá una corrupción de datos.

Por tanto para comprobar el disco mientras esté montado podemos mirar los logs (/var/log/dmesg) o si se trata de un RAID podemos mirar en /proc/mdstat

En conekia sabemos que siguiendo estos pasos nos evitaremos muchos dolores de cabeza, ya que limpiar un servidor comprometido sin reinstalar el sistema operativo es bastante complejo y el servicio puede quedar mermado durante un largo periodo de tiempo. Incluso hay veces que no hay mas remedio que reinstalar el sistema operativo y reinstalar todos los datos desde backup si se dispone de uno.

Aunque hay proveedores de hosting que dan el mantenimiento de servidores como servicio, normalmente es el propio cliente quien debería realizar todos los pasos descritos anteriormente.

Para todo aquel que no pueda o no sepa realizar todo estas tareas de mantenimiento en conekia hemos lanzado nuestro producto de mantenimiento de servidores.

Copia de seguridad en Linux. Duplicity

(english version)

Duplicty

Es otra herramienta de copia de seguridad, aunque no tan versátil como Bacula. Está escrita en python que es un lenguaje de programación pseudo interpretado.

Su instalación es bien sencilla, ya que se puede instalar con el gestor de paquetes de cualquier distribución Linux. Leer más / Read more