sábado, 26 de julio de 2014

[SOLVED] [SOLUCIONADO] XAMPP nuevo concepto de seguridad – httpd-xampp.conf

Por cuestiones académicas me he visto en la necesidad de instalar XAMPP en una máquina virtual con Windows para hacer algún tipo de ataque web en plataforma Windows específicamente.

Todo fue de lo más normal, el problema lo tuve cuando quise acceder desde "otro" equipo para probar que el servidor Apache de XAMPP se había instalado satisfactoriamente...

La máquina virtual tenía dirección 192.168.1.11 y desde la máquina anfitrión tenía esta dirección 192.168.1.100 y cuando quise acceder por el navegador a la máquina virtual me dio el infame error

“Acceso prohibido!

XAMPP nuevo concepto de seguridad:
El acceso a la solicitada directorio sólo está disponible desde la red local.
Este ajuste puede ser configurado en el archivo “httpd-xampp.conf”.

Si usted cree que esto es un error del servidor, por favor comuníqueselo al administrador del portal.

Empecé a revisar el fichero "httpd-xampp.conf" que se encuentra en: C:\xampp\apache\conf\extra (allí mismo lo encontrará alguien más si es que lo instaló en la ruta predeterminada y la letra de su disco duro es la tradicional "C", hay otros que pueden tener otra letra).

Probé muchas soluciones que se ofrecían tanto para GNU/Linux y Windows por igual, pero no me solucionaba el problema que tenía, otros sitios presentan el mismo encabezado del problema pero según leía solamente tenían problema para acceder a phpmyadmin, o el contenido de "New XAMPP security concept" es un poco diferente a esta fecha del año 2014, ya que la fecha de otros sitios que revisé eran desde 2011. Definitivamente ha cambiado el contenido.

Al ver que en unas partes ofrecían solución al problema con agregar líneas en algunas directivas, en otras ofrecían poner una "almohadilla" ( # ) a alguna línea de directivas específicas, que es lo mismo a dejarla inhabilitada como un comentario.

Ya mucha explicación de mi experiencia personal en la búsquda y solución del problema, vamos a lo práctico. Todo es cuestión de añadir # en la línea que dice Require local. Nada más, ni nada menos. Eso es la solución al problema. Tiene que quedar de esta forma:

#
# New XAMPP security concept
#

     #Require local
     ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var

Luego de modificar el fichero "httpd-xampp.conf" guardamos y reiniciamos el servicio, Y LISTO!!! :D

Después de eso, ya pude acceder al servicio Apache desde una máquina que no fuese sólo la local donde está instalado XAMPP.

Espero que alguien más se pueda ver beneficiado de esto que me costó un poco tiempo leyendo foros y blogs que al final solamente vino a ser cuestión de usar un poco de lógica, ya que con el paso del tiempo este fichero con este nuevo concepto de seguridad ha venido cambiando de tiempo en tiempo.

Saludos.







23 comentarios:

Felix Bermudez dijo...

Excelente, mas simple no se puede.

deimer dijo...
Este comentario ha sido eliminado por el autor.
deimer dijo...

gracias por tu aporte estaba buscando algo asi.
Tengo una pregunta como hacer que al ingresar la ip donde tengo el xampp instalado me aparezca una pagina de login en vez de la bienvenida de xampp

root dijo...

Hola Deimer, lo que tiene que hacer es borrar (o mover a otra parte) cualquier contenido que se encuentre dentro de la carpeta htdocs en donde instaló xampp.

En Debian lo instalo dentro de la carpeta /opt por lo que la ruta a la carpeta htdocs (que es donde tiene que meter las páginas que desee publicar con Apache) se encuentra así:

/opt/lampp/htdocs

Si quiere que una página personalizada de login le aparezca en vez de la bienvenida de xampp, como le mencioné antes, quite cualquier contenido dentro de la carpeta htdocs y coloque su página de login con el nombre "index.php" y juntamente ponga todos los demas archivos hacia donde lo redirigirá una vez que el login sea exitoso.

Otra alternativa es que coloque dentro de htdocs otra carpeta que tenga la página de login (siempre con el nombre index.php). Por ejemplo, si esa carpeta que irá dentro de htdocs se llama "miproyecto", al ingresar la ip donde tiene instalado xampp ponga también el nombre de la carpeta separado por una barra diagonal y obtendrá el mismo resultado.

Es decir, si donde tiene instalado xampp tiene la ip 192.168.1.4 para ingresar a esa panalla de login tendría que poner en la barra de direcciones del navegador:

http://192.168.1.4/miproyecto/

Espero que le sirva cualquiera de las dos sugerencias.

Saludos.

Unknown dijo...

Chévere amigo. Gracias por tu gran aporte!

Unknown dijo...

BUEN APORTE FELICITACIONES

Unknown dijo...

Wow neta gracias, gran aporte

Javier Suárez dijo...

Estupendo. Me sirvió. Muchas gracias. Ahora bien, ¿sabes cómo hacer esto mismo pero para acceder desde un ordenador que no esté conectado a mi red local? Gracias!

root dijo...

Hola, Javier Suárez.

Pues se me ocurre que instales un servidor DNS en ese equipo donde tienes instalado XAMPP y compres un nombre de dominio, luego en la configuración del DNS lo ajustes al nombre de dominio que compraste para que cualquier ordenador conectado a internet pueda acceder al contenido que estés ofreciendo en ese ordenador.

Otra idea que se me ocurre, y sin necesidad de comprar un nombre de dominio, es que utilices un servicio como [por ejemplo] DynDNS o No-IP el cual te permite que escojas uno de los nombres de dominios "gratuitos" que ellos te sugieren y hagas la configuración para que asocien la dirección IP dinámica que te otorga tu ISP a ese nombre de dominio (me entero que también puedes instalar un software cliente que lee tu dirección IP y actualiza la asociacion nombre de dominio con la dirección IP que puede estar cambiando con el paso del tiempo).

Por otra parte, si te encuentras en un campus universitario donde tu ordenador se encuentra en el segmento de red (por decir 192.168.10.0/24) y deseas que de otro segmento de red dentro de la Universidad (por ejemplo: 192.168.18.0/24) accedan a tu servidor web, pues tendrías que pedirle al Administrador de red que cree una regla de ruteo en sus dispositivos de red (enrutadores) para que tu segmento de red sea visible para otros y puedan acceder hasta tu ordenador.

Espero que te sirva en algo mi humilde opinión.

Saludos.

Unknown dijo...

Muy buen aporte amigo un saludo y que estés bien

Hatsuharu dijo...

Gracias, excelente :D

Hugo Pavón dijo...

Gracias por el aporte, me fue de gran utilidad. Ojalá pudieras orientarme sobre como visualizar mi proyecto de moodle. Ya que solo se me ocurre teclear en la barra de direccion la ip/moodle pero no funciona.

Anónimo dijo...

Hola Muchas Gracias me funiono Ok. Saludos a toda la comunidad!

root dijo...

@Hugo Pavon

Siento mucho responder a tu comentario hasta ahora, creo que con mucha dedicación ya has de haber resuelto el problema que tenías. No obstante quiero preguntarte si al haber desempacado Moodle moviste esa carpeta dentro del htdocs de XAMPP?

Tuvo que haber salido algun tipo de asistente para configurarlo para configurar la base de datos y tal vez otros parámetros. En fin, tampoco no comentas que error obtiviste al escribir en el navegador http://tu-ip/moodle/

Eso será de mucha ayuda para poderte guiar en alguna posible solución.

Saludos

@charlyalbert48

Que bueno saber que te funcionó a ti también.
Saludos

Unknown dijo...

muy bueno!!! graciass

Paty Glez dijo...

Muy buen aporte, gracias! :D

Drones Geomática dijo...

Muchas gracias, funciono perfecto. Excelente solución, rápida y efectiva.

VEGETA dijo...

tengo una duda en que version de xampp viene esa opcion porque estoy tratando de hacer lo mismo pero no encuentro esas lineas en mi xampp, tengo la version 5.6 y ya abri el archivo httpd-xampp.conf pero no encuentro esas lineas, comente una parte donde decia requiere local y ya no me dejo entrar asi que tuve que descomentarla.
les agradeceria que me aclaren mis dudas.

PATRICIO dijo...

Anselmo Hernandez, no se si ya le diste solución a tu problemas pero yo la encontre añadiendo al final del documento httpd-xampp.con estas lineas y funciono en la versión 5.6.21:
#
# New XAMPP security concept
#

Order deny,allow
Allow from all
Require all granted

ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var

root dijo...

+Anselmo Hernandez: No recuerdo en qué versión de XAMPP lo hice. Hace poco he instalado una versión reciente, creo que es la misma que menciona +PATRICIO. No lo he probado en red a ver que resultados tiene, espero probarlo luego y así publico una actualización.

Gracias por tu aporte +PATRICIO, lo probaré yo también.

Saludos y gracias por sus comentarios que también me sirven de retroalimentación.

Unknown dijo...

Excelente quien dio esta respuesta me funciono.

5.6.21:
#
# New XAMPP security concept
#

Order deny,allow
Allow from all
Require all granted

ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var

Unknown dijo...

Aquí les dejo para que un link de como dar acceso al phpmyadmin en xampp 3.2:
https://www.youtube.com/watch?v=4-WPzQGZvLk&t=64s

plan circunvalar dijo...

gracias un espectaculo

 

Copyright © El igloo de Tux Design by O Pregador | Blogger Theme by Blogger Template de luxo | Powered by Blogger