You are on page 1of 100
Capitulo 6 Andalisis de la seguridad del servidor Web Contenido Introducci6n| 2. Descripcién de los conceptos bésicos del servidor web ‘onto! de acceso por IP origen Control de acceso par usuarios Ientifieacin de ls conexiones seguras mediante hts Resumen CAR 6 | Andi is de la seguridad del servidor Web 1, Introduccion Con relativa frecuencia se escuchan términos como Pishing, ataque DDoS, ‘SQL Injection, etc., consecuencia directa de la globalizacién de los mercados a través de Internet. Actuaimente, la cantidad de organizaciones que venden su firma a través de la red es tan numerosa que existen muchisimas posibilidades de comprometer la seguridad de alguna de ellas. Los ataques a servidores web de una organizacién llaman mucho la aten- cién, porque en cuestién de minutos el conocimiento de esa vulnerabilidad llega a todos los rincones del mundo. La mayoria de esos ataques tienen éxito debido a que se realiza una confi- guracién incorrecta de los servidores web. El motivo puede ser que se esté ante una gran empresa y, por lo tanto, los servidores web son complejos de configu- rar, mientras que otras veces, son pequefias empresas con servidores simples donde es dificil garantizar una minima seguridad. Independientemente del motivo, es necesario garantizar que la informacién almacenada en el servidor no pueda ser alterada y/o manipulada por alguien sin autorizacién. 2. Descripcién de los conceptos basicos del servidor Web Todos los servidores web necesitan de una configuracién personalizada en funcién de las caracteristicas de! sistema que se va a desplegar: protocolos de seguridad a utilizar, accesos que se van a permitir al sistema, capacidades a ni- vel de hardware que van a mantener el servidor, etc. Pero, independientemente de todos estos aspectos mas 0 menos particulares, existen ciertas caracteris- tticas que deben ser configuradas, en la inmensa mayoria de los casos. Estas caracteristicas son primordiales para garantizar un funcionamiento bésico y ctl del sistema Entre ellas, destaca la configuracién de las rutas del espacio web, los per- isos asociados a directorios y ficheros de ese espacio web, los tipos de re- cursos que el servidor va @ poder despachar a los clientes (conocidos como tipos MIME) y la capacidad para que un usuario pueda acceder y visualizar la jerarqula de directorios y ficheros desplegados en el servidor web. | 295 Instalacién y configuracién del software de servider Web 2.1, Rutas y permisos, Permiso de lectura vs permiso de ejecucién Cuando se instala y se configura un servidor web Apache, se crea un usuario por defecto que es el que ejecuta el proceso del servidor. En general, en sistemas Debian y Ubuntu, e! usuario del proceso es deno- minado www-data con grupo www-data, mientras que en otras distribuciones el usuario se denomina nobody, o simplemente apache. El usuario y grupo se establece en el fichero de configuracién de Apache. Las directivas User y Group indican con qué usuario y grupo se resolverdn las peticiones HTTP. De esta forma, el sistema Linux, evita que el proceso httpd pueda acceder y modificar ficheros criticos del sistema comprometiendo la ‘seguridad del servidor. Cuando se produce una peticién al servidor, el comportamiento por defecto de Apache es tomar la ruta solicitada en la peticién y afiadirla @ la ruta especi: ficada en la directiva DocumentRoot del fichero de configuracién de Apache. Por lo tanto, la directiva DocumentRoot determinara la estructura de ficheros y directorios que esta visible desde la web. Por ejemplo, si DocumentRoot estuviera configurado como var/wwwititm|, después de una peticién como http:/4vww.example.com/pruebafindice.html, el resultado enviado en la respuesta seria el fichero ubicado en a ruta /var! www/html/prueba/indice. html Recuerde La directiva Documenttootespecifica la ruta raiz desde la que se compone la ubicacion el recurso a partir de la URL. 296) CAR 6 | Andi is de la seguridad del servidor Web Por defecto, Apache no permite acceder a partes del sistema de ficheros que se encuentran fuera del espacio web. Pero en ciertas circunstancias es ne- cesario permitir acceso web a esas partes del sistema de ficheros que no estan estrictamente sobre la ubicacién especificada en la directiva DocumentRoot. ‘Apache proporciona diferentes formas de permitir esto. En sistemas Unix, los, enlaces simbélicos pueden ser una herramienta muy poderosa para permitir el acceso a esas partes. Por razones de seguridad, Apache solo permite el uso de enlaces simbélicos si se especifica en la directiva Options con las opciones FollowSymLinks 0 SymLinkslfOwnerMatch. Otra forma, seria utilizando la directiva Alias. Esta mapea cualquier parte del sistema de ficheros dentro del espacio web. Por ejemplo: Alias /docs /var/web La peticién http:tivww.example.comidocs/cirfile.html seré servida desde / varlweb/dirifile. html. 1. (En qué ruta del sistema de iceros del servidor www d.com colocaraelfichero index him silos cians tuvieran que acceder a ese recurs desde la dieacinhttp/iwem, do.com/htmi/pruebaindex ht? En sistemas Unix, el directorio home de un usuario particular puede ser referido como ~user/. E1 médulo mod_userdir permite extender el espacio web para que el directorio de! usuario sea visible desde la web, usando como URL: http:/twww.example.com/—userffile. htm! |297 Instalacién y configuracién del software de servider Web Los mecanismos anteriores permiten extender el espacio web, pero también cexiste la posibilidad de que en una respuesta HTTP a un determinado recurso ‘se especifique que dicho recurso se encuentra en otra ubicacién distinta, de manera que el cliente vuelva a realizar la peticién sobre el recurso especifica- do. A este mecanismo se le conoce como redireccién y es implementado por la directiva Redirect. Por ejemplo, si se mueve el contenido del directorio /foo! bajo DocumentRoot a un nuevo directorio /bar/, cuando se realice una peticién ‘a algin recurso del directorio /foo/ se deberla comunicar a los clientes que pueden obtener los ficheros solicitados en la nueva ubicacién: Redirect permanent /foo/ http://www.exanple.con/bar/ Esta directiva es tan potente que permite redireccionar clientes a cualquier servidor, no solo al servidor origen. 2, Que entrada crearaen ol fichero de confguracin de Apache situvera que edireccionar todas las peticiones del directorio /htmi al crectri /prueba/? Es de una importancia capital hacer una distincién entre la posibilidad de que un usuario de la web acceda a un recurso del servidor y la posibilidad de que visualice el contenido en su navegador, es decir, entre una lectura del recurso y el hecho de poder ejecutar un “recurso” en el servidor, 0 lo que es lo mismo, ejecutar una aplicacién web cuyo procesamiento corer a cargo del servidor donde esté alojado ese recurso. A estos dos modos de acceso que pueden ser otorgados a los clientes se les conoce como permisos de lectura y Permisos de ejecucién respectivamente. 298 | CAR 6 | Andi is de la seguridad del servidor Web En una operacién tipica, Apache es iniciado por el usuario root, y este, @ continuacién, cambia al usuario definido por la directiva User para servir las peticiones. Cualquier recurso con permisos de ejecucién para este usuario sera capaz de ejecutarlo e! cliente desde su navegador, por lo que hay que tener especial cuidado en proteger el espacio web de aplicaciones web que puedan resultar agujeros de seguridad y que puedan ser aprovechados para comprome- ter la seguridad de todo el sistema. Y, sobre todo, se debe tener cuidado con permitir acceder a partes del sistema de ficheras que no estan sobre el espacio web, ya que estas partes pueden contener ejecutables 0 utilidades que realicen operaciones de mantenimiento y gestién del servidor. En un sistema Linux, |a seguridad esta en gran medida asegurada porque el sistema de permisos distingue entre el usuario root y los demas usuarios del sistema. ¥, por lo tanto, no permite la ejecucién a usuarios que no sean el usuario administrador (root). Sabia que. Enun sistema UNI, los archivos tienen un usuario propitaro,y que se pueden cambiar ‘res grupos de permisos: os asociacos al propio propetain alos usuarios que pertenecen al mismo grupo que el propetario yal resta de usuarios. ‘También existe la posibilidad de otorgar permisos de escritura a los recursos ‘web. Es una buena préctica que todos los ficheros y directorios del espacio web sean modificables tinicamente por el usuario root. Por ejemplo, si se elige en la directiva ServerRoot la ruta /usrilocal/apache, entonces es recomendable que el directorio sea creado con el usuario root, y se establezcan los permisos de ese y los demas directorios de la siguiente forma: | 299 Instalacién y configuracién del software de servider Web Se puede observar cémo quedarian los permisos: (oar@iocaThost/usacaVapache Esto asumiré que los directorios /, Jusr y /usr/local son solo moditicables por root. Al instalar Apache hay que asegurarse de que el ejecutable httpd tenga, Una proteccién similar. Para ello, se mueve el servidor ala ruta creada anterior mente y se cambian los permisos de la siguiente manera: Los permisos para httpd quedarian asi CAR 6 | Andlisis de la seguridad del servidor Web 2 root localhost /usiocaV/apache/bin Esto evitaré que cualquiera pueda suplantar el proceso httpd para compro- meter la seguridad del sistema Se puede crear un directorio htdocs que sea modificable por otros usuarios, pero root nunca deberia ejecutar ficheros fuera de ese directorio y no deberia crear ficheros tampoco, Para conseguir un sistema més seguro, es necesario evitar que cualquier usuario pueda configurar sus propias directivas de seguridad y aplicarlas en un fichero “.htaccess”, impidiendo que se apliquen las directivas de seguridad configuradas en el fichero de configuracién de Apache. Una forma de evitar esto seria modificando el fichero de configuracién de Apache de la siguiente forma: Allowoverride None Esto previene el uso de ficheros “htaccess” en todos los directorios. Un aspecto de Apache, que ocasionalmente es mal entendido, es la carac- teristica de acceso predeterminado. Es decir, a menos que se configure correc- tamente el acceso, si se puede encontrar un conjunto de reglas de mapeo de ficheros en el servidor, este podria servir el recurso al cliente. Por ejemplo, si se ejecuta lo siguiente: 301 Instalacién y configuracién del software de servider Web rootocttost/ La peticién httpy//iocalhost/~rool’ provocaria que los clientes tuvieran ac- 130 a todo el sisterna de ficheros del servidor. Para evitar estas cosas se debe establecer denegac sistema de ficheros, y otorgar permisos de acce: 30 a las rutas especiticas que sean necesarias: n total al Order Deny, Allow Deny from all Order Deny, Allow Allow from all Order Deny, Allow Allow from all ‘También hay que prester especial atencién a las directivas Location, ya que, aunque Directory deniegue el acceso @ un recurso, podria acurrir que Location lo permitiera CAR 6 | Andi is de la seguridad del servidor Web Aplicacién practica {Qué entradas incluria en el fichero de configuracién de Apache si tuviera que dar permisos de acceso al directorio /var/www/html/pruebal y denegar el resto del espacio ‘web a todos los usuarios? sowuci6n Order Deny, Allo« Deny from 311 Order Deny, Allo« Allow fron all Si se habla de Apache en un sistema Windows, se debe tener en cuenta que el usuario creado en Ia instalacién posee demasiados privilegios (el usuario creado puede ejecutar y modificar ficheros dentro y fuera del espacio web). En resumen, la seguridad del servidor, si no se aplica ninguna medida, estaria gravemente comprometida, Para evitar esto, se debe crear una nueva cuenta de usuario y otorgarle los permisos suficientes para una ejecucién controlada del servidor. Para esto, se usa el administrador de cuentas de usuario: | 303 Instalacién y configuracién del software de servider Web ie re] == +928 33/0 earnest — ae == 1 il ern ar ed Bom ‘Ahora, se crea el nuevo usuario como en la imagen siguiente se describe. Usuario nuevo ome deusare: _AoatheSRY Nemo cemsica: — Reshesity esctoén eathe SV Coase conta cores Tle usie dee cman crtasein on eagerness (DS usia me puede catia conateh (¥ taceroats nunca ena Clecumen et deat 304 is de la seguridad del servidor Web CAR 6 | Andi a L eeieBias aE “8 Gomseone = Ahora, se aplican directivas para la nueva cuenta. Desde la opcién de Direc- tiva de seguridad local, desde las Herramientas administrativas: ‘Toasr erento ca Dna ge nel = ere komepenteeY Wabitin dao Wi Asitate tte [capers emaso @ come seccentios Pcotmdercnidae EZ eenvcenteyrewerconnet @Cuaedesrcuincin Bechrtodeenteitinte ———Ereon detente Mi cwncndeiasin ae Prenat @ esate Be Acopeitne Bart oer Bou Frise Bae \ | 305, Instalacién y configuracién del software de servider Web Bi Tonreranannanmiar > © ME] EEE os core wes tron ve + [BeTedsbrdeets had.» Hewnonromnaener —«/6) [Sawreteanetes. 2 Scweatiion —f * aa a os Deomguncnsostee Bowes Accom LB osu ceremonies Bwana — heoeae iene (Buna mcr cere wate scosarse Sine ci dail Baas — nea a voor (Bivetietisiee BOMUES fewest Hoe iano oan score Gicaruoonres © x stone torn Be & Direciva de seguridad local - sacivo Acc Ver _ Ayu eo 2H Xela |i Contiguain desegunied = Diecvas de Aaminstade dees] bl Dees de hve ten 9] Decar deretnen desolate ‘PM Decree dept » MB Directs de sequidad en Equi | > 7 Coniguaion de deta de auc 308 | CAR 6 | Andlisis de la seguridad del servidor Web = Directive de segunda ocal cis Aine oe| ald XS a/ as Bongos eresund 0b rem seco Oh desea i trcticeitnt [i herein eden demic 1 Onsen eset Dente © I acne eines Ora cece entgape ee 1B Canbgctn decrecs dtr ate forget acter dete ora Batic ab tek coli agate = Ameer cgay accra eects “Gi bosons pment: Se permite con esto que la nueva cuenta de usuario actte como parte del sistema operativo. Propiedades Acuar como pare del sistema oper. ? IME Barnet cnr pear | 307 Instalacién y configuracién del software de servider Web ‘Ahora, es necesario que la nueva cuenta pueda iniciar como servicio, Para ello, se afiade a Ia directiva Iniciar sesién como servicio la nueva cuenta. Dirciva de segundaa ocal 1 Conger eseutdnt Dee deco Modtarecbnte eon tito + Det cve pen Pome incede sina deen de cite > Dean de ec deste “oot ain aetna > Dantes decom apenas tec ac mate dla 1 Dene decguad en empl nino oe) ei eos 1 1 contour reys a S ature aeons tna ue et sain tse seu Propiedades niarseson comosenicio Mm Griipacindeepaeibs [Epa 7 Sl Seen neers oe 1 308 | CAR 6 | Andi is de la seguridad del servidor Web A continuacién, hay que asegurarse de que la nueva cuenta pertenece al grupo Usuarios: oo ald xo oe Pope une Una vez creada la cuenta y aplicadas las directivas de seguridad, ahora se proceder4 a otorgarle permisos de lectura y ejecucién sobre el directorio de instalacién de Apache, | 309 Instalacién y configuracién del software de servider Web [mone A con) ¥ Paris de Asad? GO + + [Me tne devopaan ta + Ace Soe Ban = Beans renee Pan ete TB eretinteseter AMIE | ene IB acco 08 ‘arom “h apesome vee [Las ||_ ae En el directorio donde se almacenan los logs se debe afiadir también per- isos de escritu iam rom ar) YEE ee cose vn _° © D ~ 2 [Ws festooned ea a Lancet Ene W necamar sown rom is Si remetetenatte? py NN — [Fiscampenean | ake mes ree [alseornsrcres [Byonasee acre Bynes (a) wonesae ommend oan 310) CAR 6 | Andlisis de la seguridad del servidor Web Y finalmente, se cambia el servicio Apache para que inicie con la nueva cuenta creada: aaa [ama = = PETE ne cones ce tc ry ) a | Senne eee cam" rsa Smee a aoe gocicee ams ped Vi deere “Bowens rg BB Window Powe 5) anes Tat tr (Bide omen S88) owas | emane eons © sane meee ie = Te - =] @* HA esiGnl ene [sr | cae * ae ue sta bs seis site pete jan Instalacién y configuracién del software de servider Web Propiedaces: Apadhe22 (Equipo local) Geren) Weir =m [Reapesctn | Deerdocas (Ouaeada ttentaed @remciem ——_| Vouebsv a canoe Car cera esa) [esa | [aa] Aplicacién practica Describa la secuencia de pasos que seguiria para cambiar el usuario que ejecuta el servicio de Apache en un sistema Windows. SOLUCION 1. Se abre el panel de contol. Se pulsa en “Herramientas administrativas’ 2. Se pulsa en el acceso diresto "Servicios 53. Se busca el servicio Apache y se pulsa sobre l para abrir la ventana de propiedaces. 4, Enel apartado “Iniciar sesin" se cambia la cuenta de usuario que aparece porla nueva se esoribe su contraseia 312) CAR 6 | Andlisis de la seguridad del servidor Web 3. Creeun usuario un directorio en un sistema Hindowsy otrgue permisos de ola ectura ese drectario para el usuario, Rutas y permisos para un servidor IIS En /IS 8.0, un grupo local (IIS_IUSRS) se crea cuando se instala I/S. Este grupo se utiliza como contenedor de todas las identidades de aplicacién para el servidor. Es decir, cualquier aplicacién que se ejecute en el servidor web lo hard con un usuario que pertenece a este grupo. Este mecanismo evita la ne- cesidad de crear una cuenta especifica para el control del servidor. Cuando se instala IIS 8.0 se crea la siguiente estructura de directorios y permisos: Vinetpad os usuarios grupos Peis candies Comentarios ‘Cont quvalet al compet, r amiss especiales CREATOR OWNER Pes expec ‘Seaplca a sé subcarpeta archivos. SISTEMA Cont ttl arinsvadores Cont ttl Leeryleutar Usuais Enumerar contenido de carpeta Lectura Trstednstallee Canto ttl ja13 Instalacién y configuracién del software de servider Web Las usuarios / grupos CREATOR OMNER. SISTEMA Administradores Usuatas Trustedinstallar Las usuarios / grupos CREATOR OWNER SISTEMA Admiistradores Usuarias wsie Trustedlstller Vnetpb\custer Permsos concedes Comentarios Conta equivalent al completo. Pormiss especiales Se aplica a sla subcarpetasyarivas. ere de\ietpub Contr ttl Here de\inetpub Control ttal Here de\ietpub, Leary ejcutar Enumetarcontenidedecarpste Hered de inetpub, Lectura Control tata, Here de ietpub \netpbibistry y sus subcarpetas Permisos concedes Comentarios Control equivalent a compet Permisos especiales Seaplica a sla subcarpetes y arias Hered de \inetou, Contra tt Here deVinetoub Contra ttal Hered deVinetpub, Leary sjecuter Enumerar contenido decarpste Hered de Uneoub, Lectura Enumerar contenide de carpeta Contre tt Hered de\inetoub ‘netpubWogs Las usuarios grupos Permisosconcedidas Comentarios Los permis especiales siguientes; Lister carpeta/ leer datos ‘rear archives / escribir dats \IS_USRS INTEGRADOS —Petmisos especiales Crear catpetas /Rexar datos, SISTEMA Adminstradoes 314! ‘buts de escrtura ‘buts extends de escritra Elmina subcarpetasy archives Eliminar ‘onto tata ‘onto tte CAR 6 | Andlisis de la seguridad del servidor Web \inetpuitemp Las usuarios grupos Pemisusconcedgas Comentarios Control equivalent al completo CREATOR OWNER, Pimlsas P2065 Se lic a slo subcarpetas ach, SISTEMA onto total Aaministradoes Contra ttl IS_USRSINTEGRADOS Leer yoecutar—_Herda do Unetp, \netpunWenroot Los usuarios / gros Permisos concedidas Comentarios edo el mundo Lectura SISTEMA ‘onto total Administacores Control total Leer y jatar Usuarios Enumerarcantnid de carpeta Lectura Recuerde Enun servidor Ils, directorio por defecto que contiene las paginas de nuestros sitios web desplegados se encuentra en \inetpublwwro0 Para cambiar los permisos de nuestro sitio web, se usa el administrador 11S de la siguiente forma: 1, Se selecciona el directorio al que se quieren aplicar permisos y se Pulsa en la opcién Editar permisos... isis. Instalacién y configuracién del software de servider Web 2. Ahora, se elige el grupo lIS_IUSRS y se editan los permisos afiadiendo © quitando segin las necesidades del sitio ¥ Propledades:wwwroot [Ginea|onosir| Sostos [Fewer rtrd ches: Chm ewes Noobs co gus oust: Uses PIC) a 83.15 usRS POV JUSRS) 8 Tata Pucentioreapomacs ode Eis | ce Ceri x Moar teri telacopeta ots 2 egeacaies emi eercscse | mereanrrmate | cofereccreraragsc onesie [OF coed 465 316) CAR 6 | Andi is de la seguridad del servidor Web S.. 4, Por qué se debe usar un nuevo usuario para otorgarpermisos de acceso al espacio de Airectorios de nuestro servidar Apache, cuando se instala sobre un sistema Windows? idades Listado de ctorios El listado de directorios se refiere a la posibilidad de que un usuario pueda visualizar el contenido de un directorio del espacio wed desde su navegador. localhost - /prueba/images/ {fo Pasent Disectors ‘taserraoor ast 29 amon ‘ayorrao07 —2arst 2098 amg e3yor/ae0? 34250 amg00.2ba ssyerface? esyerface? eayerface? eayerface? ea/errace? eayerrace? eayerracer saverracer ta/ersaee7 asyec/aee7 Bett peerraered 06 sen at Sot season set matte Ges matiaie at cise Por defecto, cuando un usuario intenta acceder a un recurso del servidor web, especificando la ruta sin fichero, el servidor no le permite visualizar el contenido de ese directorio desde la web. Puede verse en la siguiente imagen. |a17 Instalacién y configuracién del software de servider Web Trrarcetine de SES Aa 11 foreasen Maia Firefox Error HTP 403.14 - Forbidden El servidor web est contigurado para vo mostrar una Hsta hs contenidos da este ‘director, ‘cousas mss probables ‘Sin embargo, es une caracteristica que se puede permitir simplemente mo- dificando la configuracién Para Apache, se debe modificar el fichero “httpd.conf” e incluir, en la entrada del directorio sobre el que se quiere permitir listar su contenido, la siguiente entrada: Options Indexes 318) CAR. 6 | Andi is de la seguridad del servidor Web Esta opci6n indica que se debera mostrar el indice de contenido del direc tori. A continuacién, se debe reiniciar el servidor para que se apliquen los cam- bios: root@localhost/ ‘Se puede ampliar la funcionalidad de esta capacidad afladiendo mas opcio- nes en el fichero de configuracién. Entre las opciones disponibles, se encuen- tran las siguientes: AllowOverride, Includes y FollowSymLinks. Options Indexes Includes FollowSymLinks Allowovereide all 1= FollowSymLinks permite visualizar y manejar enlaces simbélicos. = Includes permite el uso de los SSI (Server Side Includes). = AllowOverride, con el valor all permite el uso de archivos “htaccess” (Esta opcién no se deberia usar por razones de seguridad y eficiencia) En el caso de 11S 8.0, es necesario habilitar la opcién de listar directorios desde el panel del administrador 11S. Primero, se debe seleccionar la carpeta cuyo contenido se pod listar des- de la web, dentro del listado de sitios web en la parte izquierda de la ventana principal. Después, se pulsa doble clic en el icono Examen de directorios. 319 Instalacién y configuracién del software de servider Web = 7s i a ‘Ahora, se pulsa en la opcién Habilitar, y se eligen los datos que se mostra- ran para cade fichero del directorio: @ bearer dedieceros S| pentane pti 3: “Sevens | Tras reiniciar el servidor, se podré comprobar el resultado accediendo a la ruta desde e! navegador. En este caso, http:/localhost/main/ 320) is de la seguridad del servidor Web CAR 6 | Andi Tocanert_ [nein Neila eton En IIS, solo se podré acceder al contenido de un directorio desde la web si se cumplen los siguientes casos: = Un usuario intenta acceder al directorio desde la barra de direcciones de su navegador y no a un fichero contenido en ese directorio, Por ejem- Plo, intenta navegar a http:/www.midominio.com! y no hacia http://www. midominio.corvindex. htm = Siempre que la caracteristica de Documento predeterminado no esté activada en 1S. 0 bien, si lo esta, 1/S no encuentra el archivo predeter- minado dentro del directorio, 5, {Qué open escogeria para permitir visualizer os enlaces simbélicos en el listado de ficheros del navegador web? 321 Instalacién y configuracién del software de servider Web 2.4. Tipos MIME permitidos Los tipos MIME permiten al navegador del cliente saber con qué programa puede abrir los recursos enwviados por el servidor web. Son un par de valores, ‘con el formato “tipo/extensién” que identifican la clase de recurso que viaja del servidor al cliente El servidor contiene una lista de tipos MIME permitides, y que se enviaran €en la respuesta dependiendo del tipo de recurso. Para configurar los tipos MIME en Apache se debe modificar el fichero de configuracién “httpd.con*" para incluir aquellos tipos que sean necesarios y eliminar aquellos que no se quiera identificar. Existen dos maneras de hacerlo: 1. El fichero “httpd.conf” puede contener la entrada: Typesconfig /etc/mine.types De esta forma, el contenido del fichero “mime.types” se utilizaré para determinar los tipos MIME permitidos junto con sus nombres de ex- tension y sus “content types”. Un ejemplo, de este fichero seria: text/calendar ics ifo text/css css text/esv csv text/html htm htm application/pdf par 322) CAR 6 | Andi is de la seguridad del servidor Web 2, Otra forma de especificar los tipos MIME seria usando la directiva AddType dentro del fichero “httpd.conf”. Por ejemplo: AddType image/gif .gif En cualquier caso, cuando un cliente solicite un recurso al servidor web, este afiadird el tipo MIME que identifica el tipo de recurso como valor de la cabecera “Content-Type” de la respuesta HTTP. Sino fuera pots tipos MIME, el navegador no sabra fia manejar corectamente cualquier recurso que se encontara en la we S.. 6 Enplique brevemente como desactivaria la gestin del tipo MIME if en un servidor Apache recién istaado. idades Para IIS 8.0, como se aprecia en Ia siguiente imagen, los tipos MIME se gestionan desde Ia opcién Tipos MIME en el administrador. | 323 Instalacién y configuracién del software de servider Web GY Paxina prnial deve me ees abe Desde esta ventana, se pueden agregar y eliminar tipos mime: = IE = Cola - jase: 9) toostinae taasatenin cape i inne “ 324 CAR 6 | Andi is de la seguridad del servidor Web Si se pulsa en Agregar, se debe especificar la extensi6n y el “content type” asociado: Aareger pow? Aplicacién practica Descrivalos pasos a seguir para eliminar la gestin de tipo MIME. git y afiadir un nuevo tipo MIME application/xrs con extensién xrs en un servidor IIS 8.0 soLUcION 1. Se abre el administrador de lS. ¥ se pulsa sobre el icano de “Tipos MIME". 2, Sebusca ena lista el tipo MIME image. Se seleccionay se pulsa ena opcién “Quit” 3. Ahora, se pulsa en la opin “Agregar... se rllena el campo “Extensin de nombre de archivo” can el valr xs y el campa “Ti MIME" con el valor application/rs 3. Control de acceso por IP origen En un servidor web, 2 veces es necesario permitir el acceso a usuarios baséndose en su direcclién IP. Tedos los servidores web modernos permiten especificar dichos permisos de acceso mediante sus direcciones. En Apache se usan las directivas allow y deny para permitir y rechazar, res- pectivamente, el acceso de la direccién IP que realiza la peticién del recurso | 328 Instalacién y configuracién del software de servider Web web, La directiva order se utiliza para especificar el orden de aplicacién de los filtro. Ejemplo: Allow from address address puede ser una direccién IP (completa o parcial), o bien, un nombre de dominio (completo o parcial); e incluso, puede contener miltiples direccio- nes 0 nombres de dominio. En este caso, se permitirfa el acceso, Si, por ejemplo, se desea que alguien no vuelva a acceder a la web porque esté escribiendo mensajes no permitides en el foro, se escribirfa lo siguiente en el fichero de configuracién: Deny from 205.252.46.165 Los visitantes de esa direccién no podrén acceder a la zona web en la que cesté aplicada esa directiva. Pero, si no se dispone de la direccién IP y si del nombre de la maquina, también se podria especiticar la restriccién de la si- auiente manera: Deny from host .exanple.com 326 | CAR 6 | Andlisis de la seguridad del servidor Web Y si se necesita bloquear el acceso de todo un dominio, se realizaria espe cificando el dominio, y no la maquina del usuario, de cualquiera de las tres formas siguientes Deny from 192.101.205 Deny from cyberthugs.com noreidiots.com Deny from ke Usar Order permite aplicar las directivas en el orden que se quiera. Es una buena practica usar la directiva de la siguiente manera: Order deny, allow Deny from all Allow from dev.example.con Con esto se consigue restringir la entrada a cualquier usuario excepto a los que provengan de la méquina dev.example.com, S.. 7. Qué entrada incluiriaenelichero de configuracién de Apache para denegar el acceso 4e todo usuario al dominio www.midominio.com? lades | 327 Instalacién y configuracién del software de servider Web Aplicacién practica En nuestro servidor web, necesitamos denegar el acceso al directorio tml a la direccién IP 205.45.17.4, y al directorio /prueba/ al dominio develdominio.com. Sin ‘embargo, queremos permit el acceso ala rai del espacio web atodo el mundo, Defina el fchero de configuracin que harfa falta para que nuestro servidor web cumpliera estos requisites, sOLUCION Order Deny, Allow Deny fron 208.45.17.4 ‘/oirectory> Order Deny, Allow Deny from dev. eldoninio.com Order Deny, A1Tow Allow from all En el caso de JIS 8.0, es necesario instalar el médulo apropiado para per- mmitir y restringir el acceso por IP. Desde e! Panel de control se usa Activar 0 desactivar las caracte icas de Windows: 328) CAR 6 | Andi is de la seguridad del servidor Web en a eee an) eta es = pe = ica aa _ ioe Sar San A continuacién, se selecciona la opcién Seguridad IP: a Caracteristcas de Windows © Adivaro desactivar las caracteriaticas de Windows @ raaacwar ya andere acne a ata coneponiene Fae Jeter cnt nealing Nene 7 ‘Oey Merarerta etme we ‘SIEIh oon Wee {Leh Cancer de dere icone (BIB) Conca dace ia] Comcester HIP cone: [5B] any sagnaice LBL Se Ti eet biscn seceacon de grace ceria dee (Dl Aencncen deasgnconee de etende See iy Aenean dete mptera Ei Aesensen de indo Dk Aettacin URL BE exciercn oneomennae z om |329 Instalacién y configuracién del software de servider Web Para aplicar restricciones y permisos por IP y dominio, se pulsa en el apar- tado apropiado en el administrador de 1. OF Pn cnt nice es oe ate 3.2.4 2 4 4B a Aqui se ve cémo se pueden agreger y restringir permisos baséndose en una direccién IP 0 en un intervalo de direcciones IP: 330) CAR 6 | Andi is de la seguridad del servidor Web (Gp sexnclonas ae aveceones Py domine Eacaaclemecmn RR Trianda crniasindepes * WE] samarrsedereninovdenson —* WE] es _—————— L ie HIS permite también denegar el acceso baséndose en el nimero de solici- tudes simultaneas, e incluso especificando si las solicitudes simulténeas se realizan en un periodo de tiempo concreto. |331 Instalacién y configuracién del software de servider Web CConfiguracion de restriccion de IP dinamica L benegarecion basics en nmr de shictudes imatnens 5 Ee re ence net eee ic oleae neat type ee 0 Patode de emp 200 (Cetin moda desolaresistro 8 Qué entrada inluria en elichera de configuracion de Apache para denegar el acceso e toda usvario al dominia www. midominiocom? 4. Control de acceso por usuarios ‘Se ha visto en apartados anteriores que cuando un cliente solicita un recur: 0 del servidor web, este resuelve la solicitud como el usuario configurado por defecto para hacerse cargo de la peticién que llega. En el caso de Apache ser 1 usuario nobody o apache, mientras que en el caso de JS 8.0, seré el usuario DefaultAppPoo! del grupo IIS_IUSRS. 332) CAR 6 | Andi is de la seguridad del servidor Web Sin embargo, en muchas ocasiones, es necesario identificar a la persona © dominio que esta detrés de la peticién y permitirle o denegarle el acceso al recurso. Un método de autenticacién o intercambio de credenciales permite controlar facilmente este tipo de permisos sobre los recursos del servidor web. A continuacién, se verén aquellos métodos més usados y algunas formas de almacenamiento de las credenciales de estos usuarios. 4.1, Métodos de intercambio de credenciales (Autenticaci6n Ba: Digest / NTLM) Apache permite el uso de ficheros independientes en cada directorio del espacio de directorios del servidor web para personalizar la configuracién del servidor. Dicha configuracién se aplicara de forma prioritaria respecto a la configuracién global especificada en el fichero de configuracién “hitpd.cont”. Estos ficheros se denominan ficheros de configuracién distribuidos. Por defecto, deben Ilamarse “htaccess”, aunque se puede cambiar la de- nominacién desde “httpd.conf”. En cada solicitud de recurso web, el servidor comprueba si existe un fichero “.ntaccess” en el directorio que contiene el recurso. Si lo encuentra, aplica las, directivas que contiene. De esta forma, se podria especiticar la configuracién de autentificacién de usuarios a nivel de directorio. Recuerde Usar fcheros “htaccess” puede camprometer la seguridad de todo el sistema si no se usan con cuidado, En cualquier caso, ya sea en el fichero de configuracién principal de Apache, 0 bien, en un fichero de configuracién distribuido para un directorio, |333 Instalacién y configuracién del software de servider Web ‘es necesario cargar el médulo que permita el uso del método de autentificacién elegido en el servidor. En el caso de //S 8.0, también se debe cargar el médulo nativo correspon- diente al método de autenticacién que se vaya a usar. Para ello, se selecciona €@\ tipo de método de autenticacién desde la ventana de activacién y desactiva- clon de caracteristicas de Windows. a (actersicas de Windows Ativar 0 desactvar las caracersticas de Windows oestriol caper Po dt dooce (ot Us ca ne gues es cos peda STE ra oman evr 1 Horeres dno SI Seer onde wes EL Coacestics dedesnato de apicacones {Bll Comers denen (ell Concrete 2 [a] Erneny cages SRL Sept Ci Aer Cy Aderentn ce gprs ected decker Aeron ce pans deceit cer eS TM eres open Cy enon cece Tf Aton pe tL EL Comptia con cette cents. Bil Foto deco Ei Su C1 severe {Elf Ka deninconin de Contin Manag (CMAN de aL) Mowe Merge ose] Sever LE Nico ee honed net oration Sm Autenticacién basica La autentificacién basica permite limitar todo tipo de acceso (GET, POST y HEAD) a un determinado directorio. En Apache, para poder usar este tipo de autenticacién se debe cargar e! médulo mod_auth_basic. Después, se podré configurar el acceso a un directorio usando el siguiente bloque de directivas: 334) CAR. 6 | Andi is de la seguridad del servidor Web AuthType Basic AuthNane “Directorio Protegido” AuthUserFile /var/waw/html /prueba/ -htpasswd require velid-user La directiva AuthType Basic permite activar el! método de autentificacién asico para el directorio especificado en la cabecera . AuthUserFile indica la ubicacién completa del fichero que contiene el nombre y contrasefia de los usuarios a los que se permite el acceso (La ubicacién debe ser absolute). Salvo en Windows, es necesario usar la herramienta htpasswd de Apache para especificar las contrasefias del fichero. Debido a que en Windows no es nnecesario que dichas contrasefias sean codificadas, es posible afiadirlas ma nualmente a los ficheros. Con AuthName se indica el nombre que aparecerd en la ventana de solici- tud de credenciales cuando un usuario intente acceder al recurso protegido. En Linux, si se quiere afiadir control de acceso 2 un directorio prueba den- tro del espacio de directorios /var/waw/html/se usaré el comando htpasswd de la siguiente manera: oar@iocaliony Se ha creado el usuario joseluis, y se ha introducido la contrasefia. 335 Instalacién y configuracién del software de servider Web A partir de ahora, cualquier acceso de un usuario al directorio prueba soli citaré que se autentifique. Si se escribe en el navegador la direccién de acceso al directorio prueba, se mostrara el siguiente mensaje: Teenicadinrequeida e Se. at mani teeny co te ce tnentnnte [od Sise introduce el usuario y contrasefia que se ha afiadido al fichero “.ntpas- ‘swd” se conseguiré el acceso al recurso La directive Require valid-user limita todo acceso de tipo GET, POST o HEAD y solo permitiré el acceso a aquellos usuarios cuyos datos se encuentren cen el fichero “.htpasswd” También se puede limitar el acceso a determinados tipos, como por ejemplo POST 0 GET: AuthType Basic AuthNane “Directorio Protegido” AuthUserFile /var/wws/htnl/prueba/ .ntpassud require valid-user Esto podria resultar muy itil si es necesario rellenar algin formulario para subir ficheros al servidor. 336) CAR 6 | Andi is de la seguridad del servidor Web S.. idades 9, Usando el ejemplo anterior, escriba las directivas necesarias para limitr el acceso al mmétado CET. ‘También es posible restringir el acceso por grupos de usuarios. $i, por ejem- plo, se quiere que el acceso a un directorio sea restringido Gnicamente al grupo de administradores, se puede realizar la siguiente configuracién: AuthType Basic AuthName “Directorio secreto” AuthUserFile /var/wow/html /prueba/ htpasswd AuthGroupFile /var/wmw/ html /prueba/.htgroup require group adninistradores ‘AuthUserFile indicara el mismo fichero “htpasswd”. La directiva Auth- GroupFile se utilizar para indicar la ubicacién completa del fichero que rela- clona los grupos y los usuarios. El fichero de grupos se edita manualmente, afadiendo una entrada por cada grupo que se desee crear, especificando los usuarios que pertenecen a cada grupo separados por espacios. nonbre_del_grupo: usuariol usuario2 usuario3 |337 Instalacién y configuracién del software de servider Web En el caso anterior, se debe crear un fichero ‘grupo y usuarios: htgroup” con el siguiente adninistradores: joseluis maria La directiva require group administradores especifica que solo se permita ce! acceso a los usuarios que pertenezcan al grupo “administradores” y que se encuentren autentificados correctamente segiin el fichero “htpasswd”. Si, por el contrario, solo se quiere permitir el acceso a un solo usuario, tam- bién se pueden especificar directamente en las directivas de configuracién, de la siguiente manera: AuthType Basic AuthWane “Directorio Protegido” AuthUserFile /var/ww/trtml/prueba/-htpasswd require user joseluis Apli sacion practica Ennuestro servidor web Apache, se necesita activar el método de autenticacién bisica en el directorio /var/www/html/prueba/ para permitir el acceso por GET al grupo de administradores. El grupo se encuentra defnido en el fchero /var/www/htm/prueba. htgroup, y as credenciales en el fichero /var/wmw/html/prueba/ htpasswd. Defina el fichero de configuracién de Apache que cumpliia estos requisites Cain np siguiente >> 338) CAR 6 | Andi is de la seguridad del servidor Web <<< pia atarar soLUcION AuthType Basic ‘authNane “Directorio Protegida” ‘AuthUserFile /Var/stu/nte/prueba/ .htpassua ‘AuthcroupFile /var/iaw/hem /prucba/ .ntgroup En JIS 8.0, la autenticaci6n basica se configura utilizando las cuentas de usuario de Windows, De esta forma, cuando el explorador solicita al usuario un nombre y una contrasefia, la informacién se transmite a través de HTTP, codificada en Base64. Este tipo de autenticacién basica es intrinsecamente insegura, ya que decodificar los datos que viajan a través de la web es dema- siado sencillo. Para activar la autenticacién basica en I/S 8.0, dentro de la opcién Activar 0 desactivar las caracteristicas de Windows se selecciona la opcién Autenticacién basica en el listado: | 339 Instalacién y configuracién del software de servider Web a ‘Caracteristcas de Windows — ‘Acivar © desactivar ls caractertsticas de Windows @ aa actor una cacti, acne cil conesponden Pao ‘deecare dercve nce Une cea ena ea queso 2 ‘tirade im pre delat te BIE, Harari de adintn we a Dl Seracs won Wie Web eIIl Cocttics de der de pacones 1 [ Comcterseae de cient 8B) Coactanticas HTP amines 5D), Gtadey eagrensco 5 BI, Segunda w 1 Aatereacon de ssgnaciones ecerifado de (D1 Aatensccon de aeignaone decetiicade de [Ep Attenscncin de teeta ‘Autetcacie de Windows utoratien pra (C1 Compattiied con cetiicadon center St Rif Faso desascrucer Segui P eC seraaoer? & a ‘2 a a # A. 2, & 2, 4 Z2£E24 145 ie aloe Se selecciona el tipo de autenticacién y se pulsa en la opcién Habilitar. Es necesario deshabilitar !a autenticaci6n anénima. Una vez habilitada la autenticacién basica, es necesario establecer los per- ‘misos sobre la carpeta en la que se quiere controlar el acceso. Para ello, primero se crean tantos usuarios como se quiera que puedan acceder al recurso y se 3a Instalacién y configuracién del software de servider Web establecen los permisos para esa carpeta, Esto se hace desde el Administrador de equipos. 7 Tariana Saas aie 1 recererrao Nembeca [Evian Ase Ace Se agrega el usuario: Usuario nueve entre teunate: [GuePrets Nanos, Desde cananta (WIS ar de cartiriscomata enciegsert nce eo veaen (he cert deetiate 342 | CAR 6 | Andi is de la seguridad del servidor Web [a e =] eolem > 346 | CAR 6 | Andi is de la seguridad del servidor Web <<< pia atarar sowucioN AuthType Digest ‘AvthName “nicominio. con” authuserrile /var/wau/nain/ .htpassud ‘cLisit POST> Require valié-user En 11S, este tipo de autenticacién se denomina impl ha dicho anteriormente, el principal punto débil de la autenticacién basica: el envio de contrasefias sin codificacién, y corrige, como se Aunque es algo mas segura que la autenticacién basica, es solo una peque- fia mejora. Ante la ausencia de SSLITLS, un atacante podria obtener toda la informacién de la comunicacién entre el cliente y el servidor, y posteriormente utilizarla para reproducir la transaccién. Para activar en IIS este tipo de autenticacién, se abre la ventana donde se cligen las Caracteristicas de Windows, y se selecciona Autenticacién de texto implic | 347 Instalacién y configuracién del software de servider Web a Gracteisieas de Windows == ere eee eae ee ont Tele aeate ci mateordeome Se AU Internet Explore a of tse SEIp ieee SiS mown, Fn cs IE Corsten nner Sep comaccrsitoems ot oor cE somes Ff atcnereaesnetctmednccctte fl Gib Atmecranesopacs ote cated ib Conpaneacnsitat cod Ls Fitrado de solicitudes Gb sa Cab sete 4 Ahora, dentro del administrador de JIS y en el apartado de Autenticacién, se habilita el método: Loe ec a 348 | CAR 6 | Andi is de la seguridad del servidor Web El resto del proceso es totalmente idéntico al usado en el método de auten- ticacién basica, Se deben crear los usuarios y aplicar los permisos necesarios a la carpeta en la que se quiera controlar el acceso. 11, 2Qué diferencia principal existe entre el método de autenticacion basica y el método de autenticacion digest? NTLM NTLM (NTLan Manager) es el método de autenticacién integrado de Windows para la red. Surge en Windows NT por primera vez y es una mejora respecto al anterior método LM. Actualmente, todos los sistemas operatives de Windows lo implementan. Utiliza un protocolo desatio-respuesta para la autenticacién, en el que a los clientes se les permite la identificacién sin el envio de ninguna contrasefia. Consiste en tres mensajes, un primer mensaje del tipo negocia- clén, un segundo del tipo desaffo y un tercero de tipo autenticacién, Ss... 12, {Qué entajas tiene eltipo de auteticacén NTLM sobre la autenticacin digest en IS 8.0? idades Para activar este tipo de autenticacién en /[S, se abre la ventana de Ca- racteristicas de Windows y se selecciona la opcién Autenticacién de Windows: |349 Instalacién y configuracién del software de servider Web a CGaracierisicas de Windows == Adlvar o desactvar las caracefstcas de Windows @ ara car una creer ate cas corespondte Para acta dace cs Uns clans ea queso eta vo pated acres (9h tema atomaton Sener Ty [el Heramietas de cranes LL Senin Worl Wie eb 1 Ll) Cansei de deal ce pacones 1 GI Conceited 1B BIL Caactetsias HT comune: BIE Estado ydagnstco GIL Scouts Ty Auer bisi (Ei Attescacin de tetra (BA Auer Vines [Ci attain pes URL (CL Compstbies con center certlindor St WI) Fido desotictudes Tp Sequita 2 OD Sensor Fe Ahora, se habilita el método desde el administrador de IIS: y auemcasen Tiaeasem| Ge cen 350) CAR 6 | Andi is de la seguridad del servidor Web Finalmente, usando la configuracién de usuarios y permisos creada en los anteriores métodos, se comprueba que al intentar acceder al recurso se abriré la ventana que solicita el usuario y contrasenia. Sabia que... Existen mecanismos para permitirautenticacién NTLM en un sistema Linux. Uno de ellos utilizar parte del servidor SAMBA para Apache sobre Linux. Almacén de credenciales (LDAP, base de datos, ficheros de texto, Windows) Se han visto los métodos de autenticacién més utilizados en la practica. Ahora hay que detenerse en cémo esos métodos almacenan las credenciales que utilizan para el control de acceso, Basicamente, existen dos formas de almacenar una credencial: en un fichero en el sistema local o remoto, o bien, en una tabla de base de datos (que al final de cuentas es también un fichero). ‘Sin embargo, el servidor web debe ser capaz de entender este tipo de almace- namiento y utilizarlo. Lap LDAP (Lightweight Directory Access Procolo) es un protocolo de nivel de aplicacién para el acceso y mantenimiento de directorios distribuidos. EI nivel de acceso a los directorios se implementa mediante un sistema de credencia- les verificables a través de llamadas 2 un servidor. Es el método de autentica- clén mas adecuado en entornos de red medias y grandes. Para realizar la configuracién del servidor web se va a suponer que se ha instalado y configurado un servidor LDAP para el control de acceso a los direc- torios de nuestro espacio web. |3s1 Instalacién y configuracién del software de servider Web En Apache, mod_auth_idap es e! médulo que proporciona la capacidad para el uso de LDAP. La operacién de acceso a un recurso se descompone en dos fases: una pri- mera fase de autenticacién, en la cual el médulo verifica que las credenciales que el usuario proporciona son vélidas; y una segunda fase de autorizacién, en la cual el médulo determina si el usuario autenticado tiene permiso para acceder al recurso, Primero, se carga el médulo en Apache. Para ello, se modifica el fichero de configuracién, afiadiendo la siguiente entrada LoadModule authnz_1dap_nodule nodules/nod_authnz_1dap.so Después, se debe modificar las entradas del directorio sobre el que se quie- ra realizar el control de acceso, de la siguiente manera: AuthType Basic AuthName “Directorio secreto” AuthBasicProvider dap AuthzLDAPAuthoritative off AuthlOAPUrI 1dap://1dap.nidominio. con/i dc=comPuid Require valid-user La directiva AuthBasicProvider Idap es necesaria para que Apache reconoz- ca que la autenticacién se realizaré como una consulta a un directorio LDAP y no a través de un fichero, La directiva AuthLDAPUr| especifica el servidor LDAP al que el servidor web conectara para verificar las credenciales. 352) CAR 6 | Andi 13. ;Por qué es LDAP uno de os sistemas de credenciles mas utilizados? Busquerefe- Fencia an Interne is de la seguridad del servidor Web Base de datos Existe la posibilidad de integrar una base de datos MySQL como repositorio. de contrasefias para el control de acceso a un recurso web. Entre sus ventajas se puede destacar le facilidad para gestionar los usuarios y contrasefias e in- cluso que afiade la versatilidad suficiente para poder crear algin mecanismo automatico de recuperacién de contrasefias. Si, ademés, se combina con un cifrado SSL, se obtiene un nivel de seguridad y manejabilidad suficiente para la mayoria de los casos. Este método requiere la carga del médulo mod_auth mysql, ademas de instalar MySQL y configurarlo apropiadamente para que permita el almacena- miento de usuarios y contrasefias. EI médulo moc_auth_mysql es necesario descargarlo porque no viene por defecto en la instalacién de Apache. La mejor forma es a través del instaledor de paquetes del sistema operative. En este caso, en CentOS se hace uso de YUM, Para ello, se usa la siguiente sentencia: 2 root locamost/etcnita 2s ‘Se puede comprobar que se ha afladido como médulo dinémico a la lista de ‘médulos disponibles para Apache. | 353 Instalacién y configuracién del software de servider Web A continuaci i6n, se debe afiadir la siguiente entrada en el fichero de confi guracién de Apache y reiniciar el servidor web. Loadvodule mysql_auth_nodule modules/nod_auth_nysal.so El siguiente paso seria instalar el servidor MySQL. Para ello, se hace uso del instalador de paquetes de la distribucién. En caso de CentOS, se debe ejecutar la siguiente sentencia Una ver instalado MySQL, se debe iniciar el servicio: 354 CAR 6 | Andlisis de la seguridad del servidor Web rect@ocainost/etchtipd/cant A continuacién se necesita crear la base de datos con las tablas y campos para poder almacenar los usuarios y contrasefias. El siguiente script crea una base de datos con una tabla y los campos usuario y c cos para el mecanismo de control de acceso). ntrasefia (los datos basi Se entra con el usuario root en el shell de MySQL. Como se acaba de ins- talar MySQL por primera vez, la cuenta root no dispone de contrasefia. Por seguridad serfa conveniente establecer una contrasefia para el usuario root. 2 root@rocemostyetemtipa/cont - == Una vez dentro del shell de MySQL se ejecutan las siguientes sentencias: 2 i Shecanemesctpel oat ~ oe 35s Instalacién y configuracién del software de servider Web Ahora se afiade un usuario a la base de datos; r@ocalhost/etcmitpa/cont Por iltimo, se modifica el fichero de configuracién de Apache con las si: guientes directivas para permitir la autenticacién mediante el médulo mod. auth_mysql cargado previamente AuthType Basic authNane “Zona Privada” AuthBasicauthoritative OFF AuthHYSQL on ‘AuthitySQLAuthoritative on ‘AuthitySQLHost localhost ‘AuthitySQLOB httpdauthdb ‘AuthitySQLUserTable usuarios ‘AuthitySQLUser nttpauth AuthitySQLPasswora httpauthpasswore ‘AuthitySQLNameFielé login AuthitySQLPasswordField pass Require valid-user La descripcién detallada de las directivas anteriores es la siguiente: ‘AuthMySQLDB y AuthMySQLHost especifican el nombre de la base de da tos y el servidor donde esta se encuentra (generalmente sera el mismo que el servidor web). 356 CAR 6 | Andlisis de la seguridad del servidor Web AuthMySQLUser y AuthMySQLPassword indican la cuenta de usuario de MySQL, con la que se realizard la conexién a la base de datos. AuthMySQLUserTable, AuthMySQLNamefield y AuthMySQLPasswordField especifican, respectivamente, la tabla donde se encuentran las credenciales de los usuarios que podrin acceder al recurso, el nombre del campo que con- tiene el /ogin del usuario y el nombre del campo que contiene la clave del usuario para las credenciales. El campo AuthMySQL.PwEncryption permite definir en qué tipo de codifica- cién se encuentra la contrasefia almacenada en la base de datos. Las opciones. disponibles son: “none”, “crypt", “scrambled”, “md5", “aes”, “shal” S .. 14, {Qué divectiva se debe utilizar si se quiere indicar a Apache que las contrasefas para los usuarios, almacenadas en NySOL, se encuentran codiicadas en MDS? idades Aplicacién practica En nuestro dominio, tenemos un servidor web y un servidor MySQL que deseamos. utilizar para almacenar los usuarios y contrasefias de acceso a nuestra zona web. En concreto, hemos creado una tabla denominada permisos. La tabla contiene dos ‘campos: nombre (que indica el usuario) y clave (que indica la contrasefia). La base de datos que contiene la tabla se denomina controly est ubicada en la maquina remota 203.23.12.3. Para el acceso a la base de datos hemos creado el usuario usercontrol con contraseia clavecontrol.Definaelfichero de confguracién de Apache que permite cumplir con esté especificacién Comin n niin siguete>> | 387 Instalacién y configuracién del software de servider Web -<<\Vne epi anteor soLuciN ‘uthiype Basic ‘uthilane “Zona Privada” ‘Authbasicauthorstative OFF [RAthOYSQL on AuthiysoLauthoritative on ‘AathMySQLsost 203,23.12.3 ‘uthysoluser usercontral ‘uthysQlPassword clavecontrol ‘uthiysQL0B control athysQluserTable permisos ‘uthysQlManeFieid nonbre ‘athoySQLPasswordField clave Require valid-user Ficheros de texto Como se ha visto en el apartado de métodos de autenticacién, se utilizan ficheros de texto para almacenar las credenciales de los usuarios que tienen permisos de acceso al directorio. Este fichero es utilizado principalmente en los métodos de autenticacién basico y digest. En el primer caso, se trata de Un fichero de texto plano compuesto de lineas de texto, en e! que cada linea almacena un par de valores: un nombre de usuario y una contrasefla. Las contrasefias se encuentran codificadas en base64, Un ejemplo de este tipo de ficheros seria el siguiente: maria: jxiz/xSsys6ur joseluis:0Sbxn10F18u11 358 | CAR 6 | Andi is de la seguridad del servidor Web En el caso de los ficheros utilizados en e| método de autenticacién digest, el contenido es similar. La diferencia principal es que la contrasefia va codifi- cada usando un algoritmo y también se afiade el dominio. Un ejemplo de este tipo de ficheros serfa el siguiente: doninio:maria:5aedesb61a7c94c7530bf4seadeces219¢ doninio: joseluis:1¢c31d48a015344e9078eF1009e1¢F38 Windows En el caso de Windows, y més en concreto del sistema NTLM que se usa como autenticacién integrada, el fichero de credenciales contiene las cuentas de usuario del sisterna Windows. Este tipo de ficheros contienen lineas de los campos LMHash y NTHash, que identifican la contrasefia codificada. En NTLM la contrasefia original es dividida en dos partes de 7 caracteres. La primera parte es codifica- da usando un algoritmo DES y la segunda usando MD4. El resultado de estas codificaciones son los campos LMhash y NThash respectivamente. Un ejemplo de este tipo de ficheros seria el siguiente: texto compuestas del nombre de usuario, el domini Administrador: PC:81F5A68E78C6929AAD3B435851404EE : @CB6948805F7976F2A8280797 3889537 joseluis: Pc:01020304050607088900010203040506:98971234567865019812734576 90102 | 358

You might also like