...las cosas que me gustan, descubro o aprendo.


miércoles, 5 de noviembre de 2008

Quinto Post: Servidores POP3 e IMAP

Con el aptitude busco el servidor dovecot. El aptitude encuentra varias entradas de las cuales selecciono para instalar las dos siguientes:

dovecot - imapd
dovecot - pop3d

con esto se instala el servidor imap y el pop3 ambos llamados dovecot.

El dovecot es otro servidor que prácticamente se instala y ya queda funcionando, al menos para los requerimientos de este trabajo.


La configuración del dovecot esta en: /etc/dovecot/dovecot.conf

Este archivo tiene muchas opciones de las cuales solo revisaremos las que se refieren al tipo de autenticación, para verificar que sea permitida la autenticación en claro o en texto plano:

disable_plaintext_auth = no

Aunque esta opción se encuentra originalmente así:

#disable_plaintext_auth = yes

Es decir aparece comentada, luego el servidor por defecto permitirá la autenticación en claro.

Y la otra opción a verificar, es precisamente el mecanismo de autenticación, el cual debe estar en plain:

mechanisms = plain 


Sin embargo estas opciones vienen configuradas por defecto para permitir autenticación en claro, por lo que no es necesario revisarlas.

La prueba de los servidores se puede hacer con telnet como se ve a continuación:


POP3



IMAP




Cuarto Post: Servidores HTTP y FTP

Servidor HTTP

Instalacion.

Con el aptitude se busca el servido web “apache2” y se instala. La ruta donde se alojara el index del sitio por defecto es /var/www/. Con esto queda listo el servidor web que servirá el sitio alojado en la ruta dicha anteriormente al visitar http://localhost



Sitio Autenticado.


Para restringir el acceso a ciertas carpetas del sitio, en el servidor web apache se puede hacer uso de los htaccess. Primero que todo es importante saber que los htaccess no vienen habilitados por defecto en el apache 2. Por lo que antes de comenzar se debe habilitar esta opción de la siguiente manera:

- Se ingresa al archivo de configuración del sitio por defecto en la ruta: /etc/apache2/sites-available/default

El único cambio que hay que hacer lo muestro en la siguiente figura:

La opción “AllOverride” aparecerá originalmente con el parámetro “none”. Para que los htaccess funcionen deberá ponerse en “All”. En la figura aparece en negrita la única opción AllOverride que al menos será necesario modificar, las otras que se ven no es necesario cambiarlas.

Ahora si continuemos con la creación de la carpeta restringida:

- Se crea dentro de la ruta del sitio (/var/www/) la carpeta a la que queremos restringir el acceso, que en esta caso será llamada “auth”.

- Se deben crear dos archivos de texto con los nombres “.htaccess” y “.htpasswd”. El htpasswd guardara el usuario y la contraseña que pedirá el servidor cuando alguien quiera ingresar a auth. El htaccess deberá ser creado dentro de la carpeta a restringir, y le servirá al servidor para saber que el ingreso a esa carpeta es restringida. En cuanto al htpasswd preferiblemente deberá estar en una carpeta que no sea del sitio web, por cuestiones de seguridad.

NOTA 1.

El punto al principio del nombre es para que el archivo quede oculto. Por eso para poder verlo desde el explorador de archivos de ubuntu (konqueror), se debe seleccionar: ver-->mostrar archivos ocultos.

NOTA 2.
Estos archivos deben ser creados con editor de texto plano. Una manera fácil de hacerlo es dar click derecho dentro de la carpeta y seleccionar: crear nuevo>archivo de texto

A continuación muestro la ruta y el contenido que deben llevar los dos archivos:

htaccess

Ruta: /var/www/.htaccess


Donde:
AuthUserFile /usr/.htpasswd

Indica la ruta donde estará el archivo con el usuario y la contraseña


AuthName "Recurso Protegido por: Santiago Aldana"

Es el mensaje que aparecerá en el cuadro de dialogo cuando se pida la contraseña


AuthType Basic

Para escoger autenticación tipo Básica


htpasswd

Ruta: /usr/.htpasswd

La encripción puede ser realizada en la pagina web:

http://www.htmlite.com/HTA006a.php


Con esto ya ha quedado creado el sitio protegido






Host Virtual.


Con el host virtual se busca que el servidor web pueda servir varias paginas web alijadas en diferentes direcciones ip pero en el mismo equipo.

Se pide que el host virtual sirva el sitio web cuando sea solicitado a la dirección 10.20.44.1. Ingreso a /var/www y de una vez creo la carpeta donde estará alojado el nuevo sitio del host vitual. Entonces el root del sitio quedara en la ruta: /var/www/hostvirtual

- Ingreso a la ruta /etc/apache2/sites-available/ en donde debo crear el archivo de configuración del nuevo sitio. Se puede hacer basándose en el “default” que se encuentra allí. Entonces se crea una copia del archivo “default” y se pega allí mismo pero con otro nombre, por ejemplo “hostvirtual”.

La ruta y los cambios que le hice a este archivo se ven a continuación:

hostvirtual

Ruta: /etc/apache2/sites-available/hostvirtual

En la imagen aparecen subrayadas las líneas que edite o agregue para configurar el hostvirtual.

- Luego se entra a la consola y se ejecuta el comando:


a2ensite hostvirtual


Esto hará que el apache ponga el sitio que acabamos de crear en la carpeta sites-enabled. Es decir se crea el enlace del sitio en la carpeta /etc/apache2/sites-enabled. Se puede entrar allí y verificar que se halla creado el enlace con el mismo nombre hostvirtual.

- Luego se recarga el servidor web con el comando:


/etc/init.d/apache2 force-reload


Aquí se ve una imagen de la consola al ejecutar los dos comandos anteriores:


- Finalmente lo que se debe hacer para que desde un navegador web como mozilla pueda ingresar al sitio al digitarle la 10.20.44.1, es asociarle a esta dirección ip un interfaz de red. Lo que se hace es asociarle la de blucle local, estableciendo la ip 10.20.44.1 como un alias de la 127.0.0.1 asi:


Con esto queda listo el hostvirtual, y en la siguiente imagen se ve funcionando:

NOTA:

El alias del local loop va a dejar de funcionar cuando se reinicie la maquina. Por eso una buena opción es copiar el comando en el archivo /etc/rc.local el cual es un script que se ejecuta siempre después de todos los scripts de inicialización del sistema, y antes de que cualquier usuario se loguee.

Servidor FTP

El servidor ftp que instale con el aptitude fue el “vsftpd”. Este servidor viene prácticamente listo para ser utilizado, sobre todo si se quiere hacerlo con la cuenta anonymus la cual viene activada por defecto. Al instalar este servidor ya queda listo y funcionando para el usuario anonymus.

Sin embargo se puede revisar el archivo de configuración del servidor que se encuentre en la ruta: /etc/vsftpd.conf

Alli se podría verificar parámetros básicos como:

anonymous_enable=YES

local_enable=YES
ftpd_banner=Bienvenido al servidor FTP de Santiago Aldana.
 

Luego de cualquier cambio en este archivo es necesario reiniciar el servidor, ingresando lo siguiente en la consola:

/etc/init.d/vsftpd restart

Aunque como ya dije con la configuración por defecto el servidor funciona correctamente según los parámetros pedidos en este trabajo.

Finalmente, la carpeta donde se deben almacenar los archivos a compartir con el servidor ftp para el usuario anonymous es la que esta en la ruta: /home/ftp

Una verificación rápida del servidor ftp se puede hacer con el mozilla, copiando en la barra de direcciones: ftp://localhost

El mozilla funciona como cliente ftp y muestra el contenido de la carpeta donde se guardan los archivos para el usuario anonymous:


Otra forma de probarlo es con el cliente ftp de Linux, como se ve en la siguiente imagen:


En el nombre de usuario se debe copiar “anonymous” y en password no se copia nada. Con el comando ls se ve la lista de archivos. Nótese que esta vez si se puede ver el mensaje de bienvenida que se configuro inicialmente con el parámetro ftpd_banner.

contador