Seguridad en Servidores Web
Herramientas de Guerrilla

CoronaCON Apuntes

Como ya sabéis hace poco participe con una charla en el congreso de seguridad informática c0r0n4con. La charla está basada en la seguridad que podemos aplicar a nuestro servidor web y aplicaciones que tengamos instaladas. Cómo apunte al vídeo de la charla os dejo aquí detalles sobre todo lo que traté de explicar …

seguridad en servidores web

Los primeros minutos de la charla expliqué como llegué a crecer en Internet con mis proyectos y como la seguridad es algo fundamental a la hora de ponerlos en practica …

Sin seguridad en servidor

Tu servidor web necesita seguridad

Montes el proyecto que montes en Internet si no aplicas seguridad tarde o temprano tendrás problemas y todos tus esfuerzos se verán frustrados …

hacker seguridad informatica

Una hackeada puede hundir tu negocio online

El día menos pensado puedes encontrarte con problemas y no poder identificarte en su panel de control o encontrarte contenido que no es el tuyo caracteres raros o enlaces hacia otras webs o cosas peores como que te hackeen y no te des cuenta estando el sitio hackeado preparado para sacarle jugo cuando menos te lo esperes.

Para no tener problemas es necesario aplicar toda la seguridad que puedas tanto al servidor como a tu sitio web.

A continuación os dejo algunos tips que hemos de tener en cuenta …

seguridad primera capa

Certificados SSL, Hotlinking y actualizaciones

  • Implementa certificados de seguridad SSL en tu web, puedes comprarlo o crear un certificado SSL Let´s Encrypt de forma gratuita.
  • Evita en todo lo posible el Hotlinking, puedes implementar esta protección a base de Plugins o añadiendo unas lineas en el fichero .htaccess que dicen que solo se pueden mostrar imágenes en tu dominio y en ninguno mas ….

    RewriteEngine on

    RewriteCond %{HTTP_REFERER} !^$

    RewriteCond %{HTTP_REFERER} !^https?://(.+\.)?example.com [NC]

    RewriteRule \.(jpe?g|png|gif|bmp|tif)$ – [NC,F,L]

  • Si usas un gestor de contenidos como WordPress mantén actualizados el Core, los Plugins y los Temas.

seguridad segunda capa

Plugins de seguridad para WordPress

  • Block Bad Queries (BBQ) en un potente Firewall para inyecciones SQL, la subida de archivos ejecutables y las peticiones EVAL o BASE64. Enlace al Plugin.
  • Wordfence Security es un todo en uno de seguridad muy bueno. Incorpora Antivirus, Antimalware y Firewall. Enlace al Plugin.

servidor web cual elijo

¿Cuál es mi servidor ideal?

  • Sobre el ancho de banda cuanto más tengas mejor, tu servidor tendrá mas capacidad para aguantar trafico.
  • Sobre el procesador y memoria cuanto más potente mejor aunque si optimizas el servidor te darás cuenta que no necesitas tanto como contratas.
  • Sobre el disco duro la velocidad es importante así que un SATA es mas lento que un SSD y este es más lento que un NVME.

seguridad por oscuridad nmap

Puertos y ocultación de servicios

  • Tu servidor debe tener el mínimo numero de puertos abiertos para poder cumplir el servicio que ofrecemos, si es un servidor web será el 80 y el 443.
  • Aplica seguridad por oscuridad para no desvelar los programas que usas. Aquí tengo un artículo sobre la seguridad por oscuridad en Apache y SSH.

inyecciones SQL

Seguridad para MySQL

  • Mantén el servidor de bases de datos MySQL actualizado.
  • Crea un usuario exclusivo para que trabaje con la base de datos y no tenga permisos para nada más que trabajar con dicha base de datos.
  • Si programas tu la base de datos evita caracteres especiales como las comillas » y los caracteres \x00 y \x1a.
  • En el servidor MySQL Server configura desde my.cnf la opción bind-address para que trabaje de forma local y cierra la opción local-infile si es necesario.
  • Usa el script MySQLTUNNER para optimizar el servidor MySQL y sigue sus consejos de seguridad.
  • Si tienes problemas activa el Log o usa el Log de peticiones lentas long_query_time en el fichero my.cnf.
  • Si usas un gestor web como PhpMyAdmin cambia la URL de acceso.
  • Como capa adicional podemos agregar un login a la misma pantalla de login de PhpMyAdmin agregando un .htpassword al fichero .htaccess.

ataques por fuerza bruta

Ataques por fuerza bruta y corta fuegos

  • Instala Fail2Ban junto a Brute Force Detection para bloquear ataques por fuerza bruta.
  • Configura tu Firewall para que solo acepte trafico de los puertos que necesitamos estrictamente. Bloquear el resto.
  • Los DDOS se basan en grandes cantidades de solicitudes al servidor web. Por ejemplo, podemos bloquear a todo el que nos haga más de 25 peticiones con iptables así …

    iptables –A INPUT –p tcp –syn -m multiport -–dport http,https –m connlimit -–connlimit-above 25 –j REJECT -–reject-with-tcp-reset

  • Monitorea las constantes vitales con el comando htop.
  • Monitorea tus iptables con el comando watch con …

    watch –interval=1 ‘iptables -nvL | grep -v «0     0″‘

  • Para un monitoreo más completo podemos usar FWLOGWATCH, nos da estadísticas vía web si queremos por mail.

ataques por fuerza bruta

Antivirus, antimalware y chroot

Ataques DDOS

Bloquea países y ataques DDOS

mod security

Protegiendo nuestras aplicaciones web

  • Instala ModSecurity como Firewall de aplicaciones Web. ModSecurity monitoriza el tráfico entrante y realiza un análisis a tiempo real antes de pasarle el tráfico al servidor web.
  • ModSecurity se puede instalar tanto en el servidor web que tenemos en producción como en un proxy inverso y proteger los servidores que tengamos tras él.

A continuación os dejo un video que acompaña a la charla anterior con preguntas y respuestas que me hicieron en el chat …