[Tutorial] Asegurando Postfix/Dovecot un poquito

Todos sabemos que cuando usamos Postfix debemos poner antispam y antivirus a ese servidor. Esto no es nada nuevo. y no me quejo de ninguno, pero, nunca está de más hacerle algunos añadidos para que la seguridad sea la más óptima.

Veamos a Dovecot en este primer momento. Atendiendo IMAP/POP, a Dovecot se le pueden hacer las siguientes añadiduras:

# Append this domain name if client gives empty realm.
auth_default_realm = my.domain.cu
ssl = required
ssl_protocols = !SSLv2 !SSLv3
# Good bye SSLv3

ssl_cipher_list=ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

# NEW - Prefer the server's order of ciphers over client's.
ssl_prefer_server_ciphers = yes
#Dovecot generates an ssl DH every week
ssl_dh_parameters_length = 2048

ssl_cert = </etc/ssl/mail/dovecot.pem
ssl_key = </etc/ssl/mail/dovecot.pem

Ahora veamos a Postfix:

#Avoiding creeepy stuff on our server
strict_rfc821_envelopes = yes
invalid_hostname_reject_code = 554
multi_recipient_bounce_reject_code = 554
non_fqdn_reject_code = 554
relay_domains_reject_code = 554
unknown_address_reject_code = 554
unknown_client_reject_code = 554
unknown_hostname_reject_code = 554
unknown_relay_recipient_reject_code = 554
unknown_virtual_alias_reject_code = 554
unknown_virtual_mailbox_reject_code = 554
unverified_recipient_reject_code = 554
unverified_sender_reject_code = 554
unknown_local_recipient_reject_code = 550

#Limit for DoS attacks
default_process_limit = 100
smtpd_client_connection_count_limit = 10
smtpd_client_connection_rate_limit = 30
queue_minfree = 20971520
header_size_limit = 51200

###################################################
#     Chequeos de mensajes[ESPECIFICO] con RE
###################################################

body_checks = pcre:/etc/postfix/rules/body_checks, regexp:/etc/postfix/rules/avchk
header_checks = pcre:/etc/postfix/rules/header_checks
mime_header_checks = pcre:/etc/postfix/rules/mime_header_checks

#Certs stuff
smtpd_tls_CAfile = /etc/postfix/certs/postfix.pem
smtpd_tls_cert_file = /etc/postfix/certs/postfix.pem
smtpd_tls_key_file = /etc/postfix/certs/postfix.pem

tls_random_source = dev:/dev/urandom

smtpd_tls_protocols = !SSLv2 !SSLv3
smtp_tls_protocols = !SSLv2 !SSLv3
lmtp_tls_protocols = !SSLv2 !SSLv3
smtpd_tls_mandatory_protocols = !SSLv2 !SSLv3
smtp_tls_mandatory_protocols = !SSLv2 !SSLv3
lmtp_tls_mandatory_protocols = !SSLv2 !SSLv3
# Good bye SSLv3 and fuck you POODLE!!!
smtpd_tls_mandatory_ciphers = high
smtpd_tls_eecdh_grade = ultra

smtpd_tls_exclude_ciphers = aNULL, eNULL, EXPORT, DES, RC4, MD5, PSK, aECDH, EDH-DSS-DES-CBC3-SHA, EDH-RSA-DES-CDC3-SHA, KRB5-DE5, CBC3-SHA
smtpd_tls_dh1024_param_file = /etc/postfix/certs/dh_1024.pem
smtpd_tls_dh512_param_file = /etc/postfix/certs/dh_512.pem

Entonces con esto protejemos un poquito nuestro server de correo, o mejor dicho, ayudamos al antismap y al antivirus en sus tareas…

Una muestra de los archivos body_checks, avchk, header_checks y mime_header_checks, pueden ser analizadas de un tutorial anterior.

Como siempre un placer ayudar. Un saludo y espero que les sea útil.

Un comentario de “[Tutorial] Asegurando Postfix/Dovecot un poquito

  1. Socio como puedo hacer tierra contigo soy administrador de red y necesito que me asesores en algunas cosas dime a que correo nacional puedo escribirte soy un linuxero

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *