
<rss version="2.0" 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" xmlns:media="http://search.yahoo.com/mrss/">
    <channel>
        <title><![CDATA[ The Cloudflare Blog ]]></title>
        <description><![CDATA[ Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet. ]]></description>
        <link>https://blog.cloudflare.com</link>
        <atom:link href="https://blog.cloudflare.com/" rel="self" type="application/rss+xml"/>
        <language>en-us</language>
        <image>
            <url>https://blog.cloudflare.com/favicon.png</url>
            <title>The Cloudflare Blog</title>
            <link>https://blog.cloudflare.com</link>
        </image>
        <lastBuildDate>Wed, 08 Apr 2026 02:43:17 GMT</lastBuildDate>
        <item>
            <title><![CDATA[Our ongoing commitment to privacy for the 1.1.1.1 public DNS resolver]]></title>
            <link>https://blog.cloudflare.com/1111-privacy-examination-2026/</link>
            <pubDate>Wed, 01 Apr 2026 13:00:00 GMT</pubDate>
            <description><![CDATA[ Eight years ago, we launched 1.1.1.1 to build a faster, more private Internet. Today, we’re sharing the results of our latest independent examination. The result: our privacy protections are working exactly as promised. ]]></description>
            <content:encoded><![CDATA[ <p></p><p>Exactly 8 years ago today, <a href="https://blog.cloudflare.com/announcing-1111/"><u>we launched the 1.1.1.1 public DNS resolver</u></a>, with the intention to build the world’s <a href="https://www.dnsperf.com/#!dns-resolvers"><u>fastest</u></a> resolver — and the most private one. We knew that trust is everything for a service that handles the "phonebook of the Internet." That’s why, at launch, we made a unique commitment to publicly confirm that we are doing what we said we would do with personal data. In 2020, we <a href="https://blog.cloudflare.com/announcing-the-results-of-the-1-1-1-1-public-dns-resolver-privacy-examination/"><u>hired an independent firm to check our work</u></a>, instead of just asking you to take our word for it. We shared our intention to update such examinations in the future. We also called on other providers to do the same, but, as far as we are aware, no other major public resolver has had their DNS privacy practices independently examined.</p><p>At the time of the 2020 review, the 1.1.1.1 resolver was less than two years old, and the purpose of the examination was to prove our systems made good on all the commitments we made about how our 1.1.1.1 resolver functioned, even commitments that did not impact personal data or user privacy. </p><p>Since then, Cloudflare’s technology stack has grown significantly in both scale and complexity. For example, we <a href="https://blog.cloudflare.com/big-pineapple-intro/"><u>built an entirely new platform</u></a> that powers our 1.1.1.1 resolver and other DNS systems. So we felt it was vital to review our systems, and our 1.1.1.1 resolver privacy commitments in particular, once again with a rigorous and independent review. </p><p>Today, we are sharing the results of our most recent privacy examination by the same Big 4 accounting firm. Its independent examination is available on our <a href="https://www.cloudflare.com/trust-hub/compliance-resources/"><u>compliance page</u></a>.</p><p>Following the conclusion of the 2024 calendar year, we began our comprehensive process of collecting and preparing evidence for our independent auditors. The examination took several months and required many teams across Cloudflare to provide supporting evidence of our privacy controls in action. After the independent auditors' completion of the examination, we're pleased to share the final report, which provides assurance that our commitments were met: our systems are as private as promised. Most importantly, <b>our core privacy guarantees for the 1.1.1.1 resolver remain unchanged and confirmed by independent review:</b></p><ul><li><p><b>Cloudflare will not sell or share public resolver users’ personal data with third parties or use personal data from the public resolver to target any user with advertisements.</b></p></li></ul><ul><li><p><b>Cloudflare will only retain or use what is being asked, not information that will identify who is asking it.</b> </p></li></ul><ul><li><p><b>Source IP addresses are anonymized and deleted within 25 hours.</b></p></li></ul><p>We also want to be transparent about two points. First: as we explained in <a href="https://blog.cloudflare.com/announcing-the-results-of-the-1-1-1-1-public-dns-resolver-privacy-examination/"><u>our 2020 blog announcing the results of our previous examination</u>,</a> randomly sampled network packets (at most 0.05% of all traffic, including the querying IP address of 1.1.1.1 public resolver users) are used solely for network troubleshooting and attack mitigation.</p><p>Second, the scope of this examination focuses exclusively on our privacy commitments. Back in 2020, our first examination reviewed all of our representations, not only our privacy commitments but our description of how we would handle anonymized transaction and debug log data (“Public Resolver Logs”) for the legitimate operation of our Public Resolver and research purposes. Over time, our uses of this data to do things like power <a href="https://radar.cloudflare.com/"><u>Cloudflare Radar</u></a>, which was released after our initial 1.1.1.1 examination, have changed how we treat those logs, even though there is no impact on personal information or personal privacy. </p><p><a href="https://blog.cloudflare.com/announcing-the-results-of-the-1-1-1-1-public-dns-resolver-privacy-examination/"><u>As we noted with the first review 6 years ago</u></a>: we’ve never wanted to know what individuals do on the Internet, and we’ve taken technical steps to ensure we can’t. At Cloudflare, we believe privacy should be the default. By proactively undergoing these independent examinations, we hope to set a standard for the rest of the industry. We believe every user, whether they are browsing the web directly or deploying an AI agent on their behalf, deserves an Internet that doesn't track their movement. And further, Cloudflare steadfastly stands behind the commitment in our <a href="https://www.cloudflare.com/privacypolicy/"><u>Privacy Policy</u></a> that we will not combine any information collected from DNS queries to the 1.1.1.1 resolver with any other Cloudflare or third-party data in any way that can be used to identify individual end users.</p><p>As always, we thank you for trusting 1.1.1.1 to be your gateway to the Internet. Details of the 1.1.1.1 resolver privacy examination and our accountant’s report can be found on Cloudflare’s <a href="https://www.cloudflare.com/trust-hub/compliance-resources/"><u>Certifications and compliance resources page</u></a>. Visit <a href="https://developers.cloudflare.com/1.1.1.1/"><u>https://developers.cloudflare.com/1.1.1.1/</u></a> to learn more about how to get started with the Internet's fastest, privacy-first DNS resolver. </p> ]]></content:encoded>
            <category><![CDATA[1.1.1.1]]></category>
            <category><![CDATA[DNS]]></category>
            <category><![CDATA[Privacy]]></category>
            <category><![CDATA[Consumer Services]]></category>
            <category><![CDATA[Transparency]]></category>
            <guid isPermaLink="false">VOddnCi9jbM6zHOay1HCN</guid>
            <dc:creator>Rory Malone</dc:creator>
            <dc:creator>Hannes Gerhart</dc:creator>
            <dc:creator>Leah Romm</dc:creator>
        </item>
        <item>
            <title><![CDATA[Some TXT about, and A PTR to, new DNS insights on Cloudflare Radar]]></title>
            <link>https://blog.cloudflare.com/new-dns-section-on-cloudflare-radar/</link>
            <pubDate>Thu, 27 Feb 2025 14:00:00 GMT</pubDate>
            <description><![CDATA[ The new Cloudflare Radar DNS page provides increased visibility into aggregate traffic and usage trends seen by our 1.1.1.1 resolver ]]></description>
            <content:encoded><![CDATA[ <p>No joke – Cloudflare's <a href="https://www.cloudflare.com/en-gb/learning/dns/what-is-1.1.1.1/"><u>1.1.1.1 resolver</u></a> was <a href="https://blog.cloudflare.com/dns-resolver-1-1-1-1"><u>launched</u></a> on April Fool's Day in 2018. Over the last seven years, this highly <a href="https://www.dnsperf.com/#!dns-resolvers"><u>performant</u></a> and <a href="https://developers.cloudflare.com/1.1.1.1/privacy/public-dns-resolver/"><u>privacy</u></a>-<a href="https://blog.cloudflare.com/announcing-the-results-of-the-1-1-1-1-public-dns-resolver-privacy-examination"><u>conscious</u></a> service has grown to handle an average of 1.9 Trillion queries per day from approximately 250 locations (countries/regions) around the world. Aggregated analysis of this traffic provides us with unique insight into Internet activity that goes beyond simple Web traffic trends, and we currently use analysis of 1.1.1.1 data to power Radar's <a href="https://radar.cloudflare.com/domains"><u>Domains</u></a> page, as well as the <a href="https://blog.cloudflare.com/radar-domain-rankings"><u>Radar Domain Rankings</u></a>.</p><p>In December 2022, Cloudflare <a href="https://blog.cloudflare.com/the-as112-project/"><u>joined the AS112 Project</u></a>, which helps the Internet deal with misdirected DNS queries. In March 2023, we launched an <a href="https://radar.cloudflare.com/as112"><u>AS112 statistics</u></a> page on Radar, providing insight into traffic trends and query types for this misdirected traffic. Extending the basic analysis presented on that page, and building on the analysis of resolver data used for the Domains page, today we are excited to launch a dedicated DNS page on Cloudflare Radar to provide increased visibility into aggregate traffic and usage trends seen across 1.1.1.1 resolver traffic. In addition to looking at global, location, and <a href="https://www.cloudflare.com/learning/network-layer/what-is-an-autonomous-system/"><u>autonomous system (ASN)</u></a> traffic trends, we are also providing perspectives on protocol usage, query and response characteristics, and <a href="https://www.cloudflare.com/learning/dns/dnssec/how-dnssec-works/"><u>DNSSEC</u></a> usage.</p><p>The traffic analyzed for this new page may come from users that have manually configured their devices or local routers to use 1.1.1.1 as a resolver, ISPs that set 1.1.1.1 as the default resolver for their subscribers, ISPs that use 1.1.1.1 as a resolver upstream from their own, or users that have installed Cloudflare’s <a href="https://one.one.one.one/"><u>1.1.1.1/WARP app</u></a> on their device. The traffic analysis is based on anonymised DNS query logs, in accordance with <a href="https://www.cloudflare.com/privacypolicy/"><u>Cloudflare’s Privacy Policy</u></a>, as well as our <a href="https://developers.cloudflare.com/1.1.1.1/privacy/public-dns-resolver/"><u>1.1.1.1 Public DNS Resolver privacy commitments</u></a>.</p><p>Below, we walk through the sections of Radar’s new DNS page, reviewing the included graphs and the importance of the metrics they present. The data and trends shown within these graphs will vary based on the location or network that the aggregated queries originate from, as well as on the selected time frame.</p>
    <div>
      <h3>Traffic trends</h3>
      <a href="#traffic-trends">
        
      </a>
    </div>
    <p>As with many Radar metrics, the <a href="https://radar.cloudflare.com/dns"><u>DNS page</u></a> leads with traffic trends, showing normalized query volume at a worldwide level (default), or from the selected location or <a href="https://www.cloudflare.com/learning/network-layer/what-is-an-autonomous-system/"><u>autonomous system (ASN)</u></a>. Similar to other Radar traffic-based graphs, the time period shown can be adjusted using the date picker, and for the default selections (last 24 hours, last 7 days, etc.), a comparison with traffic seen over the previous period is also plotted.</p><p>For location-level views (such as <a href="https://radar.cloudflare.com/dns/lv"><u>Latvia</u></a>, in the example below), a table showing the top five ASNs by query volume is displayed alongside the graph. Showing the network’s share of queries from the selected location, the table provides insights into the providers whose users are generating the most traffic to 1.1.1.1.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4tFv24QhHPReek393iHte7/03894de5973a1fed2805f69dcd9323c6/01.png" />
            
            </figure><p>When a country/region is selected, in addition to showing an aggregate traffic graph for that location, we also show query volumes for the <a href="https://en.wikipedia.org/wiki/Country_code_top-level_domain"><u>country code top level domain (ccTLD)</u></a> associated with that country. The graph includes a line showing worldwide query volume for that ccTLD, as well as a line showing the query volume based on queries from the associated location. <a href="https://radar.cloudflare.com/dns/ai#dns-query-volume-for-ai-domains"><u>Anguilla’s</u></a> ccTLD is .ai, and is a popular choice among the growing universe of AI-focused companies. While most locations see a gap between the worldwide and “local” query volume for their ccTLD, Anguilla’s is rather significant — as the graph below illustrates, this size of the gap is driven by both the popularity of the ccTLD and Anguilla’s comparatively small user base. (Traffic for <a href="https://www.cloudflare.com/application-services/products/registrar/buy-ai-domains/">.ai domains</a> from Anguilla is shown by the dark blue line at the bottom of the graph.) Similarly, sizable gaps are seen with other “popular” ccTLDs as well, such as .io (<a href="https://radar.cloudflare.com/dns/io#dns-query-volume-for-io-domains"><u>British Indian Ocean Territory</u></a>), .fm (<a href="https://radar.cloudflare.com/dns/fm#dns-query-volume-for-fm-domains"><u>Federated States of Micronesia</u></a>), and .co (<a href="https://radar.cloudflare.com/dns/co#dns-query-volume-for-co-domains"><u>Colombia</u></a>). A higher “local” ccTLD query volume in other locations results in smaller gaps when compared to the worldwide query volume.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6LXc2OLAoHqAVbgspo5cjb/c01b9f7e90d1d27f66eb3dcb35bf2622/02.png" />
            
            </figure><p>Depending on the strength of the signal (that is, the volume of traffic) from a given location or ASN, this data can also be used to corroborate reported Internet outages or shutdowns, or reported blocking of 1.1.1.1. For example, the <a href="https://radar.cloudflare.com/dns/as8048?dateStart=2025-01-10&amp;dateEnd=2025-02-06"><u>graph below</u></a> illustrates the result of Venezuelan provider <a href="https://radar.cloudflare.com/as8048"><u>CANTV</u></a> reportedly <a href="https://x.com/vesinfiltro/status/1879943715537711233"><u>blocking access to 1.1.1.1</u></a> for its subscribers. A <a href="https://radar.cloudflare.com/dns/as22313?dateStart=2025-01-10&amp;dateEnd=2025-01-23"><u>comparable drop</u></a> is visible for <a href="https://radar.cloudflare.com/as22313"><u>Supercable</u></a>, another Venezuelan provider that also reportedly blocked access to Cloudflare’s resolver around the same time.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1hR11TuJDhzWDFhoCo3Uh7/970ecbc951edd352f80a3b87f607e580/03.png" />
            
            </figure><p>Individual domain pages (like the one for <a href="https://radar.cloudflare.com/domains/domain/cloudflare.com"><u>cloudflare.com</u></a>, for example) have long had a choropleth map and accompanying table showing the <a href="https://radar.cloudflare.com/domains/domain/cloudflare.com#visitor-location"><u>popularity of the domain by location</u></a>, based on the share of DNS queries for that domain from each location. A <a href="https://radar.cloudflare.com/dns#geographical-distribution"><u>similar view</u></a> is included at the bottom of the worldwide overview page, based on the share of total global queries to 1.1.1.1 from each location.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2kchGpH4fmYxmX4up953VC/744632815d78a9a77526e97d8c4d1664/04.png" />
            
            </figure>
    <div>
      <h3>Query and response characteristics</h3>
      <a href="#query-and-response-characteristics">
        
      </a>
    </div>
    <p>While traffic trends are always interesting and important to track, analysis of the characteristics of queries to 1.1.1.1 and the associated responses can provide insights into the adoption of underlying transport protocols, record type popularity, cacheability, and security.</p><p>Published in November 1987, <a href="https://datatracker.ietf.org/doc/html/rfc1035#section-4.2"><u>RFC 1035 notes</u></a> that “<i>The Internet supports name server access using TCP [</i><a href="https://datatracker.ietf.org/doc/html/rfc793"><i><u>RFC-793</u></i></a><i>] on server port 53 (decimal) as well as datagram access using UDP [</i><a href="https://datatracker.ietf.org/doc/html/rfc768"><i><u>RFC-768</u></i></a><i>] on UDP port 53 (decimal).</i>” Over the subsequent three-plus decades, UDP has been the primary transport protocol for DNS queries, falling back to TCP for a limited number of use cases, such as when the response is too big to fit in a single UDP packet. However, as privacy has become a significantly greater concern, encrypted queries have been made possible through the specification of <a href="https://datatracker.ietf.org/doc/html/rfc7858"><u>DNS over TLS</u></a> (DoT) in 2016 and <a href="https://datatracker.ietf.org/doc/html/rfc8484"><u>DNS over HTTPS</u></a> (DoH) in 2018. Cloudflare’s 1.1.1.1 resolver has <a href="https://blog.cloudflare.com/announcing-1111/#toward-a-better-dns-infrastructure"><u>supported both of these privacy-preserving protocols since launch</u></a>. The <a href="https://radar.cloudflare.com/dns#dns-transport-protocol"><b><u>DNS transport protocol</u></b></a> graph shows the distribution of queries to 1.1.1.1 over these four protocols. (Setting up 1.1.1.1 <a href="https://one.one.one.one/dns/"><u>on your device or router</u></a> uses DNS over UDP by default, although recent versions of <a href="https://developers.cloudflare.com/1.1.1.1/setup/android/#configure-1111-manually"><u>Android</u></a> support DoT and DoH. The <a href="https://one.one.one.one/"><u>1.1.1.1 app</u></a> uses DNS over HTTPS by default, and users can also <a href="https://developers.cloudflare.com/1.1.1.1/encryption/dns-over-https/encrypted-dns-browsers/"><u>configure their browsers</u></a> to use DNS over HTTPS.)</p><p>Note that Cloudflare's resolver also services queries over DoH and <a href="https://blog.cloudflare.com/oblivious-dns/"><u>Oblivious DoH (ODoH)</u></a> for <a href="https://developers.cloudflare.com/1.1.1.1/privacy/cloudflare-resolver-firefox/"><u>Mozilla</u></a> and other large platforms, but this traffic is not currently included in our analysis. As such, DoH adoption is under-represented in this graph.</p><p>Aggregated worldwide between February 19 - February 26, distribution of transport protocols was 86.6% for UDP, 9.6% for DoT, 2.0% for TCP, and 1.7% for DoH. However, in some locations, these ratios may shift if users are more privacy conscious. For example, the graph below shows the distribution for <a href="https://radar.cloudflare.com/dns/eg"><u>Egypt</u></a> over the same time period. In that country, the UDP and TCP shares are significantly lower than the global level, while the DoT and DoH shares are significantly higher, suggesting that users there may be more concerned about the privacy of their DNS queries than the global average, or that there is a larger concentration of 1.1.1.1 users on Android devices who have set up 1.1.1.1 using DoT manually. (The 2024 Cloudflare Radar Year in Review found that <a href="https://radar.cloudflare.com/year-in-review/2024/eg#ios-vs-android"><u>Android had an 85% mobile device traffic share in Egypt</u></a>, so mobile device usage in the country leans very heavily toward Android.)</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1srd6prVQCUxHvxw8eFNjL/987f2d925120be867174fd04a8c7eb2c/05-b.png" />
            
            </figure><p>RFC 1035 also defined a number of <a href="https://datatracker.ietf.org/doc/html/rfc1035#section-3.3"><u>standard</u></a> and <a href="https://datatracker.ietf.org/doc/html/rfc1035#section-3.4"><u>Internet specific</u></a> resource record types that return the associated information about the submitted query name. The most common record types are <code>A</code> and <code>AAAA</code>, which return the hostname’s IPv4 and IPv6 addresses respectively (assuming they exist). The <a href="https://radar.cloudflare.com/dns#dns-query-type"><b><u>DNS query type</u></b></a> graph below shows that globally, these two record types comprise on the order of 80% of the queries received by 1.1.1.1. Among the others shown in the graph, <a href="https://blog.cloudflare.com/speeding-up-https-and-http-3-negotiation-with-dns/#service-bindings-via-dns"><code><u>HTTPS</u></code></a> records can be used to signal HTTP/3 and HTTP/2 support, <a href="https://www.cloudflare.com/learning/dns/dns-records/dns-ptr-record/"><code><u>PTR</u></code></a> records are used in reverse DNS records to look up a domain name based on a given IP address, and <a href="https://www.cloudflare.com/learning/dns/dns-records/dns-ns-record/"><code><u>NS</u></code></a> records indicate authoritative nameservers for a domain.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3LI2EW249EtFFX5FvlONDg/4b150dfbdd8de5c0e9def9eb18c81d70/06.png" />
            
            </figure><p>A response code is sent with each response from 1.1.1.1 to the client. Six possible values were <a href="https://datatracker.ietf.org/doc/html/rfc1035#section-4.1.1"><u>originally defined in RFC 1035</u></a>, with the list <a href="https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-6"><u>further extended</u></a> in <a href="https://datatracker.ietf.org/doc/html/rfc2136"><u>RFC 2136</u></a> and <a href="https://datatracker.ietf.org/doc/html/rfc2671"><u>RFC 2671</u></a>. <code>NOERROR</code>, as the name suggests, means that no error condition was encountered with the query. Others, such as <code>NXDOMAIN</code>, <code>SERVFAIL</code>, <code>REFUSED</code>, and <code>NOTIMP</code> define specific error conditions encountered when trying to resolve the requested query name. The response codes may be generated by 1.1.1.1 itself (like <code>REFUSED</code>) or may come from an upstream authoritative nameserver (like <code>NXDOMAIN</code>).</p><p>The <a href="https://radar.cloudflare.com/dns#dns-response-code"><b><u>DNS response code</u></b></a> graph shown below highlights that the vast majority of queries seen globally do not encounter an error during the resolution process (<code>NOERROR</code>), and that when errors are encountered, most are <a href="https://datatracker.ietf.org/doc/html/rfc8020"><code><u>NXDOMAIN</u></code></a> (no such record). It is worth noting that <code>NOERROR</code> also includes empty responses, which occur when there are no records for the query name and query type, but there are records for the query name and some other query type.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6ZXQ8kcT0H7zfb8najn42C/df8c8c2f54c492484bb5d59f437eee5d/07.png" />
            
            </figure><p>With DNS being a first-step dependency for many other protocols, the amount of queries of particular types can be used to indirectly measure the adoption of those protocols. But to effectively measure adoption, we should also consider the fraction of those queries that are met with useful responses, which are represented with the <a href="https://radar.cloudflare.com/dns#dns-record-adoption"><b><u>DNS record adoption</u></b></a> graphs.</p><p>The example below shows that queries for <code>A</code> records are met with a useful response nearly 88% of the time. As IPv4 is an established protocol, the remaining 12% are likely to be queries for valid hostnames that have no <code>A </code>records (e.g. email domains that only have MX records). But the same graph also shows that there’s still a <a href="https://blog.cloudflare.com/ipv6-from-dns-pov/"><u>significant adoption gap</u></a> where IPv6 is concerned.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6blxaHcK6UtPp67V3SGNML/daed03be6793aab32ec21b2bb2f08374/08.png" />
            
            </figure><p>When Cloudflare’s DNS resolver gets a response back from an upstream authoritative nameserver, it caches it for a specified amount of time — more on that below. By caching these responses, it can more efficiently serve subsequent queries for the same name. The <a href="https://radar.cloudflare.com/dns#dns-cache-hit-ratio"><b><u>DNS cache hit ratio</u></b></a> graph provides insight into how frequently responses are served from cache. At a global level, as seen below, over 80% of queries have a response that is already cached. These ratios will vary by location or ASN, as the query patterns differ across geographies and networks.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/sj0gBv53GdPF0slfGlKlr/fa86ff6fc610aefad2e675c5dc926f54/09.png" />
            
            </figure><p>As noted in the preceding paragraph, when an authoritative nameserver sends a response back to 1.1.1.1, each record inside it includes information about how long it should be cached/considered valid for. This piece of information is known as the <a href="https://developers.cloudflare.com/dns/manage-dns-records/reference/ttl/"><u>Time-To-Live (TTL)</u></a> and, as a response may contain multiple records, the smallest of these TTLs (the “minimum” TTL) defines how long 1.1.1.1 can cache the entire response for. The TTLs on each response served from 1.1.1.1’s cache decrease towards zero as time passes, at which point 1.1.1.1 needs to go back to the authoritative nameserver. Hostnames with relatively low TTL values suggest that the records may be somewhat dynamic, possibly due to traffic management of the associated resources; longer TTL values suggest that the associated resources are more stable and expected to change infrequently.</p><p>The <a href="https://radar.cloudflare.com/dns#dns-minimum-ttl"><b><u>DNS minimum TTL</u></b></a> graphs show the aggregate distribution of TTL values for five popular DNS record types, broken out across seven buckets ranging from under one minute to over one week. During the third week of February, for example, <code>A</code> and <code>AAAA</code> responses had a concentration of low TTLs, with over 80% below five minutes. In contrast, <code>NS</code> and <code>MX</code> responses were more concentrated across 15 minutes to one hour and one hour to one day. Because <code>MX</code> and <code>NS</code> records change infrequently, they are generally configured with higher TTLs. This allows them to be cached for longer periods in order to achieve faster DNS resolution.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3r6ppahpkqyfAHi89LWNA1/6dc6f52e92c1d7aa2dfaeaa411deb982/10.png" />
            
            </figure>
    <div>
      <h3>DNS security</h3>
      <a href="#dns-security">
        
      </a>
    </div>
    <p><a href="https://www.cloudflare.com/learning/dns/dns-security/"><u>DNS Security Extensions (DNSSEC)</u></a> add an extra layer of authentication to DNS establishing the integrity and authenticity of a DNS response. This ensures subsequent HTTPS requests are not routed to a spoofed domain. When sending a query to 1.1.1.1, a DNS client can indicate that it is DNSSEC-aware by setting a specific flag (the “DO” bit) in the query, which lets our resolver know that it is OK to return DNSSEC data in the response. The <a href="https://radar.cloudflare.com/dns#dnssec-client-awareness"><b><u>DNSSEC client awareness</u></b></a> graph breaks down the share of queries that 1.1.1.1 sees from clients that understand DNSSEC and can require validation of responses vs. those that don’t. (Note that by default, 1.1.1.1 tries to protect clients by always validating DNSSEC responses from authoritative nameservers and not forwarding invalid responses to clients, unless the client has explicitly told it not to by setting the “CD” (checking-disabled) bit in the query.)</p><p>Unfortunately, as the graph below shows, nearly 90% of the queries seen by Cloudflare’s resolver are made by clients that are not DNSSEC-aware. This broad lack of client awareness may be due to several factors. On the client side, DNSSEC is not enabled by default for most users, and enabling DNSSEC requires extra work, even for technically savvy and security conscious users. On the authoritative side, for domain owners, supporting DNSSEC requires extra operational maintenance and knowledge, and a mistake can cost your domain to <a href="https://blog.cloudflare.com/dnssec-issues-fiji/"><u>disappear from the Internet</u></a>, causing significant (including financial) issues.</p><p>The companion <a href="https://radar.cloudflare.com/dns#end-to-end-security"><b><u>End-to-end security</u></b></a> graph represents the fraction of DNS interactions that were protected from tampering, when considering the client’s DNSSEC capabilities and use of encryption (use of DoT or DoH). This shows an even greater imbalance at a global level, and highlights the importance of further adoption of encryption and DNSSEC.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6nErpp8o9tPuE0jt5PQ3fg/3e509065967a8f43c6679d400fd31454/11.png" />
            
            </figure><p>For DNSSEC validation to occur, the query name being requested must be part of a DNSSEC-enabled domain, and the <a href="https://radar.cloudflare.com/dns#dnssec-validation-status"><b><u>DNSSEC validation status</u></b></a> graph represents the share of queries where that was the case under the <b>Secure</b> and <b>Invalid</b> labels. Queries for domains without DNSSEC are labeled as <b>Insecure</b>, and queries where DNSSEC validation was not applicable (such as various kinds of errors) fall under the <b>Other</b> label. Although nearly 93% of generic Top Level Domains (TLDs) and 65% of country code Top Level Domains (ccTLDs) are <a href="https://ithi.research.icann.org/graph-m7.html"><u>signed with DNSSEC</u></a> (as of February 2025), the adoption rate across individual (child) domains lags significantly, as the graph below shows that over 80% of queries were labeled as <b>Insecure</b>.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3shBkfRYcpHKgXI6Y9jcjq/26929261c5c6800fa1fee562dad5ce53/12.png" />
            
            </figure>
    <div>
      <h3>Conclusion</h3>
      <a href="#conclusion">
        
      </a>
    </div>
    <p>DNS is a fundamental, foundational part of the Internet. While most Internet users don’t think of DNS beyond its role in translating easy-to-remember hostnames to IP addresses, there’s a lot going on to make even that happen, from privacy to performance to security. The new DNS page on Cloudflare Radar endeavors to provide visibility into what’s going on behind the scenes, at a global, national, and network level.</p><p>While the graphs shown above are taken from the DNS page, all the underlying data is available via the <a href="https://developers.cloudflare.com/api/resources/radar/subresources/dns/"><u>API</u></a> and can be interactively explored in more detail across locations, networks, and time periods using Radar’s <a href="https://radar.cloudflare.com/explorer?dataSet=dns"><u>Data Explorer and AI Assistant</u></a>. And as always, Radar and Data Assistant charts and graphs are downloadable for sharing, and embeddable for use in your own blog posts, websites, or dashboards.</p><p>If you share our DNS graphs on social media, be sure to tag us: <a href="https://x.com/CloudflareRadar"><u>@CloudflareRadar</u></a> and <a href="https://x.com/1111Resolver"><u>@1111Resolver</u></a> (X), <a href="https://noc.social/@cloudflareradar"><u>noc.social/@cloudflareradar</u></a> (Mastodon), and <a href="https://bsky.app/profile/radar.cloudflare.com"><u>radar.cloudflare.com</u></a> (Bluesky). If you have questions or comments, you can reach out to us on social media, or contact us via <a><u>email</u></a>.</p> ]]></content:encoded>
            <category><![CDATA[1.1.1.1]]></category>
            <category><![CDATA[Radar]]></category>
            <category><![CDATA[DNS]]></category>
            <category><![CDATA[Resolver]]></category>
            <category><![CDATA[DNSSEC]]></category>
            <category><![CDATA[DoH]]></category>
            <category><![CDATA[Traffic]]></category>
            <guid isPermaLink="false">2aI8Y4m36DD0HQghRNFZ2n</guid>
            <dc:creator>David Belson</dc:creator>
            <dc:creator>Carlos Rodrigues</dc:creator>
            <dc:creator>Vicky Shrestha</dc:creator>
            <dc:creator>Hannes Gerhart</dc:creator>
        </item>
        <item>
            <title><![CDATA[Improving authoritative DNS with the official release of Foundation DNS]]></title>
            <link>https://blog.cloudflare.com/foundation-dns-launch/</link>
            <pubDate>Fri, 12 Apr 2024 13:00:12 GMT</pubDate>
            <description><![CDATA[ We are launching Foundation DNS – our new enterprise-grade authoritative DNS offering.  ]]></description>
            <content:encoded><![CDATA[ <p><i>Update: as of April 2025, advanced nameservers now advertise IPs from three anycast groups instead of two, providing additional resiliency across our network. Cloudflare's developer documentation have been updated to reflect this change.</i></p><p>We are very excited to announce the official release of <a href="/foundation-dns">Foundation DNS</a>, with new advanced nameservers, even more resilience, and advanced analytics to meet the complex requirements of our enterprise customers. Foundation DNS is one of Cloudflare's largest leaps forward in our authoritative DNS offering since its launch in 2010, and we know our customers are interested in an enterprise-ready authoritative DNS service with the highest level of performance, reliability, security, flexibility, and advanced analytics.</p><p>Starting today, every new enterprise contract that includes authoritative DNS will have access to the Foundation DNS feature set and existing enterprise customers will have Foundation DNS features made available to them over the course of this year. If you are an existing enterprise customer already using our authoritative DNS services, and you’re interested in getting your hands on Foundation DNS earlier, just reach out to your account team, and they can enable it for you. Let’s get started…</p>
    <div>
      <h2>Why is DNS so important?</h2>
      <a href="#why-is-dns-so-important">
        
      </a>
    </div>
    <p>From an end user perspective, DNS makes the Internet usable. <a href="https://www.cloudflare.com/learning/dns/what-is-dns/">DNS</a> is the phone book of the Internet which translates hostnames like <code>www.cloudflare.com</code> into IP addresses that our browsers, applications, and devices use to connect to services. Without DNS, users would have to remember IP addresses like <code>108.162.193.147</code> or <code>2606:4700:58::adf5:3b93</code> every time they wanted to visit a website on their mobile device or desktop – imagine having to remember something like that instead of just <code>www.cloudflare.com</code>. DNS is used in every end user application on the Internet, from social media to banking to healthcare portals. People's usage of the Internet is entirely reliant on DNS.</p><p>From a business perspective, DNS is the very first step in reaching websites and connecting to applications. Devices need to know where to connect in order to reach services, authenticate users, and provide the information being requested. Resolving DNS queries quickly can be the difference between a website or application being perceived as responsive or not and can have a real impact on user experience.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2j8Eg82sdIpdztGDwGptGB/25ed0d0e10c497fc865248e13679a31e/image4-12.png" />
            
            </figure><p>When DNS outages occur, the impacts are obvious. Imagine your go-to ecommerce site not loading, just like what happened with the <a href="/how-the-dyn-outage-affected-cloudflare">outage Dyn experienced in 2016</a>, which took down multiple popular ecommerce sites among others. Or, if you are part of a company, and customers aren’t able to reach your website to purchase the goods or services you are selling, a DNS outage will literally lose you money. DNS is often taken for granted, but make no mistake, you’ll notice it when it’s not working properly. Thankfully, if you use Cloudflare authoritative DNS, these are problems you don’t worry about very much.</p>
    <div>
      <h2>There is always room for improvement</h2>
      <a href="#there-is-always-room-for-improvement">
        
      </a>
    </div>
    <p>Cloudflare has been providing authoritative DNS services for over a decade. Our authoritative DNS service hosts millions of domains across many different <a href="https://www.cloudflare.com/learning/dns/top-level-domain/">top level domains (TLDs)</a>. We have customers of all sizes, from single domains with just a few records to customers with tens of millions of records spread across multiple domains. Our enterprise customers, rightfully, demand the highest level of performance, reliability, security, and flexibility from our DNS service, along with detailed analytics. While our customers love our authoritative DNS, we recognize there is always room for improvement in some of those categories. To that end, we set off to make some major improvements to our DNS architecture, with new features as well as structural changes. We are proudly calling this improved offering Foundation DNS.</p>
    <div>
      <h2>Meet Foundation DNS</h2>
      <a href="#meet-foundation-dns">
        
      </a>
    </div>
    <p>As our new enterprise authoritative DNS offering, Foundation DNS was designed to enhance the reliability, security, flexibility, and analytics of our existing authoritative DNS service. Before we dive into all the specifics of Foundation DNS, here is a quick summary of what Foundation DNS brings to our authoritative DNS offering:</p><ul><li><p><b>Advanced nameservers</b> bring DNS reliability to the next level.</p></li><li><p><b>New zone-level DNS settings</b> provide more flexible configuration of DNS specific settings.</p></li><li><p><b>Unique DNSSEC keys per account and zone</b> provide additional security and flexibility for DNSSEC.</p></li><li><p><b>GraphQL-based DNS analytics</b> provide even more insights into your DNS queries.</p></li><li><p><b>A new release process</b> ensures enterprise customers have the utmost stability and reliability.</p></li><li><p><b>Simpler DNS pricing</b> with more generous quotas for DNS-only zones and DNS records.</p></li></ul><p>Now, let’s dive deeper into each of these new Foundation DNS features:</p>
    <div>
      <h3>Advanced nameservers</h3>
      <a href="#advanced-nameservers">
        
      </a>
    </div>
    <p>With Foundation DNS, we’re introducing advanced nameservers with a specific focus on enhancing reliability for your enterprise. You might be familiar with our standard authoritative nameservers which come as a pair per zone and use names within the cloudflare.com domain. Here’s an example:</p>
            <pre><code>$ dig mycoolwebpage.xyz ns +noall +answer 
mycoolwebpage.xyz.	86400	IN	NS	kelly.ns.cloudflare.com.
mycoolwebpage.xyz.	86400	IN	NS	christian.ns.cloudflare.com.</code></pre>
            <p>Now, let’s look at the same zone using Foundation DNS advanced nameservers:</p>
            <pre><code>$ dig mycoolwebpage.xyz ns +noall +answer 
mycoolwebpage.xyz.	86400	IN	NS	blue.foundationdns.com.
mycoolwebpage.xyz.	86400	IN	NS	blue.foundationdns.net.
mycoolwebpage.xyz.	86400	IN	NS	blue.foundationdns.org.</code></pre>
            <p>Advanced nameservers improve reliability in a few different ways. The first improvement comes from the Foundation DNS authoritative servers being spread across multiple TLDs. This provides protection from larger scale DNS outages and DDoS attacks that could potentially affect DNS infrastructure further up the tree, including TLD name servers. Foundation DNS authoritative nameservers are now located across multiple branches of the global DNS tree structure, further insulating our customers from these potential outages and attacks.</p><p>You might also have noticed that there is an additional nameserver listed with Foundation DNS. While this is an improvement, it's not for the reason you might think it is. If we resolve each one of these nameservers to their respective IP addresses, we can make this a little easier to understand. Let’s do that here starting with our standard nameservers:</p>
            <pre><code>$ dig kelly.ns.cloudflare.com. +noall +answer
kelly.ns.cloudflare.com. 86353  IN      A       108.162.194.91
kelly.ns.cloudflare.com. 86353  IN      A       162.159.38.91
kelly.ns.cloudflare.com. 86353  IN      A       172.64.34.91

$ dig christian.ns.cloudflare.com. +noall +answer
christian.ns.cloudflare.com. 86353 IN   A       108.162.195.247
christian.ns.cloudflare.com. 86353 IN   A       162.159.44.247
christian.ns.cloudflare.com. 86353 IN   A       172.64.35.247</code></pre>
            <p>There are six total IP addresses for the two nameservers. As it turns out, this is all DNS resolvers actually care about when querying authoritative nameservers. DNS resolvers usually don’t track the actual <a href="https://www.cloudflare.com/learning/dns/glossary/what-is-a-domain-name/">domain names</a> of authoritative servers; they simply maintain an unordered list of IP addresses that they can use to resolve queries for a given domain. So with our standard authoritative nameservers, we give resolvers six IP addresses to use to resolve DNS queries. Now, let's look at the IP addresses for our Foundation DNS advanced nameservers:</p>
            <pre><code>$ dig blue.foundationdns.com. +noall +answer
blue.foundationdns.com. 300     IN      A       108.162.198.1
blue.foundationdns.com. 300     IN      A       162.159.60.1
blue.foundationdns.com. 300     IN      A       172.64.40.1

$ dig blue.foundationdns.net. +noall +answer
blue.foundationdns.net. 300     IN      A       108.162.198.1
blue.foundationdns.net. 300     IN      A       162.159.60.1
blue.foundationdns.net. 300     IN      A       172.64.40.1

$ dig blue.foundationdns.org. +noall +answer
blue.foundationdns.org. 300     IN      A       108.162.198.1
blue.foundationdns.org. 300     IN      A       162.159.60.1
blue.foundationdns.org. 300     IN      A       172.64.40.1</code></pre>
            <p>Would you look at that! Foundation DNS provides the same IP addresses for each of the authoritative nameservers that we provide to a zone. So in this case, we have only provided three IP addresses for resolvers to use to resolve DNS queries. And you might be wondering,“isn’t six better than three? Isn’t this a downgrade?” It turns out more isn’t always better. Let’s talk about why.</p><p>You are probably aware of Cloudflare’s use of <a href="https://www.cloudflare.com/learning/cdn/glossary/anycast-network/">Anycast</a> and, as you might assume, our DNS services leverage Anycast to ensure that our authoritative DNS servers are available globally and as close as possible to users and resolvers across the Internet. Our standard nameservers are all advertised out of every Cloudflare data center by a single Anycast group. If we zoom in on Europe, you can see that in a standard nameserver deployment, both nameservers are advertised from every data center.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4RXMhxG3gkV6QGdc9MLNn7/8821cb762aeccaf4ce51d82ff9d30711/DNS---Anycast---1-Group.png" />
            
            </figure><p>We can take those six IP addresses from our standard nameservers above and perform a lookup for their "hostname.bind" TXT record which will show us the airport code or physical location of the closest data center where our DNS queries are being resolved from. This output helps explain the reason why more isn’t always better.</p>
            <pre><code>$ dig @108.162.194.91 ch txt hostname.bind +short
"LHR"

$ dig @162.159.38.91 ch txt hostname.bind +short
"LHR"

$ dig @172.64.34.91 ch txt hostname.bind +short
"LHR"

$ dig @108.162.195.247 ch txt hostname.bind +short
"LHR"

$ dig @162.159.44.247 ch txt hostname.bind +short
"LHR"

$ dig @172.64.35.247 ch txt hostname.bind +short
"LHR"</code></pre>
            <p>As you can see, when queried from near London, all six of those IP addresses route to the same London (LHR) data center. Meaning that when a resolver in London is resolving DNS queries for a domain using Cloudflare’s standard authoritative DNS, no matter which nameserver IP address is being queried, they are always connecting to the same physical location.</p><p>You might be asking, “So what? What does that mean to me?” Let’s look at an example. If you wanted to resolve a domain using Cloudflare standard nameservers from London, and I am using a public resolver that is also located in London, the resolver will always connect to the Cloudflare LHR data center regardless of which nameserver it's trying to reach. It doesn’t have any other option, because of Anycast.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/10cqrujFMIilg6rEPpjoWK/8f7ad630f291949b272881e8a8b48182/Untitled.png" />
            
            </figure><p>Because of Anycast, should the LHR data center go offline completely, all the traffic intended for LHR would be routed to other nearby data centers and resolvers would continue to function normally. However, in the unlikely scenario where the LHR data center was online, but our DNS services aren’t able to respond to DNS queries, the resolver would have no way to resolve these DNS queries since they can’t reach out to any other data center. We could have 100 IP addresses, and it would not help us in this scenario. Eventually, cached responses will expire, and the domain will eventually stop being resolved.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6KzCMn3FGbmbfnv7tDJPND/af92cc20ed40e60a6611688c59da7416/Untitled--1-.png" />
            
            </figure><p>Foundation DNS advanced nameservers are changing the way we use Anycast by leveraging two Anycast groups, which breaks the previous paradigm of every authoritative nameserver IP being advertised from every data center. Using two Anycast groups means that Foundation DNS authoritative nameservers actually have different physical locations from one another, rather than all being advertised from each data center. Here is how that same region would look using two Anycast groups:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2RNThUjcDyqemyWpHTWXgo/4d8b7490278fe202b7ce4c22fe0bec74/DNS---Anycast---2-Groups.png" />
            
            </figure><p>Let’s go back and finish our comparison of six authoritative IP addresses for standard authoritative DNS vs three IP addresses for Foundation DNS now that it's understood that Foundation DNS is using two Anycast groups for advertising nameservers. Let’s see where Foundation DNS servers are being advertised from for our example:</p>
            <pre><code>$ dig @108.162.198.1 ch txt hostname.bind +short
"LHR"

$ dig @162.159.60.1 ch txt hostname.bind +short
"LHR"

$ dig @172.64.40.1 ch txt hostname.bind +short
"MAN"</code></pre>
            <p>Look at that! One of our three nameserver IP addresses is being advertised out of a different data center, Manchester (MAN), making Foundation DNS more reliable and resilient for the previously mentioned outage scenario. It's worth mentioning that in some cities, Cloudflare operates out of multiple data centers which will result in all three queries returning the same airport code. While we guarantee that at least one of those IP addresses is being advertised out of a different data center, we understand some customers may want to test for themselves. In those cases, an additional query can show that IP addresses are being advertised out of different data centers.</p>
            <pre><code>$ dig @108.162.198.1 +nsid | grep NSID:
; NSID: 39 34 6d 33 39 ("94m39")</code></pre>
            <p>In the "<b>94m30</b>" returned in the response, the number before the "<b>m</b>" represents the data center that answered the query. As long as that number is different in one of the three responses, you know that one of your Foundation DNS authoritative nameservers is being advertised out of a different physical location.</p><p>With Foundation DNS leveraging two Anycast groups, the previous outage scenario is handled seamlessly. DNS resolvers monitor requests to all the authoritative nameservers returned for a given domain, but primarily use the nameserver that is providing the fastest responses.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1u3SrmtgUejWSebbRXUPAt/227561599823e742c22b8de84f58a6e1/Untitled--3-.png" />
            
            </figure><p>With this configuration, DNS resolvers are able to send requests to two different Cloudflare data centers, so, should a failure happen at one physical location, queries are then automatically sent to the second data center where they can be properly resolved.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3keJQHl9r4G2MbPBfVM6z2/ea6df88b75f5509775e9606b346e1430/Untitled--4-.png" />
            
            </figure><p>Foundation DNS advanced nameservers are a big step forward in reliability for our enterprise customers. We welcome our enterprise customers to enable advanced nameservers for existing zones today. Migrating to Foundation DNS won’t involve any downtime either because even after Foundation DNS advanced nameservers are enabled for a zone, the previous standard authoritative DNS nameservers will continue to function and respond to queries for the zone. Customers don’t need to plan for a cutover or other service-impacting event to migrate to Foundation DNS advanced nameservers.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/Yb7o6mhNlOEOUzB49iaRj/7cdbb3feede33f2d5d32db89aff6a861/DNS-Enable-Foundation.png" />
            
            </figure>
    <div>
      <h3>New zone-level DNS settings</h3>
      <a href="#new-zone-level-dns-settings">
        
      </a>
    </div>
    <p>Historically, we have received regular requests from our enterprise customers to adjust specific DNS settings that were not exposed via our API or dashboard, such as enabling secondary DNS overrides. When customers wanted these settings adjusted, they had to reach out to their account teams, who would change the configurations. With Foundation DNS, we are exposing the most commonly requested settings via the <a href="https://developers.cloudflare.com/api/operations/dns-settings-for-a-zone-update-dns-settings">API</a> and dashboard to give our customers increased flexibility with their Cloudflare authoritative DNS solution.</p><p>Enterprise customers can now configure the following DNS settings on their zones:</p>
<table>
<thead>
  <tr>
    <th><span>Setting</span></th>
    <th><span>Zone Type</span></th>
    <th><span>Description</span></th>
  </tr>
</thead>
<tbody>
  <tr>
    <td><a href="https://developers.cloudflare.com/dns/foundation-dns/advanced-nameservers/"><span>Foundation DNS advanced nameservers</span></a></td>
    <td><span>Primary and secondary zones</span></td>
    <td><span>Allows you to enable advanced nameservers on your zone.</span></td>
  </tr>
  <tr>
    <td><a href="https://developers.cloudflare.com/dns/zone-setups/zone-transfers/cloudflare-as-secondary/proxy-traffic/"><span>Secondary DNS override</span></a></td>
    <td><span>Secondary zones</span></td>
    <td><span>Allows you to enable </span><a href="https://developers.cloudflare.com/dns/zone-setups/zone-transfers/cloudflare-as-secondary/proxy-traffic/"><span>Secondary DNS Override</span></a><span> on your zone in order to proxy HTTP/S traffic through Cloudflare.</span></td>
  </tr>
  <tr>
    <td><a href="https://developers.cloudflare.com/dns/nameservers/nameserver-options/#multi-provider-dns"><span>Multi-provider DNS</span></a></td>
    <td><span>Primary and secondary zones</span></td>
    <td><span>Allows you to have multiple authoritative DNS providers while using Cloudflare as a primary nameserver.</span></td>
  </tr>
</tbody>
</table>
    <div>
      <h3>Unique DNSSEC keys per account and zone</h3>
      <a href="#unique-dnssec-keys-per-account-and-zone">
        
      </a>
    </div>
    <p><a href="https://www.cloudflare.com/dns/dnssec/how-dnssec-works/">DNSSEC</a>, which stands for <a href="https://www.cloudflare.com/learning/dns/dnssec/ecdsa-and-dnssec/">Domain Name System Security Extensions</a>, adds security to a domain or zone by providing a way to check that the response you receive for a DNS query is authentic and hasn't been modified. DNSSEC prevents <a href="https://www.cloudflare.com/learning/dns/dns-cache-poisoning/">DNS cache poisoning (DNS spoofing)</a> which helps ensure that DNS resolvers are responding to DNS queries with the correct IP addresses.</p><p>Since we <a href="/introducing-universal-dnssec">launched Universal DNSSEC</a> in 2015, we’ve made quite a few improvements, like adding support for <a href="https://developers.cloudflare.com/dns/zone-setups/zone-transfers/cloudflare-as-secondary/dnssec-for-secondary/#set-up-pre-signed-dnssec">pre-signed DNSSEC for secondary zones</a> and <a href="https://developers.cloudflare.com/dns/dnssec/multi-signer-dnssec/">multi-signer DNSSEC</a>. By default, Cloudflare signs DNS records on the fly (live signing) as we respond to DNS queries. This allows Cloudflare to host a DNSSEC-secured domain while dynamically allocating IP addresses for the proxied origins. It also enables certain load balancing use cases since the IP addresses served in the DNS response in these cases change based on steering.</p><p>Cloudflare uses the <a href="/dnssec-done-right">Elliptic Curve algorithm ECDSA P-256</a>, which is stronger than most RSA keys used today. It uses less CPU to generate signatures, making them more efficient to generate on the fly. Usually two keys are used as part of DNSSEC, the Zone Signing Key (ZSK) and the Key Signing Key (KSK). At the simplest level, the ZSK is used for signing the DNS records that are served in response to queries and the KSK is used to sign the <a href="https://www.cloudflare.com/learning/dns/dns-records/dnskey-ds-records/">DNSKEYs</a>, including the ZSK to ensure its authenticity.</p><p>Today, Cloudflare uses a shared ZSK and KSK globally for all DNSSEC signing, and since we use such a strong cryptographic algorithm, we know how secure this key set is and as such, do not believe there is a need to regularly rotate the ZSK or KSK – at least for security reasons. There are customers, however, that have policies that require the rotation of these keys at certain intervals. Because of this, we’ve added the ability for our new Foundation DNS advanced nameservers to rotate both their ZSK and KSK as needed per account or per zone. This will first be available via the API and subsequently through the Cloudflare dashboard. So now, customers with strict policy requirements around their DNSSEC key rotation can meet those requirements with Cloudflare Foundation DNS.</p>
    <div>
      <h3>GraphQL-based DNS analytics</h3>
      <a href="#graphql-based-dns-analytics">
        
      </a>
    </div>
    <p>For those who are not familiar with it, <a href="https://graphql.org/">GraphQL</a> is a query language for APIs and a runtime for executing those queries. It allows clients to request exactly what they need, no more, no less, enabling them to aggregate data from multiple sources through a single API call, and supports real-time updates through subscriptions.</p><p>As you might know, Cloudflare has had a <a href="https://developers.cloudflare.com/analytics/graphql-api/">GraphQL API</a> for a while now, but as part of Foundation DNS we are adding a new DNS dataset to that API that is only available with our new Foundation DNS advanced nameservers.</p><p>The new DNS dataset in our GraphQL API can be used to fetch information about the DNS queries a zone has received. This faster and more powerful alternative to our current <a href="https://developers.cloudflare.com/api/operations/dns-analytics-table">DNS Analytics API</a> allows you to query data from large time periods quickly and efficiently without running into limits or timeouts. The GraphQL API is more flexible with regard to which queries it accepts, and exposes more information than the DNS Analytics API.</p><p>For example, you can run this query to fetch the mean and 90th percentile processing time of your queries, grouped by source IP address, in 15 minute buckets. A query like this would be useful to see which IPs are querying your records most often for a given time range:</p>
            <pre><code>{
  "query": "{
    viewer {
      zones(filter: { zoneTag: $zoneTag }) {
        dnsAnalyticsAdaptiveGroups(
          filter: $filter
          limit: 10
          orderBy: [datetime_ASC]
        ) {
          avg {
            processingTimeUs
          }
          quantiles {
            processingTimeUsP90
          }
          dimensions {
            datetimeFifteenMinutes
            sourceIP
          }
        }
      }
    }
  }",
  "variables": {
    "zoneTag": "&lt;zone-tag&gt;",
    "filter": {
      "datetime_geq": "2024-05-01T00:00:00Z",
      "datetime_leq": "2024-06-01T00:00:00Z"
    }
  }
}</code></pre>
            <p>Previously, a query like this wouldn’t have been possible for several reasons. The first is that we have added new fields like <b>sourceIP</b>, which allows us to filter data based on which client IP addresses (usually resolvers) are making DNS queries. The second is that the GraphQL API query is able to process and return data from much larger time ranges. A DNS zone with sufficiently large amounts of queries was previously only able to query across a few days of traffic, while the new GraphQL API can provide data for a period of up to 31 days. We are planning further enhancements to that range, as well as how far back historical data can be stored and queried.</p><p>The GraphQL API also allows us to add a new DNS analytics section to the Cloudflare dashboard. Customers will be able to track the most queried records, see which data centers are answering those queries, see how many queries are being made, and much more.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2wxCCwWyZnmhd0orYUww9Y/c851eba998a7fbdaded3426e1aff19b4/DNS-Analytics.png" />
            
            </figure><p>The new DNS dataset in our GraphQL API and the new DNS analytics page work together to help our DNS customers to monitor, analyze, and troubleshoot their Foundation DNS deployments.</p>
    <div>
      <h3>New release process</h3>
      <a href="#new-release-process">
        
      </a>
    </div>
    <p>Cloudflare’s Authoritative DNS product receives software updates roughly once a week. Cloudflare has a sophisticated release process that helps prevent regressions from affecting production traffic. While uncommon, it's possible to have issues only surface once the new release is subject to the volume and uniqueness of production traffic.</p><p>Because our enterprise customers desire stability even more than new features, new releases will be subject to a two-week soak time with our standard nameservers before our Foundation DNS advanced nameservers are upgraded. After two weeks with no issues, the Foundation DNS advanced nameservers will be upgraded as well.</p><p>Zones using Foundation DNS advanced nameservers will see increased reliability as they are better protected against regressions in new software releases.</p>
    <div>
      <h3>Simpler DNS pricing</h3>
      <a href="#simpler-dns-pricing">
        
      </a>
    </div>
    <p>Historically, Cloudflare has charged for authoritative DNS based on monthly DNS queries and the number of domains in the account. Our enterprise DNS customers are often interested in DNS-only zones, which are DNS zones hosted in Cloudflare that do not use our reverse proxy (layer 7) services such as our CDN, WAF, or Bot Management. With Foundation DNS, we’re making pricing simpler for the vast majority of those customers by <b>including 10,000 DNS only domains</b> by default. This change means most customers will only pay for the number of DNS queries they consume.</p><p>We’re also <b>including 1 million DNS records</b> across all domains in an account. But that doesn’t mean we can’t support more. In fact, the biggest single zone on our platform has over 3.9 million records, while our largest DNS account is just shy of 30 million DNS records spread across multiple zones. With Cloudflare DNS, there is no trouble handling even the largest deployments.</p>
    <div>
      <h2>There is more to come</h2>
      <a href="#there-is-more-to-come">
        
      </a>
    </div>
    <p>We are just getting started. In the future, we will add more exclusive features to Foundation DNS. One example is a highly requested feature: <b>per-record scoped API tokens and user permissions</b>. This will allow you to configure permissions on an even more granular level. For example, you could specify that a particular member of your account is only allowed to create and manage records of the type TXT and MX, so they don’t accidentally delete or edit address records impacting web traffic to your domain. Another example would be to specify permissions based on subdomain to further restrict the scope of specific users.</p><p>If you’re an existing enterprise customer and want to use Foundation DNS, get in touch with your account team to provision Foundation DNS on your account.</p> ]]></content:encoded>
            <category><![CDATA[DNS]]></category>
            <category><![CDATA[Foundation DNS]]></category>
            <category><![CDATA[Product News]]></category>
            <guid isPermaLink="false">61fYHTMclwlBGOBNMC5Ehj</guid>
            <dc:creator>Hannes Gerhart</dc:creator>
            <dc:creator>Chris Ward</dc:creator>
        </item>
        <item>
            <title><![CDATA[Connection errors in Asia Pacific region on July 9, 2023]]></title>
            <link>https://blog.cloudflare.com/connection-errors-in-asia-pacific-region-on-july-9-2023/</link>
            <pubDate>Tue, 11 Jul 2023 08:48:13 GMT</pubDate>
            <description><![CDATA[ On July 9, 2023, users in the Asia Pacific region experienced connection errors due to origin DNS resolution failures to .com and .net TLD nameservers ]]></description>
            <content:encoded><![CDATA[ <p></p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4XSclbffVsXyJvs6H28PzZ/8ca3e3e580eecf4e762af00eb94eb8d4/image2-5.png" />
            
            </figure><p>On Sunday, July 9, 2023, early morning UTC time, we observed a high number of DNS resolution failures — up to 7% of all DNS queries across the Asia Pacific region — caused by invalid DNSSEC signatures from Verisign .com and .net Top Level Domain (TLD) nameservers. This resulted in connection errors for visitors of Internet properties on Cloudflare in the region.</p><p>The local instances of Verisign’s nameservers started to respond with expired DNSSEC signatures in the Asia Pacific region. In order to remediate the impact, we have rerouted upstream DNS queries towards Verisign to locations on the US west coast which are returning valid signatures.</p><p>We have already reached out to Verisign to get more information on the root cause. Until their issues have been resolved, we will keep our DNS traffic to .com and .net TLD nameservers rerouted, which might cause slightly increased latency for the first visitor to domains under .com and .net in the region.</p>
    <div>
      <h3>Background</h3>
      <a href="#background">
        
      </a>
    </div>
    <p>In order to proxy a domain’s traffic through Cloudflare’s network, there are two components involved with respect to the Domain Name System (DNS) from the perspective of a Cloudflare data center: external DNS resolution, and upstream or origin DNS resolution.</p><p>To understand this, let’s look at the domain name <code>blog.cloudflare.com</code> — which is proxied through Cloudflare’s network — and let’s assume it is configured to use <code>origin.example</code> as the origin server:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5nnwNUFQmflIHHioGDISlg/250c388a2d796d0dc8139b4eddda6c05/image5-1.png" />
            
            </figure><p>Here, the external DNS resolution is the part where DNS queries to <code>blog.cloudflare.com</code> sent by public resolvers like <code>1.1.1.1</code> or <code>8.8.8.8</code> on behalf of a visitor return a set of Cloudflare Anycast IP addresses. This ensures that the visitor’s browser knows where to send an HTTPS request to load the website. Under the hood your browser performs a DNS query that looks something like this (the trailing dot indicates the <a href="https://en.wikipedia.org/wiki/DNS_root_zone">DNS root zone</a>):</p>
            <pre><code>$ dig blog.cloudflare.com. +short
104.18.28.7
104.18.29.7</code></pre>
            <p>(Your computer doesn’t actually use the dig command internally; we’ve used it to illustrate the process) Then when the next closest Cloudflare data center receives the HTTPS request for blog.cloudflare.com, it needs to fetch the content from the origin server (assuming it is not cached).</p><p>There are two ways Cloudflare can reach the origin server. If the DNS settings in Cloudflare contain IP addresses then we can connect directly to the origin. In some cases, our customers use a CNAME which means Cloudflare has to perform another DNS query to get the IP addresses associated with the CNAME. In the example above, <code>blog.cloudflare.com</code> has a CNAME record instructing us to look at <code>origin.example</code> for IP addresses. During the incident, only customers with CNAME records like this going to .com and .net domain names may have been affected.</p><p>The domain <code>origin.example</code> needs to be resolved by Cloudflare as part of the upstream or origin DNS resolution. This time, the Cloudflare data center needs to perform an outbound DNS query that looks like this:</p>
            <pre><code>$ dig origin.example. +short
192.0.2.1</code></pre>
            <p>DNS is a hierarchical protocol, so the recursive DNS resolver, which usually handles DNS resolution for whoever wants to resolve a <a href="https://www.cloudflare.com/learning/dns/glossary/what-is-a-domain-name/">domain name</a>, needs to talk to several involved nameservers until it finally gets an answer from the authoritative nameservers of the domain (assuming no DNS responses are cached). This is the same process during the external DNS resolution and the origin DNS resolution. Here is an example for the origin DNS resolution:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7E1GLN7i8qGi3oB6Zentug/8b55136d3c67a79d0d9c711c428911b4/image6-1.png" />
            
            </figure><p>Inherently, DNS is a public system that was initially published without any means to validate the integrity of the DNS traffic. So in order to prevent someone from spoofing DNS responses, <a href="/dnssec-an-introduction/">DNS Security Extensions (DNSSEC)</a> were introduced as a means to authenticate that DNS responses really come from who they claim to come from. This is achieved by generating cryptographic signatures alongside existing DNS records like A, AAAA, MX, CNAME, etc. By validating a DNS record’s associated signature, it is possible to verify that a requested DNS record really comes from its authoritative nameserver and wasn’t altered en-route. If a signature cannot be validated successfully, recursive resolvers usually return an error indicating the invalid signature. This is exactly what happened on Sunday.</p>
    <div>
      <h3>Incident timeline and impact</h3>
      <a href="#incident-timeline-and-impact">
        
      </a>
    </div>
    <p>On Saturday, July 8, 2023, at 21:10 UTC our logs show the first instances of DNSSEC validation errors that happened during upstream DNS resolution from multiple Cloudflare data centers in the Asia Pacific region. It appeared DNS responses from the TLD nameservers of .com and .net of the type NSEC3 (a DNSSEC mechanism to <a href="/black-lies/">prove non-existing DNS records</a>) included invalid signatures. About an hour later at 22:16 UTC, the first internal alerts went off (since it required issues to be consistent over a certain period of time), but error rates were still at a level at around 0.5% of all upstream DNS queries.</p><p>After several hours, the error rate had increased to a point in which ~13% of our upstream DNS queries in affected locations were failing. This percentage continued to fluctuate over the duration of the incident between the ranges of 10-15% of upstream DNS queries, and roughly 5-7% of all DNS queries (external &amp; upstream resolution) to affected Cloudflare data centers in the Asia Pacific region.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/acWvj718KdxYfGx33fBZT/7ee25b63cf83ee9ff18e6734aeb1cc3e/image1-6.png" />
            
            </figure><p>Initially it appeared as though only a single upstream nameserver was having issues with DNS resolution, however upon further investigation it was discovered that the issue was more widespread. Ultimately, we were able to verify that the Verisign nameservers for .com and .net were returning expired DNSSEC signatures on a portion of DNS queries in the Asia Pacific region. Based on our tests, other nameserver locations were correctly returning valid DNSSEC signatures.</p><p>In response, we rerouted our DNS traffic to the .com and .net TLD nameserver IP addresses to Verisign’s US west locations. After this change was propagated, the issue very quickly subsided and origin resolution error rates returned to normal levels.</p><p>All times are in UTC:</p><p><b>2023-07-08 21:10</b> First instances of DNSSEC validation errors appear in our logs for origin DNS resolution.</p><p><b>2023-07-08 22:16</b> First internal alerts for Asia Pacific data centers go off indicating origin DNS resolution error on our test domain. Very few errors for other domains at this point.</p><p><b>2023-07-09 02:58</b> Error rates have increased substantially since the first instance. An incident is declared.</p><p><b>2023-07-09 03:28</b> DNSSEC validation issues seem to be isolated to a single upstream provider. It is not abnormal that a single upstream has issues that propagate back to us, and in this case our logs were predominantly showing errors from domains that resolve to this specific upstream.</p><p><b>2023-07-09 04:52</b> We realize that DNSSEC validation issues are more widespread and affect multiple .com and .net domains. Validation issues continue to be isolated to the Asia Pacific region only, and appear to be intermittent.</p><p><b>2023-07-09 05:15</b> DNS queries via popular recursive resolvers like 8.8.8.8 and 1.1.1.1 do not return invalid DNSSEC signatures at this point. DNS queries using the local stub resolver continue to return DNSSEC errors.</p><p><b>2023-07-09 06:24</b> Responses from .com and .net Verisign nameservers in Singapore contain expired DNSSEC signatures, but responses from Verisign TLD nameservers in other locations are fine.</p><p><b>2023-07-09 06:41</b> We contact Verisign and notify them about expired DNSSEC signatures.</p><p><b>2023-07-09 06:50</b> In order to remediate the impact, we reroute DNS traffic via IPv4 for the .com and .net Verisign nameserver IPs to US west IPs instead. This immediately leads to a substantial drop in the error rate.</p><p><b>2023-07-09 07:06</b> We also reroute DNS traffic via IPv6 for the .com and .net Verisign nameserver IPs to US west IPs. This leads to the error rate going down to zero.</p><p><b>2023-07-10 09:23</b> The rerouting is still in place, but the underlying issue with expired signatures in the Asia Pacific region has still not been resolved.</p><p><b>2023-07-10 18:23</b> Verisign gets back to us confirming that they “were serving stale data” at their local site and have resolved the issues.</p>
    <div>
      <h3>Technical description of the error and how it happened</h3>
      <a href="#technical-description-of-the-error-and-how-it-happened">
        
      </a>
    </div>
    <p>As mentioned in the introduction, the underlying cause for this incident was expired DNSSEC signatures for .net and .com zones. Expired DNSSEC signatures will cause a DNS response to be interpreted as invalid. There are two main scenarios in which this error was observed by a user:</p><ol><li><p><a href="https://developers.cloudflare.com/dns/cname-flattening/">CNAME flattening</a> for external DNS resolution. This is when our authoritative nameservers attempt to return the IP address(es) that a CNAME record target resolves to rather than the CNAME record itself.</p></li><li><p>CNAME target lookup for origin DNS resolution. This is most commonly used when an HTTPS request is sent to a Cloudflare anycast IP address, and we need to determine what IP address to forward the request to. See <a href="https://developers.cloudflare.com/fundamentals/get-started/concepts/how-cloudflare-works/">How Cloudflare works</a> for more details.</p></li></ol><p>In both cases, behind the scenes the DNS query goes through an in-house recursive DNS resolver in order to lookup what a hostname resolves to. The purpose of this resolver is to cache queries, optimize future queries and provide DNSSEC validation. If the query from this resolver fails for whatever reason, our authoritative DNS system will not be able to perform the two scenarios outlined above.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5qE0JFXaLHPwt3orOsNBm5/37d2d34d396d4cc4c2a22b7241e4120f/image3-1.png" />
            
            </figure><p>During the incident, the recursive resolver was failing to validate the DNSSEC signatures in DNS responses for domains ending in .com and .net. These signatures are sent in the form of an RRSIG record alongside the other DNS records they cover. Together they form a Resource Record set (RRset). Each RRSIG has the corresponding fields:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3aZjsnpM6WSE70sPrnkHbr/6af366bd2accafc3f06296e241ceaba5/image4.png" />
            
            </figure><p>As you can see, the main part of the payload is associated with the signature and its corresponding metadata. Each recursive resolver is responsible for not only checking the signature but also the expiration time of the signature. It is important to obey the expiration time in order to avoid returning responses for RRsets that have been signed by old keys, which could have potentially been compromised by that time.</p><p>During this incident, Verisign, the authoritative operator for the .com and .net TLD zones, was occasionally returning expired signatures in its DNS responses in the Asia Pacific region. As a result our recursive resolver was not able to validate the corresponding RRset. Ultimately this meant that a percentage of DNS queries would return SERVFAIL as response code to our authoritative nameserver. This in turn caused connection issues for users trying to connect to a domain on Cloudflare, because we weren't able to resolve the upstream target of affected domain names and thus didn’t know where to send proxied HTTPS requests to upstream servers.</p>
    <div>
      <h3>Remediation and follow-up steps</h3>
      <a href="#remediation-and-follow-up-steps">
        
      </a>
    </div>
    <p>Once we had identified the root cause we started to look at different ways to remedy the issue. We came to the conclusion that the fastest way to work around this very regionalized issue was to stop using the local route to Verisign's nameservers. This means that, at the time of writing this, our outgoing DNS traffic towards Verisign's nameservers in the Asia Pacific region now traverses the Pacific and ends up at the US west coast, rather than being served by closer nameservers. Due to the nature of DNS and the important role of DNS caching, this has less impact than you might initially expect. Frequently looked up names will be cached after the first request, and this only needs to happen once per data center, as we share and pool the local DNS recursor caches to maximize their efficiency.</p><p>Ideally, we would have been able to fix the issue right away as it potentially affected others in the region too, not just our customers. We will therefore work diligently to improve our incident communications channels with other providers in order to ensure that the DNS ecosystem remains robust against issues such as this. Being able to quickly get hold of other providers that can take action is vital when urgent issues like these arise.</p>
    <div>
      <h3>Conclusion</h3>
      <a href="#conclusion">
        
      </a>
    </div>
    <p>This incident <a href="/october-2021-facebook-outage/">once again</a> shows how impactful DNS failures are and how crucial this technology is for the Internet. We will investigate how we can improve our systems to detect and resolve issues like this more efficiently and quickly if they occur again in the future.</p><p>While Cloudflare was not the cause of this issue, and we are certain that we were not the only ones affected by this, we are still sorry for the disruption to our customers and to all the users who were unable to access Internet properties during this incident.</p><p><b>Update</b>: On Tue Jul 11 22:24:21 UTC 2023_,_ Verisign posted an <a href="https://lists.dns-oarc.net/pipermail/dns-operations/2023-July/022174.html">announcement</a>, providing more details:</p><blockquote><p><i>Last week, during a migration of one of our DNS resolution sites in Singapore, from one provider to another, we unexpectedly lost management access and the ability to deliver changes and DNS updates to the site. Following our standard procedure, we disabled all transit links to the affected site. Unfortunately, a peering router remained active, which was not immediately obvious to our teams due to the lack of connectivity there.</i></p></blockquote><blockquote><p><i>Over the weekend, this caused an issue that may have affected the ability of some internet users in the region to reach some .com and .net domains, as DNSSEC signatures on the site began expiring. The issue was resolved by powering off the site’s peering router, causing the anycast route announcement to be withdrawn and traffic to be directed to other sites.</i></p></blockquote><blockquote><p><i>We are updating our processes and procedures and will work to prevent such issues from recurring in the future.</i></p></blockquote><blockquote><p><i>The Singapore site is part of a highly redundant constellation of more than 200 sites that make up our global network. This issue had no effect on the core resolution of .com and .net resolution globally. We apologize to those who may have been affected.</i></p></blockquote><p></p> ]]></content:encoded>
            <category><![CDATA[DNS]]></category>
            <category><![CDATA[DNSSEC]]></category>
            <category><![CDATA[Outage]]></category>
            <category><![CDATA[Post Mortem]]></category>
            <guid isPermaLink="false">3ZlvMILKrfS2Z4IQ0qumTD</guid>
            <dc:creator>Christian Elmerot</dc:creator>
            <dc:creator>Alex Fattouche</dc:creator>
            <dc:creator>Hannes Gerhart</dc:creator>
        </item>
        <item>
            <title><![CDATA[One of our most requested features is here: DNS record comments and tags]]></title>
            <link>https://blog.cloudflare.com/dns-record-comments/</link>
            <pubDate>Wed, 21 Dec 2022 14:00:00 GMT</pubDate>
            <description><![CDATA[ Today, we’re releasing DNS record comments and tags, making it easier to keep track of and manage DNS records of your domain ]]></description>
            <content:encoded><![CDATA[ <p><i></i></p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6qRYZGuZrkdXAlyRw1MFJE/09d6b996e575d6be50422735b8674d00/image5-8.png" />
            
            </figure><p>Starting today, we’re adding support on all zone plans to add custom comments on your DNS records. Users on the Pro, Business and Enterprise plan will also be able to tag DNS records.</p>
    <div>
      <h3>DNS records are important</h3>
      <a href="#dns-records-are-important">
        
      </a>
    </div>
    <p><a href="https://www.cloudflare.com/learning/dns/dns-records/">DNS records</a> play an essential role when it comes to operating a website or a web application. In general, they are used to mapping human-readable hostnames to machine-readable information, most commonly IP addresses. Besides mapping hostnames to IP addresses they also fulfill many other use cases like:</p><ul><li><p>Ensuring emails can reach your inbox, by setting up MX records.</p></li><li><p><a href="/tackling-email-spoofing/">Avoiding email spoofing and phishing</a> by configuring <a href="https://www.cloudflare.com/learning/dns/dns-records/dns-spf-record/">SPF</a>, <a href="https://www.cloudflare.com/learning/dns/dns-records/dns-dmarc-record/">DMARC</a> and <a href="https://www.cloudflare.com/learning/dns/dns-records/dns-dkim-record/">DKIM</a> policies as TXT records.</p></li><li><p>Validating a <a href="https://www.cloudflare.com/application-services/products/ssl/">TLS certificate</a> by adding a TXT (or CNAME) record.</p></li><li><p>Specifying allowed certificate authorities that can issue certificates on behalf of your domain by creating a CAA record.</p></li><li><p>Validating ownership of your domain for other web services (website hosting, email hosting, web storage, etc.) - usually by creating a TXT record.</p></li><li><p>And many more.</p></li></ul><p>With all these different use cases, it is easy to forget what a particular DNS record is for, and it is not always possible to derive the purpose from the name, type and content of a record. Validation TXT records tend to be on seemingly arbitrary names with rather cryptic content. When you then also throw multiple people or teams into the mix who have access to the same domain, all creating and updating DNS records, it can quickly happen that someone modifies or even deletes a record causing the on-call person to get paged in the middle of the night.</p>
    <div>
      <h3>Enter: DNS record comments &amp; tags</h3>
      <a href="#enter-dns-record-comments-tags">
        
      </a>
    </div>
    <p>Starting today, everyone with a zone on Cloudflare can add custom comments on each of their DNS records <a href="https://developers.cloudflare.com/api/operations/dns-records-for-a-zone-create-dns-record">via the API</a> and through the Cloudflare dashboard.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/43He05MR7LGRHOAIRF7ICQ/684badcdf95d8115924a81af1490c4ca/image3-26.png" />
            
            </figure><p>To add a comment, just click on the Edit action of the respective DNS record and fill out the Comment field. Once you hit Save, a small icon will appear next to the record name to remind you that this record has a comment. Hovering over the icon will allow you to take a quick glance at it without having to open the edit panel.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1Sal8wIsnLOY9ybSucN9YR/fd5345ec63152feb5b93924c1d755b88/unnamed-2.png" />
            
            </figure><p>What you also can see in the screenshot above is the new Tags field. All users on the Pro, Business, or Enterprise plans now have the option to add custom tags to their records. These tags can be just a key like “important” or a key-value pair like “team:DNS” which is separated by a colon. Neither comments nor tags have any impact on the resolution or propagation of the particular DNS record, and they’re only visible to people with access to the zone.</p><p>Now we know that some of our users love automation by using our API. So if you want to create a number of zones and populate all their DNS records by uploading a zone file as part of your script, you can also directly include the DNS record comments and tags in that zone file. And when you export a zone file, either to back up all records of your zone or to easily move your zone to another account on Cloudflare, it will also contain comments and tags. Learn more about importing and exporting comments and tags on our <a href="https://developers.cloudflare.com/dns/manage-dns-records/how-to/import-and-export/#dns-record-attributes">developer documentation</a>.</p>
            <pre><code>;; A Records
*.mycoolwebpage.xyz.     1      IN  A    192.0.2.3
mycoolwebpage.xyz.       1      IN  A    203.0.113.1 ; Contact Hannes for details.
sub1.mycoolwebpage.xyz.  1      IN  A    192.0.2.2 ; Test origin server. Can be deleted eventually. cf_tags=testing
sub1.mycoolwebpage.xyz.  1      IN  A    192.0.2.1 ; Production origin server. cf_tags=important,prod,team:DNS

;; MX Records
mycoolwebpage.xyz.       1      IN  MX   1 mailserver1.example.
mycoolwebpage.xyz.       1      IN  MX   2 mailserver2.example.

;; TXT Records
mycoolwebpage.xyz.       86400	IN  TXT  "v=spf1 ip4:192.0.2.0/24 -all" ; cf_tags=important,team:EMAIL
sub1.mycoolwebpage.xyz.  86400  IN  TXT  "hBeFxN3qZT40" ; Verification record for service XYZ. cf_tags=team:API</code></pre>
            
    <div>
      <h3>New filters</h3>
      <a href="#new-filters">
        
      </a>
    </div>
    <p>It might be that your zone has hundreds or thousands of DNS records, so how on earth would you find all the records that belong to the same team or that are needed for one particular application?</p><p>For this we created a new filter option in the dashboard. This allows you to not only filter for comments or tags but also for other record data like name, type, content, or proxy status. The general search bar for a quick and broader search will still be available, but it cannot (yet) be used in conjunction with the new filters.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6z9nMLjRXXLwPtdUVAyzdj/1ee693bd6693089f51738fbe7f3ba79a/image1-55.png" />
            
            </figure><p>By clicking on the “Add filter” button, you can select individual filters that are connected with a logical AND. So if I wanted to only look at TXT records that are tagged as important, I would add these filters:</p><div></div>
    <div>
      <h3>One more thing (or two)</h3>
      <a href="#one-more-thing-or-two">
        
      </a>
    </div>
    <p>Another change we made is to replace the Advanced button with two individual actions: Import and Export, and Dashboard Display Settings.</p><p>You can find them in the top right corner under DNS management. When you click on Import and Export you have the option to either export all existing DNS records (including their comments and tags) into a zone file or import new DNS records to your zone by uploading a zone file.</p><div></div><p>The action Dashboard Display Settings allows you to select which special record types are shown in the UI. And there is an option to toggle showing the record tags inline under the respective DNS record or just showing an icon if there are tags present on the record.</p><p>And last but not least, we increased the width of the DNS record table as part of this release. The new table makes better use of the existing horizontal space and allows you to see more details of your DNS records, especially if you have longer subdomain names or content.</p>
    <div>
      <h3>Try it now</h3>
      <a href="#try-it-now">
        
      </a>
    </div>
    <p>DNS record comments and tags are available today. Just navigate to the <a href="https://dash.cloudflare.com/?to=/:account/:zone/dns">DNS tab</a> of your zone in the Cloudflare dashboard and create your first comment or tag. If you are not yet using Cloudflare DNS, <a href="https://dash.cloudflare.com/sign-up">sign up for free</a> in just a few minutes.</p><p>Learn more about DNS record comments and tags on our <a href="https://developers.cloudflare.com/dns/manage-dns-records/reference/record-attributes/">developer documentation</a>.</p> ]]></content:encoded>
            <category><![CDATA[Dashboard]]></category>
            <category><![CDATA[DNS]]></category>
            <category><![CDATA[Product News]]></category>
            <guid isPermaLink="false">3RWPucQrnIbxDORsioOANS</guid>
            <dc:creator>Hannes Gerhart</dc:creator>
        </item>
        <item>
            <title><![CDATA[Wildcard proxy for everyone]]></title>
            <link>https://blog.cloudflare.com/wildcard-proxy-for-everyone/</link>
            <pubDate>Tue, 03 May 2022 12:58:05 GMT</pubDate>
            <description><![CDATA[ Today we’re announcing the availability of proxied wildcard DNS records on all plan levels ]]></description>
            <content:encoded><![CDATA[ <p></p><p>Today, I have the pleasure to announce that we’re giving everyone the ability to proxy DNS wildcard records. Previously, this feature was only available to our Enterprise customers. After many of our free and pay-as-you-go users reached out, we decided that this feature should be available to everyone.</p>
    <div>
      <h3>What is a wildcard DNS record?</h3>
      <a href="#what-is-a-wildcard-dns-record">
        
      </a>
    </div>
    <p>A <a href="https://www.cloudflare.com/learning/dns/dns-records/">DNS record</a> usually maps a domain name to one or multiple IP addresses or another resource associated with that name, so it’s a one-to-many mapping. Let’s look at an example:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4XOfmXg6BcOIgiu251hBJD/eabf17479275344611960be1249e869e/image4.png" />
            
            </figure><p>When I do a DNS lookup for the IP address of <code>subdomain1.mycoolwebpage.xyz</code>, I get two IP addresses back, because I have added two A records on that subdomain:</p>
            <pre><code>$ dig subdomain1.mycoolwebpage.xyz -t a +short
192.0.2.1
192.0.2.2</code></pre>
            <p>I could specify the target of all subdomains like this, with one or multiple DNS records per subdomain. But what if I have hundreds or even thousands of subdomains that I all want to point to the same resource?</p><p>This is where a wildcard DNS record comes in. By using the asterisk symbol <code>"*"</code> in the <i>Name</i> field, I can create one or multiple DNS records that are used as the response for all subdomains <b>that are not specifically covered by another DNS record</b> (more on this later). So the wildcard record you can see in the screenshot above is covering <code>*.mycoolwebpage.xyz</code>, meaning all subdomains of <code>mycoolwebpage.xyz</code>. This can also be done on deeper levels, like on <code>*.www.mycoolwebpage.xyz</code>.</p><p>If I perform a lookup for <code>subdomain2.mycoolwebpage.xyz</code>, the target I specified in the wildcard record will be used as the response. Again, this is only happening because there is no DNS record specifically for this subdomain.</p>
            <pre><code>$ dig subdomain2.mycoolwebpage.xyz -t a +short
192.0.2.3</code></pre>
            <p>And it is often overlooked that a wildcard record does not only cover the level it is set on directly, but deeper levels, as well:</p>
            <pre><code>$ dig some.deep.label.subdomain2.mycoolwebpage.xyz -t a +short 
192.0.2.3</code></pre>
            <p>Also, a wildcard DNS record does <b>not</b> cover the apex of the zone (in this example the apex is <code>mycoolwebpage.xyz</code>).</p>
    <div>
      <h3>A few more things to know about wildcard records</h3>
      <a href="#a-few-more-things-to-know-about-wildcard-records">
        
      </a>
    </div>
    <p>Below you can find additional rules that apply to wildcard DNS records you should be aware of:</p><p><b>Wildcards are only supported on the first label</b>. Meaning something like <code>subdomain.*.mycoolwebpage.xyz</code> is not a wildcard on the level of the asterisk character. If you create a DNS record with that name, the asterisk is interpreted as the literal character and not as the wildcard operator.</p><p><b>You cannot create wildcards on multiple levels</b>. So if you create a DNS record on <code>*.*.mycoolwebpage.xyz</code>, only the first asterisk is interpreted as a wildcard while the second one is interpreted as the literal <code>“*”</code> character.</p><p><b>Wildcards will be applied for multiple levels</b>. But a specific record on any equal or lower level will terminate anything on or below this specific record — independent of the type of that specific record. Here is an example. If you have <b>only</b> these two records on your domain</p>
            <pre><code>subdomain1.mycoolwebpage.xyz  TXT  “some text”
*.mycoolwebpage.xyz  	A  192.0.2.3</code></pre>
            <p>the wildcard record will be used for queries going to any subdomain of <code>mycoolwebpage.xyz</code> <b>except</b> <code>subdomain1.mycoolwebpage.xyz</code> or anything <b>below</b> that specific label, like <code>deeper.label.subdomain1.mycoolwebpage.xyz</code> — simply because there already exists a record on <code>subdomain1.mycoolwebpage.xyz</code>. However, the wildcard will be used for deeper labels that are <b>not</b> below the specific record on subdomain1 — for example, <code>deeper.label.subdomain2.mycoolwebpage.xyz</code>.</p><p>To expand on this rule: if you think of DNS as a tree starting from the <a href="https://en.wikipedia.org/wiki/DNS_root_zone">root zone</a> (see the diagram below), simply the existence of a branch terminates the wildcard for <b>all records</b> on that branch. In the example above the wildcard was terminated for anything on the label subdomain1 <b>and below</b>, but even if there only exists a record on a deeper level, anything <b>above</b> will also be terminating the wildcard. This example should make it clear. If you <b>only</b> have the following two records on your domain, as shown in the diagram below</p>
            <pre><code>some.deep.label.subdomain1.mycoolwebpage.xyz  TXT  “some other text”
*.mycoolwebpage.xyz  	A  192.0.2.3</code></pre>
            <p>a query to <code>label.subdomain1.mycoolwebpage.xyz</code> for an A record is <b>not</b> covered by the wildcard because it is a node on the existing branch ending in the TXT record above.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/30H8qRK0B7QqrPfuut8e9I/27aa8c864658658e48e311251e52babb/image3.png" />
            
            </figure><p><b>Wildcard records only cover the record type they are specified for</b>. If you add a wildcard A record for <code>*.mycoolwebpage.xyz</code> it will not cover queries specifying AAAA records (or any other type). But as mentioned in the previous point, a record on a specific label will terminate the wildcard for this label and everything below even if it’s a different record type.</p><p>All the above and more can be found in <a href="https://datatracker.ietf.org/doc/rfc4592/">RFC4592</a>. Not the type to read through complex RFCs but still generally interested in how DNS works, go check out <a href="https://wizardzines.com/zines/dns/">Julia Evans’ wizard zines about DNS</a>, she did a great job explaining all the complexities about DNS in an easy to digest way.</p>
    <div>
      <h3>What is a proxied wildcard DNS record?</h3>
      <a href="#what-is-a-proxied-wildcard-dns-record">
        
      </a>
    </div>
    <p>Cloudflare provides a range of features (including <a href="https://www.cloudflare.com/cdn/">Caching</a>, <a href="https://www.cloudflare.com/waf/">Firewall</a>, or <a href="https://workers.cloudflare.com/">Workers</a>) that require you to proxy the specific hostname you want to use these features on. You can proxy DNS records of the type A, AAAA, and CNAME. These record types are used to specify the origin server of a hostname which expects traffic via HTTP/S.</p><p>Proxying a wildcard DNS record works exactly as proxying a specific record. In the Cloudflare dashboard, navigate to the DNS app and either create a new wildcard record or edit an existing record and toggle the proxy status to <i>Proxied</i>. Previously, we only allowed this on wildcard records if the domain was upgraded to the Enterprise plan, but this feature is now available on all plan levels!</p><div></div>
<p></p><p>Once you have enabled the proxy status of your wildcard DNS record, Cloudflare nameservers will respond with two Cloudflare anycast IPs instead of the origin IP(s) you have specified for that record. These Cloudflare IPs are advertised on our global network from more than 275 locations in more than 100 countries.</p>
            <pre><code>$ dig subdomain2.mycoolwebpage.xyz -t a +short
104.18.35.126
172.64.152.130</code></pre>
            <p>In the example above, this will ensure that all HTTP/S requests sent to <code>subdomain2.mycoolwebpage.xyz</code> or any other subdomain that is covered by the proxied wildcard DNS record are proxied by Cloudflare’s network, specifically the closest Cloudflare data center. Go see for yourself and pick a random subdomain of <code>mycoolwebpage.xyz</code>. You will see a simple page that is generated using <a href="https://workers.cloudflare.com">Cloudflare Workers</a>:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6nyqcGBvEDTqTkiuzN0JpZ/d9d6b83c36c4827549d8f28bc652b22e/image7.png" />
            
            </figure><p>And the cool thing is that you don’t even have to think about creating a TLS certificate. By default, Cloudflare will issue and automatically renew a certificate for your zone apex (<code>mycoolwebpage.xyz</code>) and all subdomains on the next level (<code>*.mycoolwebpage.xyz</code>).</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/3pzweO95uHrqoomb81KBJl/82b6ce9cc4b447a7eb8d7b8c75e48e50/image5.png" />
            
            </figure><p>If you want to proxy a wildcard DNS record on a deeper level like <code>*.www.mycoolwebpage.xyz</code> you can subscribe to <a href="https://developers.cloudflare.com/ssl/edge-certificates/advanced-certificate-manager/">Cloudflare Advanced Certificate Manager</a> and get a certificate that is covering that wildcard like this:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2Qy2GEdfZ7yQxqfrmt4MaN/c79f39287a8d6f27cf6b6a94730d0923/image1.png" />
            
            </figure>
    <div>
      <h3>Try it yourself on your domain</h3>
      <a href="#try-it-yourself-on-your-domain">
        
      </a>
    </div>
    <p>If you are not already using <a href="https://www.cloudflare.com/dns/">Cloudflare DNS</a> for your domain, it is very easy to move from your existing DNS provider and can be done in a few minutes. Head over to our developer documentation for detailed instructions on <a href="https://developers.cloudflare.com/dns/zone-setups/full-setup/setup/">how to change your authoritative nameservers</a>.</p> ]]></content:encoded>
            <category><![CDATA[DNS]]></category>
            <category><![CDATA[Product News]]></category>
            <guid isPermaLink="false">4XmEnHlu8uLWrS42oeAGFs</guid>
            <dc:creator>Hannes Gerhart</dc:creator>
        </item>
        <item>
            <title><![CDATA[Announcing Foundation DNS — Cloudflare’s new premium DNS offering]]></title>
            <link>https://blog.cloudflare.com/foundation-dns/</link>
            <pubDate>Wed, 08 Dec 2021 13:58:58 GMT</pubDate>
            <description><![CDATA[ Today we’re launching Foundation DNS — our new premium DNS offering! Leverage Cloudflare DNS and ensure your domain is always globally available within milliseconds. ]]></description>
            <content:encoded><![CDATA[ <p></p><p>Today, we’re announcing <b>Foundation DNS</b>, Cloudflare’s new premium DNS offering that provides unparalleled reliability, supreme performance and is able to meet the most complex requirements of infrastructure teams.</p>
    <div>
      <h2>Let’s talk money first</h2>
      <a href="#lets-talk-money-first">
        
      </a>
    </div>
    <p>When you’re signing an enterprise DNS deal, usually DNS providers request three inputs from you in order to generate a quote:</p><ul><li><p>Number of zones</p></li><li><p>Total DNS queries per month</p></li><li><p>Total DNS records across all zones</p></li></ul><p>Some are considerably more complicated and many have pricing calculators or opaque “Contact Us” pricing. Planning a budget around how you may grow brings unnecessary complexity, and we think we can do better. Why not make this even simpler? Here you go: We decided to charge Foundation DNS based on a single input for our enterprise customers: <b>Total DNS queries per month</b>. This way, we expect to save companies money and even more importantly, remove complexity from their DNS bill.</p><p>And don’t worry, just like the rest of our products, DDoS mitigation is still unmetered. There won’t be any hidden overage fees in case your nameservers are DDoS’d or the number of DNS queries exceeds your quota for a month or two.</p>
    <div>
      <h2>Why is DNS so important?</h2>
      <a href="#why-is-dns-so-important">
        
      </a>
    </div>
    
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1RcHjKK6E0UAoaY32n5sso/b927c26d748fad09e52bcc7513239f03/image1-27.png" />
            
            </figure><p>The <a href="https://www.cloudflare.com/learning/dns/what-is-dns/">Domain Name System (DNS)</a> is nearly as old as the Internet itself. It was originally defined in <a href="https://datatracker.ietf.org/doc/html/rfc882">RFC882</a> and <a href="https://datatracker.ietf.org/doc/html/rfc883">RFC883</a> in 1983 out of the need to create a mapping between hostnames and IP addresses. Back then, the authors wisely stated: “<i>[The Internet] is a large system and is likely to grow much larger.</i>” [<a href="https://datatracker.ietf.org/doc/html/rfc882">RFC882</a>]. Today there are almost 160 Million domain names just under the .com, one of the largest <a href="https://www.cloudflare.com/learning/dns/top-level-domain/">Top Level Domains (TLD)</a> [<a href="https://www.verisign.com/en_US/channel-resources/domain-registry-products/zone-file/index.xhtml">source</a>].</p><p>By design, DNS is a hierarchical and highly distributed system, but as an end user you usually only communicate with a resolver (1) that is either assigned or operated by your Internet Service Provider (ISP) or directly configured by your employer or yourself. The resolver communicates with one of the root servers (2), the responsible TLD server (3) and the authoritative nameserver (4) of the domain in question. In many cases all of these four parties are operated by a different entity and located in different regions, maybe even continents.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5kSCksXv3eQ1TM6oBjkwAU/4027a5b6dfec209ad51db0133bf06aa9/image6-5.png" />
            
            </figure><p>As we have seen in the <a href="/october-2021-facebook-outage/">recent past</a>, if your DNS infrastructure goes down you are in serious trouble, and it likely will cost you a lot of money and potentially damage your reputation. So as a domain owner you want that DNS lookups to your domain are answered 100% of the time and ideally as quickly as possible. So what can you do? You cannot influence which resolver your users have configured. You cannot influence the root server. You can choose which TLD server is involved by picking a domain name with the respective TLD. But if you are bound to a certain TLD for other reasons then that is out of your control as well. What you can easily influence is the provider for your authoritative nameservers. So let’s take a closer look at Cloudflare’s authoritative DNS offering.</p>
    <div>
      <h2>A look at Cloudflare’s Authoritative DNS</h2>
      <a href="#a-look-at-cloudflares-authoritative-dns">
        
      </a>
    </div>
    <p>Authoritative DNS is one of our <a href="/robust-free-dns/">oldest products</a>, and we have spent a lot of time making it great. All DNS queries are answered from our global anycast network with a presence in more than 250 cities. This way we can deliver supreme performance while always guaranteeing global availability. And of course, we leverage our extensive experience in mitigating DDoS attacks to prevent anyone from knocking down our nameservers and with that the domains of our customers.</p><p>DNS is critically important to Cloudflare because up until the release of <a href="https://www.cloudflare.com/magic-transit/">Magic Transit</a>, DNS was how every user on the Internet was directed to Cloudflare to protect and accelerate our customer’s applications. If our DNS answers were slow, Cloudflare was slow. If our DNS answers were unavailable, Cloudflare was unavailable. Speed and reliability of our authoritative DNS is paramount to the speed and reliability of Cloudflare, as it is to our customers. We have also had our customers push our DNS infrastructure as they’ve grown with Cloudflare. Today our largest customer zone has more than 3 million records and the top 5 are reaching almost 10 million records combined. Those customers rely on Cloudflare to push new DNS record updates to our edge in seconds, not minutes. Due to this importance and our customer’s needs, over the years we have grown our dedicated DNS engineering team focused on keeping our <a href="/how-we-made-our-dns-stack-3x-faster/">DNS stack fast and reliable</a>.</p><p>The security of the DNS ecosystem is also important. Cloudflare has always been a proponent of <a href="/dnssec-an-introduction/">DNSSEC</a>. Signing and validating DNS answers through DNSSEC ensures that an on-path attacker <a href="/bgp-leaks-and-crypto-currencies/">cannot hijack answers and redirect traffic</a>. Cloudflare has always offered DNSSEC for free on all plan levels, and it will continue to be a no charge option for Foundation DNS. For customers who also choose to use Cloudflare as a <a href="https://www.cloudflare.com/learning/dns/glossary/what-is-a-domain-name-registrar/">registrar</a>, <a href="/one-click-dnssec-with-cloudflare-registrar/">simple one-click deployment of DNSSEC</a> is another key feature that ensures our customers' domains are not hijacked, and their users are protected. We support <a href="https://datatracker.ietf.org/doc/html/rfc8078">RFC 8078</a> for <a href="/automatically-provision-and-maintain-dnssec/">one-click deployment on external registrars</a> as well.</p><p>But there are other issues that can bring parts of the Internet to a halt and these are mostly out of our control: <a href="/route-leak-detection/">route leaks</a> or even worse <a href="https://isbgpsafeyet.com/#whats-a-bgp-hijack">route hijacking</a>. While DNSSEC can help with mitigating route hijacks, unfortunately not all recursive resolvers will <a href="https://stats.labs.apnic.net/dnssec">validate DNSSEC</a>. And even if the resolver does validate, a route leak or hijack to your nameservers will still result in downtime. If all your nameserver IPs are affected by such an event, your domain becomes unresolvable.</p><p>With many providers each of your nameservers usually resolves to only one IPv4 and one IPv6 address. If that IP address is not reachable — for example because of network congestion or, even worse, a route leak — the entire nameserver becomes unavailable leading to your domain becoming unresolvable. Even worse, some providers even use the same IP subnet for all their nameservers. So if there is an issue with that subnet all nameservers are down.</p><p>Let’s take a look at an example:</p>
            <pre><code>$ dig aws.com ns +short              
ns-1500.awsdns-59.org.
ns-164.awsdns-20.com.
ns-2028.awsdns-61.co.uk.
ns-917.awsdns-50.net.

$ dig ns-1500.awsdns-59.org. +short
205.251.197.220
$ dig ns-164.awsdns-20.com. +short
205.251.192.164
$ dig ns-2028.awsdns-61.co.uk. +short
205.251.199.236
$ dig ns-917.awsdns-50.net. +short
205.251.195.149</code></pre>
            <p>All nameserver IPs are part of <code>205.251.192.0/21</code>. Thankfully, <a href="https://aws.amazon.com/blogs/networking-and-content-delivery/how-aws-is-helping-to-secure-internet-routing/">AWS is now signing their ranges</a> through <a href="https://isbgpsafeyet.com/#what-is-rpki">RPKI</a> and this makes it less likely to leak… provided that the resolver ISP is validating RPKI. But if the resolver ISP does not validate RPKI and should this subnet be leaked or hijacked, resolvers wouldn’t be able to reach any of the nameservers and aws.com would become unresolvable.</p><p>It goes without saying that Cloudflare signs all of our routes and are <a href="https://isbgpsafeyet.com/">pushing the rest of the Internet</a> to minimize the impact of route leaks, but what else can we do to ensure that our DNS systems remain resilient through route leaks while we wait for RPKI to be ubiquitously deployed?</p><p>Today, when you’re using Cloudflare DNS on the Free, Pro, Business or Enterprise plan, your domain gets two nameservers of the structure <code>&lt;name&gt;.ns.cloudflare.com</code> where <code>&lt;name&gt;</code> is a random first name.</p>
            <pre><code>$ dig isbgpsafeyet.com ns +short
tom.ns.cloudflare.com.
kami.ns.cloudflare.com.</code></pre>
            <p>Now, as we learned before, in order for a domain to be available, its nameservers have to be available. This is why each of these nameservers resolves to 3 anycast IPv4 and 3 anycast IPv6 addresses.</p>
            <pre><code>$ dig tom.ns.cloudflare.com a +short
173.245.59.147
108.162.193.147
172.64.33.147

$ dig tom.ns.cloudflare.com aaaa +short
2606:4700:58::adf5:3b93
2803:f800:50::6ca2:c193
2a06:98c1:50::ac40:2193</code></pre>
            <p>The essential detail to notice here is that each of the 3 IPv4 and 3 IPv6 addresses is from a different /8 IPv4 (/45 for IPv6) block. So in order for your nameservers to become unavailable via IPv4, the route leak would have to affect exactly the corresponding subnets across all three /8 IPv4 blocks. This type of event, while theoretically is possible, is virtually impossible in practical terms.</p>
    <div>
      <h3>How can this be further improved?</h3>
      <a href="#how-can-this-be-further-improved">
        
      </a>
    </div>
    <p>Customers using Foundation DNS will be assigned a new set of advanced nameservers hosted on foundationdns.com and foundationdns.net. These nameservers will be even more resilient than the default Cloudflare nameservers. We will be announcing more details about how we’re achieving this early next year, so stay tuned. All external Cloudflare domains (such as cloudflare.com) will transition to these nameservers in the new year.</p>
    <div>
      <h2>There is even more</h2>
      <a href="#there-is-even-more">
        
      </a>
    </div>
    <p>We’re glad to announce that we are launching two highly requested features:</p><ul><li><p>Support for outgoing zone transfers for Secondary DNS</p></li><li><p><a href="https://developers.cloudflare.com/logs/about">Logpush</a> for authoritative and secondary DNS queries</p></li></ul><p>Both of them will be available as part of Foundation DNS and to enterprise customers without any additional costs. Let’s take a closer look at each of these and see how they make our DNS offering even better.</p>
    <div>
      <h3>Support for outgoing zone transfers for Secondary DNS</h3>
      <a href="#support-for-outgoing-zone-transfers-for-secondary-dns">
        
      </a>
    </div>
    <p>What is Secondary DNS, and why is it important? Many large enterprises have requirements to use more than one DNS provider for redundancy in case one provider becomes unavailable. They can achieve this by adding their domain’s DNS records on two independent platforms and manually keeping the zone files in sync — this is referred to as “multi-primary” setup. With Secondary DNS there are two mechanisms how this can be automated using a “primary-secondary” setup:</p><ul><li><p>DNS NOTIFY: The primary nameserver notifies the secondary on every change on the zone. Once the secondary receives the NOTIFY, it sends a zone transfer request to the primary to get in sync with it.</p></li><li><p>SOA query: Here, the secondary nameserver regularly queries the SOA record of the zone and checks if the serial number that can be found on the SOA record is the same with the latest serial number the secondary has stored in it’s SOA record of the zone. If there is a new version of the zone available, it sends a zone transfer request to the primary to get those changes.</p></li></ul><p>Alex Fattouche has written a very insightful blog post about <a href="/secondary-dns-deep-dive/">how Secondary DNS works behind the scenes</a> if you want to learn more about it. Another flavor of the primary-secondary setup is to hide the primary, thus referred to as “hidden primary”. The difference of this setup is that only the secondary nameservers are authoritative — in other words configured at the domain’s registrar. The diagram below illustrates the different setups.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6EJTWFCk1W0gDjsQ0tG52h/f6e143186f326477737e9ca1ff9c216c/image7-2.png" />
            
            </figure><p>Since 2018, we have been supporting primary-secondary setups where Cloudflare takes the role of the secondary nameserver. This means from our perspective that we are accepting incoming zone transfers from the primary nameservers.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/28isU7lACkmQqBKEcgSp0K/e88819efaf4d3e5b976a3ed437339256/image2-15.png" />
            
            </figure><p>Starting today, we are now also supporting outgoing zone transfers, meaning taking the role of the primary nameserver with one or multiple external secondary nameservers receiving zone transfers from Cloudflare. Exactly as for incoming transfers, we are supporting</p><ul><li><p>zone transfers via AXFR and IXFR</p></li><li><p>automatic notifications via DNS NOTIFY to trigger zone transfers on every change</p></li><li><p>signed transfers using TSIG to ensure zone files are authenticated during transfer</p></li></ul>
    <div>
      <h3>Logpush for authoritative and secondary DNS</h3>
      <a href="#logpush-for-authoritative-and-secondary-dns">
        
      </a>
    </div>
    <p>Here at Cloudflare we love logs. In Q3 2021, we processed 28 Million HTTP requests per second and 13.6 Million DNS queries per second on average and blocked 76 Billion threats each day. All these events are stored as logs for a limited time frame in order to provide our users near real-time analytics in the dashboard. For those customers who want to — or have to — permanently store these logs we’ve built <a href="/cloudflare-logpush-the-easy-way-to-get-your-logs-to-your-cloud-storage/">Logpush</a> back in 2019. Logpush allows you to stream logs in near real time to one of our analytics partners Microsoft Azure Sentinel, Splunk, Datadog and Sumo Logic or to any cloud storage destination with <a href="/introducing-r2-object-storage/">R2</a>-compatible API.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/60ZmOi9HwfZR8x2OIouXqv/4abd8922f78d7cb95b8e97c188fa1e58/wHYBm0Y8Qwe4CD_N5DTx5nizhz61UjVh82f9V3k58VTSN_Jz73Xb_v_sGA7bTfTvNeqq63gFQN6QJypZP6aJPYDzbN8THBcGV_NWjcgqxpyTigVZAw2hlW5afs_e.png" />
            
            </figure><p>Today, we’re adding one additional data set for Logpush: <b>DNS logs</b>. In order to configure Logpush and stream DNS logs for your domain, just head over to the <a href="https://dash.cloudflare.com/?to=/:account/:zone/analytics/logs">Cloudflare dashboard</a>, create a new Logpush job, select DNS logs and configure the log fields you’re interested in:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/33M87j3q8a6cLhpYxFELBN/1490981cbe974d86fe9361a90e438f63/unnamed-8.png" />
            
            </figure><p>Check out our <a href="https://developers.cloudflare.com/logs/reference/log-fields/zone/dns_logs">developer documentation</a> for detailed instructions on how to do this through the API and for a thorough description of the new DNS log fields.</p>
    <div>
      <h2>One more thing (or two…)</h2>
      <a href="#one-more-thing-or-two">
        
      </a>
    </div>
    <p>When looking at the entirety of DNS within your infrastructure, it’s important to review how your traffic is flowing through your systems and how that traffic is behaving. At the end of the day, there is only so much processing power, memory, server capacity, and overall compute resources available. One of the best and important tools we have available is <a href="https://www.cloudflare.com/load-balancing/">Load Balancing</a> and Health Monitoring!</p><p>Cloudflare has provided a Load Balancing solution <a href="/cloudflare-traffic/">since 2016</a>, supporting customers to leverage their existing resources in a scalable and intelligent manner. But our Load Balancer was limited to A, AAAA, and CNAME records. This covered a lot of major use cases required by customers, but did not cover all of them. Many customers have more needs such as load balancing MX or email server traffic, SRV records to declare which ports and weight that respective traffic should travel across for a specific service, HTTPS records to ensure the respective traffic uses the secure protocol regardless of port and many more. We want to ensure that our customers' needs are covered and support their ability to align business goals with technical implementation.</p><p>We are happy to announce that we have added additional Health Monitoring methods to support Load Balancing MX, SRV, HTTPS and TXT record traffic without any additional configuration necessary. Create your respective DNS records in Cloudflare and set your Load Balancer as the destination...it’s as easy as that! By leveraging ICMP Ping, SMTP, and UDP-ICMP methods, customers will always have a pulse on the health of their servers and be able to apply intelligent steering decisions based on the respective health information.</p><p>When thinking about intelligent steering, there is no one size fits all answer. Different businesses have different needs, especially when looking at where your servers are located around the globe, and where your customers are situated. A common rule of thumb to follow is to place servers where your customers are. This ensures they have the most performant and localized experience possible. One common scenario is to steer your traffic based on where your end-user request originates and create a mapping to the server closest to that area. Cloudflare’s geo steering capability allows our customers to do just that — easily create a mapping of regions to pools, ensuring if we see a request originate from Eastern Europe, to send that request to the proper server to suffice that request. But sometimes, regions can be quite large and lend to issues around not being able to tightly couple together that mapping as closely as one might like.</p><p>Today, we are very excited to announce country support within our Geo Steering functionality. Now, customers will be able to choose either one of our thirteen regions, or a specific country to map against their pools to give further granularity and control to how customers traffic should behave as it travels through their system. Both country-level steering and our new health monitoring methods to support load balancing more DNS records will be available in January 2022!</p>
    <div>
      <h2>Advancing the DNS Ecosystem</h2>
      <a href="#advancing-the-dns-ecosystem">
        
      </a>
    </div>
    <p>Furthermore, we have some other exciting news to share: We’re finishing the work on <b>Multi-Signer DNSSEC</b> (<a href="https://datatracker.ietf.org/doc/html/rfc8901">RFC8901</a>) and plan to roll this out in Q1 2022. Why is this important? Two common requirements of large enterprises are:</p><ul><li><p><b>Redundancy</b>: Having multiple DNS providers responding authoritatively for their domains</p></li><li><p><b>Authenticity</b>: Deploying DNSSEC to ensure DNS responses can be properly authenticated</p></li></ul><p>Both can be achieved by having the primary nameserver sign the domain and transfer its DNS records plus the record signatures to the secondary nameserver which will serve both as is. This setup is supported with Cloudflare Secondary DNS today. What cannot be supported when transferring pre-signed zones are non-standard DNS features like country-level steering. This is where Multi-Signer DNSSEC comes in. Both DNS providers need to know the signing keys of the other provider and perform their own online (or on-the-fly) signing. If you’re curious to learn more about how Multi-Signer DNSSEC works, go check out this <a href="https://blog.apnic.net/2021/08/25/multi-signer-dnssec-models/">excellent blog post</a> published by APNIC.</p><p>Last but not least, Cloudflare is joining the <a href="https://www.dns-oarc.net/">DNS Operations, Analysis, and Research Center (DNS-OARC)</a> as a gold member. Together with other researchers and operators of DNS infrastructure we want to tackle the most challenging problems and continuously work on implementing new standards and features.</p><blockquote><p><i>"The DNS is a critical tool for management and delivery of content at the edge where consumers demand performance and reliability. Cloudflare is an important member of the DNS community, and have been a regular participant in OARC workshops for many years presenting their innovations and operational findings to our DNS-focused audience. It is a pleasure to now welcome them on-board as a full Member of our community, and we look forward to building upon their unique contributions as Gold OARC Members."-</i> <b>Keith Mitchell</b>, OARC President</p></blockquote><p>While we’ve been at DNS since day one of Cloudflare, we’re still just getting started. We know there are more granular and specific features our future customers will ask of us and the launch of Foundation DNS is our stake in the ground that we will continue to invest in all levels of DNS while building the most feature rich enterprise DNS platform on the planet. If you have ideas, let us know what you’ve always dreamed your DNS provider would do. If you want to help build these features, we are <a href="https://boards.greenhouse.io/cloudflare/jobs/3262004?gh_jid=3262004">hiring</a>.</p> ]]></content:encoded>
            <category><![CDATA[CIO Week]]></category>
            <category><![CDATA[DNS]]></category>
            <category><![CDATA[Product News]]></category>
            <guid isPermaLink="false">5ANFeCU4Ji4Ttq59SrZXBx</guid>
            <dc:creator>Hannes Gerhart</dc:creator>
        </item>
        <item>
            <title><![CDATA[Tackling Email Spoofing and Phishing]]></title>
            <link>https://blog.cloudflare.com/tackling-email-spoofing/</link>
            <pubDate>Mon, 27 Sep 2021 12:59:31 GMT</pubDate>
            <description><![CDATA[ Today we’re announcing a new tool to tackle email spoofing and phishing. We’ll warn users about insecure configurations and provide an easy-to-use wizard to create required DNS records. ]]></description>
            <content:encoded><![CDATA[ <p></p><p>Today we’re rolling out a new tool to tackle email spoofing and phishing and improve email deliverability: The new <i>Email Security DNS Wizard</i> can be used to create DNS records that prevent others from sending malicious emails on behalf of your domain. This new feature also warns users about insecure DNS configurations on their domain and shows recommendations on how to fix them. The feature will first be rolled out to users on the <a href="https://www.cloudflare.com/plans/free/">Free plan</a> and over the next weeks be made available for Pro, Business and Enterprise customers, as well.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/7aEZCdU9gaKn96DeylxQ6o/35f01fb59be4eb7cafbbe1cc44d3d77f/image4-24.png" />
            
            </figure><p>Before we dive into what magic this wizard is capable of, let’s take a step back and take a look at the problem: <a href="https://www.cloudflare.com/learning/email-security/what-is-email-spoofing/">email spoofing</a> and phishing.</p>
    <div>
      <h2>What is email spoofing and phishing?</h2>
      <a href="#what-is-email-spoofing-and-phishing">
        
      </a>
    </div>
    <p>Spoofing is the process of posing as someone else which can be used in order to gain some kind of illicit advantage. One example is <b>domain spoofing</b> where someone hosts a website like <code>mycoolwebpaqe.xyz</code>  to trick users of <code>mycoolwebpage.xyz</code> to provide sensitive information without knowing they landed on a false website. When looking at the address bar side by side in a browser, it’s very hard to spot the difference.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4PxVe1b4Hez5NOq5XvzIh7/5524b5746727c82b0a97ab7783153edf/Screen-Shot-2021-09-25-at-10.05.21-AM.png" />
            
            </figure><p>Then, there is <b>email spoofing</b>. In order to understand how this works, let’s take a look at a Cloudflare product update email I received on my personal email address. With most email providers you can look at the full source of an email which contains a number of headers and of course the body of the email.</p>
            <pre><code>Date: Thu, 23 Sep 2021 10:30:02 -0500 (CDT)
From: Cloudflare &lt;product-updates@cloudflare.com&gt;
Reply-To: product-updates@cloudflare.com
To: &lt;my_personal_email_address&gt;</code></pre>
            <p>Above you can see four headers of the email, when it was received, who it came from, who I should reply to, and my personal email address. The value of the <code>From</code> header is used to display the sender in my email program.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/28pGQD2E3P3ONQn0pQY9Vb/16e561d34f8891d069a79fee7c034450/image3-30.png" />
            
            </figure><p>When I receive an email as above, I automatically assume this email has been sent from Cloudflare. However, nobody is stopped from sending an email with a modified <code>From</code> header from their mail server. If my email provider is not performing the right checks, which we will cover later in this blog post, I could be tricked into believing that an email was sent from Cloudflare, but it actually was not.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/PaMxRQLG5BwnK5ZIzwwg6/53a70fcc30e37930c23e7ab94311242e/image13-4.png" />
            
            </figure><p>This brings us to the second attack type: <b>phishing</b>. Let’s say a malicious actor has successfully used email spoofing to send emails to your company’s customers that seem to originate from one of your corporate service emails. The content of these emails look exactly like a legitimate email from your company using the same styling and format. The email text could be an urgent message to update some account information including a hyperlink to the alleged web portal. If the receiving mail server of a user does not flag the email as spam or insecure origin, the user might click on the link which could execute malicious code or lead them to a spoofed domain asking for sensitive information.</p><p>According to the <a href="https://www.ic3.gov/Media/PDF/AnnualReport/2020_IC3Report.pdf">FBI’s 2020 Internet Crime Report</a>, phishing was the most common cyber crime in 2020 with over 240,000 victims leading to a loss of over $50M. And the number of victims has more than doubled since 2019 and is almost ten times higher than in 2018.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6VvX416Rl6OBzDvGgNav1V/685b7969b190b249c4b9bec3d1f7d0f9/image5-23.png" />
            
            </figure><p>In order to understand how most phishing attacks are carried out, let's take a closer look at the findings of the <a href="https://enterprise.verizon.com/resources/reports/2020/2020-data-breach-investigations-report.pdf">2020 Verizon Data Breach Investigations Report</a>. It lays out that phishing accounts for more than 80% of all "social actions", another word for social engineering attacks, making it by far the most common type of such an attack. Furthermore, the report states that 96% of social actions are sent via email and only 3% through a website and 1% via phone or text.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/6Ke7b9XwyfjM1Y2jAU56uO/774ad9250113105fe79f44e2403cb135/zJaupW_6sFUgHngoCJ6naiTt_XpKHahn5P63J9jlxpynfThhNpDb9wAREZbAkL9SSIuUfu4l_K0rnYUP-iOQZvmZinl5Kt9BNKrreXFyQ07q0YZApEAdw927zjk7.png" />
            
            </figure><p>This clearly shows that email phishing is a serious problem causing Internet users a big headache. So let’s see what domain owners can do to stop bad actors from misusing their domain for email phishing.</p>
    <div>
      <h2>How can DNS help prevent this?</h2>
      <a href="#how-can-dns-help-prevent-this">
        
      </a>
    </div>
    <p>Luckily, there are three anti-spoofing mechanisms already built into the <a href="https://www.cloudflare.com/learning/dns/what-is-dns/">Domain Name System (DNS)</a>:</p><ul><li><p>Sender Policy Framework (SPF)</p></li><li><p>DomainKeys Identified Mail (DKIM)</p></li><li><p>Domain-based Message Authentication Reporting and Conformance (DMARC)</p></li></ul><p>However, it is not trivial to configure them correctly, especially for someone less experienced. In case your configuration is too strict, legitimate emails will be dropped or marked as spam. And if you keep your configuration too relaxed, your domain might be misused for email spoofing.</p>
    <div>
      <h3>Sender Policy Framework (SPF)</h3>
      <a href="#sender-policy-framework-spf">
        
      </a>
    </div>
    <p>SPF is used to specify which IP addresses and domains are permitted to send email on behalf of your domain. An SPF policy is published as a TXT record on your domain, so everyone can access it via DNS. Let’s inspect the TXT record for <code>cloudflare.com</code>:</p>
            <pre><code>cloudflare.com 	TXT	"v=spf1 ip4:199.15.212.0/22 ip4:173.245.48.0/20 include:_spf.google.com include:spf1.mcsv.net include:spf.mandrillapp.com include:mail.zendesk.com include:stspg-customer.com include:_spf.salesforce.com -all"</code></pre>
            <p>An SPF TXT record always needs to start with <code>v=spf1</code>. It usually contains a list of IP addresses of sending email servers using the <code>ip4</code> or <code>ip6</code> mechanism. The <code>include</code> mechanism is used to reference another SPF record on another domain. This is usually done if you are relying on other providers that need to send emails on our behalf. You can see a few examples in the SPF record of <code>cloudflare.com</code> above: we’re using Zendesk as customer support software and Mandrill for marketing and transactional emails.</p><p>Finally, there is the catch-all mechanism <code>-all</code> which specifies how all incoming, but unspecified emails should be treated The catch-all mechanism is preceded by a qualifier that can be either + (Allow), ~ (Softfail) or - (Fail). Using the <code>Allow</code> qualifier is not recommended as it basically makes the SPF record useless and allows all IP addresses and domains to send email on behalf of your domain. <code>Softfail</code> is interpreted differently by receiving mail servers, marking an email as Spam or insecure, depending on the server. <code>Fail</code> tells a server not to accept any emails originating from unspecified sources.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/YneN2p3yGEEOsBQpwDcDg/b820270fc74d219fd6b66ac0c4d0d56f/image12-7.png" />
            
            </figure><p>The diagram above shows the steps taken to ensure a received email is SPF compliant.</p><ol><li><p>The email is sent from the IP address <code>203.0.113.10</code> and contains a <code>From</code> header with the value of <code>hannes@mycoolwebpage.xyz</code>.</p></li><li><p>After receiving the email, the receiver queries the SPF record on <code>mycoolwebpage.xyz</code> to retrieve the SPF policy for this domain.</p></li><li><p>The receiver checks if the sending IP address <code>203.0.113.10</code> is listed in the SPF record. If it is, the email succeeds the SPF check. If it is not, the qualifier of the <code>all</code> mechanism defines the outcome.</p></li></ol><p>For a full list of all mechanisms and more details about SPF, refer to <a href="https://datatracker.ietf.org/doc/html/rfc7208">RFC7208</a>.</p>
    <div>
      <h3>DomainKeys Identified Mail (DKIM)</h3>
      <a href="#domainkeys-identified-mail-dkim">
        
      </a>
    </div>
    <p>Okay, with SPF we’ve ensured that only permitted IP addresses and domains can send emails on behalf of cloudflare.com. But what if one of the IPs changes owner without us noticing and updating the SPF record? Or what if someone else who is also using Google’s email server on the same IP tries to spoof emails coming from cloudflare.com?</p><p>This is where DKIM comes in. DKIM provides a mechanism to cryptographically sign parts of an email — usually the body and certain headers — using <a href="https://www.cloudflare.com/learning/ssl/how-does-public-key-encryption-work/">public key encryption</a>. Before we dive into how this works, let’s take a look at the DKIM record used for cloudflare.com:</p>
            <pre><code>google._domainkey.cloudflare.com.	TXT	"v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDMxbNxA2V84XMpZgzMgHHey3TQFvHkwlPF2a11Ex6PGD71Sp8elVMMCdZhPYqDlzbehg9aWVwPz0+n3oRD73o+JXoSswgUXPV82O8s8dGny/BAJklo0+y+Bh2Op4YPGhClT6mRO2i5Qiqo4vPCuc6GB34Fyx7yhreDNKY9BNMUtQIDAQAB"</code></pre>
            <p>The structure of a DKIM record is <code>&lt;selector&gt;._domainkey.&lt;domain&gt;</code>, where the selector is provided by your email provider. The content of the <code>DKIM TXT</code> record always starts with <code>v=DKIM1</code> followed by the public key. We can see the public key type, referenced by the <code>k</code> tag, and the public key itself, preceded by the <code>p</code> tag.</p><p>Besides the TXT record that contains the public DKIM key, receiving email servers will parse an email header that contains the DKIM signature -- the part that has been signed with the private DKIM key -- besides some other information the email receiver needs to perform the DKIM check. Below is an example of this email header which is part of a Cloudflare product update email:</p>
            <pre><code>DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
   t=1632416903; s=m1; d=cloudflare.com; i=@cloudflare.com;
   h=Content-Type:MIME-Version:Subject:To:From:Date;
   bh=uMixy0BsCqhbru4fqPZQdeZY5Pq865sNAnOAxNgUS0s=;
   b=LiIvJeRyqMo0gngiCygwpiKphJjYezb5kXBKCNj8DqRVcCk7obK6OUg4o+EufEbB
    tRYQfQhgIkx5m70IqA6dP+DBZUcsJyS9C+vm2xRK7qyHi2hUFpYS5pkeiNVoQk/Wk4w
    ZG4tu/g+OA49mS7VX+64FXr79MPwOMRRmJ3lNwJU=</code></pre>
            <p>You can see the email domain <code>d=cloudflare.com</code>, the selector <code>s=google</code>, the list of headers that are part of the DKIM signature preceded by <code>h=</code> and the DKIM signature following <code>b=</code>.</p><p>Below is a simplified sequence how the signing and DKIM check work:</p><ol><li><p>The sending email server processes certain email headers (listed in <code>h</code>) and the email message.</p></li><li><p>The sending email server signs the canonicalized result with the private DKIM key.</p></li><li><p>The email is sent, containing the signature in the <code>DKIM-Signature</code> email header.</p></li><li><p>The receiving email server retrieves the public key from the DKIM TXT record published on the email domain.</p></li><li><p>The receiving email server reproduces the canonicalized result, similar to step 1.</p></li><li><p>The receiving email server verifies the signature (<code>b</code>) using the public DKIM key.</p></li><li><p>If the DKIM signature is valid, email authenticity is proven. Otherwise, the DKIM check fails.</p></li></ol><p>The full DKIM specification can be found in <a href="https://datatracker.ietf.org/doc/html/rfc4871">RFC4871</a> and <a href="https://datatracker.ietf.org/doc/html/rfc5672">RFC5672</a>.</p>
    <div>
      <h3>Domain-based Message Authentication Reporting and Conformance (DMARC)</h3>
      <a href="#domain-based-message-authentication-reporting-and-conformance-dmarc">
        
      </a>
    </div>
    <p>Domain-based Message Authentication Reporting and Conformance, that’s definitely a mouthful. Let’s focus on two words: <i>Reporting</i> and <i>Conformance</i>. DMARC provides exactly that. Regular reports let the email sender know how many emails are non-conforming and potentially spoofed. Conformance helps provide a clear signal to the email receiver how to treat non-conforming emails. Email receivers might impose their own policies for emails that fail SPF or DKIM checks even without a DMARC record. However, the policy configured on the DMARC record is an explicit instruction by the email sender, so it increases the confidence for email receivers what to do with non-conforming emails.</p><p>Here is the DMARC record for <code>cloudflare.com</code></p>
            <pre><code>_dmarc.cloudflare.com.   TXT   "v=DMARC1; p=reject; pct=100; rua=mailto:rua@cloudflare.com"</code></pre>
            <p>The DMARC TXT record is always set on the <code>_dmarc</code> subdomain of the email domain and — similar to SPF and DKIM — the content needs to start with <code>v=DMARC1</code>. Then we see three additional tags:</p><p>The policy tag (<code>p</code>) indicates how email receivers should treat emails that fail SPF and DKIM checks. Possible values are <code>none</code>, <code>reject</code>, and <code>quarantine</code>. The <code>none</code> policy is also called monitoring only and allows emails failing the checks to still be accepted. By specifying <code>quarantine</code>, email receivers will put SPF or DKIM non-conforming emails in the Spam folder. With <code>reject</code>, emails are dropped and not delivered at all if they fail SPF or DKIM.</p><p>The percentage tag (<code>pct</code>) can be used to apply the specified policy to a subset of incoming emails. This is helpful if you’re just rolling out DMARC and want to make sure everything is configured correctly by testing on a subset.</p><p>The last tag we can find on the record is the reporting URI (<code>rua</code>). This is used to specify an email address that will receive aggregate reports (usually daily) about non-conforming emails.</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4Vsly4zfa661vaySq9OFm5/f3eaa88003ea3ebce2a2e6822c63049b/unnamed3.png" />
            
            </figure><p>Above, we can see how DMARC works step by step.</p><ol><li><p>An email is sent with a From header containing <code>hannes@mycoolwebpage.xyz</code>.</p></li><li><p>The receiver queries SPF, DKIM and DMARC records from the domain <code>mycoolwebpage.xyz</code> to retrieve the required policies and the DKIM public key.</p></li><li><p>The receiver performs SPF and DKIM checks as outlined previously. If both succeed, the email is accepted and delivered to the inbox. If both SPF and DKIM checks fail, the DMARC policy will be followed and determines if the email is still accepted, dropped or sent to the spam folder.</p></li><li><p>Finally, the receiver sends back an aggregate report. Depending on the email specified in the <code>rua</code> tag this report could also be sent to a different email server which is responsible for that email address.</p></li></ol><p>Other optional tags and the complete DMARC specification is described in <a href="https://datatracker.ietf.org/doc/html/rfc7489">RFC7489</a>.</p>
    <div>
      <h3>A few numbers on the current adoption</h3>
      <a href="#a-few-numbers-on-the-current-adoption">
        
      </a>
    </div>
    <p>Now that we’ve learned what the problem is and how to tackle it using SPF, DKIM, and DMARC, let’s see how widely they’re adopted.</p><p><a href="https://dmarc.org/stats/farsight/dmarc/">Dmarc.org</a> has published the adoption of DMARC records of domains in a representative dataset. It shows that by the end of 2020, still less than 50% of domains even had a DMARC record. And remember, without a DMARC record there is no clear enforcement of SPF and DKIM checks. The study further shows that, of the domains that have a DMARC record, more than 65% are using the monitoring only policy (<code>p=none</code>), so there is a significant potential to drive this adoption higher. The study does not mention if these domains are sending or receiving emails, but even if they didn’t, a secure configuration should include a DMARC record (more about this later).</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/LZQMSYmzWUIFhTD2JfTuZ/46f5a4d4626ef5978449cc63ed3ce58a/image2-37.png" />
            
            </figure><p>Another <a href="https://www.dmarc360.com/dmarc-adoption-rate">report</a> from August 1, 2021 tells a similar story for domains that belong to entities in the banking sector. Of 2,881 banking entities in the United States, only 44% have published a DMARC record on their domain. Of those that have a DMARC record, roughly 2 out of 5 have set the DMARC policy to <code>None</code> and another 8% are considered “Misconfigured”. Denmark has a very high adoption of DMARC on domains in the banking sector of 94%, in contrast to Japan where only 13% of domains are using DMARC. SPF adoption is on average significantly higher than DMARC, which might have to do with the fact that the SPF standard was first introduced as <a href="https://datatracker.ietf.org/doc/html/rfc4408">experimental RFC</a> in 2006 and DMARC only <a href="https://datatracker.ietf.org/doc/html/rfc7489">became a standard</a> in 2015.</p>
<table>
<thead>
  <tr>
    <th>Country</th>
    <th>Number of entities</th>
    <th>SPF present</th>
    <th>DMARC present</th>
  </tr>
</thead>
<tbody>
  <tr>
    <td>Denmark</td>
    <td>53</td>
    <td>91%</td>
    <td>94%</td>
  </tr>
  <tr>
    <td>UK</td>
    <td>83</td>
    <td>88%</td>
    <td>76%</td>
  </tr>
  <tr>
    <td>Canada</td>
    <td>24</td>
    <td>96%</td>
    <td>67%</td>
  </tr>
  <tr>
    <td>USA</td>
    <td>2,881</td>
    <td>91%</td>
    <td>44%</td>
  </tr>
  <tr>
    <td>Germany</td>
    <td>39</td>
    <td>74%</td>
    <td>36%</td>
  </tr>
  <tr>
    <td>Japan</td>
    <td>90</td>
    <td>82%</td>
    <td>13%</td>
  </tr>
</tbody>
</table><p>This shows us there is quite some room for improvement.</p>
    <div>
      <h3>Enter: Email Security DNS Wizard</h3>
      <a href="#enter-email-security-dns-wizard">
        
      </a>
    </div>
    <p>So what are we doing to increase the adoption of SPF, DKIM, and DMARC and tackle email spoofing and phishing? Enter the new Cloudflare <i>Email Security DNS Wizard</i>.</p><p>Starting today, when you’re navigating to the <a href="https://dash.cloudflare.com/?to=/:account/:zone/dns">DNS tab</a> of the Cloudflare dashboard, you’ll see two new features:</p><ol><li><p>A new section called Email Security</p></li></ol>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4pY3PXTalaZ8MW18dHjfvK/7de935fceeb1ae55409442d8aaa388c8/7yW39Yx6BIcxLPOaHCJJkQHMCfihi6ZI1TeIw26hoYNslR0Dpm0E0A2QT7zA-78TWXvK_wAxbxcFdK815bu-2xx8046O5rOgVavTZLPT8k6pWoMMfSvjc0LDN5d8.png" />
            
            </figure><ol><li><p>New warnings about insecure configurations</p></li></ol>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/5mzRxukzm24D0TyFcRZl2m/c02c0c75777b33c3d90e62b63e3c8a28/image.png" />
            
            </figure><p>In order to start using the <i>Email Security DNS Wizard,</i> you can either directly click the link in the warning which brings you to the relevant section of the wizard or click <b>Configure</b> in the new <a href="https://dash.cloudflare.com/?to=/:account/:zone/dns/wizard">Email Security section</a>. The latter will show you the following available options:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2sB5AoCErbZ3TAUWdJ2cFS/151cf3fade55dae8f8378cd01e58b66f/HTcq6CITW8kzRBSoK23qWiekQRf2cfGwKp_aNoIcIdJOSw7ZeNXAoR3UtJ2-jZ9RDgweHIZQqrpDzLvy210kwRNjRT8lBeS1cUd0D4LLawcOJ_xT-6v4SY81-shQ.png" />
            
            </figure><p>There are two scenarios. You’re using your domain to send email, or you don’t. If you do, you can configure SPF, DKIM, and DMARC records by following a few simple steps. Here you can see the steps for SPF:</p><div></div>
<p></p><p>If your domain is not sending email, there is an easy way to configure all three records with just one click:</p>
            <figure>
            
            <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1cV5y3W01eHkbNU0DCj7kf/32138a1b15dd747a32012e976ac0992d/Azbl1cjgQw2_iThjg-8djR52IWooTAg9J5PJ-ak-TtZc3UnqMOLN9LqsKw1-mGyn5SsJ9mYzIth9IxWXjiLHnLHAFHetl6Fy1DIB0fXBLwQr3hXq2giVs52YNLNu.png" />
            
            </figure><p>Once you click <b>Submit</b>, this will create all three records configured in such a way that all emails will fail the checks and be rejected by incoming email servers.</p>
            <pre><code>example.com			TXT	"v=spf1 -all"
*._domainkey.example.com.	TXT	"v=DKIM1; p="
_dmarc.example.com.		TXT	"v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;"</code></pre>
            
    <div>
      <h3>Help tackle email spoofing and phishing</h3>
      <a href="#help-tackle-email-spoofing-and-phishing">
        
      </a>
    </div>
    <p>Out you go and make sure your domain is secured against email spoofing and phishing. Just head over to the <a href="https://dash.cloudflare.com/?to=/:account/:zone/dns">DNS tab</a> in the Cloudflare dashboard or if you are not yet using Cloudflare DNS, <a href="https://dash.cloudflare.com/sign-up">sign up for free</a> in just a few minutes on <a href="https://www.cloudflare.com/">cloudflare.com</a>.</p><p>If you want to read more about SPF, DKIM and DMARC, go check out our <a href="https://www.cloudflare.com/learning/dns/dns-records/dns-txt-record/">new learning pages</a> about email related DNS records.</p>
    <div>
      <h3>Watch on Cloudflare TV</h3>
      <a href="#watch-on-cloudflare-tv">
        
      </a>
    </div>
    <div></div><p></p> ]]></content:encoded>
            <category><![CDATA[Birthday Week]]></category>
            <category><![CDATA[DNS]]></category>
            <category><![CDATA[Phishing]]></category>
            <guid isPermaLink="false">4E0mWBBCnHvJIEih2BdQpk</guid>
            <dc:creator>Hannes Gerhart</dc:creator>
        </item>
    </channel>
</rss>