Habilitando HTTP2

He estado leyendo aquí y allá sobre las diferencias entre el protocolo acutal HTTP/1.1 y HTTP2 y me decidí lanzarme a la aventura para ponerlo en producción.

Actualmente, según he leído, lo tenían en pruebas aunque ya lleva bastante tiempo y la gente lo está pidiendo. Es decir, que lo están poniendo en servicios en producción.

La principal razón de ello es por la velocidad de carga en las webs, lo cual para el SEO viene estupendamente.

Nosotros lo vamos a implantar en un entorno Ubuntu 16.04 + Webmin.

Leer más

Palabras que jamás debemos usar

Este artículo será un poco fuera de lo normal ya que no hablaremos directamente ni de un problema, ni de un software determinado.

En este caso vamos hablar de las palabras que jamás debemos usar a la hora de instalar scripts generalmente del tipo CMS.

Este análisis lo hemos hecho usando la herramienta LogWatch, la cual nos envía un resumen cada semana.

PALABRAS QUE NO DEBEMOS USAR (Variaciones de mayúsculas y minúsculas)

  • mysql
  • manager
  • pma
  • sql
  • phpmyadmin
  • admin
  • administrator
  • database
  • db
  • dbadmin
  • msd
  • myadmin
  • mysql-admin
  • mysql

Debemos recordar que esto es una lista genérica de lo que suelen buscar para intentar explotar algún tipo de vulnerabilidad. Pero lo que si hemos aprendido con ello es:

  • Si podemos evitar el nombre de la aplicación que queremos usar (pongamos de ejemplo phpmyadmin) debemos evitarlo. Ya que suelen buscar variaciones que suelan usar las personas.
  • En el caso de no poder lo ideal es siempre tener algún tipo de protección con contraseña.

Se tiene que pensar en el tema de la seguridad en nuestras aplicaciones para no tener más de un dolor de cabeza.

Un saludo

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

Seguridad en Apache

Introducción

La seguridad en Apache hoy en día es algo muy importante ya que es uno de los servidores web más conocidos y usados habitualmente.

Hemos querido realizar un conjunto de medidas que nos pueda ayudar a todos ser un poco menos vulnerable en el mundo de Internet.

Aparte de ello quería reunir las distintas prácticas que hace la gente y tenerlo centralizado para aquellos que quieran aprender.

Leer más

Instalar LogWatch – Análisis de log para administradores

Introducción

Hace tiempo usaba unos logs que me llegaban a diario a mi correo sobre el estado de los servicios o revisión de los logs. Estos logs me servían de información para ver lo ocurrido en el durante el día o lo que había pasado. Entre los detalles que aparece:

  • Revisión de los paquetes instalados/desinstalados.
  • Revisión de posibles problemas en los logs.
  • Accesos no autorizados (IP).
  • Información de dichos accesos no autorizados.

Pues bien como todo buen administrador nosotros podemos tener herramientas que nos hagan nuestro trabajo más fácil y solventar posibles problemas e incidencias que vayan aconteciendo.

Sistemas Operativos probados : Ubuntu 16.04

En este manual vamos a explicar como instalar LogWatch y su configuración básica.

Leer más

Instalar certificados intermedios en shell de Linux

Introducción

Existen ocasiones en que desde nuestro entorno linux debemos acceder a webs con unos certificados intermedios específicos (estos no están por defecto en nuestro directorio de CA). Por lo tanto debemos aprender a gestionar dichas instalaciones a través de nuestro entorno SHELL (si no disponemos de entorno gráfico).

Para ello vamos a realizar un procedimiento para instalarlo en un sistema operativo RedHat/CentOS y que nos funcione correctamente.

Instalar certificados intermedios en shell de Linux

Lo primero que utilizamos es instalar los intermedio y además hacemos una recarga para que el servidor lo detecte.

yum install ca-certificates
update-ca-trust force-enable

Una vez realizado esto lo que haremos será descargar el certificado en el directorio correspondiente. Por ejemplo con el intermedio del certificado de moneda y timbre:

cd /etc/pki/ca-trust/source/anchors/
wget https://www.sede.fnmt.gob.es/documents/10445900/10526749/FNMTClase2CA.cer

Ejecutamos la actualización de las CA

update-ca-trust extract

Con esto tendremos nuestros certificados intermedios instalados y podemos realizar un curl a la web sin tener problemas de certificado.

Configuración de seguridad en certificados Apache

Introducción

En este post vamos a tratar acerca de la configuración de seguridad en certificados Apache, un problema común para mantener nuestros servidores seguros ante cualquier tipo de ataque SSL.

Siempre nos preguntamos cual es la configuración idónea para hoy en día para cuando instalamos certificados en nuestros servidores Linux/Windows sobre Apache. Pues bien hoy vamos a desvelar parte del misterio que solemos usar en nuestros servidores.

Configuración de seguridad en certificados Apache

La configuración es completa para el VirtualHost que queramos cifrar o para ponerlo en el de por defecto.

SSLEngine on
SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:ECDHE-RSA-AES128-SHA:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4
SSLHonorCipherOrder on

SSLCertificateFile RutaWeb/certificado.crt
SSLCertificateKeyFile RutaWeb/certificado.key
SSLCACertificateFile RutaWeb/certificado.ca

Entramos un poco en la explicación:

  • Activamos el SSL para el dominio (SSLEngine on)
  • Solo habilitamos los protocolos TLSv1, TLSv1.1 y TLSv1.2 (Quizás os aparezca el problema de la vulnerabilidad beast, pero esto ya se parchea a nivel de navegador).
  • Un cifrado fuerte, actualmente hemos puesto muchas líneas que son recomendadas. Esto viene dado por el parámetro SSLCipherSuite.
  • SSLHonorCipherOrder on, No permite que el cliente elija el método de negociación sino que fuerza a la que tenemos en el servidor.

 

Securizar el servidor web contra httpoxy

Introducción

En este artículo vamos aprender a securizar el servidor web contra httpoxy una vulnerabilidad que fue descubierta hace unos meses y que afecta a aplicaciones que corren bajo cgi. Esto quiere decir que servicios web como Apache, Nginx y PHP se ven afectadas. Pero esto no quiere decir que solo sea para esas sino que por ejemplo mod_php también esta siendo afectado.

Lo primero que diremos antes de avanzar es que las versiones que aún están siendo mantenidas han sacado actualizaciones de sus paquetes evitando el CVE-2016-5387, por lo tanto la primera recomendación de todas es actualizar los paquetes de apache/nginx.

Este documento lo centraremos más para aquellos sistemas que no tienen actualizaciones del sistema y aprovecharemos mecanismos del sistema para evitar estos problemas.

Leer más

Maldet – Linux Malware Detect

Introducción

En el día a día en el trabajo vas descubriendo cosas y de software que puede facilitar mucho la tarea del administrador de sistemas. Una de esas herramientas que he encontrado es maldet (Linux Malware Detect) la cual te ahorra en mucho tiempo buscar y analizar posibles trazas de malware, detección de SHELLs, etc…

En este caso diremos que es una herramienta que no está paquetizada, pero que el software viene con un instalador que nos permitirá instalarlo de manera cómoda.

El programa en sí veremos que desde 2013 no se actualiz, pero eso no quiere decir que la herramienta pierda eficacia. Esto es debido a que las firmas o el cómo detecta el posible malware sí que se sigue actualizando hoy en día. De hecho obtiene los resultados de 4 fuentes:

  • Network Edge IPS: Debido a que el creador trabaja con IPS (Detector de instrusos) recibe las firmas las clasifica y las empaqueta para este software.
  • Comunity Data: Información obtenida de distintas webs como pueden ser clean-mx o malwaredomainlist.
  • ClamAV: Detecciones en MD5/HEX actualizadas por este motor de antivirus. Mejora el rendimiento de maldet si está instalado en el servidor.
  • User Submission: Aportaciones de los propios usuarios.

Leer más

Asegurando el directorio tmp

Introducción al problema

Uno de los clientes que actualmente administro me planteo un problema de seguridad que tenían antes de ser administrados. A través de aplicaciones TOMCAT que tenían estos estaban siendo atacados a través de procesos en el TMP que sobrecargaban la CPU.

Nosotros tomamos varias medidas para solventar los problemas de esto. Una de ellas, que es la explicaré, fue la de evitar que se pudiera ejecutar comando a través de dicho directorio. Es decir aseguramos el directorio tmp.

Leer más