|
|
|
|
|
![]()
|
Seguridad en UNIX 1 de 12 Casi todos los servidores Web de UNIX mantienen una lista de usuarios que disponen de permiso para utilizar el servidor Web. Es el servidor Web el que mantiene este archivo de acceso, el cual es totalmente independiente de la lista de usuarios y grupos que pueden iniciar una sesión en el equipo de manera interactiva.
El archivo de acceso de un servidor Web contiene nombres y contraseñas para cada usuario, así como información detallada acerca del contenido, las secuencias de comandos CGI (Common Gateway Interface) y otros recursos a los que pueda tener acceso cada usuario. En los servidores Web Apache y NCSA, el archivo se denomina .htaccess; en los servidores Netscape, se denomina .nsconfig. El archivo de acceso asocia usuarios, grupos y direcciones IP con varios niveles de permisos: GET (lectura), POST (ejecución), PUT (escritura) y DELETE. Por ejemplo, un autor que utilice FrontPage tendría permiso para usar los comandos HTTP POST (para tener acceso a las Extensiones de servidor de FrontPage y guardar contenido nuevo), mientras que a un visitante del sitio con permisos de exploración se le permitiría utilizar comandos HTTP GET (para leer el contenido). Las listas que definen los miembros de cada grupo (por ejemplo, los autores) se establecen en archivos independientes señalados desde el archivo de acceso. A menudo, en un servidor Web se almacenan varios archivos de acceso. Cada archivo de acceso proporciona seguridad al directorio que lo contiene y a cualquiera de sus subdirectorios que no contenga sus propios archivos de acceso. Al crear archivos de acceso mediante el contenido de un servidor Web, puede proporcionar acceso a diferentes grupos de usuarios con distintos niveles de permisos y a diferentes áreas del servidor. Para tener acceso al sistema de archivos del equipo host y ejecutar secuencias de comandos y programas en dicho equipo, el servidor Web se ejecuta como una cuenta de UNIX, normalmente "www". Puesto que el servidor Web se ejecuta bajo una cuenta de UNIX, cualquier proceso que ejecute y cualquier archivo al que tenga acceso debe estar disponible bajo los permisos de la misma cuenta de UNIX. Esto puede causar un problema de seguridad en un entorno multihost, ya que la secuencia de comandos CGI de un usuario podría leer archivos de un área de contenido de otro usuario del servidor. Este problema se complica si se admite el acceso de escritura, como ocurre con el cliente FrontPage. Si la secuencia de comandos CGI de un usuario tiene suficientes permisos para escribir en un archivo perteneciente al área de contenido de un usuario, la secuencia de comandos CGI podrá escribir o sobrescribir archivos en áreas de contenido de otros usuarios. Para solucionar este problema de seguridad (que es común a todas las secuencias de comandos CGI, incluidas las Extensiones de servidor de FrontPage), puede establecer el bit SUID (Set User ID) de los permisos de ejecución de una secuencia de comandos CGI. Esto obliga al servidor Web y al contenido que se va a modificar a cambiar a la cuenta de usuario UNIX, perteneciente al propietario del proceso de la secuencia de comandos CGI, cuando se ejecuta dicha secuencia. Puesto que la secuencia de comandos se almacena en un área de contenido, y no es probable que la cuenta del propietario de contenido tenga permiso de escritura en áreas de contenido de otros usuarios, el establecimiento del bit SUID de la secuencia de comandos habilita la protección frente a la escritura no autorizada de archivos. Mediante las herramientas de administración de las Extensiones de servidor de FrontPage, podrá establecer los archivos ejecutables de las Extensiones de servidor de FrontPage de cada área de contenido para que ejecuten SUID. En la autenticación del servidor Web UNIX, cuando un visitante del sitio explora una página en un servidor Web:
Si no es posible ejecutar GET bajo la autenticación del usuario, el servidor Web devuelve un mensaje de error 401, que indica que el usuario no está autorizado. A continuación, el explorador de Web solicitará un nombre de usuario y una contraseña nuevos y volverá a emitir la petición.
Los comandos POST se manipulan de manera similar. Cuando un servidor Web recibe una petición HTTP POST, como el caso en el que un autor que utiliza FrontPage envía una petición a las Extensiones de servidor de FrontPage, el servidor Web comprueba los permisos de usuario en el archivo de acceso adecuado. Una vez autenticado el usuario, el servidor Web intenta ejecutar el programa solicitado en el comando POST. Si está establecido el bit SUID del programa, el proceso se ejecutará bajo la cuenta de usuario UNIX del propietario del archivo. Si no fuese así, el proceso se ejecutará bajo la cuenta UNIX del servidor Web. Los servidores Web UNIX normalmente autentican programas cliente mediante la autenticación básica. Cuando el servidor utiliza la autenticación básica, el explorador de Web (o el cliente FrontPage) solicita al usuario un nombre de usuario y una contraseña. A continuación, el nombre de usuario y la contraseña se transmiten en texto simple. (Algunos servidores Web utilizan una técnica de cifrado conocida como MD5, pero FrontPage no admite este método.) FrontPage utiliza la autenticación básica porque es la única técnica de autenticación que funciona con todos los servidores de seguridad y los servidores proxy. Puesto que la autenticación básica transmite contraseñas por la red en un formato que se descodifica fácilmente, a los espías de la red les es muy sencillo robar contraseñas enviadas mediante este método. Si le preocupa la seguridad, deberá utilizar Secure Sockets Layer (SSL) para codificar todas las comunicaciones del servidor Web. |
![]() |
1 de 12 |
ARRIBA![]() |
|
| Última actualización: abril de 1999 ©1999 Microsoft Corporation. Reservados todos los derechos. Condiciones de uso. |
||