Instal·lar i configurar logwatch

El logwatch és una eina que permet analitzar els logs i enviar una còpia més simple a l’administrador.

Instal·lem el paquet:

# apt install logwatch

Per configurar-lo editem /usr/share/logwatch/default.conf/logwatch.conf:

MailTo = correu@exemple.com
MailFrom = logwatch@exemple.com
Range = yesterday
Detail = Med

Per defecte tots els serveis venen activats:

Service = All

Si en volem només alguns de concrets hem de comentar aquesta línia i fer una llista:

Service = http
Service = sshd2
Service = sudo

Si volem desactivar els informes diaris descomentem;

# DailyReport = No

I si volem executar-lo manualment:

$ logwatch --detail Med --mailto correu@exemple.com --service sudo --range today

Instal·lació i configuració d’un servidor FTPS

Com configurar un servidor FTPS amb vsftpd a Debian.

Els certificats que s’utilitzen són verificats per Let’s Encrypt (veure entrada).

Recomanacions prèvies:

Instal·lem els paquets:

$ sudo apt-get install vsftpd openssl

Editem el fitxer de configuració:

$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
$ sudo nano /etc/vsftpd.conf

En el meu cas queda així:

listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=It's bigger on the inside!
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
allow_writeable_chroot=YES
user_config_dir=/etc/vsftpd_user_conf
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd

Amb aquesta configuració tenim que tots els usuaris queden fixats al seu home, excepte els que posem al fitxer /etc/vsftpd.chroot_list.
La línia user_config_dir=/etc/vsftpd_user_conf ens serveix per tenir configuracions especifiques per cada usuari, en aquest cas el local_root.

Afegim usuaris al vsftpd.chroot_list (un usuari per línia):

$ sudo nano /etc/vsftpd.chroot_list

Afegim configuracions personals d’usuari:

$ sudo mkdir /etc/vsftpd_user_conf
$ cd /etc/vsftpd_user_conf
$ sudo nano <usuari>

Hi posem la línia:

local_root=<directori>

Habilitem l’usuari root:
No és una opció recomanable, però es pot fer. Editem el següent fitxer i comentem la línia root.

$ sudo nano /etc/ftpusers

Reiniciem el servei:

$ sudo /etc/init.d/vsftpd restart

Configuració del TLS

Editem el fitxer de configuració:

$ sudo nano /etc/vsftpd.conf

Afegim:

# Turn on SSL
ssl_enable=YES

# Allow anonymous SSL connections
allow_anon_ssl=NO

# All non-anonymous logins are forced to use a secure SSL connection in order to
# send and receive data on data connections.
force_local_data_ssl=YES

# All non-anonymous logins are forced to use a secure SSL connection in order to send the password.
force_local_logins_ssl=YES

# Permit TLS v1 protocol connections. TLS v1 connections are preferred
ssl_tlsv1=YES

# Permit SSL v2 protocol connections. TLS v1 connections are preferred
ssl_sslv2=NO

# Permit SSL v3 protocol connections. TLS v1 connections are preferred
ssl_sslv3=NO

# Disable SSL session reuse (required by WinSCP)
require_ssl_reuse=NO

# Select which SSL ciphers vsftpd will allow for encrypted SSL connections (required by FileZilla)
ssl_ciphers=HIGH

# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/letsencrypt/live/aniolmarti.cat/fullchain.pem
rsa_private_key_file=/etc/letsencrypt/live/aniolmarti.cat/privkey.pem

Reiniciem el servei:

$ sudo /etc/init.d/vsftpd restart

Configuració del mode passiu

Editem el fitxer de configuració:

$ sudo nano /etc/vsftpd.conf

Afegim les línies:

pasv_enable=YES
pasv_max_port=10100
pasv_min_port=10090

Reiniciem el servei:

$ sudo /etc/init.d/vsftpd restart

Fitxer final

# Basic configuration
listen=NO
listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=It's bigger on the inside!
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
allow_writeable_chroot=YES
user_config_dir=/etc/vsftpd_user_conf
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd

# Turn on SSL
ssl_enable=YES

# Allow anonymous SSL connections
allow_anon_ssl=NO

# All non-anonymous logins are forced to use a secure SSL connection in order to
# send and receive data on data connections.
force_local_data_ssl=YES

# All non-anonymous logins are forced to use a secure SSL connection in order to send the password.
force_local_logins_ssl=YES

# Permit TLS v1 protocol connections. TLS v1 connections are preferred
ssl_tlsv1=YES

# Permit SSL v2 protocol connections. TLS v1 connections are preferred
ssl_sslv2=NO

# permit SSL v3 protocol connections. TLS v1 connections are preferred
ssl_sslv3=NO

# Disable SSL session reuse (required by WinSCP)
require_ssl_reuse=NO

# Select which SSL ciphers vsftpd will allow for encrypted SSL connections (required by FileZilla)
ssl_ciphers=HIGH

# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/letsencrypt/live/aniolmarti.cat/fullchain.pem
rsa_private_key_file=/etc/letsencrypt/live/aniolmarti.cat/privkey.pem

Configurar client Filezilla

Tot aquest procés es pot fer executant aquest script que tinc al Github: https://github.com/aniolm9/admin-scripts

Apache “site” bàsic

Creem el directori del lloc i donem els permisos:

$ sudo mkdir /var/www/ltec.cat
$ sudo chown -R www-data:www-data /var/www/ltec.cat
$ sudo chmod -R 755 /var/www/ltec.cat

Creem el lloc a l’Apache:

$ sudo nano /etc/apache2/sites-available/ltec.cat.conf

En el meu cas queda així:

<VirtualHost *:80> 
    ServerAdmin amarti@ltec.cat
    ServerName ltec.cat 
    ServerAlias www.ltec.cat 
    DocumentRoot /var/www/ltec.cat 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
</VirtualHost>

Habilitar els llocs:

$ sudo a2ensite /etc/apache2/sites-available/ltec.cat.conf
$ sudo /etc/init.d/apache2 restart

Servidor de correu-e LAMP + Postfix + Dovecot + Roundcube

Instal·larem i configurarem un servidor de correu-e amb certificats SSL, amb accés per Roundcube i amb Spamassassin pels filtres de correu brossa.

Els certificats que s’utilitzen són verificats per Let’s Encrypt (veure entrada).

Recomanacions prèvies:

Configuració del FQDN:

$ sudo nano /etc/hosts

I la configuració:

127.0.0.1 localhost localhost
127.0.1.1 mail.aniolmarti.cat mail
YourIP mail.aniolmarti.cat mail

El fitxer /etc/hostname, en aquest cas, ha de contenir mail.aniolmarti.cat.

Instal·lem paquets:

$ sudo apt-get install postfix postfix-mysql dovecot-core dovecot-imapd dovecot-lmtpd dovecot-mysql

Quan ens surti la pantalla de configuració marquem “Internet Site”.
A “System mail name” podem posar el nostre FQDN o el nostre domini (jo opto pel FQDN).

Creació de taules al MySQL

Creem la base de dades servermail:

# mysqladmin -p create servermail

Entrem amb l’usuari root:

# mysql -u root -p

Creem un nou usuari per la base de dades:

mysql > GRANT SELECT, UPDATE ON servermail.* TO 'usermail'@'127.0.0.1' IDENTIFIED BY 'P@ssw0rd';

mysql > FLUSH PRIVILEGES;

Accedim a la DB servermail:

mysql> USE servermail;

Creem les taules:

mysql> CREATE TABLE `virtual_domains` (`id` INT NOT NULL AUTO_INCREMENT,`name` VARCHAR(50) NOT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql> CREATE TABLE `virtual_users` (`id` INT NOT NULL AUTO_INCREMENT,`domain_id` INT NOT NULL,`password` VARCHAR(106) NOT NULL,`email` VARCHAR(120) NOT NULL,PRIMARY KEY (`id`),UNIQUE KEY `email` (`email`),FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql> CREATE TABLE `virtual_aliases` (`id` INT NOT NULL AUTO_INCREMENT,`domain_id` INT NOT NULL,`source` varchar(100) NOT NULL,`destination` varchar(100) NOT NULL,PRIMARY KEY (`id`),FOREIGN KEY (domain_id) REFERENCES virtual_domains(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Afegim contingut a les taules:

mysql> INSERT INTO `servermail`.`virtual_domains` (`id` ,`name`) VALUES ('1', 'aniolmarti.cat'),('2', 'mail.aniolmarti.cat');
mysql> INSERT INTO `servermail`.`virtual_users` (`id`, `domain_id`, `password` , `email`) VALUES ('1', '1', ENCRYPT('P@ssw0rd'), 'webmaster@aniolmarti.cat');

A la taula “virtual_aliases” de moment no hi posem res, ja que és per fer redireccions. Per afegir un àlies seria:

mysql> INSERT INTO `servermail`.`virtual_aliases` (`id`, `domain_id`, `source`, `destination`) VALUES ('1', '1', 'alias@example.com', 'email1@example.com');

Sortim del MySQL:

mysql> exit

Configuració del Postfix

Fem un backup del fitxer original:

# cp /etc/postfix/main.cf /etc/postfix/main.cf.bak

L’editem:

# nano /etc/postfix/main.cf

Els “TLS parameters” els deixem així:

# TLS parameters
# Incoming
smtpd_tls_cert_file=/etc/letsencrypt/live/mail.aniolmarti.cat/fullchain.pem
smtpd_tls_key_file=/etc/letsencrypt/live/mail.aniolmarti.cat/privkey.pem
smtpd_use_tls=yes
smtpd_tls_auth_only = yes
smtpd_tls_security_level = may
smtpd_tls_mandatory_ciphers = high

# Outgoing
smtp_tls_cert_file=/etc/letsencrypt/live/mail.aniolmarti.cat/fullchain.pem
smtp_tls_key_file=/etc/letsencrypt/live/mail.aniolmarti.cat/privkey.pem
smtp_use_tls = yes
smtp_tls_security_level = may
smtp_tls_mandatory_ciphers = high

# SASL Authentication
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_authenticated_header = yes
smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination

Canviem el paràmetre “mysdestination” a “localhost” i “myhostname” al nostre FQDN:

mydestination = localhost
myhostname = mail.aniolmarti.cat

Afegim les línies:

virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf

Preparem aquests 3 fitxers per realitzar la connexió amb el MySQL:

# nano /etc/postfix/mysql-virtual-mailbox-domains.cf

Ha de quedar:

user = usermail
password = P@ssw0rd
hosts = 127.0.0.1
dbname = servermail
query = SELECT 1 FROM virtual_domains WHERE name='%s'

El segon:

# nano /etc/postfix/mysql-virtual-mailbox-maps.cf

Que quedi:

user = usermail
password = P@ssw0rd
hosts = 127.0.0.1
dbname = servermail
query = SELECT 1 FROM virtual_users WHERE email='%s'

I l’últim:

# nano /etc/postfix/mysql-virtual-alias-maps.cf

I que quedi:

user = usermail
password = P@ssw0rd
hosts = 127.0.0.1
dbname = servermail
query = SELECT destination FROM virtual_aliases WHERE source='%s'

Reiniciem el Postfix:

# /etc/init.d/postfix restart

Comprovem que trobi el nostre domini (correcte si retorna 1):
(L’últim en lloc d’1 hauria de retornar el correu que és redirigit).

# postmap -q aleation.net mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
# postmap -q webmaster@aleation.net mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
# postmap -q alias@example.com mysql:/etc/postfix/mysql-virtual-alias-maps.cf

Habilitar el port 465 per la connexió segura:

# nano /etc/postfix/master.cf

Busquem la línia addient i ho deixem així:

submission inet n       -       -       -       -       smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject

Busquem la línia “smtps     inet  n       –       n       –       –       smtpd” i ho modifiquem:

“465     inet  n       -       n       -       -       smtpd”
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

Reïniciem el postfix:

# /etc/init.d/postfix restart

Configuració del Dovecot

Fem un backup dels fitxers:

# cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.bak
# cp /etc/dovecot/conf.d/10-mail.conf /etc/dovecot/conf.d/10-mail.conf.bak
# cp /etc/dovecot/conf.d/10-auth.conf /etc/dovecot/conf.d/10-auth.conf.bak
# cp /etc/dovecot/dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext.bak
# cp /etc/dovecot/conf.d/10-master.conf /etc/dovecot/conf.d/10-master.conf.bak
# cp /etc/dovecot/conf.d/10-ssl.conf /etc/dovecot/conf.d/10-ssl.conf.bak

Editem el “dovecot.conf”:

# nano /etc/dovecot/dovecot.conf

Revisem que aquesta línia no estigui comentada:

!include conf.d/*.conf

Habilitem IMAP:

!include_try /usr/share/dovecot/protocols.d/*.protocol
protocols = imap lmtp

Editem un altre fitxer:

# nano /etc/dovecot/conf.d/10-mail.conf

Canviem alguns paràmetres:

mail_location = maildir:/var/mail/vhosts/%d/%n
mail_privileged_group = mail

Establim els permisos i les carpetes per cada domini:

# mkdir -p /var/mail/vhosts/aleation.net
# groupadd -g 5000 vmail
# useradd -g vmail -u 5000 vmail -d /var/mail
# chown -R vmail:vmail /var/mail
# chmod -R 770 /var/mail

Editem el fitxer “10-auth.conf”:

# nano /etc/dovecot/conf.d/10-auth.conf

Descomentem:

disable_plaintext_auth = yes
!include auth-sql.conf.ext

Modifiquem:

auth_mechanisms = plain login

Comentem:

#!include auth-system.conf.ext

Configurem la connexió a la BDD:

# nano /etc/dovecot/conf.d/auth-sql.conf.ext

Ha de quedar:

passdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
  driver = static
  args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
}

També modifiquem:

# nano /etc/dovecot/dovecot-sql.conf.ext

Descomentem i modifiquem:

driver = mysql
connect = host=127.0.0.1 dbname=servermail user=usermail password=P@ssw0rd
default_pass_scheme = SHA512-CRYPT
password_query = SELECT email as user, password FROM virtual_users WHERE email='%u';

Editem permisos:

# chown -R vmail:dovecot /etc/dovecot
# chmod -R o-rwx /etc/dovecot

Editem el fitxer “10-master.conf”:

# nano /etc/dovecot/conf.d/10-master.conf

Notem els canvis que s’hi fan:

##Uncomment inet_listener_imap and modify to port 0
service imap-login {
  inet_listener imap {
    port = 0
}

#Create LMTP socket and this configurations
service lmtp {
   unix_listener /var/spool/postfix/private/dovecot-lmtp {
           mode = 0600
           user = postfix
           group = postfix
   }
  #inet_listener lmtp {
    # Avoid making LMTP visible for the entire internet
    #address =
    #port =
  #}
} 

service auth {

  unix_listener /var/spool/postfix/private/auth {
  mode = 0666
  user = postfix
  group = postfix
  }

  unix_listener auth-userdb {
  mode = 0600
  user = vmail
  #group =
  }

  #unix_listener /var/spool/postfix/private/auth {
  # mode = 0666
  #}

  user = dovecot
}

service auth-worker {
  # Auth worker process is run as root by default, so that it can access
  # /etc/shadow. If this isn't necessary, the user should be changed to
  # $default_internal_user.
  user = vmail
}

Editem el fitxer “10-ssl.conf”:

# nano /etc/dovecot/conf.d/10-ssl.conf

Modifiquem els paràmetres:

ssl = required
ssl_cert = </etc/letsencrypt/live/mail.ltec.cat/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.ltec.cat/privkey.pem

Reiniciem el Dovecot:

# /etc/init.d/dovecot restart

Roundcube

Baixem el Roundcube i el descomprimim:

$ wget https://github.com/roundcube/roundcubemail/releases/download/1.2.2/roundcubemail-1.2.2-complete.tar.gz
$ tar -xvzf roundcubemail-1.2.2-complete.tar.gz
# mv roundcubemail-1.2.2 /var/www/roundcube
# chown -R www-data:www-data /var/www/roundcube

Creem la base de dades:

# mysql -u root -p
mysql> CREATE DATABASE roundcube;
mysql> CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcube'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit

Instal·lem paquets:

# apt-get install php-pear php5-intl php5-mcrypt && sudo php5enmod intl mcrypt

Activem mòduls:

# a2enmod deflate expires headers rewrite ssl

Instal·lem paquets PHP PEAR:

# pear install Auth_SASL Net_SMTP Net_IDNA2-0.1.1 Mail_mime Mail_mimeDecode

Creem el site:

# nano /etc/apache2/sites-available/mail.exemple.com.conf

Amb les nostres dades ha de quedar així:

<VirtualHost *:80> 
    ServerAdmin correu@exemple.com
    ServerName mail.exemple.com
    ServerAlias mail.exemple.com
    DocumentRoot /var/www/roundcube 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
RewriteEngine on
RewriteCond %{SERVER_NAME} =mail.exemple.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</VirtualHost>

També creem el site /etc/apache2/sites-available/mail.exemple.com-le-ssl.conf:

<IfModule mod_ssl.c>
<VirtualHost *:443> 
    ServerAdmin correu@exemple.com
    ServerName mail.exemple.com
    ServerAlias mail.exemple.com
    DocumentRoot /var/www/roundcube 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
SSLCertificateFile /etc/letsencrypt/live/exemple.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/exemple.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>
</IfModule>

Afegim el fus horari a /etc/php5/apache2/php.ini:

date.timezone = Europe/Berlin

Reiniciem l’Apache:

# service apache2 restart

Per configurar el Roundcube només cal accedir a: https://mail.example.com/installer
Un cop configurat cal eliminar el directori de l’instal·lador:

# rm -r /var/www/roundcube/installer

Plugin “password”

Activem el plugin:

# nano /var/www/roundcube/config/config.inc.php

Busquem la línia:

$config['plugins'] = array();

La modifiquem:

$config['plugins'] = array(‘password’);

Configurem el plugin:

# cp /var/www/roundcube/plugins/password/config.inc.php.dist /var/www/roundcube/plugins/password/config.inc.php
# nano /var/www/roundcube/plugins/password/config.inc.php

Busquem i modifiquem les línies:

$config['password_driver'] = 'sql';
$config['password_confirm_current'] = true;
$config['password_minimum_length'] = 6;
$config['password_require_nonalpha'] = false;
$config['password_log'] = false;
$config['password_login_exceptions'] = null;
$config['password_hosts'] = array('localhost');
$config['password_force_save'] = false;
$config['password_algorithm'] = 'sha512-crypt';
// SQL Driver options
$config['password_db_dsn'] = 'mysql://user:pass@localhost/servermail';
$config['password_query'] = 'UPDATE virtual_users SET password=ENCRYPT(%p) WHERE email=%u LIMIT 1';
$config['password_crypt_hash'] = 'sha512';

Desactivar múltiples identitats

Per defecte Roundcube et permet crear identitats amb el correu-e que tu vulguis i el nom que tu vulguis. Per canviar-ho cal editar la configuració.

Editem el fitxer /var/www/roundcube/config/config.inc.php:

// Set identities access level:
// 0 - many identities with possibility to edit all params
// 1 - many identities with possibility to edit all params but not email address
// 2 - one identity with possibility to edit all params
// 3 - one identity with possibility to edit all params but not email address
// 4 - one identity with possibility to edit only signature
$config['identities_level'] = 3;

Spamassassin

Instal·lem:

# apt-get install spamc spamassassin

Configurem els permisos:

# groupadd -g 5555 spamd
# useradd -u 5555 -g spamd -s /sbin/nologin -d /usr/local/spamassassin spamd
# mkdir -p /usr/local/spamassassin/log
# chown spamd:spamd -R /usr/local/spamassassin

Activem l’Spamassassin canviant ENABLED=0 per ENABLED=1 a /etc/default/spamassassin.

Configurem l’Spamassassin editant /etc/spamassassin/local.cf:

rewrite_header Subject ***** SPAM _SCORE_ *****
report_safe             0
required_score          5.0
use_bayes               1
use_bayes_rules         1
bayes_auto_learn        1
skip_rbl_checks         0
use_razor2              0
use_dcc                 0
use_pyzor               0

Configurem el Postfix editant /etc/postfix/master.cf:

smtp      inet  n       -       -       -       -       smtpd
  -o content_filter=spamassassin

spamassassin unix - n n - - pipe
  user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Configurar registre SPF

Aquest apartat s’enfoca a configurar el registre SPF (de l’anglés Sender Policy Framework) del domini. Fer-ho és una manera d’evitar spam i que els teus correus-e no s’intepretin com a tal.

L’SPF li permet a l’administrador especificar quins servidors poden enviar correu en nom d’aquell domini. Per fer-ho cal crear un nou registre TXT a la zona DNS del domini.

Jo utilitzo:

v=spf1 mx a ip4:A.B.C.D ~all

Si voleu més informació sobre SPF podeu visitar aquesta entrada de DigitalOcean.

I fins aquí l’entrada.

Configurar DKIM

Els apunts per configurar DKIM els podeu trobar en aquesta entrada.

Millorar seguretat servidor

Utilitzar claus SSH

En lloc d’utilitzar la configuració per defecte és recomanable deshabilitar l’accés de l’usuari root i utilitzar claus per accedir, en lloc de contrasenyes. Podeu veure com fer aquests canvis i alguns altres en aquesta entrada.

Bloquejar l’accés amb un tallafocs

A part de limitar l’accés SSH també és molt recomanable permetre només l’accés als ports que s’utilitzen, i bloquejar els altres. A Linux el tallafocs més conegut i utilitzat és iptables, podeu veure com realitzar una configuració molt bàsica en aquesta entrada.

Implementar un sistema IDS

Un IDS, de l’anglès intrusion detection system, és una forma de saber si es produeixen accessos no autoritzats a un servidor. Un exemple és Tripwire, i podeu veure com configurar-lo en aquesta entrada.

Instal·lar logwatch

El logwatch és una eina que permet analitzar els logs i enviar una còpia més simple a l’administrador. Podeu veure com instal·lar logwatch en aquesta entrada.

Recomanacions generals

  • Vigilar amb el que es baixa de la xarxa.
  • Mantenir el sistema actualitzat.
  • Utilitzar protocols segurs com FTPS o HTTPS, i no les seves versions sense SSL.