Postfix: relay individual per usuari/domini

Per evitar que Gmail i Outlook marquin els correus-e procedents del nostre com a servidor com a correu brossa ens pot interessar fer relay en un altre SMTP, i més concretament fer relay d’alguns usuaris concrets.

Afegim el fitxer /etc/postfix/bysender:

user@example.com   [smtp.otherserver.com]:port
  • Nota: Si no posem la part de user farà relay de tot el domini.

Indiquem les credencials al fitxer /etc/postfix/sasl/sasl_passwd:

[smtp.otherserver.com]:port email@otherserver.com:password

Fem el hash/map del fitxer:

# postmap /etc/postfix/bysender
# postmap /etc/postfix/sasl/sasl_passwd

Protegim els fitxers:

# chown root:root /etc/postfix/sasl/sasl_passwd /etc/postfix/sasl/sasl_passwd.db
# chmod 0600 /etc/postfix/sasl/sasl_passwd /etc/postfix/sasl/sasl_passwd.db

Editem el fitxer /etc/postfix/main.cf:

# Load relays file
sender_dependent_relayhost_maps = hash:/etc/postfix/bysender
# Enable SASL authentication
smtp_sasl_auth_enable = yes
# Disallow methods that allow anonymous authentication
smtp_sasl_security_options = noanonymous
# Location of sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl/sasl_passwd
# Location of CA certificates
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

Reiniciem el servei:

# service postfix restart

Fonts:

 

Instal·lar LAMP a Debian 9

Instal·lar serveis

Apache:

# apt install apache2 apache2-mod-php7.0 ssl-cert

PHP:

# apt install php7.0 libapache2-mod-php7.0 php7.0-mysql php7.0-gd php7.0-opcache

MariaDB:

# apt install mariadb-client mariadb-server

Phpmyadmin:

# apt install phpmyadmin

Configuracions

Assegurem la instal·lació de MariaDB:

# mysql_secure_installation

És ben lògic què cal respondre a les preguntes.

Donem accés total a l’usuari phpmyadmin:

# mysql -u root -p
> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost' WITH GRANT OPTION;
> FLUSH PRIVILEGES;

I fet.

Pegat opendkim a Debian Stretch

Actualitzant un servidor de correu-e a Debian Stretch els missatges van deixar d’estar signats amb DKIM. Després d’investigar vaig arribar a la conclusió que tal com està configurat el servei a SystemD l’opendkim es passa el fitxer de configuració per l’arc de triomf.

Primer de tot creem el directori del PID i donem els permisos que toquen:

# mkdir /var/spool/postfix/opendkim# adduser opendkim postfix# adduser postfix opendkim# chown opendkim:postfix /var/spool/postfix/opendkim

Per solucionar el problema cal editar dues línies del fitxer /lib/systemd/system/opendkim.service:

PIDFile=/var/spool/postfix/opendkim/opendkim.pid
ExecStart=/usr/sbin/opendkim -x /etc/opendkim.conf -P /var/spool/postfix/opendkim/opendkim.pid -p local:/var/spool/postfix/opendkim/opendkim.sock

Finalment cal reiniciar el servei:

# systemctl daemon-reload
# systemctl start opendkim.service

Font: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=853769

OpenDKIM a Debian 9

Instal·lar OpenDKIM

$ sudo apt-get install opendkim opendkim-tools

Configurar OpenDKIM

Editem /etc/opendkim.conf:

AutoRestart Yes
AutoRestartRate 10/1h
UMask 002
Syslog yes
SyslogSuccess Yes
LogWhy Yes

Canonicalization relaxed/simple

ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable

Mode sv
SignatureAlgorithm rsa-sha256

Editem /etc/default/opendkim:

RUNDIR=/var/spool/postfix/opendkim
SOCKET=/var/spool/postfix/opendkim/opendkim.sock
USER=opendkim
GROUP=postfix
PIDFILE=/var/spool/postfix/opendkim/opendkim.pid
EXTRAAFTER=

Editem /etc/postfix/main.cf:

milter_protocol = 6
milter_default_action = accept
smtpd_milters = local:/opendkim/opendkim.sock
non_smtpd_milters = local:/opendkim/opendkim.sock

Creem els directoris per les claus:

$ sudo mkdir -p /etc/opendkim/keys

Especifiquem els hosts de confiança a /etc/opendkim/TrustedHosts:

127.0.0.1
localhost
A.B.C.D #IP pública servidor
*.exemple.com

Creem la taula de claus a /etc/opendkim/KeyTable:

exemple.com exemple.com:201707:/etc/opendkim/keys/exemple.com/201707.private

Fixeu-vos que el 201707 coincideix amb l’any i el mes en què es genera la clau.

Creem la taula de firmes a /etc/opendkim/SigningTable:

*@exemple.com exemple.com

Generar claus

$ cd /etc/opendkim/keys
$ sudo mkdir exemple.com
$ cd exemple.com

Generem les claus:

$ sudo opendkim-genkey -s 201707 -d exemple.com
$ sudo chown opendkim:opendkim 201707.private

Afegim les claus al DNS

Mirem el que hem d’afegir mostrant el fitxer 201707.txt del directori on som:

201707._domainkey IN TXT ( "v=DKIM1; h=sha256; k=rsa; "
 "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqTfyFhKjILD50P3ORwd1VExAe3eYJSv6+OBgKH9FFIpr9jQad4d923wpHXXPlxdOPlYePueVwq8HxnTxHPUpMuowxHJ+juimdOx3jteYkne4O9ezl2OIBVIIokpfDB6UQJ+/BTqg72PccPsGPkeEkYu3zwO/5MZUI8hM7gmCs6RurFxM6Pw4zacd6lE/9pbr66eG/ALs7yxdkM"
 "EYCIqxV5DZNq4BQiVEAo3sFKre3bMW92wTJzyUFOuNjUJZ3EwHZsQSAunH8RHhP9S42YJ6K6vdxqQpBXXJUGAuYUdAq7TBMtYzx5+ZAXvnHzH+2S251ewBHssdUGQ5hZdzyee3QwIDAQAB" ) ; ----- DKIM key 201707 for exemple.com

Ens interessa el valor que hi ha entre parèntesis. Agafem tot el que hi ha entre els parèntesis i després eliminem les cometes.

Afegim un registre TXT a la zona DNS:

Nom: 201707._domainkey
Valor: v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqTfyFhKjILD50P3ORwd1VExAe3eYJSv6+OBgKH9FFIpr9jQad4d923wpHXXPlxdOPlYePueVwq8HxnTxHPUpMuowxHJ+juimdOx3jteYkne4O9ezl2OIBVIIokpfDB6UQJ+/BTqg72PccPsGPkeEkYu3zwO/5MZUI8hM7gmCs6RurFxM6Pw4zacd6lE/9pbr66eG/ALs7yxdkMEYCIqxV5DZNq4BQiVEAo3sFKre3bMW92wTJzyUFOuNjUJZ3EwHZsQSAunH8RHhP9S42YJ6K6vdxqQpBXXJUGAuYUdAq7TBMtYzx5+ZAXvnHzH+2S251ewBHssdUGQ5hZdzyee3QwIDAQAB

I ja ho tenim servit. Per comprovar que funcioni podem fer-ho enviant un correu-e a check-auth@verifier.port25.com.

Nota: A Debian 9 cal fer un pegat al servei del SystemD.

Gitkraken a KDE

Per instal·lar Gitkraken a KDE Neon només ens cal el DEB de la seva web, però tot i que s’instal·la sense problemes el programa no s’executa. Per arreglar-ho només hem d’instal·lar aquests paquets:

$ sudo apt-get install build-essential clang libdbus-1-dev libgtk2.0-dev libnotify-dev libgnome-keyring-dev libgconf2-dev libasound2-dev libcap-dev libcups2-dev libxtst-dev libxss1 libnss3-dev gcc-multilib g++-multilib curl