En Hispamedia ofrecemos Centificador SSL, Auditoría de seguridad / Proteger de vulnerabilidades los portales / Seguridad en aplicaciones web.
Auditamos la seguridad de su sitio web y te protegemos de las vulnerabilidades.

La Seguridad del sitio web es posiblemente el aspecto más olvidado y debe ser una prioridad en cualquier organización. Los hackers están concentrando sus esfuerzos en las aplicaciones basadas en web - carritos de compra, formularios, páginas de inicio de sesión, el contenido dinámico, etc. Las aplicaciones web son accesibles las 24 horas del día, 7 días a la semana. A menudo tienen acceso directo al -back- y el control de los datos valiosos como bases de datos de clientes.

Firewalls, SSL y servidores bloqueados-Down son inútiles contra la piratería de aplicaciones web.

Cualquier debilidad a nivel de seguridad de la red proporcionará falta de protección contra ataques a aplicaciones web. Además, las aplicaciones web a menudo son hechas a la medida, son más propensas a tener vulnerabilidades. Podemos comprobar sus aplicaciones web para la inyección de SQL, XSS y otras vulnerabilidades web.

Consideraciones a tener en cuenta.
La seguridad en aplicaciones Web involucra principalmente al desarrollador, aunque con gran frecuencia se encuentran defectos que pueden ser aprovechados por atacantes en las tecnologías en que se basan los sistemas web (Sistemas Operativos, Servidores Web, Servidor de Base de Datos, etc.). La atención principal debe dirigirse a detectar los defectos propios antes y durante el desarrollo de nuestras aplicaciones. A menudo, los desarrolladores desconocen a detalle el funcionamiento de los sistemas web y no consideran todas las posibilidades de uso o mal uso al que un sistema web puede someterse cuando se conoce con mayor detalle el protocolo HTTP y las herramientas que permiten aprovecharlo de otra manera, es decir, los programadores con frecuencia desconocen que las aplicaciones pueden ser accedidas con herramientas diferentes al puro navegador web, o incluso la existencia de aditamentos a los navegadores que potencializan su uso de manera diferente al navegador común.

Entendiendo lo anterior, todo programador debe estar consciente de que de él depende el rechazar o filtrar las peticiones recibidas en que los datos o variables recibidas no cumplan con las características esperadas o predefinidas. Ninguna entrada al sistema debe ser digna de una confianza plena, todas de preferencia deben pasar por el filtrado de los datos contenidos para confirmar su usabilidad. Además, para el programador debe ser claro y fácil de identificar cuando una variable ya ha sido sometida al proceso de limpieza, de esta forma evitaremos tener que confiar en la memorización o tener que hacer un mapa de los procesos ejecutados por cada línea de código ejecutada de manera previa.

Otro aspecto importante a considerar son los procesos de salida de la información del sistema. Es importante siempre considerar el significado que pueda tener la información enviada en su nuevo contexto, y en el caso de poder crear problemas de interpretación de las salidas. Al igual que en el proceso de filtrado, es importante mantener un control sobre la codificación que tienen los datos antes de enviarlos a su nuevo contexto. Un ejemplo de esto lo tiene la codificación como entidades HTML de las salidas para evitar que su contenido sea interpretado como parte del código HTML de la página en la salida. Pero existen otros muchos ambientes o contextos en los que la información saliente debe adaptarse para evitar problemas similares, como podría ser el contexto del intérprete de peticiones de la Base de Datos.

Lamentablemente muchos de los ataques más peligrosos pudieran estar creándose en este momento, no se quede desprotegido, confíe en empresas expertas como la nuestra.

¿Desea contratar un experto?



Algunos tipos de Ataque conocidos.

  • Inyección. Ocurre cuando a nuestro sistema entra información no confiable a través de formularios o comandos que son interpretados por queries en nuestra base de datos. Puede resultar en robo o pérdida de nuestra información. Solución: Validar y limpiar todo lo que el usuario ingrese a nuestro sistema antes de realizar cualquier proceso además de usar Prepared statements y stored procedures.

  • Secuencias de comandos en sitios cruzados (Cross-site scripting, XSS) . Esta falla permite desplegar en el navegador datos no confiables proporcionados por usuarios, generalmente inyectando código javascript malicioso. Estos datos pueden secuestrar tu sitio web, permitiendo que tus usuarios sean redireccionados a sitios maliciosos o descarguen malware. Solución: Validar y escapar cualquier dato a ser impreso en tu sitio, trata siempre de usar herramientas de templates los cuales te permitan optimizar este proceso (Freemarker o Smarty).

  • Autenticación rota. Se presenta cuando es posible suplantar la identidad del usuario al obtener acceso a datos como contraseñas o identificadores. Un ejemplo es poder modificar el id de la sesión en la cookie y obtener así acceso como un administrador o cambiar el perfil de acceso. Solución: Verificar los procesos de autenticación, usar mecanismos y librerías ya existentes. No guardar información sobre permisos o identidad en cookies.

  • Solicitudes falsificadas en sitios cruzados. El atacante engaña a la víctima a enviar solicitudes HTTP que no desea, lo que permite al atacante ejecutar operaciones que el usuario no desea. Solución: Controlar el flujo de los procesos usando tokens únicos por sesión y por solicitud.

  • Referencias directas e inseguras a objetos. Exponer referencias a objetos de implementación interna como archivos, directorios y base de datos por lo que pueden ser manipulados. Por ejemplo, sí usamos un script de descarga que recibe como parámetro el nombre del archivo, puede ser usado para enviar al atacante nuestro documento de configuración con la clave de nuestra Base de Datos. Solución: Usar siempre controles de acceso y no ofrecer datos sobre la implementación interna.

  • Configuración errónea de seguridad. Un parámetro mal especificado puede permitir el acceso a nuestras aplicaciones. Solución: Definir todos los elementos de seguridad y no usar atributos por defecto (por ejemplo el usuario y password root), mantener nuestras aplicaciones, servidores y librerías siempre actualizadas.

  • Almacenamiento inseguro. Si un atacante tuviera acceso a nuestra información y ésta no se encontrará asegurada, podría acceder a contraseñas y datos de tarjeta de crédito de usuarios y clientes entre otra información sensitiva. Solución: Encriptar información sensible en nuestra base de datos.

  • Fallas al restringir acceso URL. Una página en nuestro sitio que no sea validada puede permitir el acceso a áreas restringidas mediante la manipulación de la URL otorgando permisos administrativos a un atacante. Por ejemplo, tener una página admin.php como centro de control y no validar su acceso. Solución: Validar todas las páginas o controladores, usar métodos de autenticación incorporados en el servidor.

  • Insuficiente protección en la capa de transporte. Todo el tráfico en internet puede ser escuchado, y al enviar información sensitiva como contraseñas, números de tarjeta o documentos sin su apropiada autenticación y encriptación, alguien puede tener acceso a esa información. Solución: Usar SSL y TSL y evitar enviar información sensitiva que pueda ser accedida por un escuchante.

  • Forwards y Redirects no validados. El permitir que tu aplicación envié a tus visitantes a otra pógina o sitio sin validar puede dejarlos caer en sitios de phising o malware. Solución: Valida y lleva un control sobre los links y forwards que aparecen en tu página.


¿Desea contratar un experto?



Cotizar
Llamar