Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against...

45
Anycast for the DNS Stéphane Bortzmeyer AFNIC [email protected] and Nishal Goburdhan Afrinic [email protected] 1 / 20

Transcript of Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against...

Page 1: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Anycast for the DNSStéphane Bortzmeyer

[email protected] and Nishal Goburdhan

[email protected]

1 / 20

Page 2: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

2 / 20

Page 3: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Unicast & Anycast

Unicast: send the message to a specific machineAnycast: send the message to any of the machines whichimplement a service (DNS, 6to4. . . )

In practice, used only when routing is used (not load balancersor VRRP). RFC 1546, 4786. . .

3 / 20

Page 4: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Why anycast?

Main reason: resilience against denial-of-service attacks.The big accelerator was the great attack against the root in2002.Others reasons: break the size limits of the NS record set.

First DNS deployments: AS 112 (RFC 6304) then the root.Today very common.

4 / 20

Page 5: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

General theory of operation

Several machines listen to the service IP addressRouters announce the service IP address in several placesRouting algorithm chooses the “closest”

Works with OSPF, BGP or others. On the Internet, we use BGP.

5 / 20

Page 6: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

More terminology

The machines behind a same service IP address areinstances of the same anycast cloud.

6 / 20

Page 7: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Let’s see

L.root-servers.net is widely anycasted.traceroute from several places to see the differentinstances of LAll the networks which go to the same instance are anattraction basin (watershed?)

Geographical note: the third largest river watershed in the worldis in Africa (Congo basin)

7 / 20

Page 8: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Name server identity

NSID queries (RFC 5001) allow to know the identity of thename server

dig +nsid @l.root-servers.net SOA .

Unformatted output. dig displays as “(h) (e) (r) (0) (1) (.) (l)(.) (r) (o) (o) (t) (-) (s) (e) (r) (v) (e) (r) (s) (.) (o) (r) (g)”

8 / 20

Page 9: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Name server identity

NSID queries (RFC 5001) allow to know the identity of thename server

dig +nsid @l.root-servers.net SOA .

Unformatted output. dig displays as “(h) (e) (r) (0) (1) (.) (l)(.) (r) (o) (o) (t) (-) (s) (e) (r) (v) (e) (r) (s) (.) (o) (r) (g)”

8 / 20

Page 10: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Name server identity

NSID queries (RFC 5001) allow to know the identity of thename server

dig +nsid @l.root-servers.net SOA .

Unformatted output. dig displays as “(h) (e) (r) (0) (1) (.) (l)(.) (r) (o) (o) (t) (-) (s) (e) (r) (v) (e) (r) (s) (.) (o) (r) (g)”

8 / 20

Page 11: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Name server identity

NSID queries (RFC 5001) allow to know the identity of thename server

dig +nsid @l.root-servers.net SOA .

Unformatted output. dig displays as “(h) (e) (r) (0) (1) (.) (l)(.) (r) (o) (o) (t) (-) (s) (e) (r) (v) (e) (r) (s) (.) (o) (r) (g)”

And from Abidjan?

8 / 20

Page 12: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Name server identity

NSID queries (RFC 5001) allow to know the identity of thename server

dig +nsid @l.root-servers.net SOA .

Unformatted output. dig displays as “(h) (e) (r) (0) (1) (.) (l)(.) (r) (o) (o) (t) (-) (s) (e) (r) (v) (e) (r) (s) (.) (o) (r) (g)”

And from Abidjan? (Old hostname.bind not suitable foranycast. Do you see why?

8 / 20

Page 13: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Name server identity

NSID queries (RFC 5001) allow to know the identity of thename server

dig +nsid @l.root-servers.net SOA .

Unformatted output. dig displays as “(h) (e) (r) (0) (1) (.) (l)(.) (r) (o) (o) (t) (-) (s) (e) (r) (v) (e) (r) (s) (.) (o) (r) (g)”

And from Abidjan? (Old hostname.bind not suitable foranycast. Do you see why? See also http://tools.ietf.org/id/draft-jabley-dnsop-anycast-mapping

8 / 20

Page 14: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Deploying anycast

General warningAnycast is much better when you monitor the service and shutdown the routing announce when the DNS server is down

DNSISUP=$(dig @$ANYCASTSERVICE $MYDOMAIN SOA +short)if [ "$DNSISUP" != $GOODANSWER ];thenecho "Stopping Anycast...."

/etc/init.d/bgpd stopfi

9 / 20

Page 15: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Deploying anycast, IGP

(IGP = Internal Gateway Protocol like OSPF)

Useful for recursive name servers (client-based fallback istoo slow for a serious service)Also to implement load-sharing on authoritative servers

http://www.netlinxinc.com/netlinx-blog/45-dns/122-anycast-dns-part-4-using-ospf.html

10 / 20

Page 16: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Deploying anycast, IGP

(IGP = Internal Gateway Protocol like OSPF)Useful for recursive name servers (client-based fallback istoo slow for a serious service)

Also to implement load-sharing on authoritative servers

http://www.netlinxinc.com/netlinx-blog/45-dns/122-anycast-dns-part-4-using-ospf.html

10 / 20

Page 17: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Deploying anycast, IGP

(IGP = Internal Gateway Protocol like OSPF)Useful for recursive name servers (client-based fallback istoo slow for a serious service)Also to implement load-sharing on authoritative servers

http://www.netlinxinc.com/netlinx-blog/45-dns/122-anycast-dns-part-4-using-ospf.html

10 / 20

Page 18: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Deploying anycast, IGP

(IGP = Internal Gateway Protocol like OSPF)Useful for recursive name servers (client-based fallback istoo slow for a serious service)Also to implement load-sharing on authoritative servers

http://www.netlinxinc.com/netlinx-blog/45-dns/122-anycast-dns-part-4-using-ospf.html Better touse VRRP? Depends on your topology.

10 / 20

Page 19: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Configuration on the name server

None! Just listen on the service IP addressAnd add the monitoring as seen above

11 / 20

Page 20: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Configuration on the name server

None! Just listen on the service IP address

And add the monitoring as seen above

11 / 20

Page 21: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Configuration on the name server

None! Just listen on the service IP addressAnd add the monitoring as seen above

11 / 20

Page 22: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Deploying anycast, EGP

(EGP = External Gateway Protocol, today only BGP)

For authoritative name serversResiliency is paramount for DNS service (Microsoft’sfailure two days ago. . . )

12 / 20

Page 23: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Deploying anycast, EGP

(EGP = External Gateway Protocol, today only BGP)For authoritative name servers

Resiliency is paramount for DNS service (Microsoft’sfailure two days ago. . . )

12 / 20

Page 24: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Deploying anycast, EGP

(EGP = External Gateway Protocol, today only BGP)For authoritative name serversResiliency is paramount for DNS service (Microsoft’sfailure two days ago. . . )

12 / 20

Page 25: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

BGP with Quagga

router bgp 112bgp router-id x.y.z.tnetwork 192.175.48.0/24neighbor a.b.c.d remote-as xxxxneighbor a.b.c.d prefix-list all inneighbor a.b.c.d prefix-list as112-out out

Yes, that’s all!https://www.as112.net/as112-centos.htmlhttp://netlinxinc.com/netlinx-blog/45-dns/125-anycast-dns-part-5-using-bgp.html

13 / 20

Page 26: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Other routing software

For OpenBGPD seehttps://www.as112.net/as112-freebsd.html

For BIRD, see http://vincent.bernat.im/en/blog/2011-dns-anycast.html

14 / 20

Page 27: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Origin AS?

Two schools of thought: one unique AS (to bind them all :-)Or one AS per instance (RFC 6382 )Some use one unique origin but add an AS per site in thepath (you need a lot of AS numbers but Afrinic allows it)

15 / 20

Page 28: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Origin AS?

Two schools of thought: one unique AS (to bind them all :-)

Or one AS per instance (RFC 6382 )Some use one unique origin but add an AS per site in thepath (you need a lot of AS numbers but Afrinic allows it)

15 / 20

Page 29: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Origin AS?

Two schools of thought: one unique AS (to bind them all :-)Or one AS per instance (RFC 6382 )

Some use one unique origin but add an AS per site in thepath (you need a lot of AS numbers but Afrinic allows it)

15 / 20

Page 30: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Origin AS?

Two schools of thought: one unique AS (to bind them all :-)Or one AS per instance (RFC 6382 )Some use one unique origin but add an AS per site in thepath (you need a lot of AS numbers but Afrinic allows it)

15 / 20

Page 31: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Hesitant?

Yes, anycast is not obviousStart with something less critical: host an instance ofAS112! https://www.as112.net/

16 / 20

Page 32: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Hesitant?

Yes, anycast is not obvious

Start with something less critical: host an instance ofAS112! https://www.as112.net/

16 / 20

Page 33: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Hesitant?

Yes, anycast is not obviousStart with something less critical: host an instance ofAS112! https://www.as112.net/

16 / 20

Page 34: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Monitoring anycast

RIPE Atlas probes: a friendly botnet of 4 500 small probesin the worldRIPE stat: a lot of information about routinghttp://stat.ripe.net/

17 / 20

Page 35: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Monitoring anycast

RIPE Atlas probes: a friendly botnet of 4 500 small probesin the world

RIPE stat: a lot of information about routinghttp://stat.ripe.net/

17 / 20

Page 36: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Monitoring anycast

RIPE Atlas probes: a friendly botnet of 4 500 small probesin the worldRIPE stat: a lot of information about routinghttp://stat.ripe.net/

17 / 20

Page 37: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Buying anycast

There are also several providers who lease you anycast hostingservices.

18 / 20

Page 38: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Buying anycast

There are also several providers who lease you anycast hostingservices. You still have to monitor and to check (in one africancountry, the provider claimed they have an anycast instance inthe country, which was false)

18 / 20

Page 39: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Catching fire

(Thanks to S. Collins)

Better resilience against dDoSAttack is contained in one attraction basin (local attacksstay local)

19 / 20

Page 40: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Catching fire

(Thanks to S. Collins)Better resilience against dDoS

Attack is contained in one attraction basin (local attacksstay local)

19 / 20

Page 41: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Catching fire

(Thanks to S. Collins)Better resilience against dDoSAttack is contained in one attraction basin (local attacksstay local)

19 / 20

Page 42: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Conclusion

A technology now matureWhich seriously improves DNS quality and resiliency

20 / 20

Page 43: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Conclusion

A technology now mature

Which seriously improves DNS quality and resiliency

20 / 20

Page 44: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

Conclusion

A technology now matureWhich seriously improves DNS quality and resiliency

20 / 20

Page 45: Anycast for the DNS - bortzmeyer.org · Why anycast? Main reason: resilience against denial-of-service attacks. The big accelerator was the great attack against the root in 2002.

[email protected]

Merci !