Modificació carregador 3DS

Avui xerrant amb dos amics han comentat que els aniria molt bé poder carregar la 3DS amb una bateria externa durant el viatge de final de curs. Davant d’això m’he vist obligat a preparar el cable per poder-ho fer. Sí, segurament en venen, però és més divertit fer-se’l un mateix (i segurament més econòmic).

Tal com ho he fet, el cable USB queda malmès i no es pot reutilitzar com a tal sense reconnectar-lo, el de la 3DS, però, només caldrà tornar-lo a soldar si necessitem connectar-lo a la xarxa elèctrica.

Primer de tot he tallat un cable USB-microUSB que tenia per casa:

Aquest és el codi de colors dels cables USB, és important tenir-lo en compte.

Un cop tallat el cable he desmuntat el carregador de la 3DS. Afortunadament té dos cargols (Torch), que traient-los pots arribar a la placa i dessoldar-ne el cable, per tant no cal malmetre’l.

Un cop tenim els dos cables només cal unir el positiu de l’USB amb el positiu de la 3DS (sol ser el vermell) i el negatiu amb el negatiu (sol ser el negre).

I així és com queda la taula després de l’operació:

Amb això ja tenim un carregador portàtil per la 3DS i la podrem carregar amb bateries externes. Recordeu que la tensió d’alimentació ha de ser de 5V.

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

Apunts permisos UNIX

Sí, sempre se m’oblida. Així que ho apunto aquí i no hauré d’anar-ho buscant quan em faci falta.

Representació dels 3 rols:

  • u per l’usuari.
  • g pel grup.
  • o per altres.
  • a per tots els dits anteriorment.

Representació dels 3 permisos:

  • r per lectura.
  • w per escriptura.
  • x per execució.

I un exemple que assigna permisos d’execució només per l’usuari al fitxer exemple:

$ chmod u+x exemple

Representació numèrica:

  • 1 execució.
  • 2 escriptura.
  • 4 lectura.

I una taula:

Número Lectura (R) Escriptura (W) Execució (X)
0 No No No
1 No No
2 No No
3 No
4 No No
5 No
6 No
7

Umask

Em limitaré a l’explicació ràpida de com es calculen. Per l’exemple utilitzaré la umask 022.

Restem la umask dels permisos base:

  • 666 (permisos base per a fitxers) – 022 (umask) = 644
  • 777 (permisos base per a directoris) – 022 (umask) = 755

 

 

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.