viernes, 22 de noviembre de 2013

Protejer y Prevenir Hackeos en tu Pagina Web 2013

1 comment

Protejer y Prevenir Hackeos

Comenzaremos esta guía explicando un poco varios consejos para “prevenir y evitar” que nuestro sitio web sea lo menos vulnerable a hackeos, infecciones y varios métodos de intrusión y robo de información.

Protejer y Prevenir Hackeos


1-Programación


Como primera medida deberemos de tener en claro que el código de programación implementado no disponga de errores o bugs que pongan como exponente nuestra web.

Esto es probablemente el punto más importante y más difícil de lograr hoy en día con la cantidad de CMS (joomla, wordpress, Foros, etc.) y webs pre armadas por otros.

En esto deberemos de ser cuidadosos y buscar siempre la versión con menos bugs o hacks. Esto no siempre quiere decir que debamos tener la última versión.

En caso de que ya tengamos un sistema CMS ya instalado, recomendamos que de cada nueva versión nueva que salga, actualizar a los 15 días aprox. Ya que si actualizamos a la nueva versión y resulta que a los días se encuentra un bug que compromete el sistema o el administrador estaremos en grabes problemas.



2. Archivos (txt, docs, sql, zip, rar, tar.gz, gz)


Muchos sistemas o personas acostumbraran a dejar archivos de texto como puede ser: README.txt, INSTALL.txt, NOTES.txt, VERSION.txt, ETC. Estos inofensivos archivos muchas veces contienen en su interior las versiones del los programas implementados, rutas donde se encuentran archivos sensibles, etc. y dicha información puede ser usada en nuestra contra.

Casos mas fatales como archivos como: passwd.txt, bases.txt, admin.txt o bien archivos de backup dejados por el sistema o personas como puede ser el caso de:

26-10-2012.fullbackup.tar.gz, database.sql, restore.zip, .back, etc.

El caso es que todos estos tipos de archivos pueden ser rastreados con programas forenses.

En caso de que debamos guardar este tipo de archivos existen directorios fuera del directorio www/ o public_html/ que no son accesibles o descargables vía browser. Solo por FTP o bien desde nuestro panel de control.



3-Penetracion por código a la base de datos.


Retomando un poco el punto 1. Si el código PHP, ASP, etc esta de tal manera que permite el acceso directo a la base de datos estaremos ante un potencial y principal llamado SQLi (SQL injection).

Wiki: Inyección SQL es un método de infiltración de código intruso que se vale de una vulnerabilidad informática presente en una aplicación en el nivel de validación de las entradas para realizar consultas a una base de datos.


Como prevenimos esto?.


Lo principal es la correcta programación de código. Muchas veces hacemos copy and paste código de otras webs sin saber lo que se hace y esto puede representar un peligro.

Una de las principales cosas en esta técnica consiste en buscar cierto tipo de URL o archivo que permitan el ingreso a la base de datos, esto no quiere decir que en todas las de este tipo se pueda penetrar.

Ejemplos de url SQLi:


http://www.webejemplo.com/index.php?action=portal;u=46429

trainers.php?id=

article.php?ID=

play_old.php?id=

games.php?id=

newsDetail.php?id=

staff_id=

categorias.php?categorias=

/modules/postguestbook/styles/internal/header.php?tpl_pgb_moddir= PostGuestbook"

/modules/postguestbook/styles/internal/header.php?tpl_pgb_moddir= "PostGuestbook"

/modules/postguestbook/styles/internal/header.php?tpl_pgb_moddir= "PostGuestbook 0.6.1"

/modules/postguestbook/styles/internal/header.php?tpl_pgb_moddir= PostGuestbook

/modules/postguestbook/styles/internal/header.php?tpl_pgb_moddir= PostGuestbook 0.6.1

Actualmente existen centenares de programas que buscan y escanea sitios web en busca de SQLi y de esta manera ver si nuestra web es vulnerable a este ataque.

Siempre es recomendable utilizar URL amigables que sacan ese tipo de url y las convierten en algo mejor y más posicionable para los buscadores.

Ejemplo de URL’s amigables: index.php?categorias= puede ser reemplazado por /categorias

Y lo más importante corregir el código de la web.

En www.ramdeit.com disponemos como adicional un modulo para nustro servidor apache que nos da un plus de seguridad en estos puntos. Se trata de Mod Security.

Wiki: modSecurity™ es un firewall de aplicaciones Web embebible que ejecuta como módulo del servidor web Apache, provee protección contra diversos ataques hacia aplicaciones Web y permite monitorear tráfico HTTP, así como realizar análisis en tiempo real sin necesidad de hacer cambios a la infraestructura existente.1

Este modulo podemos optar por usarlo o no siempre y cuando no interfiera con nuestra programación. Es recomendable tenerlo activado y adaptar nosotros el código en caso de errores.



4-Password.


Es altamente recomendable no usar contraseñas fáciles u obvias y que no sean alfanuméricas que ya vienen incorporadas en diccionarios para sacar password o bien por fuerza bruta.

Las contraseñas deberán de ser alfanuméricas con más de 6 o 9 caracteres y no deberán de ser repetidas para todo. De ser posible que las mismas posean caracteres especiales como: #!””@(~.

Ejemplo: En el usuario de la base de datos, panel de control, ftp, web mail, etc etc.

Como tarea para un administrador de sitio o webmaster encargado, recomendaremos de cambiar las contraseñas maestras cada 3 meses. Esto claro esta incluye no solo los accesos anteriormente mencionados sino que también usuarios administrativos y moderadores del sitio.

Nunca sabemos si la PC de un administrador, moderador, o cualquier personas con permisos para modificar nuestro sitio se le infecto la PC o fue víctima de un hackeo o robo de información.

Si usas paneles de administración web como puede ser el caso de joomla con el /administrator o /admin, /backend, etc. Te sugerimos que desde el panel de control le coloques protección por medio de usuario y contraseña a esa carpeta quedando así una doble capa de seguridad en el directorio más sensible.



5- Permisos.


Importante es saber que cada directorio tiene permisos, algunos con más otros con menos ya que en algunos archivos o directorios se encuentran archivos con la configuración de la base de datos y varias variables de nuestra web que son un paso directo a la base y directorios.

Cuando instalamos un sistema prediseñado puede surgir el caso de que debamos otorgar permisos de escritura y lectura a los directorios. Seamos cuidadosos de donde colocamos estos permisos y evitemos usar el acceso total con el permiso 777 (leer, borrar, escribir, sobré escribir).

Lo mismo pasa cuando creamos usuarios en nuestra web. Otorguemos solo los permisos necesarios para lo que requieran hacer y no más. En caso de que requieran hacer algo más deberán de solicitarlo al administrador. Con esto no evitaremos que haga un desastre dependiendo del permiso que le demos pero sabremos quién es y donde está el foco en caso de que algo pase.

En muchos casos un usuario con permisos de más puede subir una foto u cualquier otro archivo infectado con código malicioso dentro y ejecutarlo en el servidor.



6-Firewall


Es importante que dispongamos de un cortafuego delante de nuestros servicios.

Wiki: Un cortafuegos (firewall en inglés) es una parte de un sistema o una red que está diseñada para bloquear el acceso no autorizado, permitiendo al mismo tiempo comunicaciones autorizadas.

Se trata de un dispositivo o conjunto de dispositivos configurados para permitir, limitar, cifrar, descifrar, el tráfico entre los diferentes ámbitos sobre la base de un conjunto de normas y otros criterios

En www.ramdeit.com todos los servicios de web hosting disponen de un cortafuego con reglas de bloqueos varios.

Entre una de ellas el ingreso masivo desde un mismo origen, pasa a una lista negra de bloqueo durante 15 minutos. Si luego de otros 15 minutos desde la misma ip se origina una nueva oleada, pasara al bloqueo permanente.



7-Backups


El usuario es responsable de sus archivos y no el proveedor. Si un sitio web es comprometido lo primero que deberemos de entender y plantearnos es que la verdadera falla de dicho escenario es por nuestra elección, uso y configuración.

De nada sirve tener la mejor caja fuerte si luego le ponemos como clave de acceso 123456 o cosas obvias como DNI, fecha de nacimiento, nombre de familiares, fechas varias, etc.

En www.ramdeit.com ponemos a disposición backups de los servicios en caso de que los necesite. Estos se realizan Diariamente, Semanal y Mensualpor lo que dispondremos de varias fechas de punto de restauración.

Recomendamos que siempre antes de hacer cualquier cambio dentro de algún archivo o base de su sitio, realizar una copia de seguridad.

Realicemos copias de seguridad en nuestras PC, Discos externos, DVD, USB, etc. Y tengamos bien resguardada esa información.



8-Virus, Infecciones

Actualmente puede pasar que nuestro sitio web nos muestre imágenes o abra ventanas con propagandas o nos envié a otras webs donde nos podemos descargar virus.

Este tipo de prácticas es muy común así como el virus llamado Gumblar que actualmente dispone de varias versiones y nombres que trabajas así.

Wiki: Gumblar es un troyano/virus que se instala en un computador y cada vez que se realiza una conexión a una página FTP de un servidor web, inserta su código.

Es por ese mismo motivo que si somos responsables de subir cosas mediante FTP deberemos de disponer de una PC que no esté infectada y realizarle tareas de mantenimientos para no comprometer nuestras web.

De este virus NADIE está exento ya que ha pasado que gente con experiencia en el uso de PC se ha infectado y comprometió sin saber muchas webs.

CUIDADO! No todos los Antivirus detectan este troyano. Sabemos de un Anti Troyano de libre descarga que si lo detecta y es ideal para pasarlo cada X cantidad de tiempo.

Este es: MalwareBytes http://www.malwarebytes.org

Ya estoy infectado que hago?

Lo primero es pasarte este Anti Troyanos en tu PC y desinfectarte.

Lo segundo es bajarte todo el sitio web a tu PC y borrarle todo el código agregado y re subir el sitio web.



Donde están estos códigos?


Pueden estar en cualquier archivo htm, php, asp, etc. Puede optar por pasarle el antivirus a esa carpeta web que se bajo y el antivirus le mostrara donde están.

1 comentario:

  1. Best Live Casino Site In Nigeria | LuckyClub
    LuckyClub is one of the most reputable Nigerian online casinos that offer a wide range of games such as blackjack, roulette, and luckyclub.live more! They offer a variety of

    ResponderEliminar