Las amenazas en Internet se incrementan día a día por lo que tener un sitio web seguro es muy importante para todo webmaster. Algunos ataques son:
- Ataque man in the middle MITM spoofing
- DHCP Spoofing
- Shellshock Simple
- Port Stealing
- Keylogger
- SQL Injection
Muchos sitios web son atacados buscando vulnerabilidades para infectarlos con troyanos o virus encriptados para que ejecuten código fuente desde la web atacada. Este tipo de virus puede ser desde código javascript para que los antivirus no puedan detectarlo fácilmente hasta script en php u otros lenguajes.
La forma mas conocida y mas utilizada es la de encriptación de script que utiliza los comandos eval, base64_decode, base64, o base64_decode. Este tipo de código se utiliza para generar grandes cantidades de spam, atacar a otros servidores, inutilizar algún servicio del servidor, tomar el control de la web o dejar la web inoperable.
Los administradores de web o webmaster no se darán cuenta de lo que ocurren hasta que la web sea bloqueada por spam o se suspenda por alto consumo de recursos. Si administramos nosotros mismo el servidor entonces podremos darnos cuenta de esta situación viendo los log de sistema y firewall que mostraran que algo inusual esta ocurriendo, sobre todo si hay excesivo consumo de recursos o envíos masivos de email.
Las fallas de seguridad o deficiencias de programación son las causas de vulnerabilidad mas frecuente por ello son atacados explotando alguna de las siguiente vulnerabilidades:
1. Fallas de seguridad que ponen en riesgo una web
Esta técnica consiste en enviar código por medio de las url y que esos datos no esten validados cuando los ejecute la web, las inyecciones sql y php las más frecuentes. Para encontrar posibles sitio es buscar en Google web que contengan una variable en su url por ejemplo
inurl:article.php?id=Veremos como aparecen diversas páginas web, cambiando la página y el id encontraremos sitios web posiblemente vulnerables.
Tomamos una web al azar del listado de que proporciona Google y enviamos una variable “a” en el id, el resultado es más que claro, la web es vulnerable.
Para evitar este problema debería verificar que el dato que se introduce por url sea valido y también evitar que se muestren mensajes de error, en caso de que la consulta SQL fallará y se debe enviar a una página de error controlada por el administrador de la web.
Este tipo de vulnerabilidad se debe a la utilización indebida de las sesiones en cuando el usuario utiliza logueos o autenticación para acceder a alguna sección de la web. Debemos tener cuidado de encriptar la información que guardamos en secciones y cookies para evitar que puedan ser leídas y utilizadas por un atacante.
Este tipo de vulnerabilidad es muy frecuente y al igual que las anteriores funciona cuando se envía parámetro por url y no se realiza una correcta validación de los datos ingresados en los parámetros.
Un ejemplo sencillo para probar si nuestra web es vulnerable a ataques XSS o inyección de código puede ser:
http://www.midominio.com.com/index.php?variable=<script>alert(‘Prueba de XSS’)</script>En este caso el ataque solo mostrara un mensaje de alerta en el ordenador del usuario que visita la web dado que solo inyectamos JavaScript en el código html de la web. Esto es porque la variable no valida que no ingrese código indebido.
Un ejemplo donde se ve la vulnerabilidad donde se puede inyectar en una pagina de login html completo para reemplazar el formulario. Y redirigirlo a otro servidor:
Configuraciones deficientes o permisos erróneos: este tipo de vulnerabilidad se da cuando configuramos mal los servicios del servidor o cuando otorgamos permisos indebidos a los usuarios.
Todo lo que se refiera al sistema funcional del servidor deben estar lo más restringidos posible, ser administrador solo por el usuario root. En el caso desarrollo de web o de tener distintos usuarios, deberemos asignar permisos de acceso a diferentes recursos y los archivos de una aplicación web deberán tener un usuario y grupo que accederán a los diferentes servicios del el servidor web.
2. Herramientas de detección
Es una herramienta de escaneo online que proporciona Google, inspecciona en forma rapida los archivos de un sitio web que este antivirus encuentre en el servidor, utiliza como motor varios de los antivirus más conocidos como ser Panda ActiveScan, Bit Defender, McAfee FreeScan, etc
Esta herramienta solo sirve para escáner no para limpiar ni desinfectar la web.
BlackListAlert.org es una herramienta online muy utilizada que ofrece gratuitamente buscar si nuestra dirección IP o nuestra página web está en la alguna lista negra. Si al realizar la búsqueda por dominio o por IP el sitio web aparece en algunas la lista negra no se pueden eliminar de la lista desde BlackListAlert, pero proporcionará un link See Why (Mira Porque) para ver las razones por las que estamos en dicha lista negra.
Si aparecemos en un lista negra podríamos tener serios problemas de posicionamiento SEO. Para intentar salir de la lista negra sin tener que cambiar de dominio o de ip, deberemos contactar con el administrador de la web que nos está poniendo en lista negra. Deberemos explicar cual fue el problema de esta manera el administrador de la lista negra puede investigar la situación para que la web y la ip sean desbloqueadas.
MXToolbox.com ofrece un conjunto de herramientas online para comprobar el desempeño, funcionamiento y reputación de un dominio o ip. Si con esta herramienta también verificamos que aparecemos en alguna lista negra deberemos evitar mediante firewall, antispam o suspendiendo el dominio para poder detener el envío de correos spam.
La lista Negra o RBL (Realtime Blackhole Lists) almacena direcciones IP de servidores y de proveedores de servicios de Internet que envían excesivamente correos electrónicos y por lo tanto se sospecha que generan spam, si nuestro servidor o sitio web recibió un ataque de spam bombing o alguna vulnerabilidad permite que se envié spam también podemos entrar en una lista negra.
Para solucionar el problema debemos asegurarnos corregir la vulnerabilidad y asegurarnos de que no quede ninguno email ni archivo que haya sigo utilizado para este fin malicioso, de lo contrario podremos volver a tener problemas, además es importante anular el puerto 25 muy utilizado para el envío de SPAM y ataques por mail.
Para suprimir la ip de una lista negra desde MXToolbox haremos lo siguientes:
- Vamos a la página de inicio y entramos a la opción Blacklist, ingresamos la IP que deseamos comprobar, y luego haga clic en el botón Blacklist Check.
- Para suprimir la IP o dominio de una lista determinada, hacemos clic en el botón Detail (Detalle).
- Debajo se verá un click cbl.abuseat.org/lookup.cgi?ip=mi ip
Aquí se indican los motivos del bloqueo y que deberemos corregir para limpiar nuestra ip de la lista negra y hacer el reclamo correspondiente, revisaran que el problema este solucionado, si no corregimos el problema la ip quedara para siempre en la lista negra. Con estas herramientas podremos saber ademas de si nuestro dominio esta en una lista negra, el estado de los servidores DNS, el estado de los servidores de correo, analizar la salud del dominio comprendiendo el análisis problemas de dns, mail, servicio web, etc.
Para finalizar el tutorial os dejo uno que se realizó donde se explican las amenazas comunes informáticas a las que nos exponemos diariamente: Amenazas y vulnerabilidades comunes.