Se alojamiento compartido y preocupado por la seguridad? Esto es lo que necesita saber
Compartido hospedaje. Es la opción barata, ¿verdad? Y para una gran franja de la población, que es todo lo que siempre van a necesitar para alojar su sitio web o aplicación web. Y cuando se hace bien, el alojamiento compartido es escalable, rápido y seguro.
Pero lo que sucede cuando no se hace así?
Bueno, eso es cuando los problemas de seguridad peligrosos comienzan a colarse en. Fue entonces cuando su sitio está en riesgo de ser desfigurado, o los datos privados que sostiene que se filtró. Pero no se preocupe. La gran mayoría de los servidores web tienen medidas de seguridad dignas. Es sólo los anfitriones, de ganga fly-by-noche hay que tener cuidado de.
Vamos a explorar las cuestiones de seguridad que rodean alojamiento compartido. Pero primero, vamos a hablar de lo que hace una plataforma de alojamiento compartido seguro.
Qué hace que un servicio de alojamiento web seguro
Hay algunas consideraciones de seguridad destacado que se deben hacer en relación con el alojamiento compartido.
- Cada usuario en el servidor debe estar aislado de otros usuarios, y no debe ser capaz de acceder o modificar los archivos de otros usuarios.
- Una vulnerabilidad de seguridad en la lógica de un sitio web alojado en el servidor no debe ser capaz de afectar a otros usuarios.
- El servidor está parcheado con regularidad, actualizado y monitoreado para hacer frente a los problemas de seguridad de arquitectura.
- Cada usuario debe tener su propia base de datos de acceso aislado, y no debe ser permitida para realizar cambios en los registros almacenados o permisos de mesa de otros usuarios.
Una vez más, la mayoría de los servidores web cumplen con estos requisitos para sus ofertas compartidos. Pero si usted está mirando hospedaje múltiples sitios web en un servidor, o tienen curiosidad por ver cómo su empresa de alojamiento se acumula hasta, o incluso pensando en lanzar su propia empresa de alojamiento y están ansiosos por encontrar la manera de asegurar sus usuarios, por favor siga leyendo.
Pero primero, una exención de responsabilidad
Antes de entrar en la carne de mirar a los ataques comunes nivelado en el alojamiento compartido, sólo quiero decir que este post no va a ser (y no debe ser leído como) una lista exhaustiva de posibles problemas de seguridad.
La seguridad es, en una palabra, grande. Hay muchas maneras en las que puede comprometer un sitio. Esto va doble para el alojamiento compartido. Cubriéndolos en un solo artículo no estaba en las cartas.
Si usted es paranoico acerca de su seguridad, conseguir un VPS o un servidor dedicado. Estos son los entornos en los que tiene (en su mayor parte) el control absoluto sobre lo que ocurre. Si no está seguro acerca de los diferentes tipos de alojamiento web, echa un vistazo a este post de mi colega, James Bruce.Las diversas formas de alojamiento de sitios web Explicación [Tecnología Explicación]Las diversas formas de alojamiento de sitios web Explicación [Tecnología Explicación]Lee mas
También debo destacar que este post no debe ser interpretado como un ataque contra compartida hospedaje. Más bien, es un aspecto puramente académico en las cuestiones de seguridad que rodean a esta categoría de alojamiento web.
recorrido de directorios
Vamos a empezar con el recorrido de directorio (a menudo conocido como ‘path) de recorrido de los ataques. Este tipo de ataque le permite acceder a los archivos y directorios que se almacenan fuera de la raíz del servidor web.
¿En inglés simple? Bien, imaginemos que Alice y Bob usan el mismo servidor para alojar sus sitios web. archivos de Alice se almacenan en / var / www / Alice, mientras que los documentos de Bob se pueden encontrar en / var / www / bob. Por otra parte, vamos a suponer que hay otra carpeta en el servidor (/ usr / crappyhosting / myfolder) que mantiene un archivo de texto plano sin encriptar (lo llamaremos pwd.txt) que contiene los nombres de usuario y contraseñas del sistema.
Conmigo hasta ahora? Bueno. Ahora, imaginemos la página web de Bob sirve archivos PDF que se generan a nivel local, y el archivo local se hace referencia en la URL. Algo como:
https://example.com/file?=report.pdf
¿Qué pasaría si sustituye el ‘REPORT.pdf` con los parámetros de algunos UNIX que cambian el directorio?
https://example.com/file?=../alice/
Si el servidor no está configurado correctamente, entonces este sería permitirá ver documento raíz de Alice. Interesante, pero, estamos mucho más interesados en ese archivo jugosos pasaportes. contraseñas accio!
https://example.com/file?=../../../usr/crappyhosting/myfolder/pwd.txt
Realmente es así de fácil. Pero, ¿cómo tratar con él? Eso es fácil.
¿Ha oído hablar de una utilidad Linux poco conocido llamado chroot? Probablemente ya has adivinado lo que hace. Se establece la raíz de Linux / UNIX en una carpeta arbitraria, por lo que es imposible para los usuarios a salir de ella. Efectivamente, se detiene ataques de directorio transversal en sus pistas.
Es difícil decir si su anfitrión tiene esto en su lugar sin romper la ley. Después de todo, para probarlo, que sería el acceso a los sistemas y archivos que usted no tiene permiso de acceso. Con esto en mente, tal vez sería conveniente hablar con su proveedor de alojamiento web y preguntar acerca de cómo aislar a sus usuarios entre sí.
¿Está utilizando su propio compartida hospedaje servidor y no usar chroot para proteger a sus usuarios? Es cierto que, de haaber sus entornos puede ser difícil. Afortunadamente, hay una gran cantidad de plugins que hacen tan fácil. Echar un vistazo a mod_chroot, en particular.
inyección de comandos
Volvamos a Alice y Bob. Por lo tanto, sabemos que la aplicación web de Bob tiene un par de ... ejem ... Las cuestiones de seguridad en el mismo. Una de ellas es la vulnerabilidad de inyección de comandos, lo que le permite ejecutar los comandos del sistema arbitrarias.Una guía rápida para empezar a utilizar la línea de comandos de LinuxUna guía rápida para empezar a utilizar la línea de comandos de LinuxUsted puede hacer un montón de cosas increíbles con comandos en Linux y en realidad no es difícil de aprender.Lee mas
Vídeo: The Glass Virgin (1995) [Catherine Cookson]▪[Sub.Еspañol]
la página web de Bob le permite ejecutar una consulta whois en otro sitio web que luego se muestra en el navegador. Hay una caja de entrada HTML estándar que acepta un nombre de dominio, y luego ejecuta el comando whois sistema. Este comando se ejecuta mediante una llamada al comando de PHP () del sistema.
¿Qué pasaría si alguien introduce el siguiente valor?
example.com && cd ../alice/ && index.html rm
Bueno, vamos a romper. Algo de esto podría ser familiar para usted si usted ha leído nuestra ‘Guía de introducción a Linux` e-libro, que hemos publicado anteriormente en 2010, o hemos echado un vistazo sobre nuestro Hoja de Linux línea de comandos de trucos.Guía de introducción a LinuxGuía de introducción a LinuxUn Novato del Guía de introducción a Linux! Es probable que haya oído hablar de Linux, el sistema operativo de código abierto que ha estado empujando hacia arriba en contra de Microsoft.Lee mas
En primer lugar, que va a ejecutar una consulta whois en example.com. Entonces sería cambiar el directorio de trabajo actual a raíz del documento de Alice. Entonces sería eliminar el archivo llamado ‘index.html`, que es la página de índice a su sitio web. Eso no es bueno. No señor.
Así que, como administradores de sistemas, ¿cómo podemos mitigar esto? Bueno, volviendo al ejemplo anterior, siempre podemos poner cada usuario en su propio entorno aislado, desinfectado, chrooted.
También podemos abordar esto desde un nivel de idioma. Es posible (aunque, esto puede romper cosas) para eliminar globalmente las declaraciones de funciones de idiomas. Es decir, es posible eliminar la funcionalidad de las lenguas usuarios tienen acceso.
En cuanto a PHP, en particular, puede quitar la funcionalidad con runkit - kit de herramientas oficial de PHP para modificar la funcionalidad de la lengua. Hay una gran cantidad de documentación que hay. Leer en ella.
También puede modificar el archivo de configuración de PHP (php.ini) para desactivar las funciones que a menudo son objeto de abuso por los piratas informáticos. Para ello, abre un terminal en su servidor y abrir su archivo php.ini en un editor de texto. Me gusta usar VIM, pero NANO también es aceptable.
Vídeo: Descubre qué tipo de hosting necesitas para tu proyecto
Busque la línea que comienza con disable_functions y añadir las definiciones de función que desea prohibir. En este caso, sería ejecutivo, shell_exec y el sistema, aunque vale la pena señalar que hay otras funciones incorporadas que son explotables por los hackers.
disable_functions = exec, shell_exec, sistema de
Lengua y ataques intérprete Basado
Por lo tanto, vamos a ver PHP. Este es el lenguaje que alimenta un sorprendente número de sitios web. También viene con una serie de particularidades y comportamientos extraños. Me gusta esto.
PHP se utiliza generalmente en conjunción con el Apache web servidor. En su mayor parte, es imposible cargar varias versiones de la lengua con esta configuración.
Vídeo: La Patagonia Rebelde 1974 (720p) (Spanish & English Subs)
¿Por qué es esto un problema? Bien, imaginemos aplicación web de Bob fue construido originalmente en 2002. Eso fue hace mucho tiempo. Eso es volver cuando Michelle Branch seguía encabezando las listas, Michael Jordan todavía estaba jugando para los Wizards de Washington y PHP era un lenguaje muy diferente.
Pero el sitio web de Bob todavía funciona! Utiliza un montón de funciones PHP interrumpidas y en desuso, pero funciona! Utilizando una versión moderna de PHP rompería con eficacia la página web de Bob, y por qué debería Bob reescribir su página web para atender a los caprichos de su proveedor de alojamiento web?
Esto debe darle una idea del dilema se enfrentan a algunos servidores de Internet. Ellos tienen que equilibrar mantener un servicio de arquitectura de sonido y seguro, mientras que mantiene que, en armonía con la garantía de los clientes de pago son felices.
Como resultado de ello, no es raro ver a los más pequeños, los anfitriones independientes utilizan versiones anteriores del PHP (o cualquier otro idioma, para el caso) intérprete.
No es raro ver a los más pequeños, los anfitriones independientes utilizan versiones anteriores de PHP, lo que podría exponer a los usuarios a riesgos de seguridad.
¿Por qué es esto algo malo? Bueno, en primer lugar, sería exponer a los usuarios a una serie de riesgos para la seguridad. Como la mayoría de los paquetes de software más importantes, PHP está siendo actualizado constantemente para hacer frente a la gran cantidad de vulnerabilidades de seguridad que se están descubriendo constantemente (y den a conocer).
Por otra parte, esto significa que los usuarios no pueden utilizar las últimas (y mayores) las funciones del lenguaje. También significa que las funciones que han sido desaprobados por una razón permanecen. En el caso de la lenguaje de programación PHP, esto incluye las funciones laughably terribles (y recientemente en desuso) mysql_ que se utilizan para interactuar con el sistema de base de datos relacionales MySQL, y dl (), que permite a los usuarios importar sus propias extensiones de lenguaje.
Como usuario, usted debería ser capaz de ver qué versión de un intérprete se ejecuta en su servicio. Si es obsoleta, o que contenga un número de vulnerabilidades de seguridad, póngase en contacto con su anfitrión.
¿Qué pasa con los administradores de sistemas? Usted tiene algunas opciones aquí. La primera (y más prometedor) es utilizar acoplable para cada uno de sus usuarios. Acoplable le permite ejecutar múltiples entornos aislados, al mismo tiempo, al igual que lo hace una máquina virtual, aunque sin tener que ejecutar otro sistema operativo. Como resultado, este es rápida. Muy, muy rápido.
¿En inglés simple? Puede ejecutar la última y mejor intérprete de punta de lanza para la mayoría de sus usuarios, mientras que los clientes que utilizan aplicaciones antiguas que utilizan antiguas, intérpretes en desuso para hacerlo sin poner en peligro a otros usuarios.
Esto también tiene la ventaja de ser el lenguaje agnóstico. PHP, Python, Ruby. Lo que sea. Todo es lo mismo.
¿No tiene pesadillas.
Este post ha sido la intención de hacer un par de cosas. En primer lugar, fue para llamar su atención sobre el número de problemas de seguridad que empresas de alojamiento web tienen que hacer frente con el fin de garantizar la seguridad de sus clientes y sus datos.
También se pretende mostrar cómo los sitios alojados en el mismo servidor pueden afectarse mutuamente. ¿Quiere hacerse un hueco en esto? Comenzar a obedecer las normas de codificación buenas y seguras. En particular, empezar a desinfectar sus entradas tanto en el front-end como en el back-end.
Un buen comienzo es con la nueva funcionalidad de validación de formularios HTML5. Hemos hablado de esto antes en nuestra guía de HTML5. En conjunto, podemos hacer que los sitios web más segura por ser mejores, más programadores de conciencia.
Como siempre, estoy dispuesta a escuchar sus pensamientos. mándenme un comentario más abajo.
Crédito de la imagen: Todo el mundo necesita a un pirata informático (Alexandre Dulaunoy), pegatina en taxi Ventana (Cory Doctorow), Sala de servidores (Torkild Retvedt), Linux libros y revistas (library_mistress), PHP elefante (Markus Tacker)