76
5.1.1 Servidor IMAP/IMAPS Objetivo Instalar un servidor de e-mail que soporte el protocolo IMAPS. Instalación root@server:~# aptitude install dovecot-imapd Configuración Toda la configuración está almacenada en el archivo /etc/dovecot/dovecot.conf. Luego de la instalación de dovecot, se necesita indicar cuáles son los protocoles que se pretenden activar en el archivo de configuración. En este caso, los protocolos IMAP e IMAPS: /etc/dovecot/dovecot.conf # [...] # Protocols we want to be serving: imap imaps pop3 pop3s managesieve # If you only want to use dovecot-auth, you can set this to "none". #protocols = imap imaps protocols = imap imaps # [...] El servidor de e-mail dovecot sólo acepta conexiones encriptadas vía TLS (Transport Layer Security) o SSL(Secure Sockets Layer). Ambos requieren certificados digitales. Los certificados SSL para dovecot son generados automáticamente durante la instalación. Sin embargo, podemos utilizar los Certificados ssl Auto-firmados que se generaron previamente:

Parte Dos de La Guia de Instalacion Servidor Debian

Embed Size (px)

Citation preview

Page 1: Parte Dos de La Guia de Instalacion Servidor Debian

5.1.1 Servidor IMAP/IMAPS Objetivo

Instalar un servidor de e-mail que soporte el protocolo IMAPS.

Instalación

root@server:~# aptitude install dovecot-imapd

Configuración

Toda la configuración está almacenada en el archivo /etc/dovecot/dovecot.conf.

Luego de la instalación de dovecot, se necesita indicar cuáles son los protocoles que se

pretenden activar en el archivo de configuración. En este caso, los

protocolos IMAP e IMAPS:

/etc/dovecot/dovecot.conf

# [...]

# Protocols we want to be serving: imap imaps pop3 pop3s

managesieve

# If you only want to use dovecot-auth, you can set this to "none".

#protocols = imap imaps

protocols = imap imaps

# [...]

El servidor de e-mail dovecot sólo acepta conexiones encriptadas vía TLS (Transport Layer

Security) o SSL(Secure Sockets Layer). Ambos requieren certificados digitales.

Los certificados SSL para dovecot son generados automáticamente durante la instalación.

Sin embargo, podemos utilizar los Certificados ssl Auto-firmados que se generaron

previamente:

Page 2: Parte Dos de La Guia de Instalacion Servidor Debian

/etc/dovecot/dovecot.conf

# [...]

##

## SSL settings

##

# IP or host address where to listen in for SSL connections.

Remember to also

# add imaps and/or pop3s to protocols setting. Defaults to same as

"listen"

# setting if not specified.

#ssl_listen =

# SSL/TLS support: yes, no, required. </usr/share/doc/dovecot-

common/wiki/SSL.txt>

#ssl = yes

# PEM encoded X.509 SSL/TLS certificate and private key. They're

opened before

# dropping root privileges, so keep the key file unreadable by

anyone but

# root.

#ssl_cert_file = /etc/ssl/certs/dovecot.pem

#ssl_key_file = /etc/ssl/private/dovecot.pem

Page 3: Parte Dos de La Guia de Instalacion Servidor Debian

ssl_cert_file = /etc/ssl/certs/server.crt

ssl_key_file = /etc/ssl/private/server.key.insecure

# If key file is password protected, give the password here.

Alternatively

# give it when starting dovecot with -p parameter. Since this file

is often

# world-readable, you may want to place this setting instead to a

different

# root owned 0600 file by using !include_try <path>.

#ssl_key_password =

# [...]

La localización de los buzones de correo debe indicarse también, para evitar

ambigüedades. En este caso se encuentran en un sub-directorio del directorio home de

cada usuario llamada ”Maildir”:

/etc/dovecot/dovecot.conf

# [...]

##

## Mailbox locations and namespaces

##

Page 4: Parte Dos de La Guia de Instalacion Servidor Debian

# Location for users' mailboxes. This is the same as the old

default_mail_env

# setting. The default is empty, which means that Dovecot tries to

find the

# mailboxes automatically. This won't work if the user doesn't have

any mail

# yet, so you should explicitly tell Dovecot the full location.

#

# If you're using mbox, giving a path to the INBOX file (eg.

/var/mail/%u)

# isn't enough. You'll also need to tell Dovecot where the other

mailboxes are

# kept. This is called the "root mail directory", and it must be

the first

# path given in the mail_location setting.

#

# There are a few special variables you can use, eg.:

#

# %u - username

# %n - user part in user@domain, same as %u if there's no domain

# %d - domain part in user@domain, empty if there's no domain

# %h - home directory

#

# See </usr/share/doc/dovecot-common/wiki/Variables.txt> for full

list.

# Some examples:

Page 5: Parte Dos de La Guia de Instalacion Servidor Debian

#

# mail_location = maildir:~/Maildir

# mail_location = mbox:~/mail:INBOX=/var/mail/%u

# mail_location =

mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n

#

# </usr/share/doc/dovecot-common/wiki/MailLocation.txt>

#

#mail_location =

mail_location = maildir:~/Maildir

# [...]

Las ramas del árbol Maildir debe generarse a partir del home de cada usuario. Para esto,

debe ser ejecutado el comando maildirmake.dovecot por cada usuario ya creado.

El comando más abajo muda la identidad del usuario corriente para un usuario “fribeiro” y

crea la rama Maildir en elhome del mismo usuario. Este comando debe repetirse con cada

usuario ya existente:

root@server:~# su - fribeiro -c 'maildirmake.dovecot ~/Maildir'

Esta rama también debe ser creada sobre el directorio /etc/skel. El contenido

de /etc/skelse utiliza como modelo para el directorio home de los usuarios que sean

creados en el futuro. Así, cuando se activaran nuevos usuarios, las ramas de Maildir se

generarían automáticamente:

root@server:~# maildirmake.dovecot /etc/skel/Maildir

Reiniciar el servidor:

Page 6: Parte Dos de La Guia de Instalacion Servidor Debian

root@server:~# /etc/init.d/dovecot restart

Verificación

Verificar el servicio imap para las direcciones locales:

root@server:~# telnet 127.0.0.1 imap

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE

STARTTLS AUTH=PLAIN] Dovecot ready.

a001 login fribeiro password

a001 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE

SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE

CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC

ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in

a002 examine inbox

* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)

* OK [PERMANENTFLAGS ()] Read-only mailbox.

* 0 EXISTS

* 0 RECENT

* OK [UIDVALIDITY 1291979249] UIDs valid

* OK [UIDNEXT 1] Predicted next UID

* OK [HIGHESTMODSEQ 1] Highest

a002 OK [READ-ONLY] Select completed.

a003 logout

Page 7: Parte Dos de La Guia de Instalacion Servidor Debian

* BYE Logging out

a003 OK Logout completed.

Connection closed by foreign host.

Desde otro sistema, verificar si son rechazadas las conexiones IMAP simples sim TLS por

ser consideradas inseguras, una vez se envíen las contraseñas en texto simple:

fribeiro@laptop:~$ telnet 192.168.1.100 imap

Trying 192.168.1.100...

Connected to 192.168.1.100.

Escape character is '^]'.

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE

STARTTLS LOGINDISABLED] Dovecot ready.

a001 login fribeiro password

* BAD [ALERT] Plaintext authentication not allowed without SSL/TLS, but

your client did it anyway. If anyone was listening, the password was

exposed.

a001 NO [CLIENTBUG] Plaintext authentication disallowed on non-secure

(SSL/TLS) connections.

a002 logout

* BYE Logging out

a002 OK Logout completed.

Connection closed by foreign host.

Sin embargo, las conexiones IMAPS deben ser aceptadas a partir de cualquier sistema:

fribeiro@laptop:~# openssl s_client -connect 192.168.1.100:imaps

CONNECTED(00000003)

Page 8: Parte Dos de La Guia de Instalacion Servidor Debian

depth=0 /C=PT/ST=Portugal/O=Home Lan/CN=*.home.lan

verify error:num=18:self signed certificate

verify return:1

depth=0 /C=PT/ST=Portugal/O=Home Lan/CN=*.home.lan

verify return:1

---

Certificate chain

0 s:/C=PT/ST=Portugal/O=Home Lan/CN=*.home.lan

i:/C=PT/ST=Portugal/O=Home Lan/CN=*.home.lan

---

Server certificate

-----BEGIN CERTIFICATE-----

MIICBzCCAXACCQCBpikwVIulPjANBgkqhkiG9w0BAQUFADBIMQswCQYDVQQGEwJQ

VDERMA8GA1UECBMIUG9ydHVnYWwxETAPBgNVBAoTCEhvbWUgTGFuMRMwEQYDVQQD

FAoqLmhvbWUubGFuMB4XDTEwMTEwNTEyMDkxNFoXDTExMTEwNTEyMDkxNFowSDEL

MAkGA1UEBhMCUFQxETAPBgNVBAgTCFBvcnR1Z2FsMREwDwYDVQQKEwhIb21lIExh

bjETMBEGA1UEAxQKKi5ob21lLmxhbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkC

gYEAwvRP1cWKzoUPPtSUVK+G/HFgaoToc50Ir3gmBbhlycXPJvRbVwfF2+wBXdoS

pNzJdmi6iA0cwaiy2BiUpH4WCk+nZGrGyJDUafxOdaUt8G/64lmSeUedBf3sSoQ6

9iR+fq85uTCJkbe2ZXgkfYZ/djnnkX9BnA7fD7szWbv6StMCAwEAATANBgkqhkiG

9w0BAQUFAAOBgQCLnbmCLs8jwnwG8zL1a8BWxarjitmLbqwXgo+qXtzu0qeFrZJ2

f42bk9M3I83SeQUKTGvK9Mj7CXmorKEsDv18F6rzQO9x2UInrwXYN9BcMVg5YHsf

Page 9: Parte Dos de La Guia de Instalacion Servidor Debian

HQkwhzgWXZNWJT0drFgNKsugvug7dE1UWVFJgafXwACQIFOaLkqpLdznDw==

-----END CERTIFICATE-----

subject=/C=PT/ST=Portugal/O=Home Lan/CN=*.home.lan

issuer=/C=PT/ST=Portugal/O=Home Lan/CN=*.home.lan

---

No client certificate CA names sent

---

SSL handshake has read 1094 bytes and written 319 bytes

---

New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA

Server public key is 1024 bit

Secure Renegotiation IS supported

Compression: NONE

Expansion: NONE

SSL-Session:

Protocol : TLSv1

Cipher : DHE-RSA-AES256-SHA

Session-ID:

CF0CD4E5B509B27A41516D693EE5C8BF874FD19444FF2D28F5EAB078A5038324

Session-ID-ctx:

Master-Key:

98478963F48B5C45438DE5312A266B9C3E23BF0FC1E75CEF7FC633B363CE131266BAB1751

3E1357AB3074900F5D057CC

Key-Arg : None

Page 10: Parte Dos de La Guia de Instalacion Servidor Debian

Start Time: 1291980431

Timeout : 300 (sec)

Verify return code: 18 (self signed certificate)

---

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE

AUTH=PLAIN] Dovecot ready.

a001 login fribeiro password

a001 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE

SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE

CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC

ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in

a002 examine inbox

* FLAGS (\Answered \Flagged \Deleted \Seen \Draft)

* OK [PERMANENTFLAGS ()] Read-only mailbox.

* 0 EXISTS

* 0 RECENT

* OK [UIDVALIDITY 1291979249] UIDs valid

* OK [UIDNEXT 1] Predicted next UID

* OK [HIGHESTMODSEQ 1] Highest

a002 OK [READ-ONLY] Select completed.

a003 logout

* BYE Logging out

a003 OK Logout completed.

closed

Page 11: Parte Dos de La Guia de Instalacion Servidor Debian

Configuración de los clientes

Como verificación final, puede crearse una cuenta en un cliente de e-mail,

como Thunderbird: Para esto, debe seleccionarse el protocolo IMAP, la conexión

requiere TLS (puerto 143) o SSL (puerto 993) y la dirección será la del servidor

(192.168.1.100 o mail.home.lan, en caso de que haya configurado previamente

un Servidor DNS para la red local).

Si se configuró el acceso sin TLS o SSL, el acceso será negado:

Page 12: Parte Dos de La Guia de Instalacion Servidor Debian

Certificados auto-firmados

Dado que los certificados son auto-firmados, en los clientes e-mail aparecerá una ventana

donde consta que no conocen la autoridad del certificado.

Una verificación debe indicar que el certificado utilizado es realmente el que queremos

usar:

Page 13: Parte Dos de La Guia de Instalacion Servidor Debian

Una vez verificado el certificado, este podrá ser añadido a la lista de excepciones de

seguridad.

5.1.2 Quotas Objetivo

Establecer un límite a la capacidad de almacenamiento de e-mails en el servidor IMAP.

A partir de las especificaciones de nuestro servidor, el sistema de cuotas será

implementado teniendo el cuenta lo siguiente: # 1. Como nuestro servidor sólo dispone del

protocolo imap, 1. sólo debe activarse el sistema de cuotas asociado a este protocolo. Sin

embargo, dovecot también soporta cuotas en el protocolo pop3. # 2. El límite de la cuota

tendrá como base el espacio disponible en el disco. Sin embargo, el sistema de cuotas

de dovecot 2. acepta como límites una cantidad de mensajes. # 3. La limitación se aplica a

todos los usuarios por igual, aunque dovecotsoporta la definición de cuotas por usuario.

Page 14: Parte Dos de La Guia de Instalacion Servidor Debian

Configuración

El sistema de cuotas en dovecot se realiza con plugins. Basta con activar esos plugins y

configurar sus opciones.

Son necesarios 2 plugins: # quota: 1. se encarga de todo el sistema de gestión de cuotas;

# imap_quota: 2. reporta información sobre las cuotas, usando el protocolo imap.

Toda la configuración se efectúa en el archivo de configuración/etc/dovecot/dovecot.conf:

/etc/dovecot/dovecot.conf

# [...]

##

## IMAP specific settings

##

protocol imap {

# Login executable location.

#login_executable = /usr/lib/dovecot/imap-login

# IMAP executable location. Changing this allows you to execute

other

# binaries before the imap process is executed.

#

# This would write rawlogs into user's ~/dovecot.rawlog/, if it

exists:

# mail_executable = /usr/lib/dovecot/rawlog

/usr/lib/dovecot/imap

Page 15: Parte Dos de La Guia de Instalacion Servidor Debian

# </usr/doc/dovecot-common/wiki/Debugging.Rawlog.txt>

#

# This would attach gdb into the imap process and write

backtraces into

# /tmp/gdbhelper.* files:

# mail_executable = /usr/lib/dovecot/gdbhelper

/usr/lib/dovecot/imap

#

#mail_executable = /usr/lib/dovecot/imap

# Maximum IMAP command line length in bytes. Some clients

generate very long

# command lines with huge mailboxes, so you may need to raise

this if you get

# "Too long argument" or "IMAP command line too large" errors

often.

#imap_max_line_length = 65536

# Maximum number of IMAP connections allowed for a user from each

IP address.

# NOTE: The username is compared case-sensitively.

#mail_max_userip_connections = 10

# Support for dynamically loadable plugins. mail_plugins is a

space separated

# list of plugins to load.

Page 16: Parte Dos de La Guia de Instalacion Servidor Debian

#mail_plugins =

mail_plugins = quota imap_quota

#mail_plugin_dir = /usr/lib/dovecot/modules/imap

# [...]

En seguida, debe definirse el tipo y los valores de la cuota. En este ejemplo es impuesto

un límite de 20 Mb de almacenamiento en el maildir de cada usuario.

La configuración también está almacenada en /etc/dovecot/dovecot.conf.

/etc/dovecot/dovecot.conf

# [...]

##

## Plugin settings

##

plugin {

# Here you can give some extra environment variables to mail

processes.

# This is mostly meant for passing parameters to plugins.

%variable

# expansion is done for all values.

Page 17: Parte Dos de La Guia de Instalacion Servidor Debian

# Quota plugin. Multiple backends are supported:

# dirsize: Find and sum all the files found from mail

directory.

# Extremely SLOW with Maildir. It'll eat your CPU and

disk I/O.

# dict: Keep quota stored in dictionary (eg. SQL)

# maildir: Maildir++ quota

# fs: Read-only support for filesystem quota

#

# Quota limits are set using "quota_rule" parameters, either in

here or in

# userdb. It's also possible to give mailbox-specific limits, for

example:

# quota_rule = *:storage=1048576

# quota_rule2 = Trash:storage=102400

# User has now 1GB quota, but when saving to Trash mailbox the

user gets

# additional 100MB.

#

# Multiple quota roots are also possible, for example:

# quota = dict:user::proxy::quota

# quota2 = dict:domain:%d:proxy::quota_domain

# quota_rule = *:storage=102400

# quota2_rule = *:storage=1048576

# Gives each user their own 100MB quota and one shared 1GB quota

within

Page 18: Parte Dos de La Guia de Instalacion Servidor Debian

# the domain.

#

# You can execute a given command when user exceeds a specified

quota limit.

# Each quota root has separate limits. Only the command for the

first

# exceeded limit is excecuted, so put the highest limit first.

# Note that % needs to be escaped as %%, otherwise "% " expands

to empty.

# quota_warning = storage=95%% /usr/local/bin/quota-warning.sh

95

# quota_warning2 = storage=80%% /usr/local/bin/quota-warning.sh

80

#quota = maildir

quota = maildir

quota_rule = *:storage=20M

# [...]

Reiniciar el servidor:

root@server:~# /etc/init.d/dovecot restart

Verificación

Verificar que el servicio IMAP soporta las cuotas:

root@server:~# telnet 127.0.0.1 imap

Page 19: Parte Dos de La Guia de Instalacion Servidor Debian

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE

STARTTLS AUTH=PLAIN] Dovecot ready.

a001 capability

* CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT

SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE

CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC

ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS QUOTA STARTTLS

AUTH=PLAIN

a001 OK Capability completed.

a002 logout

* BYE Logging out

a002 OK Logout completed.

Connection closed by foreign host.

La respuesta al comandocapability debe mostrar que el servicio soporta las cuotas.

Clientes

La mayor parte de los clientes de e-mail actuales pueden proveerle al usuario

informaciones sobre cuotas. En el caso de thunderbird, este soporte está proveído

por add-ons, Para esto, debe buscar: “quotas” en el

sitiohttps://addons.mozilla.org/thunderbird.

Después de la instalación, es posible obtener otras informaciones acerca del estado del

buzón de correo con relación al límite impuesto por las cuotas:

En muchos clientes, borrar un e-mail implica una copia en la carpeta “Trash” y no borrar el

original. Si la cota ya haya sido superada, esta operación podrá ser negada con un error

Page 20: Parte Dos de La Guia de Instalacion Servidor Debian

“Cuota Excedida”. En este caso, el mensaje debe ser borrado directamente sin la copia en

“Trash”. En el thunderbird, las teclas Shift+ Del permiten borrar un mensaje sin enviarlo al

“Trash”.

5.2.1 Servidor SMTP Un servidor SMTP debe representar una preocupación constante en el ámbito de la

seguridad. Si el servidor esté apenas configurado, puede ser eventualmente utilizado por

terceros, para el envío de mensajes en nombre de otro o para envío de spam. Esto puede

ocasionar situaciones graves, como la inclusión del dominio en las listas negras (donde

quedaría impedido para enviar e-mails genuinos), o puede ocasionar consecuencias legales.

Objetivo

Instalar un servidor de envío dee-mails basado en el protocolo SMTP para la red local.

Instalación

root@server:~# aptitude install postfix

La instalación ofrece una serie de configuraciones predefinidas.

Seleccionar la opción Site Internet:

Page 21: Parte Dos de La Guia de Instalacion Servidor Debian

También será solicitado el nombre de e-mail que debe ser “home.lan”:

Configuración

Aunque el usuario root recibe e-mails, es preferible que estos sean redirigidos hacia un

usuario “humano”. Estos “aliases” son definidos en el archivo /etc/aliases:

Page 22: Parte Dos de La Guia de Instalacion Servidor Debian

/etc/aliases

# See man 5 aliases for format

postmaster: root

root: fribeiro

Siempre que se edita el archivo /etc/aliases, la base de datos correspondiente debe ser

actualizada:

root@server:~# newaliases

El origen de los e-mails enviados, o sea, la parte que sigue al ”@”, se define en la única

línea del archivo/etc/mailname:

/etc/mailname

home.lan

La configuración restante se almacena en el archivo /etc/postfix/main.cf.

Durante la Instalación del servidor IMAP, quedó definida que la localización y el tipo de

buzones era “Maildir”. La configuración de postfix debe indicar que la entrega del correo

debe ser hecha en la misma localización, lo que se hace en el archivo /etc/postfix/main.cf:

/etc/postfix/main.cf

# [...]

# Entregar correio em ~/Mailbox

home_mailbox = Maildir/

# [...]

Definir las direcciones por donde el postfix acepte recibir las conexiones:

/etc/postfix/main.cf

# [...]

# Interfaces por onde são aceites ligações

Page 23: Parte Dos de La Guia de Instalacion Servidor Debian

inet_interfaces = 127.0.0.1, 192.168.1.100

# [...]

Definir también la lista de clientes privilegiados (aquellos que pueden, por ejemplo, usar el

servidor para enviar e-mails para otro dominio (relay)):

/etc/postfix/main.cf

# [...]

# Clientes de confianca

mynetworks = 127.0.0.0/8, 192.168.1.0/24

# [...]

Definir la lista de dominios para los cuales el servidor es el destino final:

/etc/postfix/main.cf

# Emails para estes dominios sao entregues neste servidor

mydestination = home.lan, server.home.lan, localhost.home.lan,

localhost

Conexiones encriptadas

Las conexiones al servidor pueden generarse de modo encriptado (TLS) (smtpd_use_tls

= yes) También puede especificarse que sólo sean aceptadas las autenticaciones

(smtpd_tls_auth_only = yes). Pueden utilizarse también los Certificados Auto-

firmados que se generaron previamente, en lugar de los generados automáticamente

durante la instalación de postfix:

/etc/postfix/main.cf

# [...]

# TLS parameters

# smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

# smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Page 24: Parte Dos de La Guia de Instalacion Servidor Debian

smtpd_use_tls = yes

smtpd_tls_auth_only = yes

smtpd_tls_cert_file = /etc/ssl/certs/server.crt

smtpd_tls_key_file = /etc/ssl/private/server.key.insecure

smtpd_tls_session_cache_database =

btree:${queue_directory}/smtpd_scache

smtp_tls_session_cache_database =

btree:${queue_directory}/smtp_scache

# [...]

Seguridad

Deben definirse una restricciones rigurosas para el acceso al servidor SMTP.

/etc/postfix/main.cf

# [...]

## Seguranca

# Aceitar ligacoes apenas a partir da rede local

smtpd_client_restrictions = permit_mynetworks,

reject

# Utilizadores locais podem enviar emails para qualquer endereco

smtpd_recipient_restrictions = permit_mynetworks,

reject_unauth_destination

# Rejeitar ligacoes de clientes que nao saibam o seu hostname

Page 25: Parte Dos de La Guia de Instalacion Servidor Debian

smtpd_helo_restrictions = reject_unknown_sender_domain

# Rejeitar email de dominios que nao existem

smtpd_sender_restrictions = reject_unknown_sender_domain

# [...]

Reiniciar el servicio SMTP:

root@server:~# /etc/init.d/postfix restart

Verificación

Para esto de conectarse al servidor smtp:

root@server:~# telnet localhost smtp

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

220 server.home.lan ESMTP Postfix (Debian/GNU)

EHLO localhost

250-server.home.lan

250-PIPELINING

250-SIZE 10240000

250-VRFY

250-ETRN

Page 26: Parte Dos de La Guia de Instalacion Servidor Debian

250-STARTTLS

250-ENHANCEDSTATUSCODES

250-8BITMIME

250 DSN

MAIL FROM: fribeiro

250 2.1.0 Ok

RCPT TO: fribeiro

250 2.1.5 Ok

DATA

354 End data with <CR><LF>.<CR><LF>

Subject: test

testing 123

.

250 2.0.0 Ok: queued as A2BF81ED81

QUIT

221 2.0.0 Bye

Connection closed by foreign host.

La línea 250-STARTTLS indica que el servidor acepta conexiones encriptadas. Sin

embargo, en esta prueba no se utiliza TLS, porque la conexión se hace desde el propio

sistema, que está considerado como seguro..

Configuración de clientes

En un cliente de e-mail, como Thunderbird, cree una cuenta de correo con salida (SMTP),

indicando como dirección la del servidor (192.169.1.100) y el puerto 25. En la zona de

seguridad, no se debe activar la autenticación. En las opciones de conexión segura,

Page 27: Parte Dos de La Guia de Instalacion Servidor Debian

pueden ser usado el protocolo TLS o ninguno. El protocoloSSL no podrá ser usado (por

ahora).

Enviar algunos mensajes a destinatarios reales y ficticios: Deben ser entregados los e-

mails que tengan como destinatarios los usuarios válidos del domínio home.lan (por

ejemplo: [email protected]). Los e-mails para los destinatarios ficticios del

dominio home.lan serão recusado imediatamente (ex. [email protected]). Demais

emails (mesmo para utilizadores e domínios válidos) serán rechazados por los servidores

de destino. En este caso, y después de algún tiempo, nuestro servidor generará un

mensaje donde se informa el rechazo del pedido.

5.2.2 Servidor SMTP com autenticación Cuando se instala el Servidor SMPT, su uso se limita a la red interna.

Si es necesario acceder al servidor a partir del exterior (por ejemplo, a partir de Internet)

debe preverse un mecanismo que limite su acceso sólo a los usuarios autorizados. Esto

con el fin de prevenir el riesgo de que nuestro servidor sea considerado como un open

relay.

Objetivo

Complementar la instalación del Servidor SMPT con un mecanismo de autenticación de

usuarios, en este caso vamos a emplear el soporte sasl de dovecot.

Configuración

Page 28: Parte Dos de La Guia de Instalacion Servidor Debian

La configuración está divida en dos partes. Primero, la configuración de dovecot para que

trabaje con postfix. Y segundo, la configuración de postfix para autenticar usuarios

en dovecot:

Dovecot

Se debe modificar el archivo que está almacenado en la siguiente

dirección /etc/dovecot/dovecot.conf.

/etc/dovecot/dovecot.conf

# [...]

auth default {

# Space separated list of wanted authentication mechanisms:

# plain login digest-md5 cram-md5 ntlm rpa apop anonymous

gssapi

mechanisms = plain login

# [...]

# It's possible to export the authentication interface to other

programs:

socket listen {

#master {

# Master socket is typically used to give Dovecot's local

delivery

# agent access to userdb so it can find mailbox locations. It

can

# however also be used to disturb regular user

authentications.

# WARNING: Giving untrusted users access to master socket may

be a

# security risk, don't give too wide permissions to it!

#path = /var/run/dovecot/auth-master

Page 29: Parte Dos de La Guia de Instalacion Servidor Debian

#mode = 0600

# Default user/group is the one who started dovecot-auth

(root)

#user =

#group =

#}

client {

# The client socket is generally safe to export to everyone.

Typical use

# is to export it to your SMTP server so it can do SMTP AUTH

lookups

# using it.

path = /var/spool/postfix/private/auth

mode = 0660

user = postfix

group = postfix

}

}

}

# [...]

Reiniciar el servicio dovecot:

root@server:~# /etc/init.d/dovecot restart

Postfix

Page 30: Parte Dos de La Guia de Instalacion Servidor Debian

Se debe modificar el archivo que está almacenado en la siguiente

dirección /etc/postfix/main.cf:

Se deben añadir los parámetros SASL:

/etc/postfix/main.cf

# [...]

# SASL parameters

smtpd_sasl_auth_enable = yes

smtpd_sasl_type = dovecot

smtpd_sasl_path = private/auth

smtpd_sasl_authenticated_header = yes

broken_sasl_auth_clients = yes

# [...]

Las restricciones de seguridad deben permitir el acceso a los usuarios autenticados

vía sasl:

/etc/postfix/main.cf

# [...]

## Seguranca

# Aceita ligações apenas a partir da rede local ou utilizadores

autenticados

smtpd_client_restrictions = permit_mynetworks,

permit_sasl_authenticated,

reject

# Utilizadores locais ou autenticados podem enviar emails para

qualquer endereco

Page 31: Parte Dos de La Guia de Instalacion Servidor Debian

# Rejeitar todos os outros

smtpd_recipient_restrictions = permit_mynetworks,

permit_sasl_authenticated,

reject_unauth_destination

# [...]

Reiniciar el servicio postfix:

root@server:~# /etc/init.d/postfix restart

Configuración de clientes

En las opciones de seguridad dentro de la configuración del servidor smtp de los clientes,

debe indicarse cuál usuario se autenticará:

Ao enviar uma mensagem, será pedida a respectiva password.

5.2.3 Relay SMTP Antes de iniciar

Teóricamente, el servidor SMTP que fue configurado para la red local puede enviar e-mails

para cualquier destinatario. Pero en la práctica, es poco probable que dichos e-mails

lleguen a su destino final. Esto ocurre porque los proveedores de acceso a internet, con el

Page 32: Parte Dos de La Guia de Instalacion Servidor Debian

fin de filtrar el envío de mensajes no solicitados (spam), imponen reglas muy estrictas para

aceptar y re-encaminar e-mails.

Asimismo, aunque el e-mail llegara a su destino, cualquier respuesta eventual estaría

dirigida para el remitente (por ejemplo [email protected]) de un dominio que no existe

fuera de la red local. Y por tanto no llegaría de vuelta.

Por tanto, si se quiere enviar correos hacia el exterior, se deben resolver dos cuestiones:

El servidor smtp de nuestro proveedor de acceso a internet (ISP) debe aceptar una

conexión de nuestro servidor.

La dirección de correo del remitente debe referir a un dominio válido, para que pueda

recibir respuestas.

Para resolver estas cuestiones, lo más simple es utilizar servidores con direcciones

válidas. De esta forma, al enviar e-mails para el exterior, debe ocurrir lo siguiente:

Nuestro servidor enviará el e-mail a través de un servidor SMTP externo. En caso

necesario, deberá autenticarse como usuario válido.

Nuestra dirección de e-mail debe ser sustituida por una dirección de correo electrónico

válido en el exterior.

En este caso, vamos a utilizar el servidor SMTP de Gmail (smtp.gmail.com) y una dirección

de Gmail ([email protected]).

Instalación

La instalación de los paquetes de autenticación:

root@server:~# aptitude install libsasl2-modules sasl2-bin

Configuración

saslauthd

El arranque automático del servicio saslauthd se configura en el

archivoo /etc/default/saslauthd:

/etc/default/saslauthd

#

# Settings for saslauthd daemon

# Please read /usr/share/doc/sasl2-bin/README.Debian for details.

#

Page 33: Parte Dos de La Guia de Instalacion Servidor Debian

# Should saslauthd run automatically on startup? (default: no)

START=yes

#[...]

Reiniciar el servicio saslauthd:

root@server:~# /etc/init.d/saslauthd restart

relay

Para usar un servidor smtp intermedio (o relay), se configura postfix en el

archivo /etc/postfix/main.cf:

En primer lugar, se indicará el servidor smtp de Gmail como “relay”.

/etc/postfix/main.cf

# [...]

#

# relay

#

relayhost = [smtp.gmail.com]

Luego, se configurará una conexión encriptada (tls) y autenticada (sasl_auth), así como la

localización de los archivos con los parámetros de autenticación (password_maps):

/etc/postfix/main.cf

# [...]

#

Page 34: Parte Dos de La Guia de Instalacion Servidor Debian

# SASL SUPPORT FOR SERVERS

#

# The following options set parameters needed by Postfix to enable

# Cyrus-SASL support for authentication of mail servers.

#

smtp_use_tls = yes

smtp_sasl_auth_enable = yes

smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd

smtp_sasl_security_options = noanonymous

smtp_sasl_tls_security_options = noanonymous

Los parámetros de autenticación del servidor smtp de Gmail están almacenados en el

archivo/etc/postfix/sasl/sasl_passwd:

/etc/postfix/sasl/sasl_passwd

[smtp.gmail.com] pinguim.ribeiro:myGmailPassword

Por seguridad, el archivo /etc/postfix/sasl/sasl_passwd sólo debe permitir el acceso del

usuario root:

root@server:# chmod 600 /etc/postfix/sasl/sasl_passwd

Siempre que el archivo /etc/postfix/sasl/sasl_passwd fuese alterado, la base de datos

correspondiente debe ser regenerada:

root@server:# postmap /etc/postfix/sasl/sasl_passwd

mapeo de direcciones

Al enviar e-mails al exterior, las direcciones internas ([email protected]) deben ser

substituidas por direcciones externas ([email protected]).

Page 35: Parte Dos de La Guia de Instalacion Servidor Debian

Por tanto Postfix debe ser configurado para usar el archivo para mapear direcciones. Para

esto se debe modificar el archivo /etc/postfix/main.cf:

/etc/postfix/main.cf

smtp_generic_maps = hash:/etc/postfix/generic

El archivo para mapear direcciones consiste en una lista de direcciones locales con sus

correspondientes direcciones externas. El tamaño de la lista no está limitado, por lo que

puede ser aumentada para contener las direcciones de todos los usuarios locales.

Este fichero se encuentra en /etc/postfix/generic:

/etc/postfix/generic

[email protected] [email protected]

Siempre que el archivo /etc/postfix/generic sea modificado, debe regenerarse la base de

datos correspondiente:

root@server:# postmap /etc/postfix/generic

Reiniciar postfix:

root@server:~# /etc/init.d/postfix restart

5.2.4 Teste Open Relay Objetivo

Es crucial asegurarse de que el servidor de envío de e-mail (SMTP) no sea accesible ni

pueda ser utilizado por terceros (open relay). En caso contrario, nuestro servidor puede ser

utilizado para el envío de spam y acabar en una lista negra de servidores abiertos

(blacklist). Esto haría imposible enviar e-mails legítimos a través de otros servidores. La

mejor manera de certificar que nuestro servidor nunca sea utilizado como open relay es

hacer el siguiente test.

Verificación

En http://spamlinks.net/prevent-secure-relay-test.htm existen varias conexiones a servicios

que verifican la seguridad de un servidor SMTP, haciendo varios intentos de acceso a

nuestro servidor a partir de diferentes métodos.

Page 36: Parte Dos de La Guia de Instalacion Servidor Debian

Una de las pruebas utiliza una conexión telnet desde uno de los servidores del test. Éste

intenta conectarse en seguida a nuestro servidor SMTP y el resultado del test se muestra

en la ventana de telnet:

server:# telnet rt.njabl.org 2500

Trying 69.28.95.130...

Connected to rt.njabl.org.

Escape character is '^]'.

If you are excluded from testing, connect again on port 2501 to force the

test.

testing 81.84.15.97

Net::SMTP>>> Net::SMTP(2.29)

Net::SMTP>>> Net::Cmd(2.26)

Net::SMTP>>> Exporter(5.58)

Net::SMTP>>> IO::Socket::INET(1.27)

Net::SMTP>>> IO::Socket(1.28)

Net::SMTP>>> IO::Handle(1.24)

>>> EHLO rt.njabl.org

<<< 250-server.home.lan

<<< 250-PIPELINING

<<< 250-SIZE 10240000

<<< 250-VRFY

Page 37: Parte Dos de La Guia de Instalacion Servidor Debian

<<< 250-ETRN

<<< 250-STARTTLS

<<< 250-ENHANCEDSTATUSCODES

<<< 250-8BITMIME

<<< 250 DSN

>>> MAIL FROM:<[email protected]>

<<< 250 2.1.0 Ok

>>> RCPT TO:<[email protected]>

<<< 554 5.7.1 <rt.njabl.org[69.28.95.130]>: Client host rejected: Access

denied

>>> RSET

<<< 250 2.0.0 Ok

>>> MAIL FROM:<[email protected]>

<<< 250 2.1.0 Ok

>>> RCPT TO:<[email protected]>

<<< 554 5.7.1 <rt.njabl.org[69.28.95.130]>: Client host rejected: Access

denied

# [...]

>>> RSET

<<< 250 2.0.0 Ok

>>> MAIL FROM:<[email protected]>

<<< 250 2.1.0 Ok

>>> RCPT TO:<relaytest%[email protected]>

Page 38: Parte Dos de La Guia de Instalacion Servidor Debian

<<< 554 5.7.1 <rt.njabl.org[69.28.95.130]>: Client host rejected: Access

denied

Can't relay

Connection closed by foreign host.

En este caso, todas las tentativas de acceso fallaron. Por tanto, nuestro servidor puede

considerarse como razonablemente seguro.

5.3.1 amavisd-new Objetivo

Integrar un sistema de filtros en el servidor smtp.

Después de la configuración, en el momento en que el servidor smtp (postfix) reciba un e-

mail, va a enviarlo al sistema de filtros (amavisd-new) que invocará diversos filtros y

alterará los encabezados de acuerdo con los resultados, para devolverlo luego al

servidor smtp.

Instalación

root@server:~# aptitude install amavisd-new

El paquete amavisd-new sugiere la instalación de otros paquetes, necesarios para analizar

archivos comprimidos, con el fin de que su contenido sea examinado:

root@server:~# aptitude install arj cabextract cpio lha lzop nomarch

ripole tnef unrar zoo

Configuración

La configuración consiste en indicarle al servidorsmtp (postfix) para que envíe los e-mail al

sistema de filtros y los vuela a recibir luego de su análisis. Para esto, debe modificar el

archivo /etc/postfix/main.cf:

/etc/postfix/main.cf

# [...]

#

Page 39: Parte Dos de La Guia de Instalacion Servidor Debian

# amavisd-new scanner

#

content_filter = amavis:[127.0.0.1]:10024

receive_override_options = no_address_mappings

Luego, debe configurar el postfix o servicio para que reciba los e-mails filtrados

por amavisd-new, lo que se configura en el archivo /etc/postfix/master.cf:

/etc/postfix/master.cf

# [...]

#

# amavisd-new scanner

#

amavis unix - - - - 2 smtp

-o smtp_data_done_timeout=1200

-o smtp_send_xforward_command=yes

-o disable_dns_lookups=yes

-o max_use=20

-o smtp_generic_maps=

127.0.0.1:10025 inet n - - - - smtpd

-o content_filter=

-o smtpd_delay_reject=no

-o smtpd_client_restrictions=permit_mynetworks,reject

-o smtpd_helo_restrictions=

Page 40: Parte Dos de La Guia de Instalacion Servidor Debian

-o smtpd_sender_restrictions=

-o smtpd_recipient_restrictions=permit_mynetworks,reject

-o smtpd_end_of_data_restrictions=

-o smtpd_restriction_classes=

-o mynetworks=127.0.0.0/8

-o smtpd_error_sleep_time=0

-o smtpd_soft_error_limit=1001

-o smtpd_hard_error_limit=1000

-o smtpd_client_connection_count_limit=0

-o smtpd_client_connection_rate_limit=0

-o

receive_override_options=no_header_body_checks,no_unknown_recipient

_checks

-o local_header_rewrite_clients=

-o local_recipient_maps=

-o relay_recipient_maps=

-o strict_rfc821_envelopes=yes

Reiniciar el servicio SMTP:

root@server:~# /etc/init.d/postfix restart

Verificación

Debe asegurar que los servicios funcionen:

root@server:~# netstat -tap

Page 41: Parte Dos de La Guia de Instalacion Servidor Debian

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

PID/Program name

# [...]

tcp 0 0 localhost:10024 *:*

LISTEN 3672/amavisd (maste

tcp 0 0 localhost:10025 *:*

LISTEN 3759/master

# [...]

Comprobar que amavisd-new acepte conexiones:

root@server:~# telnet localhost 10024

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

220 [127.0.0.1] ESMTP amavisd-new service ready

quit

221 2.0.0 [127.0.0.1] amavisd-new closing transmission channel

Connection closed by foreign host.

Comprobar también que postfix pueda recibir de vuelta los mensajes filtrados:

root@server:~# telnet localhost 10025

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

Page 42: Parte Dos de La Guia de Instalacion Servidor Debian

220 server.home.lan ESMTP Postfix (Debian/GNU)

quit

221 2.0.0 Bye

Connection closed by foreign host.

El sistema de filtros está operando. El paso siguiente debe ser la instalación y

configuración de los filtros.

5.3.2 Filtro Anti-vírus Objetivo

Integrar un anti-virus en el sistema de filtros de e-mails.

Instalación

Ver instalación de ClamAV y instalación de amavisd-new.

Configuración

Debemos activar el filtro anti-virus en el archivo /etc/amavis/conf.d/15-content_filter_mode:

/etc/amavis/conf.d/15-content_filter_mode

# [...]

#

# Default antivirus checking mode

# Please note, that anti-virus checking is DISABLED by

# default.

# If You wish to enable it, please uncomment the following lines:

Page 43: Parte Dos de La Guia de Instalacion Servidor Debian

@bypass_virus_checks_maps = (

\%bypass_virus_checks, \@bypass_virus_checks_acl,

\$bypass_virus_checks_re);

# [...]

Adicionar el usuario clamav al grupo amavis:

root@server:~# adduser clamav amavis

Reiniciar los servicios:

root@server:~# /etc/init.d/amavis restart

root@server:~# /etc/init.d/clamav-daemon restart

Verificación

Para esto, puede simularse el envío de un e-mail con un “virus”, usando como contenido el

archivo de pruebasEICAR:

root@server:~# telnet 127.0.0.1 10024

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

220 [127.0.0.1] ESMTP amavisd-new service ready

EHLO localhost

250-[127.0.0.1]

250-VRFY

250-PIPELINING

Page 44: Parte Dos de La Guia de Instalacion Servidor Debian

250-SIZE

250-ENHANCEDSTATUSCODES

250-8BITMIME

250-DSN

250 XFORWARD NAME ADDR PORT PROTO HELO SOURCE

MAIL FROM:<postmaster>

250 2.1.0 Sender <postmaster> OK

RCPT TO:<postmaster>

250 2.1.5 Recipient <postmaster> OK

DATA

354 End data with <CR><LF>.<CR><LF>

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

.

250 2.7.0 Ok, discarded, id=02582-02 - INFECTED: Eicar-Test-

Signature(69630e4574ec6798239b091cda43dca0:69)

QUIT

221 2.0.0 [127.0.0.1] amavisd-new closing transmission channel

Connection closed by foreign host.

El “vírus” fue correctamente detectado.

El servidor de e-mail tiene ahora un filtro anti-virus integrado. Los mensajes que contengan

virus no serán entregados. En lugar del mensaje, será entregada una notificación de la

detección del e-mail con virus.

5.3.3 Filtro Anti-spam

Page 45: Parte Dos de La Guia de Instalacion Servidor Debian

Objetivo

Integrar un filtro anti-spam al sistema de filtros de e-mails.

Instalación

Ver instalación de Spamassassin y instalación de amavisd-new].

Configuración

La configuración consiste en activar el filtro anti-spam en el archivo /etc/amavis/conf.d/15-

content_filter_mode:

/etc/amavis/conf.d/15-content_filter_mode

# [...]

#

# Default SPAM checking mode

# Please note, that anti-spam checking is DISABLED by

# default.

# If You wish to enable it, please uncomment the following lines:

@bypass_spam_checks_maps = (

\%bypass_spam_checks, \@bypass_spam_checks_acl,

\$bypass_spam_checks_re);

# [...]

De manera predeterminada, los e-mails considerados spam son ubicados en cuarentena

sin que información alguna llegue al destinatario. En esta configuración queremos que los

e-mails indiquen apenas la probabilidad despam, dejándole al usuario que elija las

Page 46: Parte Dos de La Guia de Instalacion Servidor Debian

acciones a realizar. Las configuraciones personalizadas se almacenan en el

archivo /etc/amavis/conf.d/50-user:

/etc/amavis/conf.d/50-user

use strict;

#

# Place your configuration directives here. They will override

those in

# earlier files.

#

# See /usr/share/doc/amavisd-new/ for documentation and examples of

# the directives you can use in this file

$sa_spam_subject_tag = '***SPAM*** ';

$sa_tag_level_deflt = undef; # add spam info headers if at, or

above that level

$sa_tag2_level_deflt = 6.31; # add 'spam detected' headers at

that level

$sa_kill_level_deflt = 9999; # triggers spam evasive actions

#------------ Do not modify anything below this line -------------

1; # insure a defined return

La “sensibilidad” del filtroanti-spam puede ser afinada alterando el

valor $sa_tag2_level_deflt: Si tiene un valor más bajo, entonces serán necesarios menos

indicadores para que un mensaje sea considerado como spam. Sin embargo, este valor no

debe ser inferior a 5, porque corremos el riesgo de que todos los mensajes aun los

legítimos, sean considerados como spam.

Page 47: Parte Dos de La Guia de Instalacion Servidor Debian

Reiniciar el servicio amavisd-new:

root@server:~# /etc/init.d/amavis restart

5.4.1 Fetchmail Objetivo

La instalación del paquete fetchmail permite la descarga de e-mails alojados en servidores

externos en nuestro servidor local. fetchmail soporta varios protocolos de acceso y

esquemas de autenticación.

Instalación

root@server:~# aptitude install fetchmail

Configuración

La configuración será definida por el usuario. Consiste en la creación del archivo de

configuración de fetchmail y en la creación de una tarea periódica que ejecuto

el fetchmail para que recoja los e-mails.

Configuración personal

Cada usuario debe crear en su home el archivo .fetchmailrc.

Por ejemplo, el usuario fribeiro deberá guardar su configuración personal

de fetchmail en/home/fribeiro/.fetchmailrc:

/home/fribeiro/.fetchmailrc

poll pop.gmail.com proto pop3 user "pinguim.ribeiro" pass

"password" is "[email protected]" options ssl keep

En este ejemplo, fetchmail descargará los e-mails del usuario pinguim.ribeiro del

servidor pop.gmail.com, utilizando el protocolo pop3 y una conexión ssl, para luego

redirigirlos al usuario [email protected].

La opción keep mantiene los mensajes en el servidor, lo que es útil en la fase de pruebas.

Después, esta opción puede ser retirada. Con algunos servidores pop3, es necesario

añadir la opción uidl, que obliga al cliente a mantener una lista de los mensajes ya

descargados, lo que garantiza que los nuevos mensajes serán descargados.

Page 48: Parte Dos de La Guia de Instalacion Servidor Debian

Por seguridad, como el archivo contiene contraseñas, sólo puede ser accesible al propio

usuario:

fribeiro@server:~$ chmod 600 .fetchmailrc

Ejecución periódica

Luego, debe ser creada una tarea periódica para ejecutar el fetchmail cada 10 minutos, por

ejemplo:

fribeiro@server:~$ crontab -e

# m h dom mon dow command

*/10 * * * * /usr/bin/fetchmail &> /dev/null

Verificación

Es posible probar la ejecución del fetchmail con el comando fetchmail -v, desde uno de

los clientes:

fribeiro@server:~$ fetchmail -v

fetchmail: 6.3.18 querying pop.gmail.com (protocol POP3) at Sat 22 Jan

2011 02:25:43 PM WET: poll started

Trying to connect to 209.85.227.109/995...connected.

fetchmail: Server certificate:

fetchmail: Issuer Organization: Google Inc

fetchmail: Issuer CommonName: Google Internet Authority

fetchmail: Subject CommonName: pop.gmail.com

fetchmail: pop.gmail.com key fingerprint:

6B:C4:63:05:87:1E:72:88:ED:81:C5:A2:51:6B:B7:B6

fetchmail: POP3< +OK Gpop ready for requests from 94.132.12.38

f33pf1347527wej.11

fetchmail: POP3> CAPA

Page 49: Parte Dos de La Guia de Instalacion Servidor Debian

fetchmail: POP3< +OK Capability list follows

fetchmail: POP3< USER

fetchmail: POP3< RESP-CODES

fetchmail: POP3< EXPIRE 0

fetchmail: POP3< LOGIN-DELAY 300

fetchmail: POP3< X-GOOGLE-VERHOEVEN

fetchmail: POP3< UIDL

fetchmail: POP3< .

fetchmail: POP3> USER pinguim.ribeiro

fetchmail: POP3< +OK send PASS

fetchmail: POP3> PASS *

fetchmail: POP3< +OK Welcome.

fetchmail: POP3> STAT

fetchmail: POP3< +OK 0 0

fetchmail: No mail for pinguim.ribeiro at pop.gmail.com

fetchmail: POP3> QUIT

fetchmail: POP3< +OK Farewell.

fetchmail: 6.3.18 querying pop.gmail.com (protocol POP3) at Sat 22 Jan

2011 02:25:45 PM WET: poll completed

fetchmail: normal termination, status 1

5.5.1 Roundcube Objetivo

Page 50: Parte Dos de La Guia de Instalacion Servidor Debian

El paquete Roundcube, con su interfaz basada en la tecnología ajax, permite la consulta

de e-mails de una manera fácil e cómoda.

Instalación

root@server:~# aptitude install roundcube roundcube-sqlite

Durante esta fase, se solicitará información para la configuración de la base de datos:

El tipo de base de datos a seleccionar será sqlite:

Page 51: Parte Dos de La Guia de Instalacion Servidor Debian

Configuración

La instalación de roundcube genera automáticamente un archivo de configuración para

integrarse con el servidorapache2. Sin embargo, por seguridad, la configuración no está

activada automáticamente. Para activarla, es necesario editar el archivo de configuración

que se encuentra en /etc/apache2/conf.d/roundcube:

/etc/apache2/conf.d/roundcube

# Those aliases do not work properly with several hosts on your

apache server

# Uncomment them to use it or adapt them to your configuration

Alias /roundcube/program/js/tiny_mce/ /usr/share/tinymce/www/

Alias /roundcube /var/lib/roundcube

[...]

roundcube debe restringir el acceso apenas a nuestro servidor de e-mail, lo que puede ser

configurado en el archivo /etc/roundcube/main.inc.php:

Page 52: Parte Dos de La Guia de Instalacion Servidor Debian

/etc/roundcube/main.inc.php

#[...]

// the mail host chosen to perform the log-in

// leave blank to show a textbox at login, give a list of hosts

// to display a pulldown menu or set one host as string.

// To use SSL/TLS connection, enter hostname with prefix ssl:// or

tls://

$rcmail_config['default_host'] = 'localhost';

#[...]

Para que o roundcube cree correctamente la dirección e-mail de los nuevos usuarios, debe

indicarse el nombre del dominio “home.lan”:

/etc/roundcube/main.inc.php

#[...]

// This domain will be used to form e-mail addresses of new users

// Specify an array with 'host' => 'domain' values to support

multiple hosts

$rcmail_config['mail_domain'] = 'home.lan';

#[...]

La dirección e-mail, así como otros parámetros, pueden afinarse posteriormente en las

configuraciones deroundcube.

Page 53: Parte Dos de La Guia de Instalacion Servidor Debian

Obligar conexiones seguras

OOpcionalmente, en caso de que se tenga configurado Apache2 con soporte SSL, las

conexiones seguras (https) pueden ser configuradas como obligatorias en el archivo de

configuración /etc/roundcube/main.inc.php:

/etc/roundcube/main.inc.php

#[...]

// enforce connections over https

// with this option enabled, all non-secure connections will be

redirected.

// set the port for the ssl connection as value of this option if

it differs from the default 443

$rcmail_config['force_https'] = TRUE;

#[...]

Reiniciar el servicio apache2:

root@server:~# /etc/init.d/apache2 restart

Verificación

Desde un navegador de internet, escriba la dirección de acceso a la

interfaz webmailhttp://192.168.1.100/roundcube:

Page 54: Parte Dos de La Guia de Instalacion Servidor Debian

La página de roundcube deberá aparecer y, si configuró la opción de conexiones seguras,

la dirección debe comenzar por https.

roundcube dispone de muchas opciones de configuración, como la lengua de la interfaz, el

huso horario y el e-mail del usuario. Se sugiere una visita a lasconfiguraciones

personales (Settings), luego del primer login.

6.1.1 Logwatch Objetivo

Intalar el paquete Logwatch, para recibir diariamente por e-mail, un resumen de los

archivos log del sistema.

O logwatch se ejecuta diariamente, analiza los archivos log y envía un resumen por e-mail

al administrador (root) del sistema.

Es importante que el alias del root esté correctamente definido para un usuario ‘humano’, en

el archivo /etc/aliases Este paso ya tuvo que haberse realizado durante la configuración

de Servidor SMTP.

Instalación

root@server:~# aptitude install logwatch

Page 55: Parte Dos de La Guia de Instalacion Servidor Debian

Verificación

logwatch enviará sus resultados por e-mail para el root; Sin embargo, este paso también

puede ejecutarse en un terminal:

root@server:~# logwatch

################### Logwatch 7.3.6 (05/19/07) ####################

Processing Initiated: Thu Jan 6 14:28:31 2011

Date Range Processed: yesterday

( 2011-Jan-05 )

Period is day.

Detail Level of Output: 0

Type of Output/Format: stdout / text

Logfiles for Host: server

##################################################################

--------------------- Disk Space Begin ------------------------

Filesystem Size Used Avail Use% Mounted on

/dev/sda1 2.5G 1.3G 1.3G 51% /

/dev/sda6 5.2G 139M 5.1G 3% /home

---------------------- Disk Space End -------------------------

Page 56: Parte Dos de La Guia de Instalacion Servidor Debian

###################### Logwatch End #########################

6.2.1 Munin Objetivo

El paquete munin permite monitorizar diversos parámetros de uno o varios sistemas, por

ejemplo, el estado y carga de los servicios, temperaturas, espacio en disco,

etc. munin funciona según una arquitectura cliente-servidor, en que un sistema servidor

recoge y organiza datos recibidos de varios sistemas clientes. Para monitorizar sólo un

servidor, debe instalarse y configurarse los paquetes cliente y servidor en el mismo

sistema.

El paquete munin utiliza una interfaz web. Por tanto, es necesario instalar un servidor http.

Para más informaciones, puede consultar la instalación deApache2 y Apache2 SSL, si

prefiere conexiones seguras.

Instalación

Cliente

Del lado del cliente, la instalación consiste en instalar el paquete cliente y algunos extras:

root@server:~# aptitude install munin-node munin-plugins-extra

Servidor

Del lado del servidor es necesaria la instalación del paquete munin:

root@server:~# aptitude install munin

Configuración

Cliente

La configuración del sistema cliente consiste en añadir la dirección del servidor, a la lista

de direcciones que pueden establecer conexión con el cliente. La dirección debe añadirse

en el formato de expressão regular. En nuestro caso, como el cliente y el servidor es lo

mismo, es suficiente añadir la dirección 127.0.0.1. Esta configuración debe efectuarse en

el archivo /etc/munin/munin-node.conf:

Page 57: Parte Dos de La Guia de Instalacion Servidor Debian

/etc/munin/munin-node.conf

# [..]

# A list of addresses that are allowed to connect. This must be a

# regular expression, since Net::Server does not understand CIDR-

style

# network notation unless the perl module Net::CIDR is installed.

You

# may repeat the allow line as many times as you'd like

allow ^127\.0\.0\.1$

# [..]

El servicio cliente debe ser reiniciado:

root@server:~# /etc/init.d/munin-node restart

Servidor

En el servidor deben añadirse a la configuración las direcciones de los clientes a contactar,

lo que puede hacerse en el archivo /etc/munin/munin.conf:

/etc/munin/munin.conf

# [...]

# a simple host tree

[server.home.lan]

address 127.0.0.1

Page 58: Parte Dos de La Guia de Instalacion Servidor Debian

use_node_name yes

# [...]

En caso de que existan más clientes, sólo se requiere añadir los nombres respectivos y

sus direcciones en bloques semejantes a los del listado.

También debe definirse un rango de direcciones IP, a partir de las cuales se pueda

acceder a la interfaz webmunin: la opción Allow from 192.168.1.0/24 sólo permite el

acceso a partir de la red interna. En caso de que se pretenda acceder desde cualquier

dirección, se debe especificar Allow from All.

Esta configuración se almacena en el archivo /etc/apache2/conf.d/munin:

/etc/apache2/conf.d/munin

Alias /munin /var/cache/munin/www

<Directory /var/cache/munin/www>

Order allow,deny

#Allow from localhost 127.0.0.0/8 ::1

Allow from 192.168.1.0/24

# Allow from all

Options None

# [...]

Segurança

Debido a que munin ofrece mucha información acerca de las características del sistema,

su nivel de acceso debe ser restringido. El servidor httpd apache2 puede proteger un

directorio, dando acceso sólo a los usuarios devidamente autenticados y autorizados.

Como se pretende el máximo de seguridad, la autenticación se realizará mediante el

método de autenticación “Digest” del apache2, que transmite los datos de forma segura.

Page 59: Parte Dos de La Guia de Instalacion Servidor Debian

La configuración se realiza en dos etapas. En primer lugar, debe crearse el archivo de

autorizaciones para el recurso Munin en el servidor apache2, con los usuarios y sus

respectivas contraseñas:

root@server:~# htdigest -c /etc/munin/munin-htpasswd Munin fribeiro

Adding password for fribeiro in realm munin.

New password:

Re-type new password:

La opción -c crea un archivo de nuevo. Para añadir otro usuario, esta opción debe ser

omitida.

En segundo lugar, modificamos la configuración de apache2 para exigir un usuario y

contraseña válidos, para acceder al directorio /munin. Esto puede hacerse en el

archivo /etc/apache2/conf.d/munin:

/etc/apache2/conf.d/munin

# [...]

# This file can be used as a .htaccess file, or a part of

your apache

# config file.

#

# For the .htaccess file option to work the munin www

directory

# (/var/cache/munin/www) must have "AllowOverride all" or

something

# close to that set.

#

Page 60: Parte Dos de La Guia de Instalacion Servidor Debian

AuthUserFile /etc/munin/munin-htpasswd

AuthName "Munin"

AuthType Digest

require valid-user

# [...]

El módulo de autenticación auth_digest debe estar activo:

root@server:~# a2enmod auth_digest

Reiniciar el servidor apache2:

root@server:~# /etc/init.d/apache2 restart

Verificación

Verificar el funcionamiento de munin, Debe abrir un navegador de Internet e

indicar http://192.168.1.100/muninen la barra de direcciones:

Plugins

Es posible expandir la funcionalidad de munin, recurriendo a diversos plugins disponibles

en el sitio de Internet del proyecto, en http://muninexchange.projects.linpro.no. Pero su

configuración se escapa del ámbito de esta guía.

7.1.1 Fail2Ban Objectivo

Fail2Ban es una aplicación que analiza continuamente los ficheros log y bloquea las

direcciones Internet de donde se hayan originado varias tentativas fallidas de acceso con

contraseña inválida.

Page 61: Parte Dos de La Guia de Instalacion Servidor Debian

Fail2Ban es extremadamente eficaz en la prevención de ataques de fuerza bruta y ataques

de negación de servicio(DoS).

Instalación

root@server:~# aptitude install fail2ban whois

Configuración

La configuración que resulta de la instalación de fail2ban activa el puerto ssh. Sin embargo,

es posible monitorizar y proteger otros puertos.

La documentación de fail2ban aconseja que toda la configuración se realice en archivos

con la extensión .local. Estos pueden ser creados copiando el archivo de la configuración

original, con la extensión .conf:

root@server:~# cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Toda la configuración será efectuada, a partir de este momento, en el

archivo /etc/fail2ban/jail.local.

En una primera etapa, definimos cuáles son las direcciones que no estarán sujetas a

restricciones (la dirección local y la red local), por cuánto tiempo estarán bloqueadas las

direcciones de donde provengan las amenazas (1800 segundos (30 minutos)) y después

de cuántas tentativas (3 tentativas permitidas). Esta configuración debe realizarse en el

archivo /etc/fail2ban/jail.local:

/etc/fail2ban/jail.local

# [...]

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host

ignoreip = 127.0.0.1 192.168.1.0/24

bantime = 1800

maxretry = 3

Page 62: Parte Dos de La Guia de Instalacion Servidor Debian

# [...]

También se define la dirección e-mail que recibirá las alertas:

/etc/fail2ban/jail.local

# [...]

#

# Destination email address used solely for the interpolations in

# jail.{conf,local} configuration files.

destemail = root@localhost

# [...]

Luego, debe configurarse la acción a realizar cuando se detecta un posible ataque. En

este caso, la dirección IP del atacante es bloqueada y u e-mail es enviado al administrador

del sistema.

/etc/fail2ban/jail.local

# [...]

#

# ACTIONS

#

# Default banning action (e.g. iptables, iptables-new,

Page 63: Parte Dos de La Guia de Instalacion Servidor Debian

# iptables-multiport, shorewall, etc) It is used to define

# action_* variables. Can be overriden globally or per

# section within jail.local file

banaction = iptables-multiport

# [...]

#

# Action shortcuts. To be used to define action parameter

# [...]

# Choose default action. To change, just override value of

'action' with the

# interpolation to the chosen action shortcut (e.g. action_mw,

action_mwl, etc) in jail.local

# globally (section [DEFAULT]) or per specific section

action = %(action_mwl)s

# [...]

Por último, se definen los parámetros del servicio que se pretende proteger. Para esto, se

edita la sección JAILSdel archivo /etc/fail2ban/jail.local:

/etc/fail2ban/jail.local

# [...]

Page 64: Parte Dos de La Guia de Instalacion Servidor Debian

#

# JAILS

#

# [...]

[ssh]

enabled = true

port = ssh

filter = sshd

logpath = /var/log/auth.log

maxretry = 3

# [...]

Ahora debe reiniciarse el servicio fail2ban:

root@server:~# /etc/init.d/fail2ban restart

Verificación

Durante cada (re)inicio del servicio fail2ban se envía un e-mail de notificación al

administrador del sistema:

Subject: [Fail2Ban] ssh: started

Page 65: Parte Dos de La Guia de Instalacion Servidor Debian

From: Fail2Ban <[email protected]>

To: root@localhost

Date: Tue, 13 Jan 2011 22:14:28 +0000 (WET)

Hi,

The jail ssh has been started successfully.

Regards,

Fail2Ban

En de que sea necesaria una acción defensiva, el administrador también será notificado:

Subject: [Fail2Ban] ssh: banned 219.143.232.144

From: Fail2Ban <[email protected]>

To: root@localhost

Date: Tue, 13 Jan 2011 22:25:06 +0000 (WET)

Hi,

The IP 219.143.232.144 has just been banned by Fail2Ban after

3 attempts against ssh.

Page 66: Parte Dos de La Guia de Instalacion Servidor Debian

Here are more information about 219.143.232.144:

% [whois.apnic.net node-1]

% Whois data copyright terms http://www.apnic.net/db/dbcopyright.html

inetnum: 219.143.232.0 - 219.143.233.127

netname: Sinotrans-Air-Transport-Development-Co-Ltd

country: CN

descr: 16F Building A Jinyun Plaza,NO.43 Xizhimen South

Street,Xicheng District, Beijing,P.R.China

admin-c: HC55-AP

tech-c: HC55-AP

status: ASSIGNED NON-PORTABLE

changed: [email protected] 20071010

mnt-by: MAINT-CHINANET-BJ

source: APNIC

person: Hostmaster of Beijing Telecom corporation CHINA TELECOM

nic-hdl: HC55-AP

e-mail: [email protected]

address: Beijing Telecom

address: No. 107 XiDan Beidajie, Xicheng District Beijing

Page 67: Parte Dos de La Guia de Instalacion Servidor Debian

phone: +86-010-58503461

fax-no: +86-010-58503054

country: cn

changed: [email protected] 20040115

mnt-by: MAINT-CHINATELECOM-BJ

source: APNIC

Lines containing IP:219.143.232.144 in /var/log/auth.log

Dec 21 23:40:54 server sshd[4311]: Did not receive identification string

from 219.143.232.144

Dec 21 23:44:19 server sshd[4318]: Invalid user globus from

219.143.232.144

Dec 21 23:44:19 server sshd[4318]: (pam_unix) authentication failure;

logname= uid=0 euid=0 tty=ssh ruser= rhost=219.143.232.144

Dec 21 23:44:21 server sshd[4318]: Failed password for invalid user

globus from 219.143.232.144 port 43536 ssh2

Dec 21 23:44:22 server sshd[4320]: Invalid user marine from

219.143.232.144

Dec 21 23:44:22 server sshd[4320]: (pam_unix) authentication failure;

logname= uid=0 euid=0 tty=ssh ruser= rhost=219.143.232.144

Regards,

Page 68: Parte Dos de La Guia de Instalacion Servidor Debian

Fail2Ban

El paquete Fail2Ban puede proteger servidores e-mail, ftp, web, etc. Para esto debe editarse

el archivo /etc/fail2ban/jail.local para incluir los servicios que se planee proteger.

7.2.1 Rootkit Hunter Objetivo

Instalar el paquete rkhunter, un sistema de detección de rootkits que alerta por e-mail al

administrador del sistema, en caso de que detecte alteraciones en el sistema que indiquen

la presencia de un rootkit.

Instalación

root@server:~# aptitude install rkhunter

Configuración

La configuración predeterminada del paquete rkhunter suele ser suficiente. El

archivo /etc/default/rkhunter define que las actualizaciones de la base de datos tengan una

periodicidad semanal, la verificación de rootkits diaria y que los resultados sean enviados

por e-mail al administrador del sistema (root).

Para esto, debe actualizarse la base de datos de propiedades de los archivos de rkhunter:

root@server:~# rkhunter --propupd

[ Rootkit Hunter version 1.3.6 ]

File updated: searched for 162 files, found 127

Utilización

rkhunter puede ser ejecutado desde la línea de comandos:

root@server:~# rkhunter --check

[ Rootkit Hunter version 1.3.6 ]

Page 69: Parte Dos de La Guia de Instalacion Servidor Debian

Checking system commands...

Performing 'strings' command checks

Checking 'strings' command [ OK ]

Performing 'shared libraries' checks

Checking for preloading variables [ None found

]

Checking for preloaded libraries [ None found

]

Checking LD_LIBRARY_PATH variable [ Not found

]

Performing file properties checks

Checking for prerequisites [ OK ]

/bin/bash [ OK ]

/bin/cat [ OK ]

/bin/chmod [ OK ]

/bin/chown [ OK ]

/bin/cp [ OK ]

/bin/date [ OK ]

/bin/df [ OK ]

/bin/dmesg [ OK ]

/bin/echo [ OK ]

Page 70: Parte Dos de La Guia de Instalacion Servidor Debian

/bin/egrep [ OK ]

# [...]

System checks summary

=====================

File properties checks...

Files checked: 127

Suspect files: 0

Rootkit checks...

Rootkits checked : 243

Possible rootkits: 0

Applications checks...

All checks skipped

The system checks took: 2 minutes and 37 seconds

All results have been written to the log file (/var/log/rkhunter.log)

Page 71: Parte Dos de La Guia de Instalacion Servidor Debian

One or more warnings have been found while checking the system.

Please check the log file (/var/log/rkhunter.log)

Actualización de la base de datos

La base de datos del rkhunter se actualiza cada semana de forma automática. Pero, es

posible proceder a su actualización siempre que sea necesario:

root@server:~# rkhunter --update

[ Rootkit Hunter version 1.3.6 ]

Checking rkhunter data files...

Checking file mirrors.dat [ No update

]

Checking file programs_bad.dat [ Updated ]

Checking file backdoorports.dat [ Updated ]

Checking file suspscan.dat [ No update

]

Checking file i18n/cn [ No update

]

Checking file i18n/de [ No update

]

Checking file i18n/en [ No update

]

Checking file i18n/zh [ No update

]

Checking file i18n/zh.utf8 [ No update

]

Page 72: Parte Dos de La Guia de Instalacion Servidor Debian

7.3.1 Debsecan Objetivo

debsecan efectúa una evaluación de la seguridad del sistema y relata las vulnerabilidades

conocidas y asociadas a los paquetes instalados en el sistema, notificando al

administrador (root) de los resultados.

Instalación

root@server:~# aptitude install debsecan

Configuración

Debsecan puede configurarse para ser ejecutado diariamente a través de una tarea

programada (cron). Sus resultados se envían por e-mail al administrador del sistema (root):

root@server:~# debsecan-create-cron

Utilización

La tarea programada durante la configuración enviará un e-mail al administrador con el

resultado del análisis de seguridad:

Subject: Debian security status of server

To: [email protected]

Date: Tue, 8 Feb 2011 22:33:39 +0000 (WET)

From: [email protected] (root)

Security report based on general data

If you specify a proper suite, this report will include information

regarding available security updates and obsolete packages. To set

the correct suite, run "dpkg-reconfigure debsecan" as root.

Page 73: Parte Dos de La Guia de Instalacion Servidor Debian

*** Fixed vulnerabilities

CVE-2010-4250

<http://security-tracker.debian.org/tracker/CVE-2010-4250>

- linux-base

- linux-headers-2.6.32-5-amd64

- linux-headers-2.6.32-5-common

- linux-image-2.6.32-5-amd64

- linux-libc-dev

*** New vulnerabilities

CVE-2010-4022...

<http://security-tracker.debian.org/tracker/CVE-2010-4022>

- libgssapi-krb5-2, libk5crypto3, libkrb5support0, libkrb5-3

(low urgency)

CVE-2011-0281...

<http://security-tracker.debian.org/tracker/CVE-2011-0281>

- libgssapi-krb5-2, libk5crypto3, libkrb5support0, libkrb5-3

Page 74: Parte Dos de La Guia de Instalacion Servidor Debian

CVE-2011-0282...

<http://security-tracker.debian.org/tracker/CVE-2011-0282>

- libgssapi-krb5-2, libk5crypto3, libkrb5support0, libkrb5-3

*** Vulnerabilities

CVE-2007-2379 The jQuery framework exchanges data using JavaScript...

<http://security-tracker.debian.org/tracker/CVE-2007-2379>

- libjs-jquery (remotely exploitable, low urgency)

CVE-2010-2943 The xfs implementation in the Linux kernel before...

<http://security-tracker.debian.org/tracker/CVE-2010-2943>

- linux-image-2.6.32-5-amd64, linux-libc-dev, linux-base,

linux-headers-2.6.32-5-common, linux-headers-2.6.32-5-amd64

(remotely exploitable, high urgency)

CVE-2010-3435 The (1) pam_env and (2) pam_mail modules in Linux-PAM...

<http://security-tracker.debian.org/tracker/CVE-2010-3435>

- libpam0g, libpam-modules, libpam-runtime (low urgency)

# [...]

Page 75: Parte Dos de La Guia de Instalacion Servidor Debian

CVE-2011-0536 CVE-2010-3847 opens new vulnerability

<http://security-tracker.debian.org/tracker/CVE-2011-0536>

- libc6-dev, libc-dev-bin, locales, libc-bin, libc6

CVE-2011-0755 Integer overflow in the mt_rand function in PHP...

<http://security-tracker.debian.org/tracker/CVE-2011-0755>

- php5-gd, php5-sqlite, php-pear, php5-common, php5-pspell,

php5-mcrypt, php5-cli, libapache2-mod-php5, php5, php5-mysql

(remotely exploitable, medium urgency)

TEMP-0546164-933E0D php5's pear is vulnerable to symlink attacks

<http://security-tracker.debian.org/tracker/TEMP-0546164-933E0D>

- php5-gd, php5-sqlite, php-pear, php5-common, php5-pspell,

php5-mcrypt, php5-cli, libapache2-mod-php5, php5, php5-mysql

(low urgency)

TEMP-0612034-33CBAD aptitude tempfile

<http://security-tracker.debian.org/tracker/TEMP-0612034-33CBAD>

- aptitude (low urgency)

De forma opcional, debsecan también puede ejecutarse en la línea de comandos:

root@server:~# debsecan

CVE-2010-4015 libpq5 (remotely exploitable, medium urgency)

Page 76: Parte Dos de La Guia de Instalacion Servidor Debian

CVE-2007-2379 libjs-jquery (remotely exploitable, low urgency)

CVE-2011-0413 isc-dhcp-common (remotely exploitable, high urgency)

CVE-2010-4698 libgd2-xpm (remotely exploitable, medium urgency)

CVE-2010-4022 libgssapi-krb5-2 (low urgency)

CVE-2011-0281 libgssapi-krb5-2

CVE-2011-0282 libgssapi-krb5-2

CVE-2010-3435 libpam0g (low urgency)

CVE-2010-3853 libpam0g (low urgency)

CVE-2010-4706 libpam0g (low urgency)

CVE-2010-4707 libpam0g (low urgency)

CVE-2010-4708 libpam0g (low urgency)

CVE-2010-2943 linux-image-2.6.32-5-amd64 (remotely exploitable, high

urgency)

CVE-2010-3699 linux-image-2.6.32-5-amd64 (remotely exploitable, low

urgency)

CVE-2010-3865 linux-image-2.6.32-5-amd64 (high urgency)

CVE-2010-4075 linux-image-2.6.32-5-amd64 (low urgency)

CVE-2010-4076 linux-image-2.6.32-5-amd64 (low urgency)

CVE-2010-4077 linux-image-2.6.32-5-amd64 (low urgency)

CVE-2010-4565 linux-image-2.6.32-5-amd64 (low urgency)

CVE-2010-4655 linux-image-2.6.32-5-amd64

# [...]