static versus dynamic nature of DNS: rate limiting
Meng Weng Wong <[email protected]> Sun, 22 Feb 2004 12:19:31 -0500
| Newsgroups | gmane.ietf.asrg.smtpverify |
|---|---|
| Message-ID | <[email protected]> |
On Sun, Feb 22, 2004 at 10:30:52AM +0100, Hadmut Danisch wrote: | | - That's one reason why I came to the conclusion that static | authorization records are too limited. *We need dynamic records* | to allow such policies as described above. E.g. to allow your | machine to directly deliver not more than 20 mails to the world. | | This can't be implemented with DNS. | | With the current proposals like current-state-RMX, DMP, SPF, | Microsoft's CallerID, you're lost in the scenario you describe. | | Dynamic authorization or moving the evalution from the MTA to the | authorization server allows to instantly detect such an intrusion. Traditionally, DNS data has been served from a static source: the zone file. But the DNS protocol itself is not inherently static. If you set the TTL low enough, you can (mostly) defeat caching and begin to approximate dynamic lookups. In the early days of the web, everything was static: web servers just pushed out .html and .gif content. Then CGI came along, and mod_perl came along, and today dynamically generated web pages are fast becoming the norm. If DNS wants to take that step, there is nothing to stop it; people have written custom DNS servers to serve dynamic responses. A custom DNS server can implement precisely the kind of rate-limiting that you described. A few months back, SPF added the "exists" mechanism and the macro capability. When that happened, I had the feeling that people would combine these features in powerful ways. And sure enough, they did: http://archives.listbox.com/[email protected]/200401/0118.html In that message, Philip Gladstone, who originally proposed the macro feature, describes the use of an "exists" directive that talks to his custom DNS server. His server keeps track of the number of messages sent from a given IP in a day, and returns an allow/deny accordingly. It is a proof of concept that shows that you *can* teach an old DNS new tricks. cheers meng