<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[dmarcSTAR]]></title><description><![CDATA[A different approach to DMARC. Taking flight in soon. Subscribe for private beta access when it becomes available.]]></description><link>https://blog.dmarcstar.com</link><image><url>https://substackcdn.com/image/fetch/$s_!p9G5!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c691a24-0a26-4023-b020-ec8a814d0096_766x766.png</url><title>dmarcSTAR</title><link>https://blog.dmarcstar.com</link></image><generator>Substack</generator><lastBuildDate>Thu, 23 Apr 2026 12:31:15 GMT</lastBuildDate><atom:link href="https://blog.dmarcstar.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Brightball, Inc]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[dmarcstar@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[dmarcstar@substack.com]]></itunes:email><itunes:name><![CDATA[Barry Jones]]></itunes:name></itunes:owner><itunes:author><![CDATA[Barry Jones]]></itunes:author><googleplay:owner><![CDATA[dmarcstar@substack.com]]></googleplay:owner><googleplay:email><![CDATA[dmarcstar@substack.com]]></googleplay:email><googleplay:author><![CDATA[Barry Jones]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[A quick update on the private beta]]></title><description><![CDATA[Still working on a few things]]></description><link>https://blog.dmarcstar.com/p/a-quick-update-on-the-private-beta</link><guid isPermaLink="false">https://blog.dmarcstar.com/p/a-quick-update-on-the-private-beta</guid><dc:creator><![CDATA[Barry Jones]]></dc:creator><pubDate>Tue, 31 Dec 2024 15:10:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!p9G5!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c691a24-0a26-4023-b020-ec8a814d0096_766x766.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It&#8217;s been a while since I have provided an update on this project. It&#8217;s New Year&#8217;s Eve and I have really hoped to be able to open the private beta of dmarcSTAR by year end. Unfortunately, it&#8217;s not quite ready for that yet.</p><p>I feel very strongly about the goals, approach and possibilities of this project but ultimately right now it is a project that I&#8217;m working on between a number of other responsibilities, including my primary consulting work at <a href="https://www.brightball.com/">Brightball</a>, running the <a href="https://carolina.codes/">Carolina Code Conference</a> and family responsibilities. In short, I just haven&#8217;t been able to make the time to get this project to a point where I&#8217;m ready to open it up just yet. </p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.dmarcstar.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.dmarcstar.com/subscribe?"><span>Subscribe now</span></a></p><p>There are some big changes coming for my family in 2025 which I&#8217;m optimistic could free up as much as 2-3 hours a day. I hope to be able to invest that time to get dmarcSTAR to the standard that I&#8217;m comfortable releasing with the tooling needed to effectively maintain and support it afterwards. As you can probably imagine, with this being my first solo launch I&#8217;m holding it to a high standard.</p><p>But it is coming.</p><p>Happy New Year!</p><p></p>]]></content:encoded></item><item><title><![CDATA[A different take on DMARC]]></title><description><![CDATA[Private beta opening soon]]></description><link>https://blog.dmarcstar.com/p/a-different-take-on-dmarc</link><guid isPermaLink="false">https://blog.dmarcstar.com/p/a-different-take-on-dmarc</guid><dc:creator><![CDATA[Barry Jones]]></dc:creator><pubDate>Fri, 27 Oct 2023 02:57:55 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/6b09d4ce-afeb-4d86-82c5-8f6ea06655d6_1864x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!25rc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bee1625-af21-4012-bb42-4972e9deff50_1564x354.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!25rc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bee1625-af21-4012-bb42-4972e9deff50_1564x354.png 424w, https://substackcdn.com/image/fetch/$s_!25rc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bee1625-af21-4012-bb42-4972e9deff50_1564x354.png 848w, https://substackcdn.com/image/fetch/$s_!25rc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bee1625-af21-4012-bb42-4972e9deff50_1564x354.png 1272w, https://substackcdn.com/image/fetch/$s_!25rc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bee1625-af21-4012-bb42-4972e9deff50_1564x354.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!25rc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bee1625-af21-4012-bb42-4972e9deff50_1564x354.png" width="1456" height="330" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4bee1625-af21-4012-bb42-4972e9deff50_1564x354.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:330,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:38371,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!25rc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bee1625-af21-4012-bb42-4972e9deff50_1564x354.png 424w, https://substackcdn.com/image/fetch/$s_!25rc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bee1625-af21-4012-bb42-4972e9deff50_1564x354.png 848w, https://substackcdn.com/image/fetch/$s_!25rc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bee1625-af21-4012-bb42-4972e9deff50_1564x354.png 1272w, https://substackcdn.com/image/fetch/$s_!25rc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4bee1625-af21-4012-bb42-4972e9deff50_1564x354.png 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a></figure></div><p>I&#8217;ve worked heavily with DMARC since 2012, directly on implementations, as a <a href="https://www.brightball.com/tag/dmarc">speaker and advocate</a> fully immersed in the industry. During that time I have seen a number of different approaches to the technology, but never a platform that approached the problem in the way that I would. </p><p>So I&#8217;m building it and it&#8217;s almost ready.</p><h3>The goals </h3><ol><li><p>Significantly Faster DMARC Deployment Projects</p></li><li><p>No long term dependence on a service (SPF Flatteners, DNS Delegation, etc)</p></li><li><p>Clear plan and process for long term maintance</p></li><li><p>You should be able to show up, get to <strong>p=reject</strong> and then <em>close your account</em> if you want. If you choose to hang around after <strong>p=reject</strong>, the value proposition will be clear and your costs will be reduced.</p></li></ol><p>If you want to take it for a test drive during the private beta or you just want to keep track of progress as we get closer to launch, subscribe here!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.dmarcstar.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.dmarcstar.com/subscribe?"><span>Subscribe now</span></a></p><p>If you&#8217;re not familiar with DMARC, you can read more about it right here!</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;d5d53cc8-acd3-4b85-a816-19189f17c8e9&quot;,&quot;caption&quot;:&quot;In order to explain what DMARC does, I need to give you a brief introduction into how email works for your domain name. Let's say you have a great business idea, so you go and buy a domain name. I've always dreamed of opening a pirate themed gym called \&quot;Slimmer Ye Timbers!\&quot; where people can work on their Arrrms and walk the Planks. The marketing kinda wr&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;What does DMARC do, exactly?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:58219586,&quot;name&quot;:&quot;Barry Jones&quot;,&quot;bio&quot;:&quot;Carolina Code Conference Planner, Fractional CTO, SAFe SPC/RTE, Gitlab PSE and Anti-Phishing Advocate @ Brightball, Inc&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/280ef9f4-6b93-42bb-9701-77d7551370d0_400x400.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2023-10-27T01:56:05.704Z&quot;,&quot;cover_image&quot;:null,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://blog.dmarcstar.com/p/what-does-dmarc-do-exactly&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:138322955,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;dmarcSTAR&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41efcded-2c99-4e32-a34d-3a8b6395b74e_666x666.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><h2>Where does the name come from?</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.nationalmuseum.af.mil/Visit/Museum-Exhibits/Fact-Sheets/Display/Article/198054/lockheed-sr-71a/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kI4M!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f55b49-c3d0-4207-96b8-27b6ebb69c51_6016x4016.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kI4M!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f55b49-c3d0-4207-96b8-27b6ebb69c51_6016x4016.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kI4M!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f55b49-c3d0-4207-96b8-27b6ebb69c51_6016x4016.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kI4M!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f55b49-c3d0-4207-96b8-27b6ebb69c51_6016x4016.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kI4M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f55b49-c3d0-4207-96b8-27b6ebb69c51_6016x4016.jpeg" width="1456" height="972" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/40f55b49-c3d0-4207-96b8-27b6ebb69c51_6016x4016.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:972,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3231033,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:&quot;https://www.nationalmuseum.af.mil/Visit/Museum-Exhibits/Fact-Sheets/Display/Article/198054/lockheed-sr-71a/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kI4M!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f55b49-c3d0-4207-96b8-27b6ebb69c51_6016x4016.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kI4M!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f55b49-c3d0-4207-96b8-27b6ebb69c51_6016x4016.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kI4M!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f55b49-c3d0-4207-96b8-27b6ebb69c51_6016x4016.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kI4M!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F40f55b49-c3d0-4207-96b8-27b6ebb69c51_6016x4016.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">SR-71 Blackbird (US Air Force photo by Ken LaRock)</figcaption></figure></div><p>I&#8217;ve been obsessed with the SR-71 Blackbird for most of my life. I have made trips to see it in a museum, had posters in my room growing up, I&#8217;ve read <a href="https://www.thesr71blackbird.com/Aircraft/Stories">stories from former pilots</a> and strongly recommend the book <a href="https://amzn.to/3MjzdwJ">Skunk Works</a> for any other enthusiasts. </p><p>That plane is one of the most incredible innovations of our time and it&#8217;s a technological inspiration. It&#8217;s also <em>really</em> fast, able to maintains speeds over Mach 3.5 at an altitude of 85,000 feet.</p><p>When Top Gun: Maverick was released in theaters it included a test flight of a fictional plane (as far as we know), which is the spiritual successor of the SR-71, to maintain hypersonic speeds of Mach 10. The Lockheed Martin Skunk Works even designed it!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://theaviationist.com/2022/10/13/first-images-of-lockheed-darkstar-at-edwards-afb/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kgCT!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39436a76-e378-4cf8-b1bc-aee808d40af9_678x381.webp 424w, https://substackcdn.com/image/fetch/$s_!kgCT!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39436a76-e378-4cf8-b1bc-aee808d40af9_678x381.webp 848w, https://substackcdn.com/image/fetch/$s_!kgCT!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39436a76-e378-4cf8-b1bc-aee808d40af9_678x381.webp 1272w, https://substackcdn.com/image/fetch/$s_!kgCT!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39436a76-e378-4cf8-b1bc-aee808d40af9_678x381.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kgCT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39436a76-e378-4cf8-b1bc-aee808d40af9_678x381.webp" width="678" height="381" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39436a76-e378-4cf8-b1bc-aee808d40af9_678x381.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:381,&quot;width&quot;:678,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:14466,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:&quot;https://theaviationist.com/2022/10/13/first-images-of-lockheed-darkstar-at-edwards-afb/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kgCT!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39436a76-e378-4cf8-b1bc-aee808d40af9_678x381.webp 424w, https://substackcdn.com/image/fetch/$s_!kgCT!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39436a76-e378-4cf8-b1bc-aee808d40af9_678x381.webp 848w, https://substackcdn.com/image/fetch/$s_!kgCT!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39436a76-e378-4cf8-b1bc-aee808d40af9_678x381.webp 1272w, https://substackcdn.com/image/fetch/$s_!kgCT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39436a76-e378-4cf8-b1bc-aee808d40af9_678x381.webp 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">The Darkstar at Edwards AFB (Image credit: USAF)</figcaption></figure></div><p>The name of that plane is, the Darkstar. So when it was time for a tool to deploy DMARC at hypersonic speeds, dmarcSTAR was born.</p><p>Taking flight soon. Hope to see you on board.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.dmarcstar.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe and to find out when we are go for takeoff with the private beta and more!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Invisible Email Servers]]></title><description><![CDATA[It's possible for an email server to be completely hidden from DMARC reports.]]></description><link>https://blog.dmarcstar.com/p/invisible-email-servers</link><guid isPermaLink="false">https://blog.dmarcstar.com/p/invisible-email-servers</guid><dc:creator><![CDATA[Barry Jones]]></dc:creator><pubDate>Fri, 27 Oct 2023 02:44:10 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b80ca84f-5b7e-4aae-b2e3-cf59c5027180_1864x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In some circumstances, it's possible for an email server to be completely hidden from DMARC reports. This can happen if you have a server which only sends mail to servers that do not provide DMARC reports, like Microsoft Office365 and Proofpoint.</p><p>If you visit <a href="https://dmarcian.com/dmarc-data-providers/">dmarcian's public DMARC Data Providers</a> report, you can inspect the volume of reports sent by different email providers. You'll notice the absence both Microsoft and Proofpoint if you search the results. The fact that these two companies play such a huge role in the global email space while refusing to participate in one of the most important aspects of its security needs to be called out more often.</p><p>Sean Whalen, a consultant, wrote about both of these issues in detail, including workaround guides. Proofpoint initially tried to force customers to <a href="https://seanthegeek.net/806/proofpoint-is-forcing-their-customers-to-pay-for-email-fraud-defense-to-get-aggregate-dmarc-data-from-their-own-gateways/">pay for their Email Fraud Defense service</a> just to get aggregate reports from <em>their own email gateway</em>, but have since rolled the option into Proofpoint Essentials as a <a href="https://help.proofpoint.com/Proofpoint_Essentials/Email_Security/Administrator_Topics/How_does_DMARC_work_with_Proofpoint_Essentials%3F">setting for an administrator to turn on</a>. Microsoft claims to support sending reports as a <a href="https://docs.microsoft.com/en-us/microsoft-365/security/office-365-security/use-dmarc-to-validate-email?view=o365-worldwide#dmarc-mail-public-preview-feature">Public Preview feature</a>, but none were visible in dmarcian's public report. DMARC is a decade old and widely adopted at this point. There's really no excuse for the actions of these two.</p><p>But there are consequences. If your company is using an email system that doesn't provide reports and you have an email system that only sends emails internally, it won't show up on the reports at all. So it's invisible.</p><p>Sean came up with a way to work around this situation with Proofpoint in his above article:</p><div class="pullquote"><p>&#8220;As a less than ideal workaround for this problem, Proofpoint customers can create a Policy Route that matches on message From headers that end with their domains, and then create a DMARC policy in Proofpoint that applies to that route, and configure the policy to copy any messages that fail DMARC to a separate quarantine folder for later review. That way, they can at least get samples of the emails that failed DMARC, even though they won&#8217;t show up in third party analytics.&#8221;<br>- Sean Whalen</p></div><p>Ulrich Baum, a DMARC consultant from RedSift <a href="https://www.linkedin.com/feed/update/urn:li:activity:6957432983993675776?commentUrn=urn%3Ali%3Acomment%3A%28activity%3A6957432983993675776%2C6957462631024623617%29">shared a client story on LinkedIn</a> about this exact situation.</p><div class="pullquote"><p>&#8220;They couldn't identify all sender's, and missed a pet project of a board member which couldn't send for a couple days, which lead to the entire DMARC project being cancelled.&#8221;<br>- Ulrich Baum</p></div><p>The good news is that a situation like this is only likely to happen with internal projects as described above. Email sent to customers will likely be delivered to a variety of mail servers, some of which will provide proper reports. Sean's workaround is a great way to expose this problem on your own email gateways.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.dmarcstar.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">But what if you didn&#8217;t need a workaround&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><blockquote><p>This article was originally published on as part of a <a href="https://www.brightball.com/tag/dmarc-guide">3 part DMARC Guide at Brightball</a>.</p></blockquote>]]></content:encoded></item><item><title><![CDATA[Enterprise DMARC: Scale & Subdomains]]></title><description><![CDATA[The SPF 10 lookup limit is not a problem]]></description><link>https://blog.dmarcstar.com/p/enterprise-dmarc-scale-and-subdomains</link><guid isPermaLink="false">https://blog.dmarcstar.com/p/enterprise-dmarc-scale-and-subdomains</guid><dc:creator><![CDATA[Barry Jones]]></dc:creator><pubDate>Fri, 27 Oct 2023 02:39:30 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/d8db8584-0644-45f7-9513-a99e657a91a1_1864x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Almost the entire US federal government has adopted it at this point as well as <a href="https://dmarcian.com/fortune-100-dmarc-policies/">half of the Fortune 100</a>. We've already established how easy this is in smaller organizations too.</p><p>Scale does come with it's own implementation challenges, so let's start with the most well known.</p><h3>Overcome the SPF 10 Lookup Limit</h3><p>When a mail server tries to verify that a message passes SPF, it contacts the domain DNS to look for the SPF record and checks to see if the IP address of the server that sent the message exists within the record. This could mean directly listed IP addresses, ranges of IP address or <code>include:</code> entries which list another domain name that contains another list of IPs.</p><p>Every time another DNS query must be performed, it adds to the "lookup count". If you're using Google Workspace and included <code>_spf.google.com</code> in your top level SPF record you may think that's only 1 lookup. By querying that record though, we will see that it contains 3 <em>additional</em> lookups.</p><pre><code><code>"v=spf1 include:_netblocks.google.com include:_netblocks2.google.com include:_netblocks3.google.com ~all"
</code></code></pre><p>These all consist of IP address ranges without any additional look ups. Here's <code>_netblocks3.google.com</code> as an example.</p><pre><code><code>_netblocks3.google.com.    300    IN    TXT    "v=spf1 ip4:172.217.0.0/19 ip4:172.217.32.0/20 ip4:172.217.128.0/19 ip4:172.217.160.0/20 ip4:172.217.192.0/19 ip4:172.253.56.0/21 ip4:172.253.112.0/20 ip4:108.177.96.0/19 ip4:35.191.0.0/16 ip4:130.211.0.0/22 ~all"
</code></code></pre><p>That means that by including <code>_spf.google.com</code> we've added 4 lookups to our SPF record and that's only for our corporate email account! What happens when we start adding all of those other services?</p><p>Exactly. You'll quickly go over the 10 lookup limit if everything gets added to a single SPF record. Which is why you aren't supposed to have a single SPF record. Each subdomain can and should have it's own SPF record. If a record isn't present at the subdomain then the lookup will bubble up to the root domain.</p><p>The easiest way to think about this problem is in terms of what services are being performed. Let's use our pirate gym, Slimmer Ye Timbers as an example.</p><ul><li><p><code>newsletter.slimmeryetimbers.com</code> - Marketing newsletters</p></li><li><p><code>invoice.slimmeryetimbers.com</code> - Invoicing systems</p></li><li><p><code>classes.slimmeryetimbers.com</code> - Class schedules and reminders</p></li><li><p><code>receipt.slimmeryetimbers.com</code> - Transaction receipts</p></li><li><p><code>it.slimmeryetimbers.com</code> - IT department systems</p></li><li><p><code>hr.slimmeryetimbers.com</code> - HR department and tooling systems</p></li><li><p><code>sales.slimmeryetimbers.com</code> - Sales tools like CRM systems</p></li><li><p><code>mail.slimmeryetimbers.com</code> - General website emails</p></li></ul><p>Any of these could be further broken down if needed. The point is that there's no need to try to cram everything into a single top level SPF record. As a bonus, you gain a number of benefits by using subdomains.</p><h3>SPF Isolation and Error Containment</h3><p>One thing many people don't realize is that a broken SPF record will invalidate your entire DMARC policy. If mail servers see you have an enforced DMARC policy setup, but also see that your SPF record is broken the error will force them to act as if you have no DMARC policy at all.</p><p>By isolating each SPF record on its own subdomain, you contain the damage from a broken record to <em>only</em> that subdomain.</p><p>You may be wondering how an SPF record could break <em>after</em> it's been setup correctly? One of the dangers of <code>include:</code> is the potential for change by the vendor.</p><p>Just as an example from 2012, we were using a vendor to manage sales channel communications. Not knowing any better, we added their <code>include:</code> record to our top level SPF and everything was working great. We had a fully implemented <code>p=reject;</code> policy and our phishing complaints had basically stopped at that point.</p><p>One day, all the phishing complaints started back again suddenly. And worse yet, the phishing emails were using our domain again. We hadn't touched anything with the email system so we couldn't understand what happened.</p><p>After inspecting all of our records, the <a href="https://www.kitterman.com/spf/validate.html">Kitterman SPF Testing Tool</a> helped us discover that our SPF record was broken. The sales channel communication company switched which domain they were using for include records and the old domain was no longer valid! This change invalidated our entire SPF record and the rest of our email policy along with it.</p><p>If the CRM tool had been on its own subdomain, only that tool would have been affected by a change outside of our control. We didn't know about the change because the email notification about the change only went to the person at the company who signed up for it in the first place. And they didn't pass it along.</p><p>The above scenario also underscores the benefit of long term monitoring for changes in your SPF records.</p><h3>You don't need "SPF Flattening"</h3><p>There are tools out there which provide a service called "SPF Flattening", which monitors your SPF record for changes and compresses it into the minimum possible number of SPF lookups. You have to pay for the service and it can still outgrow the 10 SPF lookup limit.</p><p>You don't need these services. You need subdomains.</p><p>No single service can function if it alone would outgrow the SPF lookup limit. By simply isolating each service on its own subdomain, you have "limit proofed" it against this problem.</p><p>The <em>only</em> potential benefit to an SPF flattening service is error insulation from 3rd party changes. If the flattening service does error detection against changes in the SPF record and refuses to publish any change that would cause an error, your tooling would be insulated against those 3rd party errors. That's a good thing.</p><p>However, it's only a short lived protection. Eventually the error has to be resolved or the flattened records may no longer be valid. A decent flattening service should notify you of these types of errors so that you can correct them.</p><p>If an error preventing cache buffer sounds worth the cost to you, then maybe it's worth it. Don't depend on the SPF flattener to prevent your longer term lookup limit issues. You're still better off with subdomains even when using a flattening service.</p><h3>Return-Path and Subdomains</h3><p>Both SPF and DKIM have an option in your DMARC configuration to allow both "strict" and "relaxed" (default) mode. In relaxed mode, the Return-Path used to send email bounces can use a subdomain while still showing the visible <code>From:</code> domain as only the primary root domain. There are <a href="https://datatracker.ietf.org/doc/html/rfc7489#appendix-B.1.1">examples included in the DMARC specification</a>.</p><p>Most servers will configure themselves in the Return-Path by default, so if you have 1,000 servers like <code>web1.slimmeryetimbers.com</code> or <code>api3.</code> or <code>mail7.</code> or <code>staging3.</code> they can also still send DMARC aligned emails for the root domain, <code>@slimmeryetimbers.com</code> while using subdomains. An SPF entry referencing that server IP on the <code>web1.</code> subdomain will allow messages from that domain to pass an aligned SPF check without actually having to send email <code>From:name@web1.slimmeryetimbers.com</code> which might not be visibly appealing.</p><p>This illustrates why, no matter how big your organization may be, no matter how many servers you have, subdomains will scale with you without growing your total lookup limit.</p><p>You could certainly reorganize the above example for simpler management by publishing them under a grouped subdomain, like <code>web1.it.slimmeryetimbers.com</code>. Then an SPF record could be posted on <code>it.slimmeryetimbers.com</code> with an IP range including the scope of the servers underneath it rather than adding and removing individual IP addresses.</p><h3>Subdomains for Project Scope</h3><p>One thing that people often forget is that subdomains themselves are just like the primary domain. Each subdomain can have it's own <code>_dmarc.</code> entry if you want. It can have it's own set of DKIM keys under <code>_domainkey.</code> as well.</p><p>Which means you can have a different email address to collect aggregate reports from DMARC report providers on each subdomain, just as if another domain entirely was being used.</p><p>And that means that your organization can have <em>multiple</em> DMARC deployment projects if needed. You can let HR roll out DMARC on it's own schedule while the rest of the company gets setup for <code>p=reject;</code> on the main project, for example.</p><blockquote><p>This article was originally published on as part of a <a href="https://www.brightball.com/tag/dmarc-guide">3 part DMARC Guide at Brightball</a>.</p></blockquote>]]></content:encoded></item><item><title><![CDATA[Enterprise DMARC: Selling the Project]]></title><description><![CDATA[More people involved means more politics]]></description><link>https://blog.dmarcstar.com/p/enterprise-dmarc-selling-the-project</link><guid isPermaLink="false">https://blog.dmarcstar.com/p/enterprise-dmarc-selling-the-project</guid><dc:creator><![CDATA[Barry Jones]]></dc:creator><pubDate>Fri, 27 Oct 2023 02:35:29 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/9ce04371-9ec7-46cf-b476-0366005ae5d5_1864x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In an enterprise DMARC deployment there are a lot more people involved. Different departments and department heads, which means internal politics. It's entirely possible that portions of your network may have been delegated to other DNS systems so that they could be managed directly by different departments for the sake of efficiency. You could have delegated all or part of a subdomain to a web application firewall (WAF) provider like Cloudflare. There's more moving parts here behind each email system and that has to be taken into account.</p><p>Differences in priorities will color a great deal of the perspective on DMARC within an organization. A lot of experienced people will tell you that security comes last in many organizations. In some cases this is by necessity rather than negligence, as there's often only so much budget to go around and a lot of competition to capture market share. To get DMARC setup, just getting the project approved in the first place will take some doing. Here's a few things to know that will help.</p><h3>Government Requirements for Legal</h3><p>The <a href="https://www.cisa.gov/binding-operational-directive-18-01">Department of Homeland Security (DHS) 18-01 Binding Operational Directive</a> required all federal agencies to have a DMARC policy of <code>p=reject</code> by October 16, 2018. <a href="https://www.agari.com/email-security-blog/dmarc-state-local-government/">74% of agencies did it in time</a> according to a report from Agari. Similar requirements happened in the <a href="https://dmarc.org/2016/06/dmarc-required-for-uk-government-services-by-october-1st/">UK in 2016</a>. The Dutch government went so far as to add DMARC to their <a href="https://www.sidn.nl/en/news-and-blogs/security-standards-at-odds-with-commercial-interests-of-internet-companies#e-mail%20standards%20checklist">email standards checklist</a> that's part of the "Comply or Explain" list for business operations in the country. Businesses can depart from the compliance requirements, but they must provide a written explanation to justify the course of action. More an more it's becoming a baseline expectation of doing business, particularly with government agencies. Adoption is being pushed heavily across the US, EU, Japan and more.</p><p>It's probably only a matter of time before DMARC is folded into security standards like SOC2 Type II and ISO 27001.</p><h3>Business Email Compromise (BEC) for Executives</h3><p>The executive team will probably respond to BEC, also known as Spear Phishing or Whale Phishing. BEC scams target financial departments at companies by having those companies issue checks and vendor payment through social engineering. These scams work <em>because</em> the criminals are able to successfully impersonate company executives. Often times an entire fake email chain will be created that appears to be a multi-day conversation between an executive and a fictional vendor wondering why they haven't been paid. The executive will then forward the entire email chain to the finance department to get these people paid promptly. It's believable because, via email, these executives can be impersonated if the protections aren't in place.</p><p>You read something like that and your first thought it, "that could never happen" but these scams are responsible for $12.5 billion in losses from 2013-2018 according to the <a href="https://www.globalcyberalliance.org/">Global Cyber Alliance</a>. How accessible is your CEO for a verification phone call if you were to receive an email like that, particularly from their company email address? It's <em>easy</em> to do without DMARC in place. Even with DMARC in place it can and does still happen, but perpetrators have to convince you they are the same executive but on a personal email account with Gmail or some other provider. It's much easier to spot. Many email and service providers like Greathorn and Google provide tools to help warn people about them...but those tools can't do anything about messages that come from the corporate email domain.</p><h3>BIMI is a Carrot for the Marketing Department</h3><p>Is it probably necessary at a large company to get the marketing department on board? Yes. Because marketing might fight you on setting it up. I've spoken about DMARC during an email marketing conference and had the conversations first hand. This will sound harsh, but your marketing department probably does not care at all about email security. What they care about are delivery, inbox placement, open rates and clicks. A DMARC project will likely scare the marketing folks more than anything as they wonder and speculate about a potential negative impact to these metrics. DMARC won't hurt these at all. If anything, it helps protect the brand by making it more difficult to impersonate.</p><p>And many will go as far as fighting <em>against</em> the DMARC deployment because of it. After all, what's in it for them? Well, now there's something for them too.</p><p>Once DMARC has been rolled out successfully you're eligible to setup Brand Indicators for Message Identification (BIMI), which will allow a <a href="https://dmarc.org/2022/01/thousands-of-bimi-records-published-during-2021/">trademarked logo</a> to appear next to your emails right in the customer inbox. So far, it's supported by Gmail, Yahoo, AOL and Fastmail.</p><p>As a person try to improve security for your company and your users, you may be wondering if this has any positive impact on security by providing some type of reassuring trust indicator next to the email. This, unfortunately is a resounding, "No." Users <em>do not</em> respond to trust indicators because there are so many messages and websites they come across that do not have them. Because of that, users simply ignore <em>missing</em> indicators.</p><p>As a parallel you may remember <a href="https://www.troyhunt.com/extended-validation-certificates-are-really-really-dead/">Extended Validation Certificates</a> security certificates. Companies paid a lot of money to go through a validation process that would turn the address bar in the browser green if they'd been validated. These were completely ineffective. The same certificate authorities who validated EV certificates are the <a href="https://dmarc.org/wiki/Glossary#MVA">Mark Verifying Authorities (MVA)</a> doing the validation for BIMI to get you a <a href="https://dmarc.org/wiki/Glossary#VMC">Verified Mark Certificate (VMC)</a>. A 2018 study presented at <a href="https://www.m3aawg.org/">M3AAWG</a> also revealed no impact (positive or negative), aside from more email senders contacting email providers asking how they could get the indicators too.</p><p><a href="https://datatracker.ietf.org/doc/draft-blank-ietf-bimi/">BIMI</a> is the <a href="https://www.youtube.com/watch?v=qgcX0y1Nzhs">Make My Logo Bigger Cream</a> of email. It's a dangling carrot, but if it gets marketing on board with the project and it does no harm it is probably worth it for the overall security improvement. You still have to fully deploy DMARC first.</p><h3>Reigning in Shadow IT for Security</h3><p>One of the biggest struggles that IT and Security teams deal with at large companies is Shadow IT. Shadow IT happens when employees start using devices, tools and services that have not been approved by the company to meet with various internal standards and compliance.</p><p>Now, it's important to remember that Shadow IT rarely comes from malicious intent. The cause is traditionally an expected very high barrier to approval, numerous hoops to jump through or long timelines from IT itself which encourage people to go around IT to get their jobs done. Shadow IT is often a symptom of a process problem.</p><p>All that said, DMARC reports provide real insight on the scope of this problem within your organization. If you start collecting reports with dozens of legitimate 3rd party services that haven't been approved...you have a problem.</p><p>Does private data exist within these tools? Employee data? Customer data? Is PII collected? How are logins managed? Is access being removed during employee turnover? Are their legal or audit implications?</p><p>By knowing the tools exist, you gain the ability to get their usage documented, approved, secured properly and rolled into more polished company process. If you're unable to find out who's responsible you can always use the time honored IT sleuthing process of unplugging it until somebody complains. Enforcing your DMARC policy will have the same effect.</p><blockquote><p>This article was originally published on as part of a <a href="https://www.brightball.com/tag/dmarc-guide">3 part DMARC Guide at Brightball</a>.</p></blockquote>]]></content:encoded></item><item><title><![CDATA[Enterprise DMARC: How many email sources are there?]]></title><description><![CDATA[What if you don't know where email is coming from?]]></description><link>https://blog.dmarcstar.com/p/enterprise-dmarc-how-many-email-sources</link><guid isPermaLink="false">https://blog.dmarcstar.com/p/enterprise-dmarc-how-many-email-sources</guid><dc:creator><![CDATA[Barry Jones]]></dc:creator><pubDate>Fri, 27 Oct 2023 02:33:11 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/17ccd458-849f-4273-9db4-5a325307727c_1864x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>DMARC deployment projects in larger organizations come with their own variety of challenges. If 74% of the US Federal Government did this in a year, you can too.</p><p>Previously, we talked about DMARC deployment in a <a href="https://dmarcstar.substack.com/p/dmarc-with-a-startup-few-mail-source">startup or smaller organization</a> where you probably know all of the different places you're sending email. Now put yourself in the shoes of an enterprise that's 40+ years old, has hundreds or thousands of servers.</p><p>Many servers could be sending email directly. Some departments could have built their own tools while others are using 3rd party services. The company could even have many different domain names in use for all of these different tools. Has the company grown through mergers or acquisition?</p><p>There's no telling what the scope of your project could be in a larger company. Luckily, DMARC is built to help with this problem. You start with the <a href="https://www.brightball.com/articles/deploying-dmarc-without-breaking-everything#recon">Recon step</a>, setting a DMARC <code>p=none;</code> policy on each known domain so that we can gather reports.</p><p>Maybe as the project goes on, you discover new domains. Just add that record and start collecting reports. You'll probably want some type of service or tool to collect these for you to help make sense of what is in them...but the deployment process is exactly the same.</p><p>We discover services and IP addresses being used by our domains and we work on our <a href="https://www.brightball.com/articles/deploying-dmarc-without-breaking-everything#implement">implementation</a> to make them both SPF and DKIM compliant. We make them compliant by finding out who has access to these tools, look up the relevant implementation steps for SPF and DKIM, then apply them. Or we consolidate delivery by routing multiple servers through a more centralized and compliant company email service.</p><p>Rinse and repeat, until everything is compliant and then we <a href="https://www.brightball.com/articles/deploying-dmarc-without-breaking-everything#enforce">enforce our policy</a>. In an enterprise there will be more communication, more people involved and a bigger project to manage...but it's all achievable.</p><blockquote><p>This article was originally published on as part of a <a href="https://www.brightball.com/tag/dmarc-guide">3 part DMARC Guide at Brightball</a>.</p></blockquote>]]></content:encoded></item><item><title><![CDATA[DMARC with a Startup, Few Mail Source]]></title><description><![CDATA[The smaller business deployment scenario]]></description><link>https://blog.dmarcstar.com/p/dmarc-with-a-startup-few-mail-source</link><guid isPermaLink="false">https://blog.dmarcstar.com/p/dmarc-with-a-startup-few-mail-source</guid><dc:creator><![CDATA[Barry Jones]]></dc:creator><pubDate>Fri, 27 Oct 2023 02:17:35 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/788daee5-57f0-440c-ace3-5915966e38e6_1864x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You&#8217;re a small business that is growing in your market. Sending out emails regular about new offerings, reminders for current customers, billing information and staff communications too. How do you roll out DMARC without disrupting any of this?</p><p>There are 3 steps in the process: Recon, Implement, Enforce</p><h2>Recon</h2><p>The very first thing we're going to do, is publish a DMARC record. You're probably thinking, "Wait! I haven't done any preparation for this at all!?" and that's because you don't need to. A DMARC record with a <code>p=none;</code> policy will have no impact at all on your current email delivery. The one thing it will do, is help you gain information about what is currently going on in your email system. Part of the specification allows you to set an email address that will receive daily aggregate activity reports from email servers that receive email <em>claiming</em> to be from your domain. These can come to you personally or you can have them sent to a service that can help visualize the reports for you.</p><p>When I started this back in 2012, there weren't any tools to help read these reports so I just read them directly. If you don't have a lot of email sources then this approach should be fine because the reports aren't very hard to read. Let's take a look at one of the reports now.</p><pre><code><code>&lt;record&gt;  
  &lt;row&gt;  
    &lt;source_ip&gt;207.126.144.129&lt;/source_ip&gt;  
    &lt;count&gt;237&lt;/count&gt;  
    &lt;policy_evaluated&gt;  
      &lt;disposition&gt;none&lt;/disposition&gt;  
    &lt;/policy_evaluated&gt;  
  &lt;/row&gt;  
  &lt;identities&gt;  
    &lt;header_from&gt;slimmeryetimbers.com&lt;/header_from&gt;  
  &lt;/identities&gt;  
  &lt;auth_results&gt;  
    &lt;dkim&gt;  
      &lt;domain&gt;slimmeryetimbers.com&lt;/domain&gt;  
      &lt;result&gt;pass&lt;/result&gt;  
      &lt;human_result/&gt;  
    &lt;/dkim&gt;  
    &lt;spf&gt;  
      &lt;domain&gt;slimmeryetimbers.com&lt;/domain&gt;  
      &lt;result&gt;pass&lt;/result&gt;  
    &lt;/spf&gt;  
  &lt;/auth_results&gt;  
&lt;/record&gt;
</code></code></pre><p>Every IP address in the report will produce a <code>&lt;record&gt;</code> entry for the <code>&lt;source_ip&gt;</code> of the mail server that delivered the email claiming to be from you. You can see the <code>&lt;count&gt;</code> field indicating how many emails were received from that particular IP address as well. This is why it doesn't matter how much email you're sending. If that number is 10 or 20,000,000 the size of the report doesn't change for you.</p><p>Next you'll see the <code>&lt;policy_evaluated&gt;</code> which gives a short summary of the state of your DMARC record at the time these entries were processed. We can see here that our <code>&lt;disposition&gt;</code> was <code>none</code> reflecting the <code>p=none;</code> policy in our DMARC record.</p><p>Next, you'll see the <code>&lt;header_from&gt;</code> which indicates the domain name found in the email that triggered this action.</p><p>Lastly, we'll see the <code>&lt;auth_results&gt;</code> which tell us whether our mail from this IP address passed the DMARC <code>&lt;dkim&gt;</code> and <code>&lt;spf&gt;</code> checks. We can see the <code>&lt;result&gt;</code> is <code>pass</code> for both here.</p><p>So, select the email address where you want to send reports, such as <code>dmarc_rua@slimmeryetimbers.com</code> and publish the following DMARC record (with your chosen email address instead). You'll publish it to your DNS as a TXT record on the <code>_dmarc</code> subdomain of your domain, so <code>_dmarc.slimmeryetimbers.com</code> in our example. RUA indicates where to send the "aggregate" reports, which summarize daily activity.</p><pre><code><code>"v=DMARC1; p=none; rua=mailto:dmarc_rua@slimmeryetimbers.com;"
</code></code></pre><p>Keep in mind, you will not get a report from <em>every</em> mail server that gets email claiming to be from your domain. More and more companies will provide DMARC reports. Some other enterprise providers, like Proofpoint, have the capability of producing reports but it's turned off by default.</p><h3>Implement</h3><p>Our goal with these reports is to discover all of the email sending sources that belong to us and work towards ensuring that both SPF and DKIM are passing for all of them. Now that we are collecting daily reports, we need to identify our various email sources. Let's look at our hypothetical email sources for Slimmer Ye Timbers.</p><ul><li><p>Class schedules and reminders - Assume something like Sendgrid or Postmark</p></li><li><p>Newsletters - Usually Mailchimp or Constant Contact</p></li><li><p>Billing information - Probably Square or Clover</p></li><li><p>Company Email - Let's assume Google Workspace</p></li></ul><p>Now, the first thing we want to do before we even bother trying to isolate each of these in our reports is to check with each provider to see if they have instructions for setting up SPF &amp; DKIM. These technologies have been around for a while and DMARC is going on 10 years. Any business that provides an email service is going to be well aware of them, should have instructions somewhere and very likely already made you set it up without you even knowing about it.</p><p>Let's try to find the pages for all of the above providers by Googling "setup spf and dkim with ..."</p><ul><li><p>Sendgrid - Explanation of <a href="https://docs.sendgrid.com/ui/account-and-settings/spf-dkim">SPF &amp; DKIM</a> which they <a href="https://docs.sendgrid.com/ui/account-and-settings/spf-records#sendgrids-automated-security">automate</a></p></li><li><p>Postmark - <a href="https://postmarkapp.com/support/article/1091-how-do-i-set-up-dkim-for-postmark">DKIM</a> | <a href="https://postmarkapp.com/support/article/1093-why-do-emails-sent-through-postmark-fail-spf-alignment">SPF</a> takes some additional steps, which they explain here</p></li><li><p>Mailchimp - <a href="https://mailchimp.com/help/set-up-email-domain-authentication/">DKIM &amp; SPF</a> are handled through the authenticate domain process</p></li><li><p>Constant Contact - <a href="https://knowledgebase.constantcontact.com/articles/KnowledgeBase/5932-self-publishing-for-authentication?lang=en_US">DKIM</a> | <a href="https://knowledgebase.constantcontact.com/articles/KnowledgeBase/34717-SPF-Self-Publishing-for-Email-Authentication?lang=en_US">SPF</a></p></li><li><p>Square - Couldn't find anything.</p></li><li><p>Clover - Couldn't find anything.</p></li><li><p>Google Workspace - <a href="https://support.google.com/a/answer/33786?hl=en">SPF</a> | <a href="https://support.google.com/a/answer/174124?hl=enhttps://support.google.com/a/answer/174124?hl=en">DKIM</a></p></li></ul><p>After some quick Googling, we found instructions for almost all of them. If no instructions are present, it's entirely possible that setup may not be necessary. For example, Square and Clover may opt to send payment receipts directly from their own system rather than from your domain. After a quick look in my email, I can verify that is the case as well by finding a receipt from a company using Square from <code>invoicing@messaging.squareup.com</code>. We only need to setup SPF/DKIM/DMARC for mail that is sent from our domain.</p><p>Some services will make this optional as well. Constant Contact, for example, will send using their domain by default but encourages their customers to setup their own domain in order to build up their email reputation over time. If given the option, <em>always</em> set up your own domain.</p><p>Now, as we go and follow the instructions for these companies you will notice that you are creating both SPF and DKIM records.</p><p>In most cases, there will be multiple DKIM records and each record will have it's own unique subdomain. Usually something like <code>em1234._domainkey.slimmeryetimbers.com</code> as a CNAME record or a TXT record. If you're provided with a CNAME record, it's because the provider will automatically handle DKIM key rotation for you. If you're provided with a TXT record, it's a key that you'll need to make a note to rotate periodically. If you can find an alternative provider that gives you a CNAME option, I would strongly recommend it so that you never have to think about this again.</p><p>For SPF, you may see records that appear to overlap by creating TXT records. Usually it will appear to be a complete SPF record that has some form of <code>include:_spf.google.com</code> indicating the provider domain name. The include record here is actually just like a CNAME and you can combine SPF records by just putting everything in the middle together. For example, if you were using both Protonmail and Google each one would have told you to create an SPF record like this:</p><pre><code><code># Protonmail
v=spf1 include:_spf.protonmail.ch ~all

# Google Workspace
v=spf1 include:_spf.google.com ~all
</code></code></pre><p>We don't want to create two SPF records on the same subdomain or it will cause an error when mail servers try to check. Your root domain <code>slimmeryetimbers.com</code> can only have one SPF record, so we need to combine these to use both services. To do that, we just combine the parts between the <code>v=spf1</code> and the <code>~all</code>, like so...</p><pre><code><code>v=spf1 include:_spf.protonmail.ch include:_spf.google.com ~all
</code></code></pre><p>Each <code>include</code> record let's that provider update the associated IP addresses for the service just like the CNAME on our DKIM keys. If we keep adding too many includes to this record, it could also become invalid because there is a 10 lookup limit. Ideally, each service we're sending email from should be on its own subdomain except for our primary corporate email. We saw our Square email earlier came from <code>messaging.squareup.com</code> and this is the right idea. Some transactional email providers (like Sendgrid, Mailgun, etc) will force this by only allowing you to use a subdomain. We'll talk about that more in our Enterprise section.</p><p>One thing to remember when you're setting up your SPF record is what the <code>[+,~,-]all</code> at the end means. This is an indicator of how strictly to enforce the record itself and there are 3 options.</p><ul><li><p><code>+all</code> allows <em>any</em> IP address to pass your SPF check. You should <em>never</em> use this. Ever.</p></li><li><p><code>~all</code> will <em>softfail</em> an IP address that doesn't match, which will flag the IP address as not passing but defer any suggestion of what to do</p></li><li><p><code>-all</code> will strictly <em>fail</em> an IP address that doesn't match and tell the mail server to discard it</p></li></ul><p>Out of all of these, you should only be using the <code>~all</code> to softfail mismatches. As we've discussed, SPF doesn't survive forwarding because it changes the IP address. Strictly enforcing this rule with <code>-all</code> could result in legitimate messages not being delivered. With the softfail, the final decision will fall to our DMARC policy.</p><p>After making all of these changes, we're going to wait a couple of days for new DMARC reports and then review them to try to see if we can figure out whether everything that's supposed to be passing is actually passing. This is the point in the process where we hit a loop. No matter how many potential email sources you have, you're going to gather reports, make adjustments, then wait for new reports to see if they worked. Rinse and repeat this process until you feel confident that everything that should be passing is passing.</p><p>If you don't want to review the reports yourself and you would prefer to use some type of tool to help with the job then you have come to the right place, because we will be launching ours soon!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.dmarcstar.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Subscribe here to find out more as we get ready for takeoff, including private beta access.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>It's possible that by reviewing reports, you'll find things that you didn't know about. It's also entirely possible that you'll find a lot of mail that isn't yours at all! Most people do. Sometimes as much as 80% of the traffic claiming to be from your domain isn't real at all.</p><p>If you discover IP addresses sending legitimate email traffic, usually a web server, you have a couple of options. You can either add the IP address to your SPF record and <a href="https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy">configure it with it's own DKIM key</a> or you can configure the server to send email <em>through</em> an email provider that you've already configured, like Sendgrid or Postmark. I'd strongly recommend the latter option, because it reduces your overall email footprint and gives you one less thing to keep up with. Most providers will have guides to <a href="https://docs.sendgrid.com/for-developers/sending-email/sendmail">configure server tools like Sendmail</a> to deliver through their email servers. Websites built with Content Management Systems like WordPress usually have <a href="https://wordpress.org/plugins/wp-sendgrid-mailer/">plugins available</a> to allow you to deliver email through these services as well. </p><p>With the state of email today, it's generally a best practice to avoid having individual servers sending email unless you're committed to maintaining them. Each IP address that sends will be tracked an given its own reputation score overtime that is used by spam filters.</p><h3>Enforce</h3><p>Once you are confident that everything which should be passing in the reports is actually passing, it's time to enforce our rules. We also want to apply this enforcement very carefully, just in case despite all of our efforts, there was an unexpected problem. As it turns out, DMARC even makes this easy.</p><p>First, you're going to let your support staff know that you're going to begin enforcing the DMARC policy. Let them know that you don't expect anything to happen, but if they start hearing from customers that people aren't seeing an email they expect to see then ask them to check their spam folder. Then tell you immediately.</p><p>Next, we're going to enforce our policy by switching to the <code>p=quarantine;</code> setting...but only for a small percentage of our email. That's right, there's an optional DMARC argument that will let you request the policy only be enforced on a specific percentage of email which allows you to slowly ramp up the enforcement so that you can back off if you start hearing about problems. We'll start with 10%.</p><pre><code><code>"v=DMARC1; p=quarantine; pct=10; rua=mailto:dmarc_rua@slimmeryetimbers.com;"
</code></code></pre><p>And now we wait. Let it run this way for a day or two, see if anything is missing. Touch base with support to see if they have any reports of missing email that ended up in "Spam".</p><p>If there are no problems, we increase the percentage to 20%.</p><pre><code><code>"v=DMARC1; p=quarantine; pct=20; rua=mailto:dmarc_rua@slimmeryetimbers.com;"
</code></code></pre><p>And wait again. Still no problems? Move to 30%. Then 40%. Then 50%.</p><p>At the point you hit 50% and you're still not experiencing any issues we should feel comfortable that everything is working as expected. From here you can either keep slowly increasing the percentage per day or go ahead and jump straight to 100% by removing the <code>pct</code> entirely.</p><pre><code><code>"v=DMARC1; p=quarantine; rua=mailto:dmarc_rua@slimmeryetimbers.com;"
</code></code></pre><p>Now every message that doesn't pass our DMARC checks should be going directly to the spam folder. Let this simmer for a week or two. Check in with everybody you know to be sending email from different email tools just to make absolutely sure things are working as they should.</p><p>At this point, it's time to move to the final phase: <code>p=reject;</code></p><pre><code><code>"v=DMARC1; p=reject; rua=mailto:dmarc_rua@slimmeryetimbers.com;"
</code></code></pre><p>Now, any mail that doesn't pass our checks but claims to be from us won't be delivered <em>at all</em>. This is where we want to be.</p><h3>p=quarantine; is Not Enough</h3><p>Even more, with the reject policy in place no new tools that we setup to send email on our behalf will work <em>until</em> we've set them up properly with SPF and DKIM. That will help us make sure that nothing sneaks in unexpectedly.</p><p>How could that happen? Let's say you're growing so much that you hire someone to handle marketing. Without telling you, they might sign up for an email service that they've used at a previous job. If you have a <code>p=quarantine;</code> policy setup this tool will still deliver successfully, while your new marketing person may just wonder why the messages are going to spam. They could even start asking customers to "add us to your contact list to get our emails!" and this is all bad advice. If the messages don't get through at all, they <em>know</em> something isn't setup right and <em>must</em> ask for help to get it setup correctly.</p><p>In a much larger enterprise this problem gets multiplied into what's called Shadow IT, where 3rd party services are setup without the knowledge or approval of your IT team. But with your <code>p=reject;</code> policy now in place, the long term maintenance of your email rules becomes a virtually automatic process. Because it has to...otherwise it won't work.</p><h3>That was easy</h3><p>All of that may seem like a lot of detail, but let's think about what was really involved?</p><ul><li><p><strong>Recon</strong>: We setup <code>p=none;</code> record so we could collect reports</p></li><li><p><strong>Implement</strong>: We reviewed the reports while we made sure everything we found was setup with aligned SPF and DKIM</p></li><li><p><strong>Enforce</strong>: We slowly turned on our DMARC policy after we knew everything was setup correctly, just to make sure we didn't miss anything. Eventually, we reached full <code>p=reject;</code> enforcement!</p></li></ul><p>Not bad.</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.dmarcstar.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">At dmarcSTAR we&#8217;re launching tools to make this process faster and easier than ever before. Subscribe for more information and private beta access as it comes available in 2024!</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><blockquote><p>This article was originally published on as part of a <a href="https://www.brightball.com/tag/dmarc-guide">3 part DMARC Guide at Brightball</a>.</p></blockquote>]]></content:encoded></item><item><title><![CDATA[DMARC with a New Domain & No Email]]></title><description><![CDATA[The most common deployment scenario]]></description><link>https://blog.dmarcstar.com/p/dmarc-with-a-new-domain-and-no-email</link><guid isPermaLink="false">https://blog.dmarcstar.com/p/dmarc-with-a-new-domain-and-no-email</guid><dc:creator><![CDATA[Barry Jones]]></dc:creator><pubDate>Fri, 27 Oct 2023 02:11:45 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/e871ed2f-9c8e-4414-bafa-48bbf3546e43_1864x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Wait, why do I need DMARC with a new domain that isn't sending any email? Remember how we said that <a href="https://www.brightball.com/articles/combatting-phishing-with-dmarc-a-complete-guide#what-does-dmarc-do-exactly">anyone can send email claiming to be from you</a>? We meant it. </p><p>Go and and setup a simple SPF and DMARC record to disable all email for the domain <em>until you're ready to use it</em>. That way, you can ensure <em>nobody else</em> is using it for you in the mean time. This is the "Only you can prevent forest fires" of the email world. Listen to Smokey Mail.</p><blockquote><p>Go to your DNS and add these two TXT records. Take a look at <code>dig TXT slimmeryetimbers.com</code> and <code>dig TXT _dmarc.slimmeryetimbers.com</code> as an example.</p></blockquote><pre><code><code>slimmeryetimbers.com.        100 IN TXT "v=spf1 -all"
_dmarc.slimmeryetimbers.com. 300 IN TXT "v=DMARC1; p=reject; aspf=s; adkim=s;"
</code></code></pre><p>The first sets an empty SPF record with strict enforcement, meaning no IP addresses are authorized to send email on behalf of this domain. The second sets a DMARC record with a <code>reject</code> policy that tells receiving mail servers to not even bother sending failing messages to spam and drop them entirely instead. The <code>aspf</code> and <code>adkim</code> settings put both into "strict" mode.</p><p>Do that on all your unused domains and you're doing your part to make the internet less spammy while protecting your own domain reputation.</p>]]></content:encoded></item><item><title><![CDATA[DMARC Deployment Goal: p=reject]]></title><description><![CDATA[p=quarantine is not enough]]></description><link>https://blog.dmarcstar.com/p/dmarc-deployment-goal-preject</link><guid isPermaLink="false">https://blog.dmarcstar.com/p/dmarc-deployment-goal-preject</guid><dc:creator><![CDATA[Barry Jones]]></dc:creator><pubDate>Fri, 27 Oct 2023 02:08:41 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/b2410f5e-47aa-46e9-adc1-457e7ba8f12b_1864x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>With any DMARC deployment, we have the same goal. We want a strictly enforced DMARC policy by the time we are done. When we start, we simply want to gather information safely <em>until</em> we are confident that the an enforced policy can be used.</p><p>There are three policy types, referenced by the <code>p=</code> attribute of a DMARC record.</p><ul><li><p><code>p=none;</code> <br>We have a DMARC record, but we don't want the rules to be enforced at all.</p></li><li><p><code>p=quarantine;</code> <br>Anything that doesn't pass DMARC should be sent to the user's spam folder. This is the lowest "enforced" setting and gives your support staff the ability to have customers check their spam folders if an email they're expecting is missing after turning it on. By the time we get here, you won't need it.</p></li><li><p><code>p=reject;</code> <br>Don't even deliver messages that fail DMARC checks. They aren't from us.</p></li></ul><p>The goal is to get to a <code>p=reject;</code> policy for every domain. A lot of people like the idea of sticking with <code>p=quarantine;</code> but this is still a dangerous place to be. Users can set email filter rules that move messages saying they are from you to specific folders and these rules will bypass the DMARC check if it's allowed to be delivered to the spam folder.</p><p>If this sounds farfetched, keep in mind that this is standard operating procedure for  Business Email Compromise (BEC) scams, also known as spear phishing or whale phishing. These attacks have <a href="https://www.ic3.gov/Media/Y2022/PSA220504">cost businesses $43 billion since 2016</a>. An attacker will prentend to be a vendor, contacting your financial team frantically asking why an invoice hasn&#8217;t been paid. They&#8217;ll send an email pretending to be the irrate CEO insisting that this vendor be paid immediately. </p><p>In many cases, they&#8217;ll direct their victim to the spam folder to find the fake invoice or the fake CEO communication, &#8220;Bob told me he was going to contact you last week! Are you sure it&#8217;s not in spam or something?&#8221; Just sending messages to the spam folder isn&#8217;t enough.</p><p>Additionally, once you get to <code>p=reject;</code> you'll find that it's easier to keep all of your email rules up to date because <em>nothing</em> new will work until it's been properly configured. This helps prevent <a href="https://www.gartner.com/en/information-technology/glossary/shadow">Shadow IT</a> too.</p><p>The goal is <em>always</em> to get to <code>p=reject;</code>.</p><blockquote><p>This article was originally published on as part of a <a href="https://www.brightball.com/tag/dmarc-guide">3 part DMARC Guide at Brightball</a>.</p></blockquote>]]></content:encoded></item><item><title><![CDATA[What does DMARC do, exactly?]]></title><description><![CDATA[It puts you back in control if your domain's email]]></description><link>https://blog.dmarcstar.com/p/what-does-dmarc-do-exactly</link><guid isPermaLink="false">https://blog.dmarcstar.com/p/what-does-dmarc-do-exactly</guid><dc:creator><![CDATA[Barry Jones]]></dc:creator><pubDate>Fri, 27 Oct 2023 01:56:05 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/2a45f8d8-4c72-44cf-8294-81e44b7e6047_1864x1200.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>In order to explain what DMARC does, I need to give you a brief introduction into how email works for your domain name.</p><p>Let's say you have a great business idea, so you go and buy a domain name. I've always dreamed of opening a pirate themed gym called "Slimmer Ye Timbers!" where people can work on their Arrrms and walk the Planks. The marketing kinda writes itself and be honest, you're a little curious right now.</p><p>Anyway, say I go out and buy the domain slimmeryetimbers.com for my website. Then I have to get a hosting company and setup a DNS record to point slimmeryetimbers.com to that web host to so people go to the right place when they visit the domain.</p><p>Email doesn't work like that. If I setup a mail server and point to it with an MX DNS record so that people can send messages to my new arrrgh@slimmeryetimbers.com address, it works great. Exactly like running a website and pointing the domain to the right place.</p><p>The difference is that anyone, anywhere can send an email to somebody else claiming to be from my fancy new domain. This is why we have spam. This is why we have phishing. By default, anyone can send email claiming to be from any domain that exists.</p><p>Arrgh...</p><p>DMARC lets you turn it off and control exactly what's allowed to get through, so the only email saying it's from your domain is actually from your domain.</p><h2>SPF &amp; DKIM</h2><p>DMARC isn't the first specification to try to fix the spam problem. Multiple others have come along in the past with differing degrees of adoption. DMARC builds on two of them, called SPF and DKIM. Both of these protocols have gaps that are addressed by the other. With DMARC setup, you're telling any mail server that get an email claiming to be from your domain "If this email doesn't pass either SPF or DKIM for my domain, it's not from me and you can discard it (or send it to spam)."</p><p>It's important to keep this in mind too. Without DMARC, every email server that gets a message claiming to be from your domain has to make it's own rules to figure out if the message is legit or not. That means running blacklists, IP reputation scores, spam algorithms, machine learning, checking the age of the domain, doing reverse DNS look ups on the IP address where it came from, among other things. Ever been asked to add a business to your contact list? That's why.</p><p>Even if you do have SPF and DKIM setup, receiving mail servers have no way of knowing if you have it everywhere so they <em>still</em> have to guess. With DMARC, you're removing the guesswork for them and telling them exactly what to do.</p><h3>SPF - Sender Policy Framework</h3><p>The <a href="https://datatracker.ietf.org/doc/html/rfc7208">Sender Policy Framework</a> works by publishing a DNS record(s) that lists the IP addresses or domains that are allowed to send email from your domain. All that you need to publish or modify an SPF record is access to your domain's DNS, so it's fairly straightforward to setup. The biggest challenge is identifying everywhere that you're sending email, which DMARC will make easier for you.</p><p>Here's an example of an SPF record for your domain, which is just a simple TXT record.</p><pre><code>v=spf1 mx ip4:64.18.0.0/20 include:_spf.google.com ~all</code></pre><p>This simple record says these IP addresses are allowed to send email from our domain...</p><ul><li><p><code>mx</code> allows the servers referenced by our DNS MX records, which points to the email servers that receive email since many will also send email.</p></li><li><p><code>ip4:64.18.0.0/20</code> allows any IP address in the 64.18.0.0/20 range to send email. We can also specify individual IP addresses. <code>ip6</code> can be used as well.</p></li><li><p><code>include:_spf.google.com</code> allows us to delegate management of some of our IP addresses to Google, who can update this record whenever things change without us having to worry about it.</p></li></ul><p>The <code>v=spf1</code> indicates that this is an SPF record since DNS TXT records can be a lot of different things. The <code>~all</code> at the end covers how strictly to enforce the rule, which we'll talk about in deployment.</p><p>When a mail server receives an email from us it will be able to see the IP address of the server that sent it and the domain name it claims to be sent from. That mail server will then check to see if there is a corresponding SPF record and verify that the sending IP addresses exists in this approved range.</p><h4>SPF has flaws</h4><p>It's so simple that it makes you wonder why anything else is even necessary, but email is a big world and SPF doesn't cover all of the use cases. If you send an email to a mailing list like a LISTSERV, your email is sent to the server of the list serve itself and then the list serve forwards the message from you out to every address on the list. In this case, the email will come from you but be sent from a server that you have no control over at all which will fail an SPF check.</p><p>Another situation is if you send an email to someone who is using a forwarding address, like a collegiate <code>@alumni.university.edu</code> address. The SPF check will fail after forwarding and if you're enforcing SPF too strictly legitimate messages will be entirely lost.</p><p>Lastly, an email server which is used by multiple domain names may allow other people to send on your behalf if the owner of the server hasn't taken steps to prevent it.</p><h3>DKIM - DomainKeys Identified Mail</h3><p><a href="https://datatracker.ietf.org/doc/html/rfc6376">DomainKeys Identified Mail (DKIM) Signatures</a> works by attaching an encrypted email signature to each outgoing message. A private key on an outgoing mail server will reference a public key published in your domain's DNS that can be used by the receiving mail server to verify the signature. Because the signature is based on the body of the message, a failing DKIM check can also indicate that they message may have been modified in transit.</p><p>It's more complicated to implement since it has to be setup individually for each sending mail source, but it's more reliable because the signature survives forwarding which fills the gap in SPF. Most 3rd party email senders today will require you to setup DKIM before even allowing you to send an email, but go out of their way to make this process easy for you.</p><h4>DKIM has flaws too</h4><p>The biggest flaw with DKIM is that if a mail server receives a message that doesn't include a DKIM signature, it has no way of knowing that there was supposed to be one present. This will lead to treating DKIM as a trust modifier if it's present, but not a <em>dis</em>-qualifier if it's not.</p><p>You can see this if you look at the scoring system for a tool like <a href="https://cwiki.apache.org/confluence/display/SPAMASSASSIN/Home">SpamAssassin</a>, which is a popular open source library used to help filter potential spam messages. It uses a scoring system to judge messages based on a lot of different criteria. If a message scores higher than a certain score threshold, it will be classified as spam. Valid DKIM signatures will lower your score, but lack of a DKIM signature doesn't really hurt you.</p><h4>Sometimes modified emails are good</h4><p>There are a number of corporate email systems and vendors who provide services that will inspect incoming emails. Sometimes these just scan for viruses in attachments, but others will wrap the links in an email message with a new URL that will inspect the contents and warn you of hazards when you try to click them. These link replacements will invalidate the DKIM signature since the message was modified. Luckily, these systems are usually setup by the entity with the receiving mail server itself so steps can be taken to verify the DKIM signature <em>before</em> the message is modified.</p><h4>Key Strength Matters</h4><p>When we talk about using public/private key encryption there's always an associated bit strength to the encryption. 256, 512, 1024, 2048 or even 4096 are what's commonly circulated as of this article. The lower the strength, the easier it will be to crack the private key. This is important because if anybody finds out the private key, email can be sent impersonating the domain and fully pass the authentication checks.</p><p>The most famous DKIM cracking incident actually happened at Google thanks to <a href="https://www.wired.com/2012/10/dkim-vulnerability-widespread/">Zachary Harris, Math Pirate</a>. He received a headhunters email coming from Google and thought that the message might have been spoofed, so he looked at the DKIM signature and realized it had a weak 512-bit key. The DKIM standard calls for 1024-bit minimum. He didn't believe that Google would be so careless, so he thought it was a recruiting test and proceeded to crack the key before sending an email to Larry Page <em>from</em> Sergey Brin, Google's founders. 2 days later Google's DKIM key was using a 2048-bit key, but Zachary never got a response.</p><h4>Key Rotation Matters</h4><p>When you setup a secure certificate on a website, it comes with an expiration date that will require it to be renewed. DKIM keys have the same need, but it's not required so it's often neglected. Protecting your DKIM private keys is extremely important, otherwise none of this matters. If a DKIM key is cracked in the wild and you don't know about it, the cracked key will keep working until you rotate yours. That means periodically rotating your keys on <em>every</em> outgoing email server that you have, which is going to be tedious if it's not automated.</p><p>Luckily, more and more email providers are automating this process for you by providing you with two CNAME DNS records that they can manage for you. This will allow them to change the key on one record while the other is still in use to avoid any disruption to recently sent mail. I know that several already do this, but I'm not aware of a comprehensive list of providers who offer automatic DKIM rotation. Personally, I would go out of my way to avoid providers who don't.</p><p>Even if you have a very high strength key, the knowledge of how many years it would take to crack doesn't protect you from everything. A departing employee with privileged access could take the key or leak it. A compromised or unpatched server could allow the key to be stolen. And let's be honest here, if you have IT staff who aren't willing to take the time to rotate those keys how likely is it that the mail server is being properly secured anyway?</p><h2>DMARC fills the gaps</h2><p>DMARC builds on both SPF and DKIM, providing clearer rules about their usage while filling their weak spots. Here's how it accomplishes it.</p><p>First, the requirement for a message to pass a DMARC check is that it must pass a <em>domain-aligned</em> SPF or DKIM check, not both. What does that mean?</p><ul><li><p>We've established that SPF doesn't survive forwarding, so receiving mail servers know that if a message doesn't pass SPF for the domain it <em>must</em> pass DKIM...which does survive forwarding.</p></li><li><p>We've established that mail servers have no way of knowing if DKIM should be present when they receive a message without it, DMARC indicates it must be there unless the message passes SPF.</p></li></ul><p>DMARC also introduces domain <em>alignment</em> to both SPF and DKIM, because it's possible for SPF and DKIM validation to both pass using domains that are not visible to the user at all which have <em>nothing</em> to do with the <code>From</code> address that you see in your email client. In order for SPF or DKIM to pass with DMARC, these checks <em>must</em> match up with the domain name in the <code>From</code> address so users can see it too. That's alignment. There are several simple examples present at the <a href="https://datatracker.ietf.org/doc/html/rfc7489#appendix-B.1">end of the DMARC specification</a> to help alignment make more sense.</p><p>Here's an example of aligned DKIM...</p><pre><code>DKIM-Signature: v=1; ...; d=example.com; ...

From: sender@example.com
Date: Fri, Feb 15 2002 16:54:30 -0800
To: receiver@example.org
Subject: here's a sample
</code></pre><p>The best part though, is that DMARC is extremely simple to setup to provide all of those benefits. It's just a single DNS TXT record. Most of the work comes from trying to figure out all the places you're sending email...but DMARC even helps with that.</p><blockquote><p>This article was originally published on as part of a <a href="https://www.brightball.com/tag/dmarc-guide">3 part DMARC Guide at Brightball</a>.</p></blockquote><p></p>]]></content:encoded></item></channel></rss>