Sei sulla pagina 1di 40

LAURA CONCEPCIN RODRGUEZ 5 I I ASO

INTRODUCCIN.................................................................................................................................................4 SERVIDOR WEB APACHE................................................................................................................................5 FICHERO DE CONFIGURACIN : HTTPD.CONF................................................................................................................5 Opciones del fichero de configuracin:........................................................................................................6
MaxClients n..........................................................................................................................................................6 Port n......................................................................................................................................................................6 User nobody & Group nobody................................................................................................................................6 DocumentRoot directorio........................................................................................................................................6 UserDir disabled/enabled usuario............................................................................................................................6 TimeOut seg............................................................................................................................................................7 DirectoryIndex index.html......................................................................................................................................7 ServerName dns:puerto: .........................................................................................................................................7 FollowSymLinks.....................................................................................................................................................7 IncludesNoExec.......................................................................................................................................................7

FICHEROS DE CONFIGURACIN DISTRIBUIDOS : HTACSESS.CONF........................................................................................7 AUTENTIFICACIN...................................................................................................................................................8 Limitar el acceso de un usuario a un directorio...........................................................................................8 OPCIN -C PARA CREAR UN NUEVO ARCHIVO DE PASSWORDS..........................................................................................9 OPCIN -B PARA SUMINISTRAR EL PASSWORD EN LA LNEA DE LA ORDEN (MODO BATCH). SI NO SE INDICA ESTA OPCIN, SE
SOLICITA EL PASSWORD A CONTINUACIN.....................................................................................................................9 HTTPASSWD -C -B

{PATH}/PASSWORDS USUARIO CONTRASEA........................................................................................9

Limitando el acceso dependiendo del mtodo HTTP utilizado...................................................................10 Autentificacin de grupos............................................................................................................................10 Un nico administrador?..........................................................................................................................11 RESTRINGIR EL ACCESO A UNA MQUINA, RED, DOMINIO, ETC.......................................................................................12 FICHEROS LOGS.....................................................................................................................................................13 Registro de Errores (Error Log).................................................................................................................13 Registro de Acceso (Access Log).................................................................................................................14 APACHE Y SSL....................................................................................................................................................15 Certificados digitales y firmas....................................................................................................................15 Instalar SSL.................................................................................................................................................15 Crear un certificado....................................................................................................................................15 Configurar el Apache para SSL..................................................................................................................16 SEGURIDAD EN FTP- VSFTPD......................................................................................................................17 FICHERO DE CONFIGURACIN /ETC/VSFTPD/VSFTPD.CONF..............................................................................................17
Pancarta de saludo..................................................................................................................................................17

Acceso de usuarios annimos.................................................................................................................................17 Acceso a directorios...............................................................................................................................................17 Cuentas de usuarios................................................................................................................................................17 Restringir cuentas de usuarios................................................................................................................................18 Limitar el nmero mximo de clientes...................................................................................................................18 Escritura en el servidor..........................................................................................................................................18 Conexiones utilizando SSL....................................................................................................................................18 Listar directorios....................................................................................................................................................19 Descarga de ficheros..............................................................................................................................................19 Listar los comandos que acepta el servidor............................................................................................................19

SERVIDOR DE CORREO POSTFIX............................................................................................................20 INSTALACIN........................................................................................................................................................20 FICHERO DE CONFIGURACIN /ETC/POSTFIX/MAIN.CF...................................................................................................20


Privilegios..............................................................................................................................................................20 Acceso de mquinas...............................................................................................................................................20 Indicar el tamao mximo de un mensaje...............................................................................................................21 Indicar el tamao mximo del buzn......................................................................................................................21 Para especificar las mquinas destino.....................................................................................................................21 Notificar incidencias automticamente...................................................................................................................21 Rechazar conexiones .............................................................................................................................................22 Sesiones con directiva HELO EHLO.....................................................................................................................22 Filtrado por cabeceras............................................................................................................................................23 Filtrado por contenidos...........................................................................................................................................23

ANEXO ...............................................................................................................................................................25 20 COSAS PARA HACER MAS SEGURA LA CONFIGURACIN APCHE..................................................................................25 RESUMEN DE OPCIONES DE CONFIGURACIN FTP.........................................................................................................31 EJEMPLO DE FICHERO DE CONFIGURACIN POSFIX.......................................................................................................33 BIBLIOGRAFA.................................................................................................................................................40

Introduccin
En este la siguiente documentacin se introduce al lector en la seguirdad de servidores web (Apache), y en los servicios ftp y smtp. Cuando un sistema es usado como un servidor en una red pblica, se convierte en un objetivo para ataques. Por esta razn, es de suma importancia para el administrador fortalecer el sistema y bloquear servicios. Independientemente de la seguridad a problemas particulares, es de vital importancia revisar algunas opciones generales para mejorar la seguridad en el servido. Estas soluciones son bsicamente mantener los servicios actualizados para as protegerse de las ltimas amenzas, utilizar siempre protocolos seguros siempre que sea posible, proporcionar slo un tipo de servicio de red por mquina en la medida de nuestras posibilidades y supervisar todos los servidores cuidadosamente por actividad sospechosa.

Servidor web Apache


El Servidor Apache HTTP es uno de los paquetes de software libre ms famosos debido a que es rpido, estable y seguro y existe una cantidad impresionante de opciones y tcnicas disponibles para asegurar el Servidor Apache http, aunque nosotros veremos las ms generales.

Fichero de configuracin : Httpd.conf


El fichero httpd.conf es el fichero base de la configuaracin de la instalacin Apache. Dependiendo de las distribuciones su localizacin puede ser diferente, pero si tienes instalado el paquete Apache, lo puedes encontrar en tu sistema con el siguiente comando: # Locate hhtpd.conf Apache es iniciado por el root, pero posteriormente el usuario efectivo pasa a ser el definido en la directiva User. Los archivos relativos al servidor no deben ser editables por otros usuarios que no sean el root. La estructura de directorios bajo la que se encuentran los archivos debe tener permisos de escritura nicamente para root. Si vamos a instalar el servidor en /usr/local/apache2: #mkdir /usr/local/apache2 #cd /usr/local/apache2 #chown 0 . bin conf logs #chgwp 0 . bin con f logs #chmod 755 . bin conf logs Se asume que nicamente root tiene permiso de escritura en /, /usr y /usr/local. El ejecutable que arranca el servidor, httpd, debe estar protegido de una forma similar: cp httpd /usr/local/apache2/bin chown 0 /usr/local/apache2/bin/httpd chgrp 0 /usr/local/apache2/bin/httpd chmod 511 /usr/local/apache2/bin/httpd Puede crearse un subdirectorio denominado htdocs que sea modificable por otros usuarios, ya que root nunca ejecutar, ni deber intentar crear archivos all. Si se permite que usuarios diferentes de root puedan modificar cualquier archivo que el propio root ejecuta o escribir en ellos, entonces el sistema se expone a quedar

desprotegido. Por ejemplo, alguien podra remplazar el httpd binario para que la prxima vez que se inicie ejecute un cdigo arbitrario. Si el directorio donde se guardan los ficheros log o de eventos es modificable por otros distintos a root, alguien podra remplazar un fichero log por un enlace simblico a cualquier otro archivo de sistema, y entonces root podra sobrescribir ese fichero con datos arbitrarios. Si otros usuarios fuera de root pueden modificar ficheros log, se posibilita entonces la sobrescritura del propio log con datos falsos.

Opciones del fichero de configuracin:


MaxClients n Esta directiva especifica el nmero mximo de conecciones que pueden ser establecidas en un momento determinado. N especifica el nemero de conexiones. Si el nmero de conexiones es excedido los usuarios que pertenecen a las conexiones adicionales, recibirn un mensaje de error. Segn la documentacin, para un Pentium con 32-64 megabytes de memoria el nmero aceptable es entre 50 y 150 conexiones. Port n Lo habitual es que el puerto de acceso a un servicio http sea el 80, pero si no quieres que tu servidor web est accesible por cualquier persona, se puede especificar un puerto alternativo. Ojo!, asegrate de que no utilizas un puerto ya en uso /etc/services. User nobody & Group nobody Estas directivas son muy importantes, y ellas representan el usuario y el grupo propietario bajo el cual el proceso httpd correr. DocumentRoot directorio Especifica el directorio raiz desde el cual Apache ofrecer las pginas html para usuarios del exterior y es necesario que este direcotrio est creado explcitamente para albergar las pginas web y que el usuario y grupo propietario sea el especificado con las directivas anteriormente comentadas. Por ejemplo DocumentRoot /public/www UserDir disabled/enabled usuario La directiva UserDir es conveniente desactivarla por defecto porque puede confirmar la presencia de una cuenta de usuario en el sistema. Si desea activar la navegacin del directorio del usuario en el servidor, utilice las directivas siguientes: UserDir enabled

UserDir disabled root Estas directivas activan la navegacin del directorio del usuario para todos los directorios de usuarios excepto /root. Si desea aadir usuarios a la lista de cuentas deshabilitadas, aada una lista de usuarios delimitada por espacios en la lnea UserDir disabled TimeOut seg Tiempo mximo para una conexin activa, evita bloqueos DirectoryIndex index.html Si no existe la pgina de inicio indicada por defecto se mostrar el contenido del directorio y eso es peligroso. ServerName dns:puerto: No especificar el nombre de la mquina donde est el servidor para evitar dar ms informacin de la necesaria al exterior. FollowSymLinks Esta directiva est activada por defecto, por lo tanto tenga cuidado al crear enlaces simblicos al documento raz del servidor Web. Por ejemplo, es una mala idea proporcionar un enlace simblico a /. IncludesNoExec Por defecto, el servidor contiene mdulos que no pueden ejecutar comandos. No se recomienda modificar esta configuracin a menos que tenga la necesidad real de hacerlo, puesto que potencialmente habilita a que un atacante pueda ejecutar comandos en el sistema.

Ficheros de configuracin distribuidos : htacsess.conf


El servidor Apache permite el uso de los llamados distributed configuration files, osea ficheros de configuracin distribuidos. Estos permiten personalizar el funcionamiento del servidor en un directorio concreto sin necesidad de modificar el fichero de configuracin principal de Apache, el httpd.conf. Los archivos .htaccess proporcionan una forma de realizar un cambio en la configuracin basada en directorios. Un archivo .htaccess con directivas de configuracin se sita en un directorio, de modo que esas directivas se aplican a ese directorio y a sus subdirectorios. Los archivos .htaccess pueden anular las precauciones tomadas en la

configuracin de httpd.conf. Para evitar esto hacemos, en httpd.conf: <Directory /> AllowOverride None </Directory> Si se necesitan sobreescrituras, hay que asegurarse que no puedan ser descargadas o simplemente le modificamos el nombre a algn otro que no sea htaccess. Por ejemplo, lo podramos cambiar por .httpdoverride y bloquear la descarga de todos los archivos que comiencen con .ht de la siguiente forma: <Directory directorio > AccessFileName .httpdoverride Order allow,deny Deny from all Satisfy All </Directory>

Autentificacin
Limitar el acceso de un usuario a un directorio
Lo primero pensar que directorio vamos a usar, por ejemplo /var/www/pruebas. Una vez tengamos decidido que directorio editamos /etc/apache/http.conf y aadimos esto al final por ejemplo: <Directory /var/www/pruebas> AllowOverride All </Directory> Muy bien una vez tengamos esto, nos dirigimos a ese directorio cd /var/www/pruebas Ahora lo primero tenemos que crear el archivo de password de la gente que se puede autentificar en este directorio. Para ello usaremos este comando con las siguientes opciones y sintaxis:

Opcin -c para crear un nuevo archivo de passwords. Opcin -b para suministrar el password en la lnea de la orden (modo batch). Si no se indica esta opcin, se solicita el password a continuacin. httpasswd -c -b {path}/passwords usuario contrasea

En nuestro ejemplos sera: htpasswd -c /var/www/pruebas/.htpasswd nombre_de_usuario Esto creara un directorio con un contenido parecido a este user:QDD6nJvzHZzeM El -c es para que cree un archivo de passwords nuevo, si queremos aadir usuarios a ese archivo debemos omitirle. Una vez tengamos los passwords crearemos el archivo /var/www/pruebas/.htaccess y aadimos algo tal que as AuthName "Autorizacin requerida" AuthType Basic AuthUserFile /var/www/pruebas/.htpasswd require valid-user La sentencia AuthType Basic indica el mtodo de autentificacin que deseamos usar. En nuestro caso el mtodo de autentificacin bsico. AuthUserFile debe indicar la ubicacin completa del fichero que contiene los datos de los usuarios (nombre de usuario y contrasea). No es vlido indicar una ubicacin relativa. El fichero que contiene los datos de autentificacin de los usuarios, aunque habitualmente se le llame .htpasswd, puedes usar cualquier nombre. AuthName indica el nombre que deseas darle al recurso. Este nombre aparecer en la ventanita de autentificacin donde el usuario tiene que introducir su nombre de usuario y contrasea, por lo que es recomendable darle un nombre descriptivo. La sentencia Require valid-user indica que se limitar todo acceso ya sea de tipo GET, POST o HEAD y que solo se permitir el acceso a los usuarios que aparezcan en el fichero .htpasswd.

Una vez echo esto le damos los permisos correspondientes al directorio /var/www/pruebas y a sus archivos. Pues bien, solo nos queda reiniciar el apache y probamos nuestro engendro.

Limitando el acceso dependiendo del mtodo HTTP utilizado


Si solo deseas limitar el acceso POST, de forma que cualquiera pueda ver los contenidos del directorio /var/www/dir, pero solo los usuarios que aparezcan en .htpasswd puedan enviar peticiones de tipo POST usa la siguiente configuracin: AuthType Basic AuthName Directorio Protegido AuthUserFile /var/www/dir/.htpasswd <Limit POST> require valid-user </Limit>

Esto podra ser til, si por ejemplo, el el directorio en cuestin tienes algn formulario para subir ficheros al servidor. Usando la configuracin sugerida, solos los usuarios autentificados podran hacerlo.

Autentificacin de grupos
Supongamos que disponemos de algunos documentos ultra secretos que solo el grupo de administradores puede ver. Siempre podras crear un nuevo directorio donde ubicar estos documentos y duplicar el procedimiento descrito anteriormente. Esto supondra la necesidad de mantener varios ficheros .htpasswd, lo cual resultara bastante incomodo. Por esto existe una forma alternativa y mucho ms sencilla. Suponiendo que nuestro nuevo directorio ultra secreto es /var/www/dir/secreto, creamos un .htaccess con el siguiente contenido y lo ubicamos en el nuevo directorio: AuthType Basic AuthName Directorio secreto

AuthUserFile /var/www/dir/.htpasswd AuthGroupFile /var/www/dir/secreto/.htgroup require group administradores

Como puedes ver, en AuthUserFile se indica el mismo fichero .htpasswd, no es necesario crear uno adicional. AuthGroupFile indica la ubicacin completa del fichero que relaciona los grupos y los usuarios pertenecientes a cada grupo. El fichero AuthGroupFile se edita manualmente, usando tu editor de texto preferido, y su formato es el siguiente: nombre_del_grupo: usuario1 usuario2 usuario3

Es decir, que suponiendo un grupo administradores y que solos los usuarios pepito y jaimito pertenecen al mismo, nuestro fichero .htgroup tendra el siguiente aspecto: administradores: pepito jaimito lola juanmi pedrito

La sentencia require group administradores permitira el acceso nicamente a los usuarios que pertenezcan al grupo administradores y que se autentifiquen correctamente segn los datos del fichero .htpasswd.

Un nico administrador?
Continuando con lo anterior... y si nicamente el usuario pepito fuera administrador? En vez de crear el fichero .htgroup indicando que pepito pertenece al grupo administradores e incluir la directiva AuthGroupFile en nuestro fichero .htaccess, crearamos un .htaccess con el siguiente contenido: AuthType Basic AuthName Directorio Protegido

AuthUserFile /var/www/dir/.htpasswd require user pepito

De esta forma, solo pepito podra acceder a nuestro directorio ultra secreto. Si en algn momento decidisemos dar acceso al usuario lola a nuestro directorio ultra secreto, solo tendramos que modificar el fichero .htaccess anterior de la siguiente forma: AuthType Basic AuthName Directorio Protegido AuthUserFile /var/www/dir/.htpasswd require user pepito lola

Restringir el acceso a una mquina, red, dominio, etc


El mdulo de control de acceso de apache permite controlar el acceso a los diferentes directorios y ficheros del servidor dependiendo del nombre de la mquina o direccin IP del cliente. Las directivas que proporciona este mdulo se pueden utilizar dentro de los elementos , y del fichero de configuracin httpd.conf, o bien dentro de ficheros .htaccess ubicados dentro de las carpetas. Las directivas con las que cuenta el mdulo para permitir o denegar el acceso son: Allow: controla los servidores que tendrn acceso al contenido, por ejemplo:
Allow from desarrolloweb.com Allow from 192.168.0.1 Allow from 192.168 Allow from all Permite el acceso desde desarrolloweb.com Permite el acceso desde 192.168.0.1 Permite el acceso desde todas las direcciones Ip que comienzan por 192.168 Permitir todas

Deny: controla los servidores a los que se denegar el acceso, por ejemplo:
Deny from desarrolloweb.com Deny from 192.168.0.1 Deny from 192.168 Deniega el acceso desde desarrolloweb.com Deniega el acceso desde 192.168.0.1 Deniega el acceso desde todas las direcciones Ip que comienzan por 192.168

Deny from all

Denegar todas

Order: determina el orden en el que se leern los permisos, por ejemplo para leer primero los permitidos y luego los no permitidos se pondr "Allow,Deny" en este caso si un servidor esta en la lista de permitidos, y en la de denegados, el acceso al mismo ser denegado, ya que la entrada dentro de la opcin Deny sobrescribir la de la entrada Allow. Hay que tener en cuenta que el uso de order junto con Allow from all Deny from all, permite especificar configuraciones como, permitir desde una mquina x y denegar del resto, de una forma muy sencilla.

Ficheros logs
Apache tiene una alta configurabilidad en la creacin y gestin de logs. Apache permite la creacin de ficheros de log a medida del administrador, de este modo puedes tener un mayor control sobre lo que sucede en tu servidor .

Registro de Errores (Error Log)


El registro de errores del servidor, cuyo nombre y ubicacin se especifica en la directiva ErrorLog, es el ms importante de todos los registros. Apache enviar cualquier informacin de diagnstico y registrar cualquier error que encuentre al procesar peticiones al archivo de registro seleccionado. Es el primer lugar donde tiene que mirar cuando surja un problema al iniciar el servidor o durante su operacin normal, porque con frecuencia encontrar en l informacin detallada de qu ha ido mal y cmo solucionar el problema. La directiva LogLevel especifica el nivel al que se detallan los errores que se almacenan en los logs de errores. Existen los siguientes niveles:

Registro de Acceso (Access Log)


El servidor almacena en el registro de acceso informacin sobre todas las peticiones que procesa. La ubicacin del fichero de registro y el contenido que se registra se pueden modificar con la directiva CustomLog. Puede usar la directiva LogFormat para simplificar la seleccin de los contenidos que quiere que se incluyan en los registros. El formato del registro de acceso es altamente configurable. El formato se especifica usando una cadena de caracteres de formato similar a las de printf(1) en lenguaje C. Una configuracin tpica del registro de acceso podra tener un aspecto similar a este.

LogFormat "%h %l %u %t \"%r\" %>s %b" common CustomLog logs/access_log common


Con esto se define el apodo (nickname) common y se le asocia con un determinado formato. El formato consiste en una serie de directivas con tantos por ciento, cada una de las cuales le dice al servidor que registre una determinada informacin en particular. El formato tambin puede incluir caracteres literales, que se copiarn directamente en el registro. Si usa el caracter comillas (") debe anteponerle una barra invertida para evitar que sea interpretado como el final la cadena de caracteres a registrar. El formato que especifique tambin puede contener los caracteres de control especiales "\n" para salto de lnea y "\t" para tabulador. La directiva CustomLog crea un nuevo fichero de registro usando el apodo definido. El nombre del fichero de registro de acceso se asume que es relativo al valor especificado en ServerRoot a no ser que empiece por una barra (/).

Apache y SSL
Netscape desarroll el protocolo abierto no propietario llamado Secured Socket Layer (SSL) para proporcionar encriptacin de datos, autentificacin del servidor, integridad de datos y autentificacin de clientes para comunicacin basada en TCP/IP. HTTPS es la versin segura de HTTP que utiliza SSL para crear un canal de cifrado ms apropiado para el trfico de informacin sensible. Juntos Apache y mod_ssl da un sistema de seguridad con certificados digitales que te permite ofrecer conecciones a tu servidor de web en forma encodificado y seguro. mod_ssl es un modulo de Apache que da soporte al "secure sockets layer" (ssl) y "transport layer security" (tls) entre un servidor de Web y clientes (Web browsers).

Certificados digitales y firmas


En una transaccin basada en SSL, el servidor enva un certificado al sistema cliente.Las autoridades certificadoras (como VeriSign) son las que normalmente emiten los certificados.El certificado contiene la clave pblica del servidor, que se utilizar para establecer un canal de comunicacin seguro. El certificado digitalmente firmado impliqua confianza a los clientes que conecta a tu sitio que tu eres quien tu dices.

Instalar SSL
El mdulo mod_ssl provee una interfaz para OpenSSL. OpenSSL es una implementacin de cdigo abierto de los protocolos SSL v2/v3 y TLS v1 (Transport Layer Security). Para establecer SSL para apache necesitamos instalar OpenSSL en el sistema. Se puede descargar el paquete OpenSSL desde http://www.openssl.org. Para instalar este paquete solo tenemos que descomprimirlo y desempaquetarlo e instalarlo mediante las herramientas configure y make. En la instalacin de Apache se deben pasar los siguientes argumentos a configure: --with-ssl={Directorio de OpenSSL} --enable-ssl

Crear un certificado
Una vez instalado OpenSSL y Apache con el mdulo mod_ssl debemos obtener un certificado. - A travs de una CA comercial (VeriSign). - A travs de una CA privada de autocertificacin.

Para crear un certificado de prueba utilizamos la utilidad openssl. openssl req new x509 nodes out server.crt keyout server.key Una vez creado, establecemos una password para server.key. openssl rsa des3 in server.key out server.key.new mv server.key.new server.key

Configurar el Apache para SSL


Se necesitan aadir varias cosas al fichero de configuracin de Apache para conseguir que el Apache con extensiones SSL haga algo til con tus certificados. Habr que aadir algunas configuraciones globales. Creamos un servidor virtual que escuche las peticiones al puerto 443 (puerto de HTTPS por defecto). # Hay que decirle al Apache que escuche en el puerto 443 # por defecto slo escucha en el 80 Listen 443 # Aadimos el tipo MIME adecuado para el tipo de los certificados (.crt). AddType application/x-x509-ca-cert .crt #Ahora puedes crear un host virtual con SSL habilitado: <VirtualHost _default_:443> DocumentRoot "/www/privado" <Directory /> Order allow,deny Allow from all </Directory> SSLEngine on SSLCertificateFile /usr/local/apache2/conf/server.crt SSLCertificateKeyFile /usr/local/apache2/conf/server.key </VirtualHost> Y nada, se arranca el servidor con el comando /usr/local/apache2/bin/apachectl start

Seguridad en FTP- vsftpd


El Protocolo de transferencia de archivos o FTP, es un protocolo de TCP antiguo diseado para transferir archivos sobre la red. Debido a que todas las transacciones con el servidor no son encriptadas, incluyendo la autenticacin de usuarios, se considera un protocolo inseguro y debera ser configurado cuidadosamente. Red Hat Enterprise Linux proporciona tres servidores FTP. 1. gssftpd Un demonio FTP kerberizado basado en xinetd que no pasa informacin de autenticacin sobre la red. 2. Red Hat Content Accelerator (tux) Un servidor Web con espacio kernel que posee capacidades de FTP. 3. vsftpd Una implementacin de servicio FTP independiente y orientado a la seguridad. Las siguientes pautas de seguridad son para la configuracin del servicio FTP vsftpd.

Fichero de configuracin /etc/vsftpd/vsftpd.conf


Las siguientes directivas son algunas de las ms importantes Pancarta de saludo Para cambiar la pancarta de bienvenida para vsftpd, aada la directiva siguiente: ftpd_banner=<insert_greeting_here> Acceso de usuarios annimos Para impedir el acceso del usuario annimo (se permite por defecto): anonymous_enable=NO Acceso a directorios Para restringir a los usuarios a sus directorios home. Con esta opcin el usuario no puede seguir enlaces simblicos. chroot_local_user=YES Cuentas de usuarios Debido a que FTP pasa los nombres de usuarios y contraseas sobre redes inseguras sin encriptar, es una buena idea negar a los usuarios del sistema el acceso al servidor desde sus cuentas de usuario. Para inhabilitar las cuentas de usuarios en vsftpd, aada la siguiente directiva a /etc/vsftpd/vsftpd.conf:

local_enable=NO

Restringir cuentas de usuarios La forma ms fcil de restringir un grupo especfico de cuentas de usuarios, tales como el usuario root y aquellos con privilegios sudo, de acceder a un servidor FTP, es usando un archivo de lista PAM. El archivo de configuracin PAM para vsftpd es /etc/pam.d/vsftpd. Ejemplo: archivo de configuracin PAM /etc/pam.d/vsftpd auth required /lib/security/pam_listfile.so item=user \ sense=deny file=/etc/vsftpd.ftpusers onerr=succeed Esto le dice a PAM que consulte el archivo /etc/vsftpd.ftpusers y que niegue el acceso al servicio a cualquier usuario que est listado all. Tambin es posible desactivar las cuentas de usuario dentro de cada servicio directamente. Para deshabilitar una cuenta de usuario especfica en vsftpd, aada el nombre de usuario a /etc/vsftpd.ftpusers Limitar el nmero mximo de clientes. Indirectamente soporta un mximo nmero de clientes debido a que es un servicio basado en inetd. Si se utiliza xinetd, se puede establecer un lmite de conexiones por servicio y por IP. Si se ejecuta vsftpd en solitario (standalone) se puede restringir el nmero mximo de usuarios con la directiva: max_clients=nmero_mximo max_per_ip=nmero mximo. Escritura en el servidor Al instalar vsftpd, por defecto no se permite la escritura y adems ningn usaurio podr escribir en el directorio raz del servidor. Si se desea activar la escritura, es necesario incluir en el fichero de configuracin la directivas: #Permitir el modo de escritura write_enable=YES anon_upload_enable=YES

Conexiones utilizando SSL Para permitir que los usuarios annimos realicen conexiones utilizando SSL, ponemos

la siguiente derectiva a YES. Por defecto est a NO. Adems slo se aplica se est activa la ocin ssl_enable. allow_anon_ssl Listar directorios Si se pone a NO, a todos los comandos para listar el directorio se les denegar el permiso de ejecucin. Por defecto: YES dirlist_enable Descarga de ficheros Si se pone a NO, a todas las peticiones de descarga de ficheros se les denegar el permiso. Por defecto: YES download_enable Listar los comandos que acepta el servidor La siguiente opcin permite especificar una lista de comandos separados por comas, que sern los comandos FTP que se permitan utilizar (tras login, USER, PASS y QUIT, que son comandos previos al login, siempre son permitidos). Los dems comandos no sern aceptados. Ejemplo: cmds_allowed=PASV,RETR,QUIT

Servidor de Correo Postfix


Postfix es un Agente de Transporte de Correos (MTA) de cdigo abierto, un programa informtico para el enrutamiento y envio de correo electrnico, que tiene la intencin de ser una alternativa ms rpida, fcil de administrar y segura del ampliamente utilizado Sendmail. Formalmente conocido como VMailer e IBM Secure Mailer, fue originalmente escrito por Wietse Venema durante su estada en el Thomas J. Watson Research Center de IBM, y contina siendo desarrollado activamente. Postfix es el agente de transporte por omisin en diversas distribuciones de Linux y en las dos ltimas versiones del Mac OS X (Panther y Tiger).

Instalacin
Para obtener los paquetes de postfix podemos obtenerlos de la pgina de postfix http://www.postfix.eu.org/. Con la opcin make, se intalarn los paquetes una vez hayan sido descomprimidos. Es necesario desactivar el sendmail y crear los usuarios postfix y el grupo postdrop bajo el cual Postfiz corre. La cuenta postfix ser tal, que no se le permitir loguearse al sistema ni necesita un shell. Aunque lo que nos atae en este tema son la opciones de seguridad para este servidor de correo.

Fichero de configuracin /etc/postfix/main.cf


El archivo main.cf es el que tiene la mayora de la configuracin del Postfix. El mismo se 'adapta' a las necesidades de cada Servidor de Correo, siendo, por ejemplo, mas o menos restrictivo con las listas RBLs, con los filtrados de encabezados y del cuerpo del mensaje, etc. A continuacin se muestran las directivas sobre seguridad ms importantes:

Privilegios Default_privs indica los privilegios por defecto del agente de entrega de correo para ejecutar un comando o abrir un archivo. Generalmente se usa nobody ya que no se debe especificar un usuario con privilegios o el usuario postfix: default_privs = nobody Acceso de mquinas Para indicar que mquinas pueden y no (precedidas de !) enviar correo. mynetworks = 192.168.10.0/28, 127.0.0.0, !192.168.10.29

Indicar el tamao mximo de un mensaje Para indicar el tamao mximo que puede tener un mensaje. Por defecto: 10 MB. message_size_limit = tamao (en bytes) Indicar el tamao mximo del buzn Para ndicar el tamao mximo que puede tener un buzn de correo. Por defecto: 50 MB mailbox_size_limit = tamao (en bytes) Para especificar las mquinas destino Para especificar a las mquinas que se les puede enviar el correo: relay_domains = <direccin_de _mquina> Notificar incidencias automticamente Mediante la directiva notify_classes el administrador indica a Postfix qu tipo de incidencias debe notificar automticamente , mediante un mensaje al usuario Postmaster. notify_classes=<bounce, 2bounce, delay, policy, protocol, resource, software> 1. Bounce: Si un mensaje no puede ser encaminado, se enva otro mensaje al remitente y una copia al Postmater incluyendo el mensaje original. En el caso del Postmaster slo se incluyen por razones de privacidad las cabeceras. 2. 2bounce: En el caso en que la notificacin de un mensaje de error de encaminamiento genere tambin un error de encaminamiento, se enva notificacin a Postmaster. 3. Delay: Se informa a Postmaster de que hay mensajes pospuestos por problemas en su encaminamiento. 4. Policy: Se informa sobre peticiones rechazadas de entrega de mensajes. Normalmente se debe a que el interlocutor o el propio mensaje incumple la poltica definida para la aceptacin de correo. Muy til para conocer intentos fallidos de uso de la estafeta como relay. 5. Protocol: Se informa sobre incidentes de protocolo. 6. Resource: Se comunica a Postmaster que un mensaje no ha sido encaminado por problemas de recursos en el sistema. 7. Software: Se comunica a Postmaster que un mensaje no ha sido encaminado por problemas de software.

Rechazar conexiones Los siguientes ejemplos de la directiva smtpd_client_restrictions permite rechazar determinados tipos de conexiones o clientes, por ejemplo: Para rechazar las conexiones desde clientes cuya direccin IP no disponga de resolucin inversa en el DNS: smtpd_client_restrictions = reject_unknown_client Para verificar que el cliente que ha establecido la conexin SMTP o el remitente del mensaje no est inscrito en alguna de las listas negras que se designen smtpd_client_restrictions = reject_rbl_client relays.ordb.org Sesiones con directiva HELO EHLO. Dndole el valor yes a la siguiente directiva, se obliga a que el sistema remoto inicie la sesin con la directiva HELO o EHLO. Por defecto: NO. Obligar a iniciar la sesin con HELO/EHLO ya en s inutiliza algunas herramientas utilizadas para SPAM y algn que otro virus. smtpd_helo_required Para establecer criterios que permitan continuar o no con la sesin, en conjuncin don la anterior directiva podemos encontrar: smtpd_helo_restrictions Ejemplo de configuracin ms usada: smtpd_helo_restrictions reject_non_fqdn_hostname = reject_invalid_hostname reject_unknown_hostname

Las restricciones posibles son: - reject_invalid_hostname : rechaza la peticion cuando HELO es enviado con una mala sintaxis de host. Retorna el error 501 por defecto. - permit_naked_ip_address : permite que la peticion contenga un numero ip sin uso de corchetes en vez de un hostname. Desafortunadamente, muchos programas UCE funcionan con este procedimiento - reject_unknown_hostname : equivalente a reject_unknown_client reject_non_fqdn_hostname : rechaza cuando el hostname en el comando HELO no esta de la forma especificada en el RFC821 - check_helo_access maptype:mapname : exactamente igual a check_client_access - reject_maps_rbl reject_unknown_client : ya explicado - permit_mynetworks : ya explicado

- check_client_access maptype:mapname : ya explicado - permit - reject - reject_unauth_pipelining Filtrado por cabeceras Un mecanismo que proporciona Postfix, y que se est utilizando ampliamente contra la propagacin de virus, es la posibilidad de filtrar los mensajes en base a las cabeceras de los mismos y a patrones definidos mediante expresiones regulares. De esta manera, todo mensaje que contenga una cabecera que cumpla un determinado patrn ser rechazado automticamente. Suponiendo que el fichero de definicin de cabeceras est en /etc/postfix/headers_checks, para activar el filtrado por cabeceras ser necesario incluir en el fichero main.cf la siguiente directiva: header_checks = egexp:/etc/postfix/header_checks # Headers Checks # Virus: W32.SirCam [20/SEP/01] /^date:.*/i REJECT /^Content-Disposition: Multipart message/ REJECT # Virus Nimda (attach readme.exe) [20/SEP/01] /^X-Unsent: 1/ REJECT # Virus Badtrans [30/NOV/01] /^From: ".*" <_/ REJECT # Virus W32.Myparty.B@mm [29/ENE/02] /^Subject: new photos from my party!/ REJECT #Virus W32/Frethem.K/J [15/JUL/02] /^Subject: Re: Your password!/ REJECT

Filtrado por contenidos De igual manera que pueden filtrarse mensajes en base a patrones que se definen sobre las cabeceras de los mensajes, tambin se pueden definir patrones que se aplicarn al contenido de los mensajes Suponiendo que el fichero de definicin de contenidos es /etc/postfix/body_checks,

para activar el filtrado por contenidos en el mensaje ser necesario incluir en el fichero main.cf la directiva: body_checks = regexp:/etc/postfix/body_checks # Body Checks # /Accept Credit Cards/ REJECT /Nude Celebrities/ REJECT /PRODUCT or SERVICE/ REJECT /GUARANTEED!/ REJECT /Amateur Girls/ REJECT /FREE MEMBERSHIP/ REJECT /bizinfo/ REJECT Postfix puede ejecutar la mayora de sus procesos en modo chroot, es decir, los procesos slo disponen de privilegios para acceder al directorio /var/spool/postfix, y todas las referencias a ficheros se resuelven tomando este directorio como raz. No pueden ejecutarse en modo chroot el proceso local, virtual y todos los procesos pipe. Aunque este no es un mecanismo que garantice la inviolabilidad, s que representa una barrera ms, y por tanto es recomendable su adopcin en instalaciones que requieran un nivel adicional de seguridad. Dado que para cambiar a modo chroot es necesario copiar algunos ficheros, que cambiarn segn el sistema operativo que se est utilizando, Postfix proporciona en su distribucin una coleccin de scripts para realizar esta labor. A efectos de configuracin, slo es necesario modificar el fichero master.cf para indicar qu procesos deben ejecutarse en modo chroot.

Anexo 20 cosas para hacer mas segura la configuracin Apche


He aqu 20 cosas que puende hacer para hacer ms segura su configuracin de Apache. Disclaimer: El problema de la seguridad es que no hay absolutos ni garantas. Estas sugerencias harn su servidor ms cerrado, pero no creo que est necesariamente seguro luego de seguir estas sugerencias. Por otro lado, algunas de stas sugerencias podran llegar a influenciar la performance o causar inconvenientes debido al entorno. Es su responsabilidad verificar si alguno de estos cambios sugeridos no es compatible con sus necesidades. En otras palabras: proceder bajo su propio riesgo. Primero: asegurarse de tener los ltimos parches de seguridad No tiene sentido bloquear las ventanas si la puerta principal est abierta de par en par. Por lo tanto, si no se ha parchado el sistema no tiene mucho sentido continuar ms all de este punto. Agrgalo a tus favoritos para volver ms tarde, con el servidor ya parchado. Esconder el nmero de versin de Apache y otra informacin importante Muchas instalaciones de Apache por defecto le anuncian al resto del mundo la versin de Apache que se est corriendo, el sistema operativo y/o su versin e inclusive qu mdulos de Apache estn instalados en el servidor. Los atacantes pueden utilizar esta informacin para su propia ventaja al intentar atacar. Tambin hace saber que has dejado la mayora de los parmetros como venan por defecto. Hay dos directivas que necesitars agregar a tu archivo httpd.conf: ServerSignature Off ServerTokens Prod ServerSignature (la firma del servidor) aparece al final de pginas generadas por Apache como errores 404, listado de directorios, etc. ServerTokens es la que determina lo que Apache incluir en la cabecera de respuesta HTTP del servidor. El configurarla como Prod implica que enviar: Server: Apache

Si eres sper-paranoico se puede cambiar este texto a otra cosa que no sea Apache modificando el cdigo fuente, o utilizando el mdulo mod_security (ver ms adelante). Asegurarse que corre bajo su propio usuario y grupo Muchas instalaciones de Apache corren como el usuario nobody (nadie). En caso de que otra aplicacin (como un servidor de mails) est corriendo tambin como dicho usuario, cualquier ataque a travs de Apache podra comprometer tambin esta otra aplicacin, y viceversa. User apache Group apache Asegurarse que archivos fuera de la raz web no sean accesibles No queremos que Apache sea capaz de acceder a ningn archivo ms all de su raz web. Por lo que, asumiendo que todos los sitios alojados se encuentran bajo slo un directorio (al que llamaremos /web), se configurara de la siguiente forma: Order Deny,Allow Deny from all Options None AllowOverride None

Order Allow,Deny Allow from all Ntese que, al activar Options None y AllowOverride None se desactivarn todas las opciones y sobreescrituras del servidor. Lo que significa que habra que agregarlas explcitamente para todos y cada uno de los directorios que necesiten una opcin o sobreescritura. Desactivar la exploracin de directorios Se puede hacer esto con una directiva Options dentro de la etiqueta Directory. Habra que configurar Options como None -Indexes

Options -Indexes Desactivar inclusiones del lado del servidor Esto tambin se logra mediante el parmetro Options de la etiqueta Directory. Habra que configurar Options a None -Includes. Options -Includes Desactivar ejecucin CGI Si no se est utilizando CGI, se lo desactiva tambin mediante el parmetro Options. Habra que configurarlo a None o -ExecCGI. Options -ExecCGI No permitirle a Apache utilizar enlaces simblicos Con el parmetro Options dentro de la etiqueta Directory. Habra que configurarlo a None -FollowSymLinks Options -FollowSymLinks Desactivando varias opciones Si se quieren desactivar todas las opcines se utiliza: Options None Si slo se quieren desactivar unas pocas, se las separa con espacios en el parmetro Options: Options -ExecCGI -FollowSymLinks -Indexes Desactivar el soporte para archivos .htaccess Esto se realiza mediante la etiqueta Directory, pero con el parmetro AlowOverride a None. AllowOverride None

Si se necesitan sobreescrituras, hay que asegurarse que no puedan ser descargadas o simplemente le modificamos el nombre a algn otro que no sea htaccess. Por ejemplo, lo podramos cambiar por .httpdoverride y bloquear la descarga de todos los archivos que comiencen con .ht de la siguiente forma: AccessFileName .httpdoverride Order allow,deny Deny from all Satisfy All Utilizar mod_security mod_security es un mdulo de Apache muy til escrito por Ivan Ristic, el autor de Apache Security de OReilly Press. Con l podrs hacer lo siguiente: * Filtrado simple * Filtrado basado en expresiones regulares * Validacin de codificacin Unicode de URLs * Auditoras * Prevencin de ataques por byte nulo * Lmites de memoria para escritura de informacin * Enmascaramiento de identidad del servidor * Soporte para chroot includo * Y ms

Desactivar los mdulos no necesarios Apache incluye varios mdulos instalados por defecto. Revisa la documentacin de los mdulos de Apache y aprende qu es lo que realmente hace cada uno de los mdulos activos. Muchas veces encontrars que no necesitars algunos de ellos. Busca las lneas del archivo httpd.conf que contengan LoadModule. Para desactivar el mdulo, tpicamente agregaras # al principio de la lnea. Para buscar los mdulos, puedes ejecutar: grep LoadModule httpd.conf

He aqu algunos mdulos comnmente activos pero frecuentemente innecesarios: mod_imap, mod_include, mod_info, mod_userdir, mod_status, mod_cgi, mod_autoindex. Asegurarse que slo el sper-usuario tenga acceso a la configuracin de Apache y sus ejecutables Esto se puede hacer (asumiendo que la instalacin de Apache se ecuentre en /usr/local/apache) de la siguiente forma: chown -R root:root /usr/local/apache chmod -R o-rwx /usr/local/apache Disminuir el valor de Timeout Por defecto, el valor del parmetro Timeout es de 300 segundos. Se puede disminuirlo para reducir los posibles efectos de un ataque de denegacin de servicio. Timeout 45 Limitar grandes pedidos Apache tiene varios parmetros que permiten limitar el tamao de un pedido, lo que puede ser tambin til para minimizar los efectos de un ataque de denegacin de servicio. Un buen lugar para comenzar es el parmetro LimitRequestBody que, por defecto, est configurado a ilimitado. Si se van a permitir subidas de no ms de 1Mb se lo podra configurar como: LimitRequestBody 1048576 Si no se permitirn subida de archivos se lo puede configurar an ms pequeo. Otros parmetros a controlar son LimitRequestFields, LimitRequestFieldSize y LimitRequestLine. stas estn configuradas por defecto a valores razonables en la mayora de los servidores, pero podras llegar a querer persnalizarlas a tus necesidades. En la documentacin sobre las mismas hay ms informacin que puedes consultar. Limitar el tamao de un cuerpo XML

Si se est utilizando mod_dav (tpicamente utilizado por subversion) entonces podras llegar a querer limitar el tamao mximo del cuerpo de un pedido XML. El parmetro LimitXMLRequestBody est slo disponible en Apache 2 y su valor por defecto es 1 milln de bytes (aproximadamente 1mb). Muchos tutoriales indicarn modificar este valor a 0, lo que implica que archivos de cualquier tamao podrn ser subidos, lo que puede ser necesario si se est utilizando WebDAV para subir grandes archivos, pero si slamente se lo est utilizando para control de versiones, probablemente un lmite de 10Mb ser suficiente. LimitXMLRequestBody 10485760 Limitar la concurrencia Apache posee varios parmetros de configuracn que pueden ser utilizados para ajustar el manejo de pedidos simultneos. MaxClients es el mximo nmero de procesos que sern creados para atender pedidos. El valor por defecto puede ser demasiado alto si el servidor no tiene memoria suficiente para manejar un alto nmero de pedidos concurrentes. Otros parmetros como MaxSpareServers, MaxRequestsPerChild y, en Apache 2, ThreadsPerChild, ServerLimit y MaxSpareThreads son importantes para ajustar la configuracin al sistema operativo y hardware. Restringir el acceso por IP Si se posee un recurso que slo debera de ser accesible para una red o IPs determinada se puede asegurar esto en la configuracin de Apache. Por ejemplo, si se quiere restringir el acceso a la red interna slo para la red 176.16: Order Deny,Allow Deny from all Allow from 176.16.0.0/16 O por IP: Order Deny,Allow Deny from all Allow from 127.0.0.1

Ajustar configuracin de vida de conexin (KeepAlive) Segn la documentacin de Apache, el utilizar HTTP KeepAlives puede mejorar la performance de los clientes hasta en un 50%, por lo que hay que tener cuidado al modificar estos parmetros, se estar intercambiando performance por una pequea denegacin de servicio. La persistencia de las conexiones est activada por defecto y se la debera mantener activada. Sin embargo, se podra considerar el cambio del parmetro MaxKeepAliveRequests (100 por defecto) y KeepAliveTimeout (15 por defecto). El analizar los archivos de log ayudan a determinar los valores apropiados. Ejecutar apache en un entorno chroot chroot permite ejecutar un programa en su propia jaula completamente aislada. Esto previene que una ruptura en un servicio afecte cualquier otra cosa en el servidor. Esto puede ser relativamente complicado de configurar en chroot debido a dependecias de libreras. Se mencion antes que el mdulo mod_security posee soporte para chroot. Esto hace el proceso tan simple como agregar una directiva a la configuracin: SecChrootDir /chroot/apache Existen algunos inconvenientes sin embargo, es recomendable revisar la documentacin para ms informacin. Crditos Encontr al libro Apache Security como un recurso muy valioso para asegurar un servidor web Apache. Algunas de las sugerencias anteriores fueron inspiradas por ese libro.

Resumen de opciones de configuracin ftp


anonymous_enable, anon_upload_enable, anon_mkdir_write_enable, anon_other_write_enable. Estas opciones impiden el acceso de cualquier tipo a usuarios annimos y del sistema al servidor. listen, listen_port. Mediante estos parmetros indicamos a vsftpd que arranque en modo directo (standalone) y "escuche" en el puerto indicado.

local_enable. Con esta opcin permitiremos que los usuarios locales puedan hacer login en el servidor. Esto nos servir para tener un usuario virtual que pueda autenticarse. max_clients, max_per_ip. Estas opciones nos servirn para establecer el nmero mximo de clientes, totales y por direccin IP. pam_service_name. Se iguala al nombre con el que hemos guardado nuestro fichero de configuracin de PAM dentro de /etc/pam.d . guest_enable. Igualado a YES, permite el login de usuarios virtuales. guest_username. Si se incluye, este parmetro ha de igualarse a un nombre de usuario real hacia el cual se mapearn todos los usuarios virtuales creados. Al crear el usuario, tendremos que igualar su directorio personal (home) al directorio por defecto que queramos usar como contenedor de archivos. Por ejemplo, para crear un usuario llamado virtual con un directorio en /var/ftp/pub, teclearamos en la consola lo siguiente (El directorio /var/ftp/pub ya est creado en algunas distribuciones, as que tendremos que cambiarlo de propietario con el comando chown): # useradd -d /var/ftp/pub virtual virtual_use_local_privs. Igualar este parmetro a YES supone indicar que los usuarios virtuales tendrn los mismos privilegios que los usuarios locales. user_config_dir. Igualaremos este parmetro al directorio que contendr los permisos de cada usuario en un fichero por separado. El formato de cada fichero ser el de un fichero de texto plano que contendr, de todos los parmetros de vsftpd a nuestra disposicin, slo aquellos que queramos que sean aplicados al usuario en concreto. Por ejemplo, dado el fichero /etc/vsftpd/users/user_001 correspondiente a la configuracin de user_001, escribiremos las lneas siguientes, donde extendemos los permisos bsicos, permitimos la escritura y la subida de archivos y establecemos la raz a partir de la cul tendr acceso dicho usuario: dirlist_enable=YES download_enable=YES local_root=/var/ftp/pub/user_001 write_enable=YES anon_upload_enable=YES virtual_use_local_privs=YES chroot_local_user. Esta opcin se iguala a YES para "enjaular" a los usuarios locales en sus respectivos directorios. El usuario "enjaulado" no podr acceder a nada que est por encima de su directorio principal. En nuestro ejemplo, el directorio personal del usuario virtual es /var/ftp/pub por lo que colgaremos de esa ruta todos los

directorios de usuarios virtuales que queramos, ya que no tendrn acceso a ninguna otra parte del disco, ni tan siquiera mediante el uso de enlaces simblicos. local_umask. Con esta opcin establecemos el valor de umask de los ficheros que se creen mediante el servidor de ftp. Si no utilizamos el parmetro, su valor por defecto ser 077. xferlog_enable, xferlog_file. Estas opciones activan el log del servidor y lo establecen a un archivo determinado. idle_session_timeout, data_connection_timeout. Con estas opciones establecemos los tiempos de conexin sin actividad y con ella, respectivamente. Los valores por defecto si no se especifica nada, son de 300 en ambos casos. ftpd_banner. Mediante esta opcin estableceremos un saludo del servidor cuando se produzca una conexin al mismo.

Ejemplo de fichero de configuracin posfix


# config file works with postfix-2.0.0-20030101.tar.gz # and recent versions around there. NOT with "release", # only with the "experimental" snapshots. # # IMGate BASIC configuration file # Copyright 2003, Len Conrad ( LConrad@Go2France.com) # # Cuando se lista un "parmetro =" en mltiples lneas, NO lo # comenten con un "#" en el medio, ya que truncar la lista en ese punto. # #always_bcc = harvest-headers@$myhostname queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix mail_owner = postfix

# IMGate: completen los ***** con sus datos respectivos

# sugerencia: mx1.midominio.com myhostname = *****

# midominio.com mydomain = *****

myorigin = $myhostname append_at_myorigin = yes mydestination = $myhostname, localhost.$mydomain

# IMGate: agreguen sus redes ip ac, con el formato "a.b.c.d/n," # una por lnea, comenzando con un espacio o TAB en la primer # columna, y una ',' ( coma ) al final de cada lnea, excepto la ltima # mynetworks = 127.0.0.0/8, *****, *****

transport_maps = hash:/etc/postfix/transport.map relay_domains = $mynetworks, hash:/etc/postfix/transport.map alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases

smtpd_recipient_restrictions = reject_unauth_pipelining, reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_recipient_domain, hash:/etc/postfix/to_recipients_bw.map, reject_unknown_sender_domain, permit_mynetworks, reject_unauth_destination, check_client_access hash:/etc/postfix/mta_clients_bw.map, check_sender_access regexp:/etc/postfix/from_senders.regexp, check_sender_access hash:/etc/postfix/from_senders_bw.map, check_helo_access hash:/etc/postfix/helo_hostnames.map, check_sender_access hash:/etc/postfix/from_senders_slet.map, check_sender_access hash:/etc/postfix/from_senders_clueless.map, check_sender_access hash:/etc/postfix/from_senders_bogus.map, check_sender_access hash:/etc/postfix/from_senders_mybogus.map, reject_rbl_client blackholes.wirehub.net, reject_rbl_client bl.spamcop.net, reject_rbl_client list.dsbl.org,

reject_rbl_client dnsbl.njabl.org, reject_rbl_client relays.ordb.org, reject_rbl_client dynablock.wirehub.net, reject_rbl_client proxies.relays.monkeys.com, reject_rbl_client dialups.relays.osirusoft.com, reject_rbl_client spamhaus.relays.osirusoft.com, reject_rbl_client orbs.dorkslayers.com, reject_rbl_client socks.relays.osirusoft.com, reject_rbl_client inputs.relays.osirusoft.com, reject_rbl_client relays.visi.com, reject_rbl_client opm.blitzed.org, reject_unverified_sender, permit

header_checks = pcre:/etc/postfix/header_checks.regexp #header_checks = regexp:/etc/postfix/header_checks.regexp si no compilamos Postfix con PCRE body_checks = pcre:/etc/postfix/body_checks.regexp #body_checks = regexp:/etc/postfix/body_checks.regexp

smtpd_helo_required = yes strict_rfc821_envelopes = yes

# IMGate: Modifique el anuncio acorde a sus preferencias

smtpd_banner = $myhostname - ESMTP - $mail_name - Attn: el correo SPAM no se permite y ser castigado.

notify_classes = resource, software, bounce, 2bounce, delay, policy, protocol

double_bounce_sender = double-bounce

# # IMGate: Reemplazar ***** con la direccin de email correspondiente, como mx1admin@midominio.com. # bounce_notice_recipient = ***** delay_notice_recipient = ***** error_notice_recipient = *****

empty_address_recipient = MAILER-DAEMON

local_destination_concurrency_limit = 2 default_destination_concurrency_limit = 100 default_destination_recipient_limit = 20

debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5

debug_peer_level = 2 readme_directory = /etc/postfix/README sample_directory = /etc/postfix/samples sendmail_path = /usr/sbin/sendmail setgid_group = postdrop manpage_directory = /usr/local/man newaliases_path = /usr/bin/newaliases mailq_path = /usr/bin/mailq

# Valores de IMGate que sobrescriben los del postfix por defecto # disable_vrfy_command = yes smtpd_helo_required = yes smtp_always_send_ehlo = yes biff = no maximal_queue_lifetime = 7200s delay_warning_time = 1 smtpd_hard_error_limit = 2 strict_rfc821_envelopes = yes

strict_7bit_headers = yes

unknown_address_reject_code = 554 unknown_client_reject_code = 554 unknown_hostname_reject_code = 554 delay_warning_time = 1

bounce_size_limit = 5000 header_size_limit = 256 message_size_limit = 5000000

ignore_mx_lookup_error = yes queue_minfree = 20480000 smtpd_timeout = 20s smtp_connect_timeout = 60s smtp_data_done_timeout = 60s smtp_data_init_timeout = 60s smtp_data_xfer_timeout = 60s smtp_helo_timeout = 60s smtp_mail_timeout = 60s smtp_quit_timeout = 60s smtp_rcpt_timeout = 60s

SAV o "sender address verification"

address_verify_map = hash:/var/log/address_verify.map address_verify_positive_expire_time = 31d address_verify_positive_refresh_time = 7d address_verify_negative_cache = yes address_verify_negative_expire_time = 3d address_verify_negative_refresh_time = 3h unverified_sender_reject_code = 554

En el ejemplo anterior hay que hacer destacar algunos detalles importantes para su compresin: - El archivo transport.map posee las IPs para las cuales se 'transporta' el correo. Este y todos los archivos '.map' deben ser luego de editados, 'postmapeados', utilizando el comando 'postmap archivo.map'. ####### transport.map ##### # midominio.com smtp:[ip.ad.re.ss]

# - La lnea relay_domains apunta tambin al transport.map, simplificando la configuracin y mantenimiento de archivos. Previamente, exista el archivo relay_domains.map. - Alias database y alias_map indican los alias de correo para utilizar como receptores de los mensajes del sistema. - Smtpd_recipient_restrictions es donde se definen las polticas Anti-SPAM, y merece un captulo aparte aqu. - Header_checks es otro de los controles Anti-SPAM y lo tenemos detallado aqu. - Body_checks es similar al anterior, y se explica aqu. - Smtpd_helo_required es para requerir HELO/EHLO en el dilogo SMTP. - Strict_rfc821_envelope es el cumplimiento estricto de la RFC 821. - Notify_classes indica cul de los mensajes de error generados por el Postfix es enviado al alias.

Bibliografa
Nociones bsicas de seguirdad en servidores ftp http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/es/security-guide/s1server-ftp.html Para instalar y concer las opciones de configuracion de un servidor ftp: http://informatica.uv.es/it3guia/AGR/apuntes/teoria/FTP.pdf. Configuracin completa de postfix http://linuxsilo.net/articles/postfix.html Pgina dedicada a la instalacin, configuracin sobre postix http://www.cotel.com.ar/postfix/maincf.htm Gua de configuracin postfix http://www.tux.cl/articulos:correo:postfix_-_guia_de_configuracion

Potrebbero piacerti anche