JShielder – Deployment Seguro de LAMP-LEMP

Muchos Recordarán la herramienta Jshielder. Hacía ya un tiempo que no la actualizaba pero en estos días me puse manos a la obra para probar de que todo estaba funcionando como debía. Como sucede con muchas herramientas que no se actualizan, muchos cambios que vienen en las actualizaciones de los sistemas operativos, pues rompen muchas de las funciones. Y el mismo es el caso de Jshielder. Ya he actualizado la versión para Ubuntu 14.04LTS y me encuentro actualmente trabajando en la version 16.04LTS con el que me he topado con muchos cambios, pero ahí vamos.

Que es Jshielder?

JShielder es una herramienta Open Source que le permite a los Administradores de Sistema y desarrolladores asegurar el servidor donde desplegarán sus aplicaciones web. Esta herramienta automatiza el proceso de instalar todos los paquetes necesarios para hostear una aplicación web (LAMP/LEMP) y ejecuta varias tareas de hardening con poca interacción del usuario.

Pasos que ejecuta JShielder

Jshielder es un script desarrollado completamente en BASH y ejecuta las siguientes tareas:

  • Configura el Hostname
  • Configura la Zona Horaria
  • Actualiza el Sistema
  • Crea un usuario Admin para conectarse remotamente sin la necesidad de hacerlo por root. El acceso remote con root se deshabilita.
  • Asiste en la Creacion de llaves pública y privada para que las conexiones remotas se hagan exclusivamente con ellas sin necesidad de contraseña. La autenticación por contraseña se deshabilita.
  • Configura, Optimiza y asegura el servicio SSH
  • Configura Reglas de IPTABLES para proteger el servidor de Varios ataques y reducer la superficie de exposición.
  • Instala y Configura Fail2Ban para proteger el servidor de ataques de fuerza bruta
  • Instala y configure portsentry para proteger de escaneo de puertos
  • Instala, configure y optimiza apache, mysql y php en el caso de LAMP, Nginx, mysql y php en el caso de LEMP. (deployment LEMP actualmente en prueba)
  • Asegura apache via el archivo de configuración y con la instalación de los módulos de seguridad ModSecurity, ModEvasive. QoS y SpamHaus.
  • Instala RootKit Hunter
  • Restricciones al Home de root y archivos de configuración de GRUB
  • Instala UnHide para detector procesos maliciosos
  • Instala Tiger, un Sistema de prevención de instrusos
  • Restricciones a los archivos de configuración de Apache
  • Deshabilita compiladores
  • Crea una tarea cron para mantener el servidor actualizado
  • Hardening al Kernel mediante la configuración de sysctl
  • Instala PHP Suhosin para proteger el codigo y el core de php
  • Asiste con el hardening de /tmp
  • Configura un UMASK mas estricto

Otras funciones que recientemente agregamos:

  • Instala y hace una configuración inicial de auditd
  • Instala sysstat
  • Opcional, instala arpwatch

Hay otros pasos mas que jshielder sigue. Esto lo estaré explicando mas detalladamente en el ebook de JShielder cuando lo actualice con las nuevas funciones.

Por el momento JShielder se ejecuta satisfactoriamente bajo servidores Ubuntu 14.04LTS. Ya estaré liberando las otras versiones con la nueva LTS de ubuntu y otras versiones de Linux.

Son muchos los pasos de hardening que JShielder sigue y que pueden entrar en conflicto con algunas aplicaciones web. Asi que recomiendo que se ejecute en un ambiente de prueba y si hay algunas cosas que entran en conflicto con sus aplicaciones vayan haciendo los ajustes de lugar antes de hacerlo en un servidor de producción.

Como Ejecuto Jshielder?

Para descargar y ejecutar la herramienta solo es seguir estos pasos como el usuario root:

# git clone https://github.com/jsitech/jshielder

# cd jshielder/

# chmod +x jshielder.sh

# ./jshielder.sh

 

Repo de Jshielder

 

Nos Leemos en la Próxima

Jason Soto Written by:

Analista de Seguridad, Pentester, Blogger.

One Comment

  1. Oscar
    November 12, 2017
    Reply

    Uso la herramienta desde hace un tiempo y la verdad que me facilita la vida, que bueno que la sigas actualizando, muchas gracias por mantenerla. saludos!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.