jueves, 4 de septiembre de 2014

Servidor Web, Correo y DNS -- Parte IV Activación Módulos de Apache


Debemos ahora activar los módulos suexec, rewrite, ssl y actions, include, dav, dav_fs y auth_digest en apache; para ello haremos uso del siguiente comando.
a2enmod suexec rewrite ssl actions include

a2enmod dav_fs dav auth_digest
Las definiciones, como de costumbre.

El módulo Suexec provee a los usuarios de apache la habilidad de correr programas CGI y SSI haciendo uso de IDs diferentes de las de aquel que hace el llamado al servidor Web.

El módulo rewrite se utiliza para reescribir URL en aire. O sea permite hacer redireccionamiento web automático, provee entonces una forma de manipular URLs haciendo uso de un ilimitado número de reglas, cada una de las cuales puede tener un ilimitado número de condiciones adicionales.

El módulo ssl provee soporte de SSL versión 2 y 3 así como también TLS versión 1.

El módulo actions permite ejecutar scripts CGI cuando se solicita un archivo con cierto contenido MIME, (Directiva de acción); igualmente permite correr scripts CGI cuando un método sea utilizado; el uso de este módulo hace mucho más fácil ejecutar scripts en momentos adecuados.

El módulo include provee un filtro que procese archivos antes de enviarlos al cliente; permite texto condicional así como también la inclusión de otros archivos o programas, así como la configuración de impresión y variables de entorno.

El módulo dav permite crear, mover, copiar y borrar recursos y colecciones de recursos de un servidor remoto.

El módulo dav_fs provee soporte al módulo dav y permite acceder a recursos localizados en el sistema de ficheros del servidor.

El módulo auth_digest provee una alternativa al módulo de autenticación básica en el cual la contraseña no es transmitida como texto simple.

Luego de haber hecho uso de esos comandos, tendremos todas las funcionalidades que necesitamos en nuestro Apache.

Para mayor información sobre los módulos de Apache pueden dirigirse a la fuente original (en inglés) http://httpd.apache.org/docs/2.2/mod/ Septiembre, 2014

Luego, debemos proceder a comentar la sección de FilesMatch y añadir la línea
AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml -
En el archivo
/etc/apache2/mods-available/suphp.conf
 Por lo tanto el archivo debe quedar como indico a continuación

    #
    #    SetHandler application/x-httpd-suphp
    #
        AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml
        suPHP_AddHandler application/x-httpd-suphp

    
        suPHP_Engine on
    

    # By default, disable suPHP for debian packaged web applications as files
    # are owned by root and cannot be executed by suPHP because of min_uid.
    
        suPHP_Engine off
    

# # Use a specific php config file (a dir which contains a php.ini file)
#       suPHP_ConfigPath /etc/php5/cgi/suphp/
# # Tells mod_suphp NOT to handle requests with the type .
#       suPHP_RemoveHandler 
Ahora, como deseamos que todos los módulos y cambios sean cargados de una vez, procederemos a reiniciar el Apache haciendo uso del siguiente comando.
 /etc/init.d/apache2 restart
Copyleft 2014 - RAITE

miércoles, 3 de septiembre de 2014

Servidor Web, Correo y DNS -- Parte III Paquetes de servidores de correo y sus adicionales


Instalaremos ahora binutils, rkhunter, postfix y dovecot.

GNU BINUTILS es una colección de herramientas de programación que hacen uso de la librería de descripción binaria de archivos para ejecutar operaciones de bajo nivel en el equipo, las binutils han sido migradas para la mayoría de las variantes de UNIX, incluso para Android y OSX.

En las Binutils se encuentran ensambladores, compiladores entre otras utilidades.

Para mayor información al respecto pueden visitar http://www.gnu.org/software/binutils/ Agosto, 2014

RKHUNTER, su nombre hace alución a Rootkit Hunter o cazador de Kits de Root. Y la información del proyecto nos indica que es un escaner que nos permite estar seguros de que nuestro sistema se encuentra lo mas limpio posible, evitando herramientas malintencionadas en el mismo. El kit permite buscar kits de root (rootkits), puertas traseras (backdoors) y exploits en nuestro sistema.
http://rkhunter.sourceforge.net/ Septiembre, 2014

Dovecot fue definido en la primera entrega de esta serie, puede verla haciendo clic aquí: http://ojedareinaldo.blogspot.com/2014/08/servidor-web-correo-y-dns-parte-i.html Agosto, 2014

Bien, ya sabemos el software instalaremos para operar con los protocolos POP3 e IMAP, sin embargo, no tenemos aún alguno para dialogar con SMTP, para ello procederemos con la instalación de postfix.

Postfix es un servidor de correo creado para ser rápido, fácil de administrar y seguro, permite de igual manera su integración con otras aplicaciones que provean filtros contra spam y virus entre otras.
He aquí la página del proyecto.
http://www.postfix.org/ Agosto 2014

Para proceder a instalar los aplicativos anteriormente mencionados debemos proceder a hacer uso del siguiente comando:
aptitude install postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve
Al terminar la descarga e instalación de paquetes, el sistema nos solicitará la siguiente información:

Tipo de configuración general? (General type of mail configuration)

Debemos seleccionar Internet Site pues nuestro correo será configurado para trabajar en la Web, no es un servidor de correo local pues.
Nombre del sistema de correo? (System mail name)
Usaremos nuestro DNS.
Debemos decirle a nuestro equipo que puertos van a someterse a TLS y SSL, esto se hace descomentando las secciones de submission y smtps en archivo /etc/postfix/master.cf con su editor favorito, en mi caso haré uso de nano.
nano /etc/postfix/master.cf
Debes dejar el archivo de la siguiente manera.
...
submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
smtps     inet  n       -       -       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING
...

Luego debemos proceder a reiniciar el Postifx haciendo uso del comando
/etc/init.d/postfix restart
Ahora debemos configurar MySQL para que escuche todas las interfaces de red, para ello abrimos el archivo /etc/mysql/my.cnf con nuestro editor favorito, en mi caso, nano.
nano /etc/mysql/my.cnf
Procederemos ahora a comentar la línea que ata MySQL con la ip local colocándole un símbolo # al inicio, de tal manera que quede así:
#bind-address           = 127.0.0.1
Como acabamos de hacer cambios a MySQL, debemos reiniciar su servicio para que el cambio tome efecto, esto lo hacemos con el siguiente comando:
/etc/init.d/mysql restart
Si queremos asegurarnos de que MySQL está escuchando conexiones por cualquier puerto de la red podemos hacer uso del siguiente comando:
netstat -tap | grep mysql
Obteniendo, entre otras cosas, una respuesta como la que sigue
tcp        0      0 *:mysql                 *:*                     LISTEN
Que nos indica que con el protocolo TCP, se está escuchando cualquier cosa que entre hacia MySQL, desde cualquier usuario; claro está que MySQL tendrá sus restricciones de acceso, sin embargo las mismas serán consideradas en él.

Ahora procederemos a instalar los paquetes que nos permitirán hacer el filtrado de spam y virus al correo, los cuales son: Amavisd-new, SpamAssassin, y Clamav.

Amavisd: es una interface de alto rendimiento que se ubica entre los MTA de correo y los filtradores de virus y spam, se comunica con MTA haciendo uso de SMTP, funciona mejor con Postfix, Courier y qmail. http://www.ijs.si/software/amavisd/ Septiembre, 2014

SpamAssasin: es un proyecto de filtro de correo electrónico para identificar Spam. Spamassassin hace uso de ina variedad de mecanismos, incluido el análisis de cabeceras y texto, filtrado "Bayesian" (un filtrado inteligente que hace uso de listado de palabras y diversas clasificaciones de texto para compararlo con el texto del correo, entre otros métodos...)
http://wiki.apache.org/spamassassin/ Septiembre, 2014

Clamav: Motor para detectar troyano, virus, malware y otras amenazas maliciosas. http://www.clamav.net/index.html Septiembre, 2014
aptitude install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-ssl-perl libnet-ident-perl zip libnet-dns-perl
ISP Config 3 hace uso de Amavisd, el cual carga los filtros de SpamAssassin internamente, de tal manera podemos detener SpamAssassin para liberar algo de RAM (esto obviamente dependerá de las especificaciones del equipo que estemos usando), si deseamos hacerlo procederemos a utilizar los siguientes comandos
/etc/init.d/spamassassin stop
update-rc.d -f spamassassin remove
Copyleft 2014 - RAITE