From 6ea6258a04927301e4464d7e12d2d066c6c17675 Mon Sep 17 00:00:00 2001 From: Tommy Date: Wed, 27 Jul 2022 03:13:52 -0400 Subject: [PATCH] Using Lokinet on Qubes OS --- content/os/Using Lokinet on Qubes OS.md | 68 ++++++++++++++++++++++++ static/lokinet.png | Bin 0 -> 35320 bytes 2 files changed, 68 insertions(+) create mode 100644 content/os/Using Lokinet on Qubes OS.md create mode 100644 static/lokinet.png diff --git a/content/os/Using Lokinet on Qubes OS.md b/content/os/Using Lokinet on Qubes OS.md new file mode 100644 index 0000000..0b36cfe --- /dev/null +++ b/content/os/Using Lokinet on Qubes OS.md @@ -0,0 +1,68 @@ +--- +title: "Using Lokinet on Qubes OS" +date: 2022-07-27 +tags: ['Operating Systems', 'Qubes OS', 'anonimity', 'privacy'] +author: Tommy +--- + +![Lokinet](/lokinet.png) + +[Lokinet](https://lokinet.org) is an Internet overlay network utilizing onion routing to provide anonimity for its users, similar to Tor network. This post will provide a quick (and non exhaustive) list of its [pros](#advantages) and [cons](#disadvantages) from an end user perspective and go over how to set it up on Qubes OS. + +## Advantages + +- Provides anonimity by removing trust in a service provider (as opposed to a traditional VPN) +- Better versatility than Tor by supporting any IP based protocols (Tor only supports TCP) +- Generally faster speed than the Tor Network + +## Disadvantages + +- Only works well on Debian-based distributions. The client for Windows has DNS Leaks, and support for macOS, Android, and other Linux distributions is experimental. +- Does not have a killswitch which could lead to accidental leaks +- Requires a user defined exit node (cannot use Stream Isolation like on the Tor network) +- DNS does not work when used as a ProxyVM on Qubes OS + +## Creating the TemplateVM + +As mentioned [above](#disadvantages), the Lokinet client only works well with Debian-based distributions. This means that our template will have to be one of the Debian-based ones, and I would highly recommend that you convert the official Debian template by the Qubes OS team into a KickSecure template to use as a base. KickSecure reduces the attack surface of Debian with a substantial set of hardening configurations, and a nice feature to go with an anonimity network like Lokinet is [Boot Clock Randomization](https://www.kicksecure.com/wiki/Boot_Clock_Randomization) which helps defend against [time-based denonymization attacks(https://www.whonix.org/wiki/Time_Attacks). You will only need the `kicksecure-cli` meta package (`kicksecure-gui` is unnecessary), and experimental services like `proc-hidepid`, `hide-hardware-info` and `permission-hardening` work just fine with the Lokinet client. [HardenedMalloc](https://www.kicksecure.com/wiki/Hardened_Malloc) and [LKRG](https://www.kicksecure.com/wiki/Linux_Kernel_Runtime_Guard_LKRG) do not cause any problem with Lokinet, either. + +Since DNS with Lokinet does not work if it is installed inside of a ProxyVM, we will need to have Lokinet running inside the same AppVM as the applications you intend to run. This is less than ideal, as a compromised AppVM could reveal your IP address. Beyond that, accidental leaks can happen, too. + +A potential solution to this problem is to set up an unbound server or firewall script redirecting all DNS traffic to the ProxyVM to its Lokinet DNS server at `127.3.2.1:53`; however, I have been unable to get it working. Another solution is to simply override the DNS server inside the AppVM to a custom DNS server, but this will make you stand out out and break `.loki` DNS resolution. Websites like [DNS leak test](https://dnsleaktest.com) can observe which DNS server you are actually using and potentially fingerprint you. For the same reason that you should not use custom DNS servers when connected to the Tor network, you really should not use a custom DNS server when connected to Lokinet. + +Start by importing the Oxen's PGP key: +`sudo curl --proxy http://127.0.0.1:8082 -so /etc/apt/trusted.gpg.d/oxen.gpg https://deb.oxen.io/pub.gpg` + +Then, add Oxen's Debian repository: +`echo "deb https://deb.oxen.io $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/oxen.list` + +Next, update the repositories: +`sudo apt update` + +If updates for your packages are found, **DO NOT** attempt to upgrade them directly. Instead, use the Qubes Updater to update the TemplateVM. + +When you are done, install `lokinet-gui` and `resolvconf`: +`sudo apt install lokinet-gui resolvconf` + +Note that you **must** install resolveconf to get DNS working. + +Next, edit `/var/lib/lokinet/lokinet.ini` and add the exit server you want to use: +`exit-node=exit.loki` + +Note that I am using `exit.loki` here, as it is the one mentioned in the [Lokinet documentation](https://docs.oxen.io/products-built-on-oxen/lokinet/exit-nodes). +There are some other exit servers listed on [probably.loki](http://probably.loki/wiki/index.php?title=Exit_Nodes) as well, and for your convenience, I will just copy-paste the here: + +- exit.loki (USA, run by Jeff) +- exit2.loki (USA, run by Jeff, same ip as exit.loki) +- xite.loki (Iceland, run by Loutchi) +- peter.loki (USA, run by peter) +- secret.loki (Netherlands, run by Secret) + +Finally, enable the `lokinet` service: +`systemctl enable lokinet` + +## Creating the AppVM + +Just create the AppVM as usual and you would be good to go. There are a few things to keep in mind though: +- You should probably set networking to use `sys-firewall`. I have tested using my ProtonVPN ProxyVM for networking, and DNS was not working. Besides, it makes litle sense to attempt such setup anyways, unless you are worried about accidental leaks or a compromised AppVM. +- You should give the AppVM the `network-manager` service so that it Lokinet can set up networking properly and get DNS working. \ No newline at end of file diff --git a/static/lokinet.png b/static/lokinet.png new file mode 100644 index 0000000000000000000000000000000000000000..449300608a79ff877e778ea9b09a9c8aba3181c1 GIT binary patch literal 35320 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௟td#98YJ#%DzGt_Q9jUyqYun9kK0w7Dz*9ViHJ7f<6G}h&E+a$?M0_B zObv06afUc4-;3<$9h-UMd>vcW=P*kADiEzRcx{Sao53@)CL77uDJGo(l+GJQ?Uv_~ z{h1O#39QpK(aD*!uS{QFm({1Hc3+>uIe<~131G_8)%95M2w(wjmmokRUph&P@vt8Z zozi^c@;*|{UqoF9w;b;l@;mE*2*z02%#7v1J+Ipb1G9KD`QP6&^i}8OGDI;hMFY!| zroP6Q6UItXyS9^wxyXc+8e~pj%*j@b`ztEo&$%lDJ1jL$xlc#r1rhkIsj)&mSqw&8 zN^a8_Q(VJ`<5kv0Mj$@oJyEj`I7@;Rgg0YPg-0jdkXeT_lF1G)qqGusU1YcQTpYNv zPHb`%+YorGMOcz1J?inM zQqR45dsTVQ^eo!M!4dkl!|lj2q=TB>)hbQC;c8jC^Lyt$gxnLDTV146U!4%0D&49*j%Fpak&6y#08M*ftm>QNRl8Fj6)-K; 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 KK7^`ThW&popr9WB literal 0 HcmV?d00001