Un servidor Web expuesto al público en Internet requiere un esfuerzo de administración constante. Es inevitable que aparezcan problemas de seguridad, relacionados tanto con el software como con errores de configuración accidentales. A continuación se ofrecen algunos consejos sobre cómo actuar al respecto.
Cuando se detecten vulnerabilidades en el software Apache, SUSE emitirá un comunicado de seguridad. En él se incluirán instrucciones para reparar las vulnerabilidades, que deberán aplicarse lo antes posible. La lista de correo para comunicados de seguridad de SUSE está disponible en http://www.suse.com/us/private/support/online_help/mailinglists/. La información más reciente acerca de problemas de seguridad para los paquetes de SUSE Linux también está disponible en línea en http://www.novell.com/linux/security/securitysupport.html.
Es recomendable estar suscrito a la lista de correo de avisos de Apache (http://httpd.apache.org/lists.html#http-announce), donde se publican las nuevas versiones y las resoluciones de errores.
En SUSE Linux, los directorios DocumentRoot (/srv/www/htdocs) y CGI (/srv/www/cgi-bin) pertenecen por defecto al usuario Root. No debe modificar estos permisos. Si estos directorios conceden permiso de escritura a cualquier usuario, cualquiera podría colocar archivos en ellos. Si se diera el caso, dichos archivos podrían ejecutarse en Apache con los permisos de wwwrun, lo que proporcionaría acceso a los recursos del sistema de archivos a usuarios que no deberían tenerlo. Utilice los subdirectorios de /srv/www/htdocs y /srv/www/cgi-bin para organizar los datos específicos de dominios o usuarios, en combinación con la directiva Directory (Directorio); consulte Directorio.
Los guiones interactivos de Perl, PHP, SSI o cualquier otro lenguaje de programación pueden ejecutar comandos arbitrarios. Limitar la ejecución de los guiones CGI y SSI (consulte la Sección 46.5.1.2, “Interfaz común de gateway (CGI): mod_cgi
”, Alias de guión y la Sección 46.5.1.1, “Inclusiones del servidor con mod_include
”) a directorios específicos en lugar de con alcance global permite reducir el riesgo.
Otra posibilidad es trabajar con mod_suexec (consulte la Sección 46.5.2.1, “Ejecución de las CGI como usuario distinto con mod_suexec
”) para los guiones CGI en general. Para los módulos de Apache, una configuración para los intérpretes que tenga en cuenta la seguridad, como la de la Sección 46.5.3.2, “PHP: mod_php4, mod_php5
”, permite mantener seguro el entorno Web.
A menudo, los permisos de acceso a un servidor Web se gestionan de manera informal, especialmente en entornos de prueba, debido a la naturaleza del proceso de prueba de una configuración. Esto puede provocar que se revele de forma accidental información importante, o incluso que se exponga todo un servidor al público que no debería tener acceso a él. Utilice la directiva Order (Orden) (http://httpd.apache.org/docs-2.0/mod/mod_access.html#order) combinada con los archivos .htaccess (consulte la Sección 46.3.2.3.3, “AccessFileName nombres de archivos
”) para permitir el acceso a determinados sitios Web sólo a determinados usuarios o clientes.
También puede emplear el enfoque de “seguridad por ofuscación”: un ejemplo típico de este enfoque es ejecutar Apache en un puerto no estándar (consulte Selección de dispositivos de red). De este modo, se obtienen direcciones URL que incluyen el puerto, como http://www.ejemplo.com:8765, lo que resulta aceptable en entornos de prueba.