Publicado el 23 de Octubre del 2018
1.050 visualizaciones desde el 23 de Octubre del 2018
829,1 KB
132 paginas
Creado hace 8a (05/01/2016)
JShielder - Linux Server Hardening Script
Table of Contents
Introduction
Acerca del Autor
Que es Jshielder?
Objetivo
Funciones de Jshielder
check_root
config_host
config_timezone
update_system
restrictive_umask
admin_user
rsa_keygen/keycopy
secure_tmp
secure_ssh
set_iptables
install_fail2ban
install_secure_mysql
install_apache
install_nginx_modsecurity
set_nginx_vhost
set_nginx_vhost_nophp
set_nginx_modsec_OwaspRules
install_secure_php
install_php_nginx
install_modsecurity
set_owasp_rules
secure_optimize_apache
0
0.1
1
2
3
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
3.21
3.22
2
JShielder - Linux Server Hardening Script
install_modevasive
install_qos_spamhaus
config_fail2ban
additional_packages
tune_secure_kernel
install_rootkit_hunter
tune_nano_vim_bashrc
daily_update_cronjob
install_portsentry
additional_hardening
install_unhide
install_tiger
install_psad
disable_compilers
apache_conf_restrictions
unattended_upgrades
enable_proc_acct
install_phpsuhosin
reboot_server
Ejecutando JShielder
Cierre
3.23
3.24
3.25
3.26
3.27
3.28
3.29
3.30
3.31
3.32
3.33
3.34
3.35
3.36
3.37
3.38
3.39
3.40
3.41
4
5
3
JShielder - Linux Server Hardening Script
Acerca de la Guía
Esta Guía fue creada con el fin de que los Administradores de Sistemas y
usuarios conozcan la herramienta JSHielder y como le puede asistir al momento
de hacer un despliegue de un servidor web en Linux de Forma Segura
Autor: Jason Soto
Mail: jason_soto[AT]jsitech[DOT]com
Twitter: @JsiTech
Introduction
4
JShielder - Linux Server Hardening Script
Acerca del Autor y Creador de JShielder
Jason Soto, Profesional InfoSec/Linux, Penetration Tester, Ethical Hacking,
Gestión de la Seguridad, SysAdmin, Creador del blog Jsitech, Security Feed y IT
Talks.
Experiencia
Mas de 10 años de Experiencia en el Area de TI, en la Administración de
sistemas Linux y algunos años en Seguridad de Información.En Ocasiones da
consultorías en el area de Linux/Windows hardening, Seguridad y realiza test de
Penetración. Actualmente es el Encargado de Seguridad de información y Linux
SysAdmin en una organización.
Experiencia Informática
Sistemas Operativos: UNIX, GNU/Linux, Windows, Windows Server, Oracle
Solaris, FreeBSD
Desarrollo: Bash Scripting, Python
IT Security/Ethical Hacking: Penetration Testing, Metasploit Framework, Ethical
Hacking, Linux/Windows Hardening, Wireless Security, Network Security
DevOps: Chef, Jenkins, Docker, Puppet
Cloud: OpenStack, CloudU Certification
Proyectos
Constantemente hace publicaciones sobre Seguridad, Ethical Hacking, Linux
entre otros, en jsitech.com. La Idea es compartir el conocimiento con todos los
profesionales del área de la Tecnología de la Información especialmente en
Seguridad informática. Cuenta además con otros proyectos:
Acerca del Autor
5
JShielder - Linux Server Hardening Script
IT-Talks
Aquí creamos Hangouts periódicamente sobre temas del área de TI, que
incluyen, Seguridad, Desarrollo, Hacking, Administración de Sistemas, entre
otros.
Security Feed
Aquí Recopilamos los titulares de los Blogs más conocidos de Seguridad y Ethical
Hacking.
GitHub
En su cuenta de GitHub pueden ver los Scripts y otros proyectos en los que anda
trabajando. Aquí encontrarán los repo de JShielder, Otros Scripts y mas
contribuciones a diversas herramientas de Seguridad.
Pueden seguir sus proyectos en Twitter
@JsiTech
@InfoSecFeed
@InfoSecFeed_EN
@TecnoTalks
Acerca del Autor
6
JShielder - Linux Server Hardening Script
Que es Jshielder?
JShielder es una herramienta Software libre que le permite al Administrador de
Sistemas hacer un despliegue Seguro de LAMP (Linux-Apache-Mysql/MariaDB-
PHP), LEMP (Linux-Nginx-MySQL/MariaDB-PHP), Reverse Proxy o Servidor para
hostear una aplicación de manera automatizada con poca interacción del usuario.
Basado en el Proyecto de Eugenia Bahit, JackTheStripper, y en el que colaboré
durante mucho tiempo.
Para mas información pueden visitar la página del proyecto en
www.jsitech.com/jshielder
Cuando ejecutas la herramienta como
root, esta se encarga de:
Que es Jshielder?
7
JShielder - Linux Server Hardening Script
Configurar un hostname;
Reconfigurar la zona horaria del sistema;
Actualizar el sistema operativo por completo, asegurando contar con las últimas versiones disponibles de cada uno de los paquetes del sistema;
Crear un nuevo usuario con privilegios de administrador, para que pueda manejar su sistema de forma segura, sin depender de conexiones remotas mediante el usuario root;
Generar las llaves públicas RSA necesarias, para que el acceso SSH a su servidor, pueda efectuarse solo y únicamente desde su ordenador;
Configurar, optimizar y securizar el servicio SSH, haciéndolo inmune frente intentos de acceso vandálicos o no autorizados;
Configurar el Firewall, generando reglas de seguridad estrictas en iptables que liberen de riesgos de accesos no autorizados a su servidor;
Reforzar la seguridad contra ataques por fuerza bruta, mediante la instalación, configuración y optimización de fail2ban;
NUEVO! Evita los escaneos de puertos, bloqueando las IP intrusivas con iptables y route mediante portsentry.
Instalar, configurar y optimizar MySQL para un rendimiento óptimo y un funcionamiento seguro;
Instalar, configurar y optimizar MariaDB para un rendimiento óptimo y un funcionamiento seguro; **
Instalar, configurar y optimizar PHP 5, para que la ejecución de sus aplicaciones sea tan segura como eficaz en el rendimiento.
Reforzar la seguridad de Apache, mediante la instalación, configuración y optimización de módulos como ModSecurity, ModEvasive, ModQOS, ModSpamhauss.
Se install RootKit Hunter
Se restringe el acceso de Root, solo pueden hacer login localmente
Cerramos Cron y AT, solo puede ser ejecutado por root
Se install el Sistema de Detección de Instrusos Tiger
Aseguramos el home de root y el archivo grub.cfg
Instalar paquetes adicionales que pueden ser elementales tanto para la gestión del sistema como para el deploy de sus propias aplicaciones ;
Configurar Nano, Vim y su terminal, para que pueda trabajar cómodamente y con mayor facilidad a través de línea de comandos;
Se Deshabilitan Compiladores
Se aseguran los archivos de configuración de Apache
Agregar tareas de actualización y mantenimiento periódicas al Cron, para evitar que usted deba preocuparse por ellas;
NUEVO!!! Hardening del Kernel para proteger el servidor de Varios Ataques via configuración de sysctl.conf
Se instala la Herramienta Unhide **
Nuevo en la Versión 2.0
Se Agrega la extensión de PHP Suhosin que protege el servidor contra fallas de seguridad conocidas y no conocidas de la aplicación y el core de PHP
Se retoma el uso de funciones para ser mas fácil la customización del Script
Se agrega la funcionalidad de Hacer un Deployment de Apache para Reverse Proxy o hacer el despliegue de una aplicación en otro lenguaje, No se instala PHP, MySQL.
Se agrega la funcionalidad de Hacer un Deployment de LEMP (En Desarrollo).. Se encuentra en pruebas ya que completa el Deployment, pero andamos revisando algunas fallas con PHP-FPM
Se agrega la funcionalidad de hacer un Deployment de Nginx compilado con ModSecurity para Reverse Proxy o hacer el despliegue de una aplicación en otro lenguaje, No se instala PHP, MySQL.
Se ajusta para que corra perfectamente junto al Script de Despliegue seguro de WordPress, SecureWPDeployer. Se elimina la función de reboot para que continue con el despliegue de WordPress
NUEVO!!!! Se agrega Menú para ejecutar solo las funciones deseadas. Util cuando ya tenemos un servidor implementado
Que es Jshielder?
8
JShielder - Linux Server Hardening Script
Cambios Recientes
Agregado un Deployer general con la opción de seleccionar la Distribución que se encuentra en el root del directorio de JShielder
En caso de no hacerlo durante la instalación de la Distro, JShielder asiste con la creación de un Sistema de archivos para montar el directorio /tmp por separado, con las opciones nosuid, noexec
Se instala el Sistema de detección de Intrusos PSAD
Se crean los Banners (MOTD) para alertar a los usuarios no Autorizados y para compliance.
Se habilita la Monitoreo de Procesos con acct
Se configura un UMASK por defecto mas restrictivo
Se habilita las actualizaciones de seguridad Desatendidas (Opcional)
Se desactiva el Soporte para drives USB, para mejor seguridad (Opcional)
Se corren Procesos adicionales de Securización
En que se está trabajando
Reglas Más restrictivas en Iptables y opciones de Customización
Llevar JShielder a las otras Distros enfocadas a Servidores (CentOS, Debian, RedHat, Fedora Server, Suse)
Que es Jshielder?
9
JShielder - Linux Server Hardening Script
Objetivo
Actualmente no existe un conocimiento amplio en la parte de la seguridad en los
Administradores de Sistemas o los mismos desarrolladores. La mayoría tienen la
mentalidad de que lo más importante es que tiene que funcionar y ya. No toman
en cuenta las implicaciones que tiene cuando uno de estos puntos es
comprometido.
Ya que como dije, muchas veces no se tiene ese conocimiento por lo menos
básico de seguridad y como llevarlo al despliegue de nuestras aplicaciones,
terminamos con aplicaciones publicadas a internet sin nada que lo proteja.
Dependiendo de seguridad perimetral que siempre va a dejar pasar un ataque si
va disfrazado como tráfico legítimo.
Jshielder fue creado para asistir a los Administradores de Sistemas y/o
Desarrolladores a hacer un despliegue seguro del Servidor Linux que va a alojar
su aplicación, de manera automatizada y con poca interacción del usuario que lo
ejecuta.
Objetivo
10
JShielder - Linux Server Hardening Script
Funciones de Jshielder
En este apartado vamos a ver todas las funciones que componen a Jshielder, con
el fin de que el usuario entienda que es lo que la herramienta va haciendo, que
paquete instala y con que finalidad.
Funciones de Jshielder
11
JShielder - Linux Server Hardening Script
check_root
check_root() {
if [ "$
Comentarios de: JShielder - Linux Server Hardening Script (0)
No hay comentarios