Seguridad

Los mejores recursos sobre seguridad informatica

La seguridad informática nunca ha sido la parte de la informática que más me ha atraído, sin embargo, durante varios años he ido recopilando multitud de recursos muy útiles sobre este tema. En este artículo te muestro algunas de las herramientas y utilidades de mayor calidad y que más me han llamado la atención.

Los temidos SQL Injections

Las inyecciones de SQL (SQL Injection), como digo en el títutlo son temidas por los desarrolladores web debido a las graves problemas que pueden dar lugar. Si no conoces este concepto, te lo podría resumir en que un usuario no autorizado podría ser capaz de ejecturar código SQL sin restricción desde tu página web. Esto podría dar lugar a un acceso completo a toda la información de la base de datos, a cambiar datos o modificar datos, etc.

Las SQL Injections suelen estar generados por un descuido a la hora de programar el acceso a las bases de datos, mandando los parámetros recibidos desde la web a la base de datos, sin tratar. Por ejemplo cuando se escribe código como el siguiente:

$id = $_POST['id'];
$sql = "Select * from users where id =".$id.";";

Un usuario con ciertos conocimientos en seguridad podría introducir en el id de búsqueda algo similar a 4 OR 1=1. Esto haría que se devolvieran todos los resultados, puesto que 1=1 siempre es verdadero.

Respecto a este tema te recomiendo dos recusos:

  • Un manual sobre este tema, donde podrás conocer en profunidad los distintos tipos y cómo les afectan a varias bases de datos.
  • Una herramienta de pentesting para comprobar algunos de los ataques más comunes.

Escáneres de vulnerabilidades

Otro de los temas más estudiados y desarrollados dentro del pujante sector de la ciberseguridad son los escáneres de vulnerabilidades. Estas herramientas permiten realizar auditorías de seguridad para conocer el estado de tus servicios, así como ofrecer sugerencias para solucionar los distintos problemas detectados. Algunas de estas herramientas son:

  • Nikto, un software que permite escanear un servidor web para comprobar errores, parámetros inseguros y software desactualizado.
  • OpenVas, es un sistema capaz de comprobar cerca de 50.000 vulnerabilidades distintas.
  • Lynis, un programa que permite analizar en profundidad los sistemas UNIX para encontrar fallos de seguridad e indicar cómo corregirlos.
  • OpenSCAP, un conjunto de herramientas que permiten establecer un perfil de seguridad y comprobar que todos tus equipos lo cumplan.

Asegurando un servidor web

Tener un servidor web siempre te expone ante una serie de amenazas como los scripts que intenta conseguir el acceso al mismo, o los ataques de denegación de servicio. Para intentar limitar lo anterior, puedes utilizar los escáneres de vulnerabilidades ya vistos. Pero si nos centramos en el software que sirve tus webs (Apache, Tomcat, Nginx…) hay dos cuestiones fundamentales:

  • Implementar un protocolo de transmisión segura de la información (HTTPS) y conseguir que este funcione de manera correcta en todos los equipos y navegadores. Para ello, la guía que más me ha servido es la siguiente.
  • Establecer todas y cada una de las cabeceras HTTP de manera correcta. Esta cuestión que parece simple, se complica por la multitud de cabeceras que existen y sus múltiples parámetros de configuración. Para comprobar cómo de buena es tu configuración te recomiendo el siguiente software.

Ingeniería inversa

Otro concepto asociado al de la seguridad, es el de la ingeniería inversa, ya que es un campo que provee de las herramientas necesarias para estudiar sistemas y productos a partir de su hardware o código ejecutable. Como seguramente habrás detectado, este campo es muy complejo ya que consiste en partir del resultado para llegar a su diseño inicial. El mejor libro que he encontrado por su calidad y profundidad a la hora de tratar este tema es Reverse Engineering for Beginners.

 

Espero que este artículo de recopilación os sirva de ayuda para comenzar o profundizar en vuestros conocimientos sobre seguridad informática.

Jorge Durán

Entusiasta de la tecnología desde los 10 años, desarrollador y creador de varios proyectos de software y autodidacta por naturaleza. Ingeniero Informático por la USAL y .Net backend developer en idealista.

Share
Publicado por
Jorge Durán

Recent Posts

Docker: conceptos principales y tutorial paso a paso

Hoy queremos hablaros de Docker un proyecto que cada día es más usado, porque permite…

3 años hace

Crea diagramas rápidamente usando código

Cada vez estamos más acostumbrados a usar código para generar la infraestructura (IaC), documentar nuestro…

3 años hace

Procesamiento del lenguaje natural con ElasticSearch

Uno de los problemas que se presentan con una mayor frecuencia hoy en día, es…

4 años hace

Elige tecnología clásica y aburrida

Uno de los problemas que solemos tener los programadores, es que nos gusta estar a…

4 años hace

Cómo usar Docker en Windows

Docker es una de las herramientas más usadas por los desarrolladores, sin embargo, usarlo en…

4 años hace

Analiza el coste del uso de JavaScript

Como seguramente sabrás el uso de JavaScript ha crecido exponencialmente en los últimos tiempos, sin…

5 años hace