I’m not tech savvy and have noticed that many streaming sites are .ru, and as someone located in Finland, I want to make sure if they are dangerous to use.

  • Nougat@fedia.io
    link
    fedilink
    arrow-up
    18
    arrow-down
    6
    ·
    edit-2
    6 months ago

    Something which has not been mentioned yet - Russia controls DNS resolution for any .ru site, and here’s how that works:

    When you browse, say, www.yandex[.]ru, your computer needs to know the IP address of a server that hosts that site. Let’s say you are not using an ISP or public DNS server to get your name resolution from DNS hostname to IP address. (All of the following is essentially still what happens, just with a less complicated explanation.)

    First, your computer contains a list of root DNS servers. Every DNS query starts with a root server, and those root servers are associated with the often-excluded ‘.’ at the end, like “www.yandex[.]ru**.**” - that trailing dot at the end always exists, we just don’t type it.

    The root server says, “Here’s a DNS server which is authoritative for the .ru top-level domain, go ask them.”

    Then your computer asks the .ru DNS server where to find www.yandex[.]ru, and the .ru DNS server says “Here’s the server that is authoritative for the “yandex” subdomain under .ru, go ask them where their “www” host is.”

    Then your computer asks the yandex[.]ru DNS server where to find www.yandex[.]ru, then that DNS server says “Here’s the IP address that goes with that hostname,” and your computer asks the server at that IP for the website.

    Again, Russia controls DNS resolution for anything at .ru. All they would need to do for any subdomain beneath .ru is provide their own authoritative DNS server for yandex[.]ru - or for any other whatever[.]ru DNS name. They could then redirect all browsing traffic to anything under .ru to anything they wanted.

    Those FBI takedown pages? This is exactly how that is done. The FBI doesn’t reconfigure a server at the “correct” IP; they redirect DNS for the subdomain to their own IP and own web server in order to display the takedown page. That operation is performed within legal limits, but from a technical perspective, such an operation could just as easily happen outside of legal limits, especially when the party trusted to properly respond to DNS queries is Russia.

    tl;dr: Russia can very easily redirect any traffic to any .ru site to anywhere they want.

    • sunzu@kbin.run
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      6 months ago

      tl;dr: Russia MITM can very easily redirect any traffic to any .ru site to anywhere they want.

      • Nougat@fedia.io
        link
        fedilink
        arrow-up
        7
        arrow-down
        4
        ·
        6 months ago

        Yes, that’s true, but more generally speaking, an external attacker would need to first gain access. The governments who control their national TLDs already have that access. Could the UK do the same thing with the co.uk TLD? They could, but the UK government seems more trustworthy on that point than does the Russian government.

        OP asked specifically about the “safety” of .ru sites. I answered that question in that context.

        • sunzu@kbin.run
          link
          fedilink
          arrow-up
          6
          ·
          6 months ago

          I don’t disagree, I am mainly pointing out that anyone who controls your DNS is mitm, so people understand that they aren’t much safer.

          Just picking your poison here.

          Also, I don’t have much faith in our government anymore than russia’s

    • Cyborganism
      link
      fedilink
      English
      arrow-up
      2
      ·
      6 months ago

      Huh. I guess I didn’t fully understand how DNS works.

      My understanding was that DNS servers propagated their listing to other DNS servers and you just had to point your computer to the one you want and it would just query that one. And if a URL can’t be found, then it’s probably because

      A) it doesn’t exist

      B) it exists but hasn’t been fully propagated yet

      C) the DNS server listing is outdated

      • Nougat@fedia.io
        link
        fedilink
        arrow-up
        3
        arrow-down
        1
        ·
        edit-2
        6 months ago

        I’ll throw some more detail, still working from the “your computer” side.

        Your computer is almost certainly configured with a couple of DNS server IP addresses, belonging either to your ISP, or to some publicly available DNS server. When you’re going to www.hotmail[.]com, your computer just asks a DNS server that it is configured to ask - it doesn’t go to a root server (although it could, every computer is configured with root server IPs).

        But even before that, your computer first looks to its HOSTS file. That’s a local file that contains manually configured matches between DNS hostnames and IP addresses. Under normal circumstances, this HOSTS file would be empty, but it’s there. Side note: DNS (Domain Name System) is what replaced HOSTS files. Prior to DNS, a university network (for example) would distribute a hosts file for everyone to put on their computer, and that was it.

        Okay, www.hotmail[.]com isn’t in my hosts file, what next? Not a DNS server yet - next your computer will look to its local cache. You visited www.hotmail[.]com a couple hours ago, you haven’t rebooted yet, computer looks in its local cache and uses whatever it finds there.

        Not in the local cache? Now your computer asks the DNS server its configured to ask for everything. That DNS server has its own cache, so if anyone has asked it for www.hotmail[.]com recently, it already has it, and returns an answer to your query.

        If that DNS server doesn’t have the entry cached, it may be configured with forwarders. This essentially means “If I, a DNS server, don’t have a listing in my own cache, I will always pass the query to my forwarder instead of going to a root server.” There may be multiple layers of this kind of behavior, maybe the next DNS server even knows who’s authoritative for hotmail[.]com, and says “go ask them.”

        The last word, though, is always the root servers. Root DNS servers are authoritative for ‘.’ and they contain lists of TLDs and the DNS servers authoritative for those.

        Another thing to be aware of is that if a computer doesn’t have an IP address for a particular hostname (and it is not configured with a DNS server to ask for everything), it only returns “go ask this other DNS server” to the computer making the query, and then that computer goes and makes the full query to that DNS server.

        It is also important to make sure that the DNS server(s) your computer is configured to use are themselves trustworthy. “Dan’s Totally Not Sketchy I Promise Public DNS Server” could very easily be configured to believe it is authoritative for the hotmail[.]com domain, and hand you whatever IP address it is configured to hand out from its own “Totally Authoritative I Promise” zone file.

        And I forgot about TTL (Time To Live). TTL is measured in milliseconds, and generally speaking, only gets as short as fifteen minutes. If a cached record is older than the TTL, then the DNS server (or your local cache) will discard it and go ask for a fresh one. This does not apply to hosts file entries, or to static entries in an authoritative DNS zone file; those never expire.

        • catloaf@lemm.ee
          link
          fedilink
          English
          arrow-up
          2
          ·
          6 months ago

          DNS TTL is in seconds. And it’s frequently ignored, where caching DNS servers make their own decisions.