SPF på Debian 12 (Bookworm)

[Uppdatering 2024-03-06: Lägger till länk till Debians manualsida som berör SPF]

Sender Policy Framework (SPF) var en av de tekniker som G-mail (Google) började ställa krav på att e-post-servrar har under 2023. Även DKIM verkade det ställas krav på, visade det sig. DKIM blir i en annan artikel, här blir det bara SPF.

SPF och DKIM är två typer av TXT-poster i DNS som gör det möjligt att upptäcka spoofing av e-post och hjälpa legitim e-post att levereras till mottagarens in-box, istället för i skräp-korgen. Om de inte lade till dig i deras adress-bok.

DNS-posten för SPF beskriver vilken host, eller IP-adresser, som är tillåtna att använda för att skicka e-post för domänen. Du bör bara tillåta din egen e-post-server eller din ISPs server som sänder e-post för din domän.

SPF tolkar jag som, är en teknik som fungerar så att jag skickar e-post från A till B. När B tar emot min e-post, kan den kontrollera på min domän om min e-post kommer från rätt host. Om det finns en SPF-post på min domän. Så den ändrar inget på utgående e-post, bara gör det möjligt att kontrollera inkommande e-post.

Jag har använt många källor innan jag kom till skott. Den som fick mig att ta steget, var den artikel som Xiao Guoan skrev på linuxbabe.com, 2022.

Steg 1: Skapa en TXT-post i DNS för SPF

Där du konfigurerar din DNS, skapa en ny TXT-post, enligt nedan. Detta enligt de källor jag hittat på nätet.

TXT @ v=spf mx ~all

Använder du One.com kan det se ut så här.

TXT @ v=spf include:_custspf.one.com ~all
SPF på one.com
SPF på one.com

Förklaring:

TXT indikerar att detta är en TXT-post.
@ anges i fältet för ”hostname” och jag gissar att det har med alla att göra. Men hur? Och olika för olika webb-hotell. Jag lade bara till host för en under-domän jag har. Så jag har två TXT-poster.
v=spf indikerar att detta är en SPF-post och att det är version SPF1.
ip4:(ip-nr) anger vilken host som är giltig att skicka e-post från.
include:_custspf.one.com anger att SPF från en annan källa också används. Tror jag i alla fall. Det var vad one.com tyckte att man skulle ange, så att deras system kan användas.
mx betyder alla hosts listade med MX-poster har tillåtelse att sända e-post för din domän. Jag använde inte denna.
~all indikerar att e-post från din domän ska bara komma från hosts beskrivna i SPF-posten. Möjliga andra alternativ är [+all, -all, ?all], men är sällan använda.

Steg 2: Kontrollera SPF-posterna i DNS

För att kontrollera om SPF-posten har spridits, så att den kan användas, använd tex ”dig”-verktyget på lin Linux-dator. På Ubuntu behöver man installera paketet bind9-dnsutils för att komma åt kommandot.

sudo apt install bind9-dnsutils
dig ripop.se txt

Attributet txt säger till dig att bara visa TXT-poster.

Du kan även använda ”https://dmarcian.com/spf-survey” för att testa syntax för din SPF-post. Om det finns bättre? Det vet jag inte. Nytt område för mig.

Steg 3: Konfigurera SPF Policy Agent

Postfix behöver också veta något om SPF, för att kontrollera SPF-posterna för inkommande e-post. SPF kontrolleras på inkommande sidan. Inget görs på utgående e-post.

Först installeras de paket som behövs.

sudo apt install postfix-policyd-spf-python

Därefter editeras Postfix konfiguration av huvud-processer.

sudo nano /etc/postfix/master.cf

Lägg till följande linje i slutet av filen. Den säger åt Postfix att starta policy-demonen för SPF när den själv startar. Gör gärna en kommentar i anslutning, så att du vet varför och när.

# 2024-03-03: Rickard: G-mail har börjat kräva detta. 
policyd-spf unix - n n - 0 spawn
  user=policyd-spf argv=/usr/bin/policyd-spf

Nästa steg är att editera Postfix primära fil för konfiguration.

sudo nano /etc/postfix/main.cf

Lägg till följande i slutet av filen. Första linjen anger Postfix timeout för policy-agenten. Efter-följande linjer skapar restriktioner för inkommande e-post genom att avvisa obehörig e-post och kontrollera SPF-posten. Debian rekommenderar 3600, som det verkar på Debians manual-sida som berör SPF.

# 2024-03-03: Rickard: Vad som krävs för att kontrollera SPF på inkommande.
policyd-spf_time_limit = 3600 
  smtpd_recipient_restrictions =
  permit_mynetworks,
  permit_sasl_authenticated,
  reject_unauth_destination,
  check_policy_service unix:private/policyd-spf

Kommentar från Postfix:
reject_unauth_destination behöver vara före check_policy_service.
https://www.postfix.org/SMTPD_POLICY_README.html#client_config
Kommentar om rad 8,9.

Spara. Starta om Postfix.

sudo systemctl restart postfix

Nästa gång jag får en e-post från en domän som har SPF-poster, kan jag se att SPF har kontrollerat resultatet i e-post-headern. Följande header indikerar att sändaren har skickat e-post från en giltig host.

Received-SPF: Pass (sender SPF authorized).

Detta gick förhållandevis smärtfritt. Nästa artikel kommer att handla om mitt äventyr med DKIM. Den var inte lika lätt att fundera ut.

Länkar

Xiao Guoan
https://www.linuxbabe.com/mail-server/setting-up-dkim-and-spf

SPF Debian
https://manpages.debian.org/testing/postfix-policyd-spf-python/policyd-spf.1.en.html

Testa SPF (finns många andra, jag testade med denna)
https://dmarcian.com/spf-survey

SPF på One.com
https://help.one.com/hc/sv/articles/115005595945-L%C3%A4gg-till-en-SPF-post

Postfix SMTPD policy
https://www.postfix.org/SMTPD_POLICY_README.html#client_config

Länkar svåra att hantera i inlägg

Jag har under en tid haft problem med att det varit svårt att lägga till hyper-länkar, här i WordPress.

Block-redigering har jag inte gillat sedan den blev tillgänglig. Jag har dock använt den, för att se om jag kunde lära mig. Nej, det har jag inte.

Från det att jag började med block-redigering fram till idag, har det varit problem att lägga till hyper-länkar. När jag markerat text och valt ”infoga hyperlänk”, då har dialogen för det stått och blinkat och jag har inte kunnat lägga till länken. Det var inte så från allra första stund med block-redigering, men rätt tidigt. Då jag inte gör så många inlägg har det varit störande, men inte påverkat mig allt för mycket.

Nu tänkte jag att jag skulle göra något åt detta. Kanske det var TinyMCE som inte fungerar med nyare WordPress. Det var det inte. Jag har inte ens TinyMCE installerad. I alla fall inte som eget tillägg. Det verkar vara ett tillägg som innehåller, både, TinyMCE och Gutenberg. Gutenberg är block-redigeraren. Så jag gick in i det tillägg och såg vilka inställningar som fanns att göra.

Jag hittade ”Byt blockredigeraren med den klassiska redigeraren”, och bockade för den. Nu fungerar det till slut att skapa hyper-länkar.

Det är möjligt att det finns inställningar som gör Gutenberg (block-redigeraren) användbar även för mig. Men för tillfället har jag inte hittat någon sådan inställning. Jag har inte lagt någon tid att leta, och jag har inte snubblat över något som verkat vettigt att prova.

Kontrollera om gäst-tillägg är installerat för VirtualBox klient

Något jag kollar ett antal gånger varje år, det är om jag har gäst-tillägget installerat på VirtualBox-klient. Varje gång måste jag leta på nätet, och det är inte alltid lätt att hitta det jag letar efter. Osäker på om jag hittat det nu, men det är vad jag provar. Jag kan tänka mig att uppdatera detta inlägg, om jag hittar bättre alternativ. Men jag tror att det möjligen kan vara att jag skulle hitta någon som är duktig på att förklara varför olika lösningar är bra eller ej.

Silver Moon (maj 2023) verkar ha en bra presentation av en lösning. Jag följder den. ”lsmod” ger mig att jag troligen har gäst-tillägg installerat. Tabellen under ”lsmod” visar vad jag har i en klient för tillfället (2024-01-20).

$ lsmod | grep -i vbox
vboxsf 77824 3
vboxvideo 45056 0
drm_ttm_helper 16384 1 vboxvideo
vboxguest 409600 6 vboxsf
ttm 86016 3 vmwgfx,vboxvideo,drm_ttm_helper
drm_kms_helper 311296 2 vmwgfx,vboxvideo
drm 622592 8 vmwgfx,drm_kms_helper,vboxvideo,drm_ttm_helper,ttm

Något jag har märkt är att det kan vara bra om en användare tillhör gruppen ”vboxfs”. Då får jag tillgång till utdelade mappar från ”host”.

Silver Moon nämner även ”modinfo vboxguest” och jag får följande från den.

filename: /lib/modules/5.15.0-91-generic/misc/vboxguest.ko
version: 6.1.48 r159471
license: GPL
description: Oracle VM VirtualBox Guest Additions for Linux Module
author: Oracle Corporation
srcversion: FE7EF6B9ACED41027BA83AF
alias: pci:v000080EEd0000CAFEsv00000000sd00000000bc*sc*i*
depends:  
retpoline: Y
name: vboxguest
vermagic: 5.15.0-91-generic SMP mod_unload modversions

 ”filename” visar vilken modul som används.

Länkar:
https://www.binarytides.com/check-virtualbox-guest-additions-installed-linux-guest/ (Silver Moon – 2023 Maj)

https://unix.stackexchange.com/questions/718117/command-to-know-the-virtualbox-guest-additions-version-installed-at-ubuntu-and-f (Manuel Jordan – 2022 September)

Komprimera resultat av Kazam

Skärminspelaren Kazam är rätt enkel att använda, men jag tycker att resultatet blir lite stora filer. Så jag har letat lite efter bra rekommendationer att minska fil-storleken.

ffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4

Detta verkar ge en rätt rejäl minskning av fil-storleken. Så jag ska försöka komma ihåg det nästa gång jag vill komprimera ett video-klipp.

Länk:
https://unix.stackexchange.com/questions/28803/how-can-i-reduce-a-videos-size-with-ffmpeg

Länkar fungerar fortfarande inte att göra i WordPress nya block-system. Och jag hittar inget svar på nätet. Jag kanske har något felaktigt konfigurerat. Men jag hittar inget, för tillfället. Länk-skaparen bara står och blinkar, om den över huvud taget behagar att visa sig.

Lets Encrypt till Dovecot på Debian (Buster)

Jag verkar ha kopplat Dovecot och SSL till fel nycklar. Fick problem för ett litet tag sedan, när den jag kopplat tog slut.

Efter lite sökande hittar jag vad jag tror är rätt sätt att koppla Dovecot. Apache uppdateras med automatik, så det bästa verkar vara att koppla Dovecot till samma SSL-nycklar.

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

10-ssl.conf har inställning för att koppla SSL till Dovecot, och det ändras på följande sätt.

ssl_cert = </etc/letsencrypt/live/YOURSITE/fullchain.pem
ssl_key = </etc/letsencrypt/live/YOURSITE/privkey.pem

Detta hittade jag på länken nedan.

Länkar:

https://community.letsencrypt.org/t/simple-guide-using-lets-encrypt-ssl-certs-with-dovecot/2921