Escolar Documentos
Profissional Documentos
Cultura Documentos
Son muchas las aplicaciones que, inicialmente, se disean para trabajar en local y
por tanto con niveles muy bajos de seguridad (a veces inexistentes por completo),
que terminan siendo parte de otra con conexiones a internet o a redes externas,
donde los requerimientos de seguridad son infinitamente ms altos que en redes
locales. Estas ampliaciones sin incluir mdulos de seguridad, representan un
grave peligro para los datos, y deben mejorarse cuanto antes. Recuerda que un
ataque desde el exterior, generalmente, no se debe a que tus datos sean ms o
menos interesantes para alguien, sino al simple y fortuito hecho de que un hacker
localice tu mquina y advierta que es vulnerable. La tentacin ser irresistible...
Hay muchas formas de intentar extraer datos de un servidor web, pero para todas
ellas, salvo agujeros graves de seguridad del sistema operativo o del programa
servidor, el atacante necesita conocer un usuario vlido y su clave de acceso. Y a
eso dedicar todos sus esfuerzos. El eslabn ms dbil de la cadena son los
propios usuarios. En efecto, casi siempre que lo consiguen es debido al poco
cuidado que los usuarios autorizados tienen con sus contraseas. A nadie se le
ocurre dejar las llaves de su casa puestas en la puerta, y si las pierde, se
apresurar a cambiar la cerradura por si acaso... pero esas elementales
precauciones no se tienen cuando de accesos informticos se trata. Por qu?
misterios de la naturaleza humana.
As pues, adems de cuidar con esmero las claves de acceso, lo primero que
debemos hacer es cerrar todas las puertas que no sean necesarias del servidor. En
un servidor web lo tpico necesario suele ser el propio servicio HTTP (puerto 80),
y tal vez, el de FTP (puertos 20 y 21). Una herramienta fundamental para
conseguir esto es instalar un buen programa firewall (cortafuegos), o utilizar el
propio del sistema operativo, si lo tiene, y configurarlo de modo que no se pueda
accecer a ningn puerto que no sean los mencionados. Tampoco es mala idea
deshabilitar todos los protocolos de comunicaciones que no sean de verdad
necesarios, como el UDP, y dejar solamente el TCP. Si hay algn otro servicio
instalado, pero que no es de uso pblico, conviene restringir el acceso filtrando el
nmero IP o la direccin MAC de las tarjetas de red de las mquinas autorizadas,
y bloquear todas las dems. Si el firewall dispone de temporizador, es interesante
establecer un horario de acceso y bloqueo: Muchos ataques se producen cuando
no hay nadie en la empresa vigilando la actividad del servidor, y si no hay nadie,
es perfectamente intil tener abierto el acceso de otras mquinas de la empresa al
servidor. El nico que puede necesitar permiso de acceso todo el dia suele ser el
servidor web.
El siguiente paso ser limitar los privilegios del usuario por defecto (anonymous)
que los servidores suelen utilizar para responder a las llamadas del exterior. Este
usuario genrico solamente debe tener permisos de lectura en el rea donde
residan los datos del web, y ocasionalmente, permisos de ejecucin de ficheros
de comandos u otro tipo de ejecutables, como CGI, servlets, scripts, etc., si los
hay. En resumen, se trata de que si alguien consigue entrar en el servidor
utilizando ese usuario, no pueda conseguir con l nada distinto de lo que
conseguira operando normalmente con un navegador.
Si tu web utiliza bases de datos, que como ya se ha dicho, deberan estar en otra
mquina, NUNCA utilizes el usuario administrador, o un usuario con privilegios
altos en tus aplicaciones. Crea un usuario especfico para estos fines, que no
pertenezca al grupo de administradores, con una clave de acceso buena (por lo
menos 10 caracteres alfanumricos aleatorios), con los privilegios lo ms
restringidos posible, los justos para que permita operar a la aplicacin, y no es
buena idea que tenga permisos de borrado, como mximo de modificacin. Si
hay que borrar algo, que lo haga el administrador personalmente. Y por supuesto,
no debe tener permisos que le permitan acceder a tablas del sistema.
Por ltimo, hay que acostumbrarse a revisar peridicamente los ficheros de
"loggins" de los servidores y los del firewall, verificando que no ha habido
accesos a horas extraas, ni de mquinas desconocidas, y de vez en cuando,
comprobar que todas las polticas de seguridad que hemos programado siguen
activas, ya que lo primero que un hacker hara es deshabilitarlas.
De viaje por la red
Una vez configurados los aspectos bsicos de seguridad del servidor, nos
debemos plantear cmo se movern los datos por la red. Evidentemente, la
decisin a tomar depender del tipo de datos de que se trate. No es lo mismo
enviar un comentario a un foro, que hacer una compra con tu tarjeta de crdito.
Internet es un medio de comunicacin muy inseguro debido a la propia estructura
de la red. Los datos que viajan entre el cliente y el servidor no se envian en un
nico paquete, ni viajan directamente de una mquina a otra. Se segmentan en
pequeos paquetes que se enrutan a travs de un nmero variable de nodos hasta
que llegan a su destino. En cualquiera de ellos se puede leer su contenido,
modificarlo o destruirlo, por lo que la confidencialidad puede decirse que no
existe. Recuerda que TODO lo que se hace en internet, de una forma u otra deja
rastro. La nica "proteccin", si es que se le puede llamar as, que la red ofrece es
la enorme cantidad de informacin que se mueve por ella, lo que dificulta un
tanto capturar los datos; no es nada insalvable para un buen hacker, aunque desde
luego no con la facilidad que se ve en el cine.