martes, 28 de julio de 2009

Instalar un mini-servidor web en windows


Por medio de softdates usuario de elhacker.net me encuentro con un post muy interesante y util que nos permite de una forma muy sencilla crear un mini servidor , ademas de eso con el portabilizador creado por mi puedes hacer que cualquier pc sea un miniserver simplemente copiando las carpetas al disco c y listo ya con tu configuracion predetermianda.

Objetivo: Instalar un mini-servidor web en tu PC para que puedas acceder a tus archivos desde cualquier lugar con un simple navegador (en HTTPS).
Permite subir y bajar archivos, así como diversas operaciones (copiar, renombrar, eliminar, editar, buscar, comprimir, etc.).
Esto te permite tener un espacio de almacenamiento en la web con la capacidad de tu disco duro!

En la pantalla vemos como es el administrador de archivos una vez que está instalado:


Necesario:
- Windows 95/98/ME/NT/2000/XP/2003
- conexión a Internet (de preferencia permanente como la ADSL), con IP dinámica o estática.

Herramientas utilizadas:
- pi3web (servidor web)
- Quixplorer (administrador de archivos en php)

Estas dos herramientas son gratuitas y opensource.
Pi3web es un servidor web muy compacto (2.3 Mo a descargar), opensource, soporta php, rápido, consume pocos recursos (alrededor 10 Mo de memoria viva), funciona bajo todas las versiones de Windows (del 95 al 2003), fácil de instalar, generación de certificados SSL muy simple, funciona como servicio o aplicación, se desinstala limpiamente.

Quixplorer es un administrador de archivos en PHP práctico y eficaz, que no requiere una base mySQL.
La gestión de derechos es práctica y sencilla.


==============================================
ETAPA 1 – Instalar DNS

Es necesario que puedas acceder a tu PC desde Internet con un nombre fijo
(para que evites tener que recordar tu dirección IP).

Para ello, puedes utilizar servicios gratuitos como dyndns.org. Inscríbete en la
página web e instala el programa DynDns en tu PC.

Esto te permitirá acceder a tu PC con un nombre fijo (por ejemplo toto.dyndns.org)

Verifica que tu DNS funciona bien, para ello haz ping a tu PC: ping toto.dyndns.org

En adelante, supondremos que tu máquina se llama toto.dyndns.org

==============================================
ETAPA 2 – Instalación de pi3web

2.1) Descarga pi3web de http://pi3web.sourceforge.net/pi3web/
(Pi3Web-x86Win32-2_0_3.exe o versión superior.)

2.2) Instala pi3web:
2.2.a) Ejecuta Pi3Web-x86Win32-2_0_3.exe, y sigue la instalación.
2.2.b) En la pantalla "Configure server identity", marca "SSL".
2.2.c) En la pantalla "Generate SSL demo server keys and certificates":
- En "Common name" y "Server name", ingresa toto.dyndns.org
- Vacía todos los otros campos.
2.2.d) En la pantalla "Server Server Run Mode", selecciona "System service",
y termina la instalación.

2.3) Configura pi3web. En la ventana "Pi3web Server Admin"

2.3.a) En la pestaña "Mappings", elimina todas las líneas salvo aquellas
en la que el “From” es:
- /icons/
- /images/
- /errors/
- /

2.3.b) Siempre en la pestaña "Mappings", agrega los 2 mappings siguientes:
Type From To Realm
-------------------------------------------------------
Document /quix/.config/ dummy-directory/ (none)
Document /quix/.include/ dummy-directory/ (none)


2.3.c) En la pestaña “HTTP”:
- En la zona "Server stamp", vacía el texto ("Pi3Web/2.0.3")
- En "Index files", elimina todo, luego añade: index.php y index.html
- En "Methods", marca POST
- En "Size limit", ingresa 99999999

Haz clic en “OK”.

2.3.d) Elimina los archivos contenidos en el directorio C:\Pi3Web\WebRoot

2.3.e) Crea un archivo vacio: C:\Pi3Web\WebRoot\index.html

2.3.f) En tu disco duro, crea el directorio c:\tmp

2.3.g) Modifica el archivo C:\Pi3Web\bin\php.ini:

- Cambia: post_max_size = 8M
a: post_max_size = 99M

- Cambia: upload_max_filesize = 2M
a: upload_max_filesize = 99M

- Cambia: memory_limit = 8M
a: memory_limit = 99M

- Cambia: max_execution_time = 30
a: max_execution_time = 1800

(Esto permitirá subir archivos hasta 99 Mo)


==============================================
ETAPA 3 – Instalación de Quixplorer

3.a) Descarga Quixplorer desde: http://quixplorer.sourceforge.net/
(por ejemplo quixplorer_2_3_1.zip)

3.b) Crea el directorio C:\Pi3Web\WebRoot\quix

3.c) Descomprime el archivo ZIP en C:\Pi3Web\WebRoot\quix
(index.php debe estar aquí: C:\Pi3Web\WebRoot\quix\index.php)

3.d) Edita el archivo C:\Pi3Web\WebRoot\quix\.config\conf.php:

- Cambia: $GLOBALS["require_login"] = false;
a: $GLOBALS["require_login"] = true;

- Cambia: $GLOBALS["script_name"] = "[http://]".$GLOBALS['__SERVER']
['HTTP_HOST'].$GLOBALS['__SERVER']["PHP_SELF"];
a: $GLOBALS["script_name"] = "[https://]".$GLOBALS['__SERVER']
['HTTP_HOST'].$GLOBALS['__SERVER']["PHP_SELF"];

- Cambia: $GLOBALS["home_dir"] = "/home/you/public_html";
a: $GLOBALS["home_dir"] = "/";

- Cambia: $GLOBALS["zip"] = false; //function_exists("gzcompress");
a: $GLOBALS["zip"] = true; //function_exists("gzcompress");

3.e) Edita el archivo C:\Pi3Web\WebRoot\quix\.config\.htusers.php:

- Cambia: array("admin","9628d0d187029e6337baa86780b2abb6",".",
"http://localhost/",1,"",7,1),
a: array("admin","9628d0d187029e6337baa86780b2abb6",
"c:/","http://localhost/",1,"",7,1),


==============================================
ETAPA 4 – Configuración final

4.a) Abre el navegador, y ve a la dirección https://localhost/quix/

Conéctate con el login “admin”, contraseña "pwd_admin".

Ve inmediatamente a la página de admin, y cambia la contraseña admin.
(Penúltimo botón, justo antes del botón "Logoff").

A partir de aquí, podrás crear usuario.
(así como asignar directorios específicos a cada usuario.)

Observa que los enlaces haciendo clic sobre los archivos no funcionan.
(Siempre tendremos que hacer clic en el botón "Download" en la columna
de la derecha para descargar un archivo.)
Esto es normal ya que tu disco duro no es compartido en Internet fuera
del administrador de archivos Quixplorer.

4.b) Ahora que los usuarios están configurados, abre tu servidor web a Internet:
Menú Inicio > Programas > Pi3Web > Server Admin
En la pestaña “General”, selecciona "Remotely using a hostname".
En "Hostname", ingresa toto.dyndns.org
Haz clic en “OK”

4.c) Ahora ya puedes acceder a tu PC desde la dirección
https://toto.dyndns.org/quix/
Con Quixplorer podrás crear espacios para almacenar separados para cada usuario,
o también crear usuarios que sólo tengan acceso de sólo lectura.

==============================================
Observaciones en cuanto a la seguridad:



A)
¿Por qué Quixplorer y la presencia de un index.html vacio?
Porque si por casualidad un hacker entra a tu sitio web, éste sólo verá una página en blanco.
No sabrá que Quixplorer está instalado. Esto disminuye el riesgo de ataques en Quixplorer.

B)
En el archivo C:\Pi3Web\WebRoot\quix\.include\footer.php elimina todo lo que se encuentre entre las líneas: function show_footer() { // footer for html-page
y: }
(esto evita que el webmaster de la página de Quixplorer conozca la dirección de tu página web gracias al HTTP Referer.)

C)
En el archivo C:\Pi3Web\WebRoot\quix\.include\login.php
Encuentra la ubicación de este código:
---%-----------

if(isset($GLOBALS['__POST']["p_user"])) {
// Check Login
if(!activate_user(stripslashes($GLOBALS['__POST']["p_user"]), md5
(stripslashes($p_pass)))) {
logout();
}



---%-----------

y agrega sleep(10).
---%-----------

if(isset($GLOBALS['__POST']["p_user"])) {
// Check Login
sleep(10); if(!activate_user(stripslashes
($GLOBALS['__POST']["p_user"]), md5(stripslashes($p_pass)))) {
logout();
}


---%-----------

Esto impondrá un tiempo de espera de 10 segundos a la ventana de login, lo que protege a Quixplorer contra los ataques del tipo de “fuerza bruta”.

0 comentarios:

Publicar un comentario

Tu comentario será moderado la primera vez que lo hagas al igual que si incluyes enlaces. A partir de ahi no ser necesario si usas los mismos datos y mantienes la cordura. No se publicarán insultos, difamaciones o faltas de respeto hacia los lectores y comentaristas de este blog.