Blog · Deliverability

Chat-Based DNS Change Approvals Are a Security Risk

No. Approving DNS changes over chat is not safe. Not because your colleagues are untrustworthy, but because the workflow itself has no way to verify that the person requesting the change, the person approving it, and the account making the change all belong to the same legitimate actor.

A compromised chat account can request a DNS change. A distracted admin approves it. Hours later your DMARC reports show authentication failures from an unexpected mail source, or a stranger starts receiving copies of your inbound mail. By the time you see the DMARC report, the DNS change has already done its damage.

The scenario that shows up most often in incident reports goes like this:

1. An attacker compromises a team member's chat account, usually through a phishing link or a reused password. 2. The attacker messages the DNS admin in the same channel, using context gathered from old conversations. They request a change to the MX record for a subdomain, claiming it is for a new marketing tool or a migration. 3. The admin checks the chat thread. It looks legitimate. The requester is in the same channel. The request is routine. They approve it. 4. The DNS provider updates the record. The change propagates. The attacker now receives copies of all mail destined for that subdomain, or can route outbound mail through the company's domain.

What the chat approval could not verify: whether the requester's chat account had been taken over, whether the claimed vendor actually needed those DNS settings, and whether the DNS provider account used for the change was accessed by the legitimate admin.

This is not a hypothetical. It is one of the more common paths for email hijacking that shows up in DMARC failure reports after the fact. DMARCFlow users who monitor their aggregate reports regularly will see unexpected mail sources appear in their authentication data before they hear about it from users.

Chat-based approvals create a false sense of security. They feel like a paper trail. The problem is that the trail does not connect to the actual infrastructure.

A proper approval workflow needs to establish a chain of custody that ties together:

- who requested the change - what system they requested it in - who approved it - what DNS account made the change - when the change was applied - when it was verified

Chat threads capture none of that. They capture a request and a yes/no, with no cryptographic link to the actual DNS record or the account that modified it.

Here is what that looks like in practice:

- The approver sees a chat message. They do not see the actual DNS record being modified. - The DNS provider logs show the change came from a specific account, but that account is not linked to the chat conversation. - If the change turns out to be malicious, there is no automated way to confirm who was actually in control of the chat account at the time of approval.

The result is approval theater. You have a record of saying yes. You do not have a record of what was actually changed, by whom, through what account.

A DNS change approval process does not need to be complicated. It needs to be connected. Here is what the minimum viable secure workflow looks like:

1. A ticketing system, not a chat thread

Every DNS change request goes into a ticket. The ticket has a defined format: what domain, what record type, what old value, what new value, what the change is for, and who requested it. Chat is not a substitute for this. A ticket creates an auditable record that can be correlated with DNS provider logs.

2. Role-based access at the DNS provider

The person who can approve a ticket is not the same person who can log into the DNS provider and make changes. Separation of duties means that even if one account is compromised, the change requires a second account to execute.

3. Correlation between the ticket and the DNS change

When the DNS change is made, the account used to make it should reference the ticket number. Most DNS providers do not do this natively. The workaround is to log the DNS account activity alongside the ticketing system activity, and check them against each other during incident reviews.

4. Automated verification after the change

After any MX, SPF, DKIM, or DMARC record is changed, an automated check should confirm that email authentication results are consistent with expectations. If they are not, an alert fires before the problem reaches users.

This is where DMARCFlow fits naturally. It is not the approval layer. It is the verification layer after the fact. If a DNS change breaks your DMARC alignment or starts generating unexpected DMARC failures, DMARCFlow catches that and alerts you, often before users start reporting problems. The DMARC report will show authentication results from a new source IP range before you have any other indication that a DNS change happened.

If your team approves DNS changes over chat today, the practical next step is to add one correlation step that most teams skip:

Before the DNS change is considered complete, check the DMARC report for the affected domain and confirm the authentication results look right. If you do not have DMARC reporting set up, that check cannot happen and you have no automated visibility into what a DNS change did to your email authentication.

If you use DMARCFlow, set up an alert for new authentication sources on any domain where DNS changes are common. That alert becomes your post-change verification step, regardless of what your approval workflow looks like.

The second step is to add a note to your DNS change request template: include the DNS provider account used to make the change. This creates the minimum link between the ticket and the actual infrastructure that chat approvals never provide.

Is it ever okay to approve a DNS change over chat? Only for trivial changes where the downside of getting it wrong is zero, like updating a TTL value. Anything touching MX, SPF, DKIM, DMARC, or CNAME records that points to an external service should go through a ticketing workflow with a verification step afterward.

Does two-factor authentication on the DNS provider fix this? It helps. If the DNS admin account is protected by 2FA, a compromised chat account alone cannot make changes. But 2FA does not solve the approval problem: who approves, and how is that approval linked to the actual change? That requires the ticket-level correlation described above.

What if we use a DNS provider with an API that requires a separate login from the main dashboard? That is a step toward proper separation of duties. The gap to close is still the link between the ticket and the API call. If your ticket system does not record the API session or the operator account used, you still cannot correlate a DNS change to a specific approval in a chat thread.

When an MX record is changed to point to a different mail provider, your DMARC reports will show authentication results from a new source IP range. DMARCFlow flags unexpected sources in aggregate reports and sends an alert, so even if you did not know the DNS change happened, you see the email authentication consequence within the report window.