Vraag Wat zijn SPF-records en hoe configureer ik ze?


Dit is een canonieke vraag over het opzetten SPF-records.

Ik heb een kantoor met veel computers die een enkele externe IP delen (ik weet niet of het adres statisch of dynamisch is). Elke computer maakt via IMAP met Outlook verbinding met onze mailserver. E-mail wordt verzonden en ontvangen door die computers en sommige gebruikers verzenden en ontvangen ook e-mail op hun mobiele telefoons.

ik gebruik http://wizard.easyspf.com/ om een ​​SPF-record te genereren en ik ben onzeker over een aantal velden in de wizard, met name:

  1. Voer andere domeinen in die e-mail voor dit domein mogen verzenden of doorsturen
  2. Voer IP-adressen in CIDR-indeling in voor netblocks die afkomstig zijn van of relay zijn voor dit domein
  3. Voer andere hosts in die e-mail voor dit domein kunnen verzenden of doorsturen
  4. Hoe streng moeten SPF-bewuste MTA's dit behandelen?

de eerste paar vragen waar ik redelijk zeker van ben ... ik hoop dat ik genoeg info heb gegeven.


47
2018-03-14 05:45


oorsprong




antwoorden:


SPF registreert gedetailleerd welke servers toegestaan ​​zijn sturen mail voor uw domein.

Vragen 1-3 vatten echt het hele punt van SPF samen: je zou de adressen moeten vermelden van alle servers die geautoriseerd zijn om e-mails te versturen vanuit je domein.
Als u op dit moment nog geen volledige lijst heeft, is het meestal geen goed idee om een ​​SPF-record in te stellen. Ook een domein kan slechts één SPF-record hebben, dus u moet alle informatie in één record combineren.

De individuele vragen helpen je echt om de lijst voor je op te splitsen.

  1. vraagt ​​je om andere domeinen van wie de mailservers e-mail van u kunnen doorsturen; als u bijvoorbeeld een secundaire MX-server hebt op mail-relay.example.org en dat is de belangrijkste mailserver (MX-record) voor het domein example.org, dan zou je moeten binnengaan mx:example.org. Uw SPF-record moet de MX-record van uw eigen domein onder vrijwel alle omstandigheden bevatten (mx).
  2. vraagt ​​u om uw ip-netblocks. Als u gecoloceerde servers hebt op 1.2.3.0/28 en uw kantooradresruimte 6.7.8.0/22 ​​is, voert u dit in ip4:1.2.3.0/28 ip4:6.7.8.0/22. IPv6-ruimte moet worden toegevoegd als bijvoorbeeld ip6:2a01:9900:0:4::/64.
  3. als (bijvoorbeeld) u ook een machine uitschakelt in het kantoor van iemand anders die e-mail vanuit uw domein moet kunnen verzenden, voert u die ook in, met bijvoorbeeld a:mail.remote.example.com.

Gebruikers van uw mobiele telefoon zijn problematisch. Als ze e-mail verzenden door verbinding te maken met uw e-mailserver met behulp van bijvoorbeeld SMTP AUTH en door die server te verzenden, dan hebt u ze behandeld door het adres van de e-mailserver op te geven in (2). Als zij e-mail verzenden door alleen verbinding te maken met welke mailserver dan ook het aanbod van de 3G / HSDPA-provider, dan kunt u SPF niet zinvol doen totdat u uw e-mailinfrastructuur opnieuw hebt ontworpen, zodat u do beheer elk punt waarvan e-mail die beweert van u afkomstig te zijn op het internet terechtkomt.

Vraag 4 is een beetje anders en vraagt ​​welke ontvangers zouden moeten doen met e-mail die beweert uit uw domein te komen niet afkomstig zijn van een van de hierboven genoemde systemen. Er zijn verschillende juridische reacties, maar de enige interessante zijn ~all (zacht falen) en -all (hard mislukt). ?all (geen antwoord) is net zo nutteloos als ~all (qv), en +all is een gruwel.

~all is de eenvoudige keuze; het vertelt mensen dat je een aantal systemen hebt vermeld die geautoriseerd zijn om e-mail van je te verzenden, maar dat je je niet verplicht om die lijst volledig uit te voeren, dus mail van je domein afkomstig van andere systemen kan nog steeds legaal zijn. ik verzoek u niet om dat te doen. Niet alleen maakt het SPF compleet zinloos, maar sommige mailbeheerders op SF configureren hun SPF-ontvangers opzettelijk om te behandelen ~all als de badge van een spammer. Als je het niet gaat doen -all, doe helemaal geen moeite met SPF.

-all is de nuttige keuze; het vertelt mensen dat je een lijst hebt gemaakt van de systemen die e-mail van jou mogen verzenden en dat geen ander systeem hiervoor geautoriseerd is, dus het is goed om e-mails te weigeren van systemen die niet in je SPF-record staan. Dit is het punt van SPF, maar je moet er zeker van zijn dat je alle hosts hebt vermeld die zijn geautoriseerd om te starten of e-mail van je door te sturen voordat je deze activeert.

Google is dat bekend om te adviseren dat

Het publiceren van een SPF-record die -all in plaats van ~ alle gebruikt kan resulteren in   leveringsproblemen.

wel, ja, het kan; dat is het hele punt van SPF. We kunnen niet zeker weten waarom Google dit advies geeft, maar ik vermoed sterk dat het is om sysadmins te voorkomen die niet precies weten waar hun e-mail vandaan komt, waardoor ze zelf leveringsproblemen veroorzaken. Als u niet weet waar al uw e-mail vandaan komt, gebruik dan geen SPF. Als je SPF gaat gebruiken, maak je een lijst van alle plaatsen waar het vandaan komt, en vertel je aan de wereld dat je vertrouwen hebt in die lijst -all.

Merk op dat niets van dit bindend is voor de server van een ontvanger; het feit dat u reclame maakt voor een SPF-record, verplicht niemand anders om het te eren. Het is aan de beheerders van een bepaalde mailserver welke e-mail ze kiezen om te accepteren of af te wijzen. Wat ik denk dat SPF doet, is dat u afstand kunt doen van elke verdere verantwoordelijkheid voor e-mail die beweerde afkomstig te zijn uit uw domein, maar dat niet was. Elke e-mailbeheerder die naar je toekomt, klaagt erover dat jouw domein ze spam stuurt wanneer ze niet de moeite hebben genomen om het SPF-record dat u adverteert na te kijken dat hen zou hebben verteld dat de e-mail moet worden afgewezen kan redelijk worden weggestuurd met een vlo in het oor.


Aangezien dit antwoord geanonimiseerd is, kan ik er maar een paar woorden over zeggen include en redirect. Het laatste is eenvoudiger; als je SPF-record, zeg voor example.com, zegt redirect=example.org, dan example.orgSPF-record vervangt je eigen. example.org wordt ook vervangen door uw domein in die opzoekingen (bijv example.orgHet record bevat de mx mechanisme, de MX opzoeken moet worden gedaan example.org, niet op uw eigen domein).

includewordt veel misverstaan, en zoals de auteurs van de standaard opmerken "de naam 'include' was slecht gekozen". Als uw SPF-record includes example.orgzijn record dan example.orghet record moet worden onderzocht door een ontvanger om te zien als het een reden geeft (inclusief +all) om uw e-mail te accepteren. Als dit het geval is, moet uw e-mail slagen. Als dit niet het geval is, moet de ontvanger uw SPF-record blijven verwerken tot hij op uw computer is beland all mechanisme. Dus, -allof inderdaad ieder ander gebruik van all behalve +all, in een included record, heeft geen effect op het resultaat van de verwerking.

Voor meer informatie over SPF-records http://www.openspf.org is een uitstekende hulpbron.


Neem dit niet op de verkeerde manier, maar als u een SPF-record verkeerd krijgt, kunt u voorkomen dat een aanzienlijk deel van het internet e-mail van u ontvangt totdat u het probleem hebt opgelost. Uw vragen suggereren dat u misschien niet helemaal bent au fait met wat je aan het doen bent, en als dat het geval is, dan zou je misschien professionele ondersteuning willen overwegen voordat je iets doet waardoor je geen e-mail naar een heleboel mensen stuurt.

Bewerk: bedankt voor je vriendelijke woorden, ze worden zeer gewaardeerd.

SPF is vooral een techniek om te voorkomen joe-jobbing, maar sommige mensen lijken het te gebruiken om spam te detecteren. Sommige van die kunnen inderdaad een negatieve waarde hechten aan het feit dat je helemaal geen SPF-record hebt, of een te breed record (bijv a:3.4.5.6/2 a:77.5.6.7/2 a:133.56.67.78/2 a:203.54.32.1/2, dat nogal stiekem gelijkstaat aan +all), maar dat is aan hen en er is niet veel dat je eraan kunt doen.

Ik vind persoonlijk SPF een goede zaak, en je moet een record adverteren als je huidige e-mailstructuur dit toestaat, maar het is erg moeilijk om een ​​gezaghebbend antwoord te geven, geldig voor het hele internet, over hoe mensen een DNS-record gebruiken dat is ontworpen voor een specifiek doel, wanneer ze besluiten het voor een ander doel te gebruiken. Ik kan alleen met zekerheid zeggen dat als u do een SPF-record adverteren met een beleid van -allen je begrijpt het verkeerd, veel mensen zullen je e-mail nooit zien.

Bewerk 2: verwijderd op basis van opmerkingen en om het antwoord up-to-date te houden.


63
2018-03-14 07:08



waardeer het grondige en duidelijke Engelse antwoord (dat ik uiteraard nodig had). je hebt gelijk als je opmerkt dat ik meestal in het donker sta en geen zaken heb met het dragen van een postmaster-hoed. een vervolgvraag: aangezien we het over een heel kleine operatie hebben (ongeveer 10-15 e-mailaccounts in totaal) - en we verzenden geen grote hoeveelheden e-mail - is dit iets dat we kunnen overleven zonder voorlopig of waarschijnlijk in veel spammappen terechtkomen die er zijn? wanneer we massamailing doen, gebruiken we diensten zoals mailchimp, enz - vulgarbulgar
De ~ alles is goed voor twee dingen: 1. Dat "niet helemaal au fait"scenario dat u hebt beschreven. Hiermee kunt u alle instellingen op een echte manier uitvoeren, inclusief echte tests, voordat u de laatste trigger overneemt. 2. Spam scores. Als je echt niet alle e-mailuitgangspunten kunt beheren, ~ kunnen allemaal spamscores helpen voor die systemen die overeenkomen met je record (natuurlijk: ze kunnen ook de score beschadigen voor die systemen die softfailen). - Joel Coel
Ze kunnen ook de score beschadigen met systemen van ontvangers waarvan admins rekening houden ~all als een spam-indicator voor het hele domein, waarvan er ten minste één is op SF. - MadHatter
@MadHatter Een opmerking speciaal voor Edit2: The huidige SPF-specificatie zegt dat je een van beide moet gebruiken TXT of SPF maar dat je beide (identiek) moet gebruiken, het voorgestelde aankomende SPF-specificatie Abandons SPF aangezien de opname minder was dan verwacht en meestal alleen maar interoperabiliteitsproblemen veroorzaakt. Met dat in gedachten lijkt het slecht geadviseerd om alleen maar op te kijken SPF. - Håkan Lindqvist
Bedankt voor de waarheid en ik lachte hardop: "+ alles is een gruwel." - jerclarke


Wat belangrijk is voor uw opstelling is de configuratie van de server die de e-mail uiteindelijk naar het internet verzendt. U zegt dat u e-mails verstuurt via SMTP. Dus in termen van IP-adres gaat het om de configuratie van uw SMTP-server (vraag 2)

Als u een externe partij, zoals gmail, gebruikt om uw e-mails te verzenden, moet u hun spf-records als volgt opnemen: zijn onder andere: _spf.google.com (de ajax-wizard lijkt dit niet te weten).

Voor "How Stringent" laat je de "soft fail" (~ all) staan ​​als je het niet zeker weet, maar anders is "reject" (-all) de juiste keuze als je configuratie clean is.


3
2018-03-14 07:08