wordpress hosting - vpn - cloud - statistiekservice - email

LinuxPro Nederland

SPF, wat is het en waarom gebruiken

Wat is SPF

SPF heeft iets met maken met email en het bestrijden van spam. De afkorting staat voor Sender Policy Framework, dat is leuk maar wat doet het? SPF kent twee kanten:

  • De DNS van een domein krijgt een TXT record waarin staat welke servers er voor het domein email mogen versturen.
  • De SMTP server controleert of een binnenkomende email af komt van een server die voor dat domein email mag versturen.

Waarom SPF gebruiken

Dat is vrij eenvoudig, het zorgt er voor dat email die binnenkomt gecontroleerd wordt of deze afkomstig is van smtp servers die voor een bepaald domein geautoriseerd zijn om email te verzenden. Hiermee kan vrij eenvoudig een deel van spam en phising worden geblokkeerd. In veel gevallen komt deze kwaadaardige email af van smtp servers die niet geautoriseerd zijn om die email te versturen. Een andere reden om SPF te gebruiken is dat de configuratie niet lastig is en het door veel grote emailaanbieders zoals Google ook gebruikt wordt.

SPF gebruiken

Zoals al aangeven bestaat het gebruik van SPF uit twee delen: de configuratie van de DNS en de SMTP server.

DNS configuratie

In de DNS moet een (extra) TXT record worden opgenomen waarin de emailservers voor dat domein staan aangeven. Zo’n TXT record kan er als volgt uit zien:

v=spf1 mx include:mail.example.com ip4:1.2.3.4 ip6:2a01:4f8:aaa:1355:2 -all

Uitleg:

v=spf1 betreft een SPF versie 1 configuratie
mx alle mailservers die als MX in de DNS voor dit domein staan mogen hiervoor email versturen
include naast de in de DNS staande servers met een MX records mag ook de server mail.example.com, een server met ip-adres 1.2.3.4 en met het ipv6 address 2a01:4f8:aaa:1355:2 mail voor dit domein versturen.
-all alle mail van andere servers is niet geauthoriseerd om email te versturen voor dit domein.

Opmerking: In plaats van -all (weiger email van een domain als de betreffende SMTP server niet geauthoriseerd is kan ook een ~all worden gebruikt, email wordt dan wel geaccepteerd maar kan als SPAM worden gemarkeerd. Ook kan de optie +all worden gebruikt, dan wordt de controle wel gedaan maar volgt er altijd een pass uit en wordt de email geaccepteerd.

Je kan met dig txt linuxpro.nl ons TXT record opvragen, je krijgt dat iets te zien als:

linuxpro.nl. 13372 IN TXT "v=spf1 mx -all"

In ons geval hebben we dus geen extra servers maar alleen de mailservers die in de MX-records staan mogen email versturen voor linuxpro.nl

SMTP server configuratie

We gaan hier uit van een werkende postfix configuratie waar we SPF willen implementeren op een Red Hat of daarmee vergelijkbare distro.

De eerste stap is de installatie van pypolicyd-spf, de is beschikbaar is de veelgebruikte epel repository en die moet dan ook aanwezig en enabled zijn.

Na de installatie moet de postfix configuratie op twee plaatsen worden aangepast, in de master.cf moet worden opgenomen:

policy unix - n n - - spawn user=nobody argv=/usr/libexec/postfix/policyd-spf

En in de main.cf komt onder smtpd_recipient_restrictions voor de laatste regel (waar permit zou moeten staan) de volgende regel:

check_policy_service unix:private/policy,

Herstart hierna postfix en controleer de logfile, je komt dan, als alles goed gaat, oa. de volgende logregels tegen:

policyd-spf[7663]: Pass; identity=mailfrom; client-ip=34.208.113.12;......
policyd-spf[3479]: None; identity=helo; client-ip=183.164.91.100; helo=mtpmc.com...
policyd-spf[3954]: Fail; identity=helo; client-ip=95.213.207.110; helo=....

Red Hat lanceert versie 8

Op 9 mei heeft Red Hat de lang verwachtte versie 8 gereleased. We hadden de beta’s al getest en de lijst met vernieuwingen, veranderingen, nieuwe zaken is enorm. Zaken die in Red Hat 7.6 al als ‘deappriciated’ werden gezien zijn nu of daadwerkelijk vervangen of verwijderd. Zo is yum vervangen door het syntax compatible dnf. De vervanger dnf is sneller dat yum mede omdat het niet meer in python maar C++ geschreven is.

Binnenkort meer over alle veranderingen in Red Hat 8, tot die tijd kan je de officieele release notes lezen. Red Hat 8 is gebaseerd op Fedora 28

Instellen email eenvoudiger

Thunderbird

Het is eenvoudiger geworden om je email-programma zoals Thunderbird in te stellen voor je email-account. Door een aanpassing in de DNS (naamserver) zal oa. Thunderbird automatisch de juiste servers voor je vinden en invullen. Je hoeft alleen nog je gebruikersnaam en wachtwoord aan te vullen en je kan van email gebruik maken.

Om er voor te zorgen dat jouw email ook jouw email is en blijft slaat LinuxPro je email ge-encrypt op en is dus niet leesbaar voor ons of anderen. Dit in tegenstelling tot wat bij veel andere email-aanbieders het geval is.

 

Tip van de slager

chattr

Nou ja, slager… Het overkwam mij dat ik als root een bestand uit /etc niet verwijderd kreeg. In plaats daarvan kreeg ik een ‘Operation not permitted‘ Eerst gekeken met lsof of het bestand door een proces in gebruik was maar dat was niet het geval.

chattr

 

 

Wat iemand gedaan had was met chattr +i het bestand immutable (onveranderlijk) gemaakt. De oplossing is simpel, geef een chattr -i <bestandsnaam> en ik was in staat om het bestand te verwijden.

Met lsattr kunnen de attributen worden opgevraagd.

Het zijn voor mij in ieder geval tooltjes die ik zelden tot nooit gebruik maar waar je in een klantenomgeving zo maar tegen aan kan lopen.

Werk systeembeheerder gaat veranderen…

Dat het werk als systeembeheerder veranderd is niet iets echt nieuws, alhoewel… Was het voorheen voldoende om je certificeringen bij te houden en de nieuwe technieken onder de knie te krijgen is er nu een geheel nieuwe verandering. Een inhoudelijke, waar voor een deel nog steeds systemen worden ge-update en keurig netjes met grote regelmaat worden gepatched zie je een niet meer te stoppen ontwikkeling.

In de huidige omgeving vind je vaak een gevirtualiseerde servers op een VMware ESX cluster. Op die servers draaien de applicaties. Voor die applicaties wordt de server zo ingericht dat deze kan draaien. Denk aan minimale hoeveelheid RAM, aanwezigheid van genoeg netwerkinterfaces, storage en dat soort dingen. De applicatie is dus eigenlijk de laatste schakel die niet gevirtualiseerd is.

Docker

Met de komt van Docker en dergelijke technieken worden applicaties in een zgn. container gedraaid. Een groot voordeel hiervan is dat zodra je Docker omgeving hebt draaien (en dat kan op bijv. Linux maar ook op Windows) de container er op los kan laten en je applicatie draait. Een update v/d applicatie is niet meer een proces om per server deze te updaten. Op de, tadaaa, magic-word: DevOps omgeving wordt een nieuwe image gemaakt van de applicatie en vervolgens kan deze, uiteraard geautomatiseerd, over alle Docker omgevingen worden geupdate. Het risico dat de update op de ene omgeving wel draait en op de andere niet is nagenoeg nul. Je draait de applicatie container tenslotte op een generieke Docker omgeving.

Ook die Docker omgeving zal niet met hand worden genstalleerd per server. Ook dat kan aan de hand van een template middels bijvoorbeeld VMware’s VRA. In deze omgeving maak je een template met alle eigenschappen die je wilt en middels de geautomatiseerde omgeving rol je servers uit. Of dat nou op een VMWare ESX cluster is of in de cloud, dat is om het even. Ook de schaalbaarheid wordt door de komst van Docker een stuk eenvoudiger. Trekt een website voor een bepaalde tijd veel meer bezoekers? Er kan geheel geautomatiseerd een handvol virtuele servers met Docker worden opgebracht. Hiervoor moet natuurlijk wel de benodigde infra aanwezig zijn maar… capaciteitsmanagement en schaalbaarheid krijgen nieuwe dimensies.

Templates

Waar je als systeembeheerder veel bezig was met uitrollen, updaten, patchen en het oplossen van verstoringen verschuift dat naar een soort van technisch template manager. Met templates maak en onderhoud je je serverpark. Een update? Dat is geen kwestie meer van server per server als dan niet geautomatiseerd patchen. Je update je template, test deze met de applicatie image op Docker en als dat werkt vervang je eigenlijk de verouderde of de te pachen servers door servers aan de hand van de geupdate template en middels Docker worden de applicaties uitgerold. Je vervangt dus een server door een nieuwere met de bestaande (of ook geupdate) applicatie-container. Dat is wezenlijk anders dan het traditionele systeembeheer. Deze methode wordt al jaren door grote internetgiganten zoals Google, Facebook en Netfix gebruikt.

Veranderingen

Al dit bovenstaande houdt in dat je naast de kennis van het besturingssysteem nu ook kennis moet vergaren van het werken met bijv. Docker of gelijksoortige technieken. Managers moeten daar ook kennis van op doen want traditionele methodes met maandelijkse patch-rondes, OTAP omgevingen (Ontwikkel, Test, Acceptatie en Productie) gaan allemaal op de schop. De veel gebruikte kreet DevOps een agile manier van werken in plaats van de traditionele manier wordt hiervoor vaak gebruikt. DevOps is niet we doen het hetzelfde op een andere manier, het is een andere manier van denken en een geheel andere manier van inrichten van processen gericht op samenwerking tussen de verschillende afdelingen i.p.v. eilandjes (afdeling netwerk, systeembeheer, storage, infra e.d.) en moet, wil het succesvol zijn door alle lagen van de organisatie worden gedragen. Het simpel wijzigen van de benaming werkoverleg naar stand-up is dat dus niet. Tijdens het traditionele werkoverleg zit een afdeling bij elkaar, bij een standup verdwijnt de afdelingsgrens en komen mensen kort bij elkaar, meestal dagelijks, om kort te bespreken hoever met staat met een bepaalde taak, of er issues zijn en wat de komende dag gaat gebeuren. Het kan dus heel goed zijn dat zo’n standup een wisselende samenstelling heeft om een bepaalde taak (in Scrum een sprint genoemd) te volbrengen. Zo kan er iemand van infra bij komen staan als er bijv. issues zijn met het netwerk of firewall en iemand van finance als het gaat om of een bepaalde taak wel rendabel is voor het bedrijf.

Conclusie

Het systeembeheer is aan het veranderen, in het ene bedrijf gaat dat sneller dan het andere en ook bij de overheden zie je deze ontwikkeling. Door mijn werk als consultant zie je wisselende resultaten. Deze veranderingen, deze nieuwe manier van kijken naar hoe je je werk zo efficient en goed mogelijk kan doen is voor mij in ieder geval een grote motivator en reden dat ik mijn werk zo leuk vind.