this post was submitted on 21 Jul 2023
1462 points (98.9% liked)

Technology

59587 readers
3197 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 81 points 1 year ago* (last edited 1 year ago) (14 children)

Hi, professional DNS engineer here! if anyone has any questions about the inner workings of DNS or top level domains, ask away! (THIS IS MY MOMENT)

[–] [email protected] 14 points 1 year ago (3 children)
[–] [email protected] 6 points 1 year ago

Because its always DNS

[–] [email protected] 6 points 1 year ago

Because DNS is the user-facing part of the whole system. There is plenty of trouble with everything else, but you usually don't see that as a user. Also it's a hierarchical system with big providers/governments giving and taking names as they see fit, so there is always the possibility to get screwed.

[–] [email protected] 5 points 1 year ago

Because it's the least-likely position to be staffed by a company. It's the "least important" person to have.... until it breaks. Often a company relies on routing-switching engineers to do DNS instead of hiring a dedicated DDI engineer (DNS, DHCP, IPAM). It saves money in the short term, but when shit hits the fan... no one knows how to fix it because DNS is really easy until it's not. DNS is super simple at a basic level. But it goes way deeper than most people realize.

[–] [email protected] 6 points 1 year ago (2 children)

Well that sounds like my dream job, unfortunately this issue in particular is more of a Lemmy problem, not a DNS problem. See: https://lemmy.nrd.li/comment/190200 for the explanation of why you cant just transfer domains with Lemmy.

[–] [email protected] 9 points 1 year ago* (last edited 1 year ago) (2 children)

Also, if you're genuinely interested in this field, first you should enter the world of enterprise network engineering. Get Security +, CCNA, and PCNSA. With those certs in hand (and knowledge in your brain), apply to jobs as a network support engineer. Do the work for a few years. Learn BIND. Learn Infoblox. Focus on learning DHCP and subnetting. Learn DNSSEC & IPv6. Experiment with a Pi Hole. Set up a home lab. Apply to jobs with DNS. Start living the good life. This takes about 10 years if you learn fast and are good at interviews.

[–] [email protected] 1 points 1 year ago

I only just now saw this post, the last month i have already been going all out to learn everything that i need for my Security+ (then CySec+) i have a 30hr video course im part way thorugh, and ive set up a few VMs with various servers like OWASP Security Shepherd and Dam Vunurable Web App for some more hands on experience as well as testing on my personal production Nextcloud and Jellyfin servers and ive been having alot of fun with it all, i think im pretty solid with DHCP and subnetting already through my home networking adventures. I will look into each of those other Certs and each thing you mention to learn thank you! Ive been deep into various Linux systems since about 2008 and im hoping to leverage that as much as i can(although its left me with a lack of modern Windows experience).

Thank you so much for all the tips! I feel some good things coming as im getting into this as work.

[–] [email protected] 1 points 1 year ago (1 children)

I left my job as a network engineer to do DDI and it's been a blast. A lot more to DNS than I could have imagined.

Also, a cat explains DNS.

[–] [email protected] 1 points 1 year ago

Here is an alternative Piped link(s): https://piped.video/4ZtFk2dtqv0?si=uSI3Rzzh49cN_Yl5

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source, check me out at GitHub.

[–] [email protected] 3 points 1 year ago

Ah, thanks for the info! I have no idea how Lemmy stuff works. I only became aware of Lemmy last month.

[–] [email protected] 6 points 1 year ago (1 children)

When I was talking my cyber security / ethical hacking class, we learned how to do zone transfer. The concept never stuck and I basically "copy" from my friend. So what exactly is a DNS Zone Transfer?

[–] [email protected] 5 points 1 year ago (1 children)

Friday I was doing a zone transfer! What are the odds?

A zone transfer is like moving houses, except for an authoritative zone.

In DNS, we have what's called an authoritative zone. That means the device hosting the "resource records" (all the data that DNS passes around) is the "ultimate" answer. I.e, it's not cached data. It's not a hosts file. It's not a recursive answer. It's the real deal.

When you want to move the authoritative zone to another server, you do a "zone transfer" that means the new server will copy all the resource records over TCP from current authoritative zone. The reason you may want to do this instead of manually hand-jamming it is that many large organizations have, sometimes, hundreds of resource records (last month I coordinated a zone transfer that was over 1000 records!).

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

Why would a hacker want to conduct a zone transfer? In otherwords, what is the utility or usefulness of a zone transfer for a hacker (black or white hat)?

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago)

If you initiate a zone transfer, you can now claim to be authoritative for a zone. That means you can be a 'bad actor' DNS server that serves fake records. In practice, this means that you can redirect people to an attack site.

Let's say you're Joe the Random Internet User and you want to go to lemmy.world This is what happens in a non-attack (we're skipping caching & non-authoritative answers for brevity):

  1. You type "lemmy.world" into your browser
  2. Your computer initiates a stub resolution for lemmy.world. (the trailing dot here isn't a period. It's the "true" FQDN)
  3. Computer looks at hosts file and doesn't see anything
  4. DNS packets are sent to your configured DNS server. If you don't have one configured, DHCP already configured it for you
  5. Your DNS server performs a recursive search for world by asking the root zone where the "world" Name Serer is
  6. root zone resolves world as:

world. 3600 IN NS v0n0.nic.world.

world. 3600 IN NS v0n1.nic.world.

world. 3600 IN NS v0n2.nic.world.

world. 3600 IN NS v0n3.nic.world.

world. 3600 IN NS v2n0.nic.world.

world. 3600 IN NS v2n1.nic.world.

  1. Your DNS server reaches out to one of those Name Server's (That's what the NS record is for) and asks it where "lemmy" is
  2. world Name Server responds with:

lemmy.world. 300 IN A 172.67.218.212

lemmy.world. 300 IN A 104.21.53.208

  1. Your DNS server contacts your computer and serves it those IP addresses. (A record's are domain name to IP Address)

Now lets say there's a DNS spoof attack:

  1. Before the "world" server can get back to your DNS server, the hackers server interjects with it's own authoritative claim that lemmy is here:

lemmy.world. 300 IN A [attack site IP]

  1. Your DNS server contacts your computer and serves it that IP address. Your computer then contacts the attack site and you get a virus.
[–] [email protected] 5 points 1 year ago (1 children)

What's the point of alternative DNS roots? Can they be a thing to mitigate DNS related failures (though lemmy.ml is back online, so I guess that wasn't it)?

[–] [email protected] 22 points 1 year ago (1 children)

An alternative DNS root is where someone other than IANA sets up a root zone. At the end of the day, root zone authority is technically not "hard coded". It's a terrible idea to set up an alt root or to use one for these reasons:

  1. Security. This is the biggest one. DNSSEC works via setting up Trust Anchors with the root zone and chaining down the tree all the way to the recursive DNS server. DNSSEC doesn't work if anyone in there doesn't have a trust anchor for the root zone. Additionally, if that root zone is untrustworthy, you can effectively have DNS poisoning happen at the root level. Imagine having two google.com's based on which root zone (and therefore walking two separate trees) you ask.
  2. It encourages dividing the internet. The two largest Alt zones are Russia's (RNDNS) and China's (.chn). RNDNS exists as a continuity plan in case the rest of the world decides to cut them off of the internet. China's is part of a hare-brained plan to "reinvent the internet under IPv9" (an idiotic plan that sounds even more crazy than Iran's supposed "quantum computer")
  3. Pointing to a different root zone can cause a lot of headaches for diagnosing DNS issues when they aren't coming down from the same root zone. It can cause different answers (and a parallel tree).

To answer your second question, they are not good for acting as a way to mitigate DNS failures. No domain servers are going to be asking them in the first place, meaning no one can get there even if it does have the "correct" answer. If all 13 root servers went down simultaneously, the results would be catastrophic. But that's also why they're physically located around the world in many different countries in heavily secure facilities with many High-Availability servers (clone servers that instantly take over if there's a failure, the ultimate "hot" server)

You wouldn't want to have a DNS server ask two root zones anyway. If it can't reach the root zones, then that needs to be addressed. You can't just ask a "less secure" server in case the primary doesn't work. That's just begging for a security breach via cutting off access to the primary root zones so that they "fail over" to the less secure ones.

[–] [email protected] 6 points 1 year ago

Thank you for such a detailed and instructive answer!

[–] [email protected] 5 points 1 year ago (2 children)
  1. Could users set a temporary entry in their hosts file pointing the .ml domains to public IPs in order to regain access to their account if they needed to?

  2. Can Lemmy federate to an IP address directly or will the settings only accept an fqdn?

  3. Will a Lemmy instance work behind a reverse proxy.

Thanks for taking the time to answer questions.

[–] [email protected] 5 points 1 year ago

There are several problem with this including total lack of SSL without the proper cert for that other domain, also Lemmy.ml's IP seems to be running a reverse proxy so the internal IP that we would want to connect to is not visible to the world this is common for web security, the owners must set allowed domains and ports in their config file.

If none of that was a problem Lemmy itself does not do well with changing domains, as highlighted here: https://lemmy.nrd.li/comment/190200

[–] [email protected] 5 points 1 year ago
  1. Yes. Unless there's some kind of crazy domain-level hi-jinks involved with Lemmy (I am not versed in Lemmy), pointing directly to the IP will work if you bypass it by spoofing your DNS (Hosts file, for example).
  2. I don't know how Lemmy federation works, sorry :(
  3. See #2

Sorry that I couldn't answer more of your questions.

[–] [email protected] 5 points 1 year ago

Woot we're saved.

[–] [email protected] 4 points 1 year ago (1 children)

Hi! When DNS servers are launched, they have to be purchased, correct? So in this case, did Mali file for the domain to be reclaimed somehow? Do you have an idea how that might work?

[–] [email protected] 5 points 1 year ago (1 children)

I can answer this. The organization that says mali owns .ml gives the ownership country a lot of sway.

So if the country of mali were to reach out formally to the organization and say "hey this domain violates our laws" they would take that very seriously and then work with the registrar & authoritative nameserver owner to handle the situation.

I'm sure this isn't 100% accurate but 90-95 based on my work in a web hosting company

[–] [email protected] 4 points 1 year ago

It's a little stronger than that. The country gets the final say on where the root zones point to when it comes to their assigned country code. Many countries employ private organizations to handle their TLD. They aren't supposed to be paid for that though. (But it 1000% happens under the table)

[–] [email protected] 4 points 1 year ago (2 children)

So why do we need the .com or .org or whatever at all? And the www. as well?

I remember when I had to type the whole http://www.cakefarts.com and now just cakefarts.com works. What changed? And what's next?

[–] [email protected] 7 points 1 year ago (2 children)

The ".com" and ".org" and all other Top Level Domains are owned/controlled by some organization.

Com and org are your original TLDs, so since they were around first you see them everywhere. At some point countries got their own TLDs so Mali got "ml" for example but Tuvalu got "tv". (Yes, technically ".tv" has nothing to do with television.) And a few years back there was open bidding for a bunch of new TLDs which is where ".sport" or ".dentist" come from.

Anyone some entity owns/controls them and then can sell any word or domain under it. So if you want "greatgatsby.com" you have to talk to the ".com" owners. If you want "greatgatsby.sport" you talk to the ".sport" owners. Usually there is another company or agreement that groups these together so you can manage all your domains in one place.

So anyways now you own a domain like "greatgatsby.sport", what do you want to host? Mail at "mail.greatgatsby.sport"? A website at world wide web aka "www.greatgatsby.sport"? Up to you.

Over time, largely by convention "www" became where you put your website.

From there you have two options, you can setup a redirect from "http://greatgatsby.sport" to "http://www.greatgatsby.sport" or you can do a little hosting "trick" and just make "http://greatgatsby.sport" return your website.

[–] [email protected] 6 points 1 year ago (1 children)

So say I want a ".travel", who actually makes and sells these? Is it a private company? A country? An independent entity who's sole purpose it is to keep domains and the interwebs alive?

[–] [email protected] 1 points 1 year ago (1 children)

The last one, ICANN is the name of the organization. It's reasonable to argue they are actually the first one. Also they are based in the US, so technically the country answer also apply. HOWEVER they are suppose to be independent.

Also since you want ".travel" that's a common enough word that it is probably already owned by an entity, so you would probably have to buy it from them.

However let's say you wanted ".tchotchony" which I feel confident saying doesn't exist yet. As far as I know ICANN is not regularly taking applications for new TLDs, so you probably can't have it. Although realistically if you have enough money, you can.

[–] [email protected] 2 points 1 year ago

Well, it's not just a money issue. There's also the "are you knowledgeable, responsible, and have DNS engineers on staff" problem. If you own your own TLD, it means you can talk directly to the root zone. You could theoretically DDOS the root zone servers and cause them to crash. They would, of course, just revoke your TLD permanently & it wouldn't really cause any noticeable disruption to the rest of the internet. You could also allow attack domains or shady websites. Maybe it could be used to pretend to be another site. Imagine owning ".conn" that would be a premium attack site TLD because it looks like "com". There's lots of other issues too.

[–] [email protected] 3 points 1 year ago

Btw, .com is owned by the US Department of COMmerce. .org is owned by a non-profit organization called "Public Internet Registry"

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago)

To answer your other question: most likely, www.cakefarts.com is now accessible from cakefarts.com for one of three reasons:

  1. Your web browser automatically checks the A record "www" if "cakefarts.com" doesn't have an A record. A records are the records in a DNS server that says "this domain goes here"
  2. The site cakefarts.com put their website on cakefarts.com and placed a CNAME record called "www" that points to cakefarts.com
  3. cakefarts.com has an APEX record that points to www.cakefarts.com

For the 'record', www is just a really common record name. There's nothing special about it. You could have dudebro.cakefarts.com or wwwwwww.cakefarts.com. It's up to the domain owner.

[–] [email protected] 4 points 1 year ago (2 children)

So, how some companies get right to sell TLDs? Can I start selling TLDs nowdays? It's just that they were there first and get all top level domains and now we have to pay for it?

Thanks in advance.

[–] [email protected] 4 points 1 year ago

They paid a huge amount of money to get a TLD

[–] [email protected] 2 points 1 year ago

Companies don't/can't sell TLD's. Only IANA can decide those. When the internet first started, .org, .net, .com etc. were handed out to non-profit organizations and the costs were purely to keep the servers running. Eventually though, when IANA decided to hand out country codes like .io (Indian Ocean), .cat (Catalonia) or .tv (Tuvalu), those countries rent their "desirable" names to private organizations that sell domain registrations for lots of money. In 2013, IANA decided to enact the gTLD auctions to help raise more money. Basically, if you wanted to (and had a lot of money & DNS engineers on staff), you could register any TLD you want provided you were willing to make a large donation to IANA. If someone else wanted it, they had to go into an action war over it. That's how we ended up with things like .party or .sport or .world cough Now-a-days, if you want a TLD, you'd have to convince IANA to give you one.... But good luck with that. They won't give you one unless you're some major corporation that can actually handle it. They also just don't give them out. Usually it's only when they really feel like more TLD's are needed. It's a very serious responsibility and mismanagement could accidentally DDOS a DNS root zone & impact the internet.

[–] [email protected] 4 points 1 year ago

Why is it always dns

[–] [email protected] 3 points 1 year ago

We had a situation at a shared space here where an OpenWRT client device accidentally somehow managed to announce itself into the network in a way that its v6 local link address (fe80::) got inserted into /etc/resolv.conf as a third DNS option (with the first two being the ones from DHCP) and then served incorrect records when queried. What mechanism is that and were the engineers who designed that feature on drugs? Also, how can I tell my Linux system to not accept such announcements?

[–] [email protected] 3 points 1 year ago (1 children)

How does the TLD get reclaimed? I'm assuming whoever was previously the "owner" of the .ml tld was on board and Mali didn't just come along and snatch it away?

[–] [email protected] 14 points 1 year ago* (last edited 1 year ago)

So here's the thing about TLD's, ownership of them is determined by IANA (Internet Assigned Numbers Authority). They're basically my career's gods. If they tell me to jump, I ask "how high". They control the DNS root zone. Effectively, that's the actual top-level of ALL domains. If they decide to remove a TLD or reassign it, all you can do is lodge a complaint straight to their shredder. They're owned and operated by ICANN, a non-profit organization.

Back in 2013, Mali allowed a private Netherlands company to "manage" (rent) their TLD, .ML Recently, that company (Freenom) got sued by Meta. Even though I don't really like Meta, as a network engineer, I don't like Freenom even more. They turn a blind eye to bad actors on the internet, refuse to investigate hackers/scammers/DDOSers, and generally refuse to play ball. They are a huge pain in the ass. Due to the lawsuit, IANA reassigned ML to Mali since they asked for it. At the end of the day you "cant" sell a country-level TLD. Mali was renting it to Freenom under the table. This happens a lot and IANA usually just looks the other way. .io for example is the freakin' Indian Ocean.

So yeah, Mali didn't "snatch" it. They just asked IANA to reassign it and there isn't shit Freenom can do about it since they never "really" owned it in the first place.

[–] [email protected] 2 points 1 year ago

Why is it always DNS?