mirror of
http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/blog-contributions.git
synced 2025-07-02 06:36:40 +00:00
Fixed according to comments
This commit is contained in:
parent
60c06ef68d
commit
e23b0ec35d
4 changed files with 79 additions and 58 deletions
|
@ -83,7 +83,7 @@
|
|||
<p>Qubes OS is designed to have a basket of different VMs with different <b>trust level</b>, and has a very easy menu in GUI to manage the network of these VMs. Qubes OS also has built-in firewall function to stop unexpected leaks. In short, it is less likely for you to make mistakes in Qubes</p>
|
||||
<p>For example if you want to have many different network configs like below link to satisfy your different online identities, Qubes OS is the right tool.</p>
|
||||
<p><a href="../internetsegmentation/index.html">Theories about building up your online identities</a>. Check this theory about online identities, with Qubes OS you can easily build up chains of vm for doing whatever you want, for example different combination of vpn/proxy/tor</p>
|
||||
<img src="qubes-trust-level-architecture.png" class="imgRz" style="width: 600px">
|
||||
<img src="qubes-trust-level-architecture.png" class="imgRz">
|
||||
<p>A image that shows Qubes OS with different vm for different functions and identities</p>
|
||||
|
||||
<p>2.Integrated Whonix</p>
|
||||
|
@ -107,7 +107,7 @@
|
|||
<p>This is the official hardware compatibility list, but be aware it is definitely incomplete, since people runs Qubes OS without problem mostly do not bother to report their config <a href="https://www.qubes-os.org/hcl/">https://www.qubes-os.org/hcl/</a></p>
|
||||
<p>For laptops, you should be careful, you better get a mainstream business laptop. I tried many installations on Lenovo or hp business laptops from recent years, they all worked fine. However, you should especially try to avoid laptops from non-traditional vendors like Xiaomi or whatever Chinese brand, and any gaming laptop with very peculiar gpu setup.</p>
|
||||
<p>Next thing is to download the installation ISO, go to their website and download</p>
|
||||
<img src="Screenshot From 2024-12-05 11-20-03.png" class="imgRz" style="width: 800px">
|
||||
<img src="Screenshot From 2024-12-05 11-20-03.png" class="imgRz">
|
||||
<p>Download the ISO and hash digest</p>
|
||||
<p>Next thing is to <b>verify</b> your ISO file is authentic, Qubes OS has a very detailed guide on how to do that so there is no need for me to build the wheel again <a href="https://www.qubes-os.org/security/verifying-signatures/">https://www.qubes-os.org/security/verifying-signatures/</a></p>
|
||||
<p>I will paste the master key fingerprint here for comparison:<b>427F11FD0FAA4B080123F01CDDFA1A3E36879494</b></p>
|
||||
|
@ -140,25 +140,25 @@ $ sudo dd if=file_name.iso of=/dev/sda status=progress
|
|||
<p>Next if you are on UEFI mode you need to enable "CSM". <a href="https://superuser.com/questions/1284392/what-exactly-is-uefi-with-csm-boot-mode">https://superuser.com/questions/1284392/what-exactly-is-uefi-with-csm-boot-mode</a>. You also need to find that in your bios menu, it should usually appear below boot options. This can fix a lot of potential troubles later</p>
|
||||
<p>Final thing is remembering to turn on vt-x or cpu virtualization support, since this is needed for Qubes. Check your bios, if there is a setting called IOMMU, you also need to enable that</p>
|
||||
<p>For example, you can expect something look like this</p>
|
||||
<img src="../linux/19.png" class="imgRz" style="width: 900px">
|
||||
<img src="../linux/19.png" class="imgRz">
|
||||
<p></p>
|
||||
<img src="../linux/20.png" class="imgRz" style="width: 900px">
|
||||
<img src="../linux/20.png" class="imgRz">
|
||||
|
||||
<p>Finally, reboot and choose your usb as a boot device</p>
|
||||
<img src="Screenshot From 2024-12-05 16-26-38.png" class="imgRz" style="width: 900px">
|
||||
<img src="Screenshot From 2024-12-05 16-26-38.png" class="imgRz">
|
||||
<p>If things worked correctly, you should see a menu like this, just click enter and wait</p>
|
||||
<img src="Screenshot From 2024-12-05 16-28-18.png" class="imgRz" style="width: 900px">
|
||||
<img src="Screenshot From 2024-12-05 16-28-18.png" class="imgRz">
|
||||
<p>At this step, click "continue", if your computer is fully compatible and all bios settings are correct, you should see no warning message, otherwise go back to check bios again. If your computer is not some ancient stuff it should be compatible</p>
|
||||
<img src="Screenshot From 2024-12-05 16-28-40.png" class="imgRz" style="width: 900px">
|
||||
<img src="Screenshot From 2024-12-05 16-28-40.png" class="imgRz">
|
||||
<p>At this step you need to config the disk, click the installation destination</p>
|
||||
<img src="Screenshot From 2024-12-05 16-29-00.png" class="imgRz" style="width: 900px">
|
||||
<img src="Screenshot From 2024-12-05 16-29-00.png" class="imgRz">
|
||||
<p>If you are installing on a fresh drive just check the three areas on the pictures</p>
|
||||
<p>Next is to choose a disk encryption password, notice this is the password used to encrypt your disk and is the only thing protects you when FBI kicks your door, so make sure it is strong enough</p>
|
||||
<img src="Screenshot From 2024-12-05 16-29-12.png" class="imgRz" style="width: 900px">
|
||||
<img src="Screenshot From 2024-12-05 16-29-12.png" class="imgRz">
|
||||
<p>Select "delete all" and "reclaim space", make sure you <b>backed up </b>everything!</p>
|
||||
<img src="Screenshot From 2024-12-05 16-29-23.png" class="imgRz" style="width: 900px">
|
||||
<img src="Screenshot From 2024-12-05 16-29-23.png" class="imgRz">
|
||||
<p>Next create a user with password, this is the password you will use to unlock the screen</p>
|
||||
<img src="Screenshot From 2024-12-05 16-29-33.png" class="imgRz" style="width: 900px">
|
||||
<img src="Screenshot From 2024-12-05 16-29-33.png" class="imgRz">
|
||||
<p>Next choose "Begin Installation", and just wait until it is completed.</p>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
|
@ -171,12 +171,12 @@ $ sudo dd if=file_name.iso of=/dev/sda status=progress
|
|||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2><b>Post Install Setup</b></h2> </br> </br>
|
||||
<p>You still cannot use your qubes at this step, since you need to run post install setup.</p>
|
||||
<img src="Screenshot From 2024-12-05 16-40-34.png" class="imgRz" style="width: 900px">
|
||||
<img src="Screenshot From 2024-12-05 16-40-34.png" class="imgRz">
|
||||
<p>These configs in most situation do not need to be changed, however if you are using wired connection you can make sys-net disposable, this increases your security a little bit.</p>
|
||||
<p>If you are using wireless network through a usb dongle you might need to choose "Use sys-net qube for both networking and USB devices"</p>
|
||||
<p>You can also enable system and template update over tor, but this will make it significantly slower for big updates. And there is no need to touch the advanced configuration.</p>
|
||||
<p>Click done and let the scripts run, do not interrupt it by closing your computer, it might seem unresponsive for a while.</p>
|
||||
<img src="Screenshot From 2024-12-05 17-40-39.png" class="imgRz" style="width: 900px">
|
||||
<img src="Screenshot From 2024-12-05 17-40-39.png" class="imgRz">
|
||||
<p>And finally we get our Qubes, in next tutorial we will start to compartmentalize our online activities by creating different qubes.</p>
|
||||
<p>Next tutorial : <a href="../qubesosnetwork/index.html">How to use qubes for different online activities</a></p>
|
||||
</div>
|
||||
|
|
BIN
opsec/qubesosnetwork/6.png
Normal file
BIN
opsec/qubesosnetwork/6.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 118 KiB |
|
@ -79,12 +79,12 @@
|
|||
<p>0.Xen: Everything that Qubes OS built on this, a type 2 hyervisor</p>
|
||||
<p>1.qube: That is basically a vm, each qube is intended to do a single task for isolation. But it is not quite like the common vm you used to see on vmware or virtualbox</p>
|
||||
<p>2.dom0: This is the admin vm, it is still a vm, but it is very special vm with all the tools to control the entire machine. It never connects to the network and no files from other qubes should touch it, once it gets compromised you are done</p>
|
||||
<img src="structure.png" class="imgRz" style="width: 400px">
|
||||
<img src="structure.png" class="imgRz">
|
||||
|
||||
<p>3.Template VM: Template VM is like the concept of "class" in programming language, you will install all the applications you like in template vm, and appvm will simply share the root partition with the template vm, so appvm only needs to keep its own /home directory, this greatly saves disk space and time you spent on software update.</p>
|
||||
<p>Template VM do not connect to network by default for safety, since if they are compromised all the app vm spawned by them are also done. Updates are conducted through a special proxy so attack surface is minimized</p>
|
||||
<p>4.App VM: Lightweight VM spawned from template VM, any changes done to root partition will not persist across boot, it is meant to only use software installed from template VM and save your work in /home</p>
|
||||
<img src="appvm.png" class="imgRz" style="width: 400px">
|
||||
<img src="appvm.png" class="imgRz">
|
||||
|
||||
<p>5.PVH: a para virtualization mode, which means some costly actions are not performed in the vm, instead they are done in the host through a special interface to make vm runs faster</p>
|
||||
<p>Most qubes will run under PVH mode</p>
|
||||
|
@ -102,22 +102,22 @@
|
|||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2><b>Network Setup</b></h2> </br> </br>
|
||||
<h2><b>Network blueprint</b></h2> </br> </br>
|
||||
<p>Qubes already comes with many default qubes, you can find them inside the qubes manager</p>
|
||||
<p>On the desktop, right click and choose "Open terminal here", you will get a terminal in dom0 </p>
|
||||
<img src="terminal.png" class="imgRz" style="width: 1000px">
|
||||
<img src="terminal.png" class="imgRz">
|
||||
<p>Input "qubes-qube-manager", and click enter you will get the qubes manager</p>
|
||||
<img src="manager.png" class="imgRz" style="width: 1000px">
|
||||
<img src="manager.png" class="imgRz">
|
||||
<p>Now we are going to explain these default qubes</p>
|
||||
<p>0.Template qubes</p>
|
||||
<p>Qubes with the name "debian-12-xfce", "fedora-40-xfce", "whonix*" are template vms, you can install software in these template qubes, and use them in the app qubes</p>
|
||||
<p>1.sys-usb</p>
|
||||
<img src="usb-qube.png" class="imgRz" style="width: 400px">
|
||||
<img src="usb-qube.png">
|
||||
|
||||
<p>A qube that did not connect to network, and is responsible for providing <b>usb service</b> only, if you have usb keyboard or mouse it might also proxy the input for you. In some circumstances when you have an usb wifi dongle it also becomes the factual network qube</p>
|
||||
<p>This is installed by default and is a disposable vm</p>
|
||||
<p>1.sys-net</p>
|
||||
<img src="net-qube.png" class="imgRz" style="width: 400px">
|
||||
<img src="net-qube.png">
|
||||
|
||||
<p>This is where everything starts, you need to passthrough your Ethernet adapter(wired or wireless) to a qube, and that qube will be used to as a first part in the network chain</p>
|
||||
<p>Since it is directly in contact with network adapter and the routers, it should be considered as untrusted because it is exposed to a lot of uncertain stuff</p>
|
||||
|
@ -125,55 +125,76 @@
|
|||
<p>2.sys-firewall</p>
|
||||
<p>The qube that separate the rest of your network chain from the sys-net for better security, and it is also the qube that <b>enforces firewall </b> rules if you have vpn qube directly behind it.</p>
|
||||
<p>If you have any public identity it is best to directly connect it to sys-firewall, for example online banking</p>
|
||||
<img src="firewall-qube.png" class="imgRz" style="width: 400px">
|
||||
<img src="firewall-qube.png">
|
||||
<p>Each qube can select its own network qube, if none is selected it will not have internet at all. sys-firewall here set sys-net as its network qube</p>
|
||||
<img src="firewall-net.png" class="imgRz" style="width: 1200px">
|
||||
<img src="firewall-net.png" class="imgRz">
|
||||
<p>And any qube provides network service need to enable <b>provides network</b> in advanced tab below "Run in debug mode"</p>
|
||||
<img src="firewall-service.png" class="imgRz" style="width: 1200px">
|
||||
<img src="firewall-service.png" class="imgRz">
|
||||
<p>Any qube directly connect to sys-firewall will have your home isp ip address, best suited for public activity, for example online banking</p>
|
||||
<p>Let's go back to our qubes manager, click "New qube" in the top left corner</p>
|
||||
<img src="create.png" class="imgRz" style="width: 1000px">
|
||||
<p>First name it as "banking", and we assign it with <b>Yellow</b> tag, since it is for banking identities, so yellow is a medium trust score for me. Color tag is a very important feature of qubes, every qube has its own color tag for avoiding you accidentally type something sensitive in a insecure vm. Dom0 always has the special <b>White</b> tag</p>
|
||||
<p>For Type and Template I just leave it as AppVM and fedora-40-xfce, since this is exactly what I want</p>
|
||||
<p>For networking, I choose "sys-firewall", since I want my bank to see my home ip address instead of my vpn ip and get my account banned</p>
|
||||
<p>Now click ok and the qube will be created, you can find your qube app menu on the top left <b>Q</b> icon, then we can open firefox and start banking</p>
|
||||
<img src="banking.png" class="imgRz" style="width: 1000px">
|
||||
|
||||
|
||||
<p>3.vpn qube</p>
|
||||
<p>A qube setup with vpn profile, redirect all the traffic to your designated vpn server. Ideal for providing a <b>pseudonymous</b> identity. If applied with firewall rules it can be guaranteed leakproof</p>
|
||||
<p>Qubes OS works fine with wireguard and openvpn cli programs, but for vpn vendor's own gui there might be problems, sometimes those apps break the dns setup in qubes</p>
|
||||
<p>Mullvad has a very detailed tutorial on how to setup a vpn qube <a href="https://mullvad.net/en/help/wireguard-on-qubes-os">https://mullvad.net/en/help/wireguard-on-qubes-os</a>. However, iptables mentioned in it is already deprecated by Qubes, but it still works without DNS hijack config.</p>
|
||||
<img src="vpn-qube.png" class="imgRz" style="width: 400px">
|
||||
<img src="vpn-qube.png">
|
||||
<p>If you have any pseudonymous activities it is best to connect behind vpn qube, for example torrenting</p>
|
||||
<p>First we start a template vm, for example debian in this case, and install transmission</p>
|
||||
<img src="template_install.png" class="imgRz" style="width: 1000px">
|
||||
<p>After installation enter "sudo poweroff" to shut down the qube, make sure it is shutdown, since your changes in template qube only get reflected when it is shutdown <b>at least once!</b></p>
|
||||
<p>Next go back to qubes manager, and create a new qube called torrent, I assume you already set up a vpn qube according to the mullvad tutorial mentioned above</p>
|
||||
<img src="torrent_vm.png" class="imgRz" style="width: 1000px">
|
||||
<p>First give it a name called "torrent", and I personally think this qube has a medium trust score, so it is given a yellow tag.</p>
|
||||
<p>We still leave it as appvm, and choose template as debian, since this is the template we just installed transmission</p>
|
||||
<p>Most importantly set the networking to <b>vpn qube</b> you just setup, if you do not want DMCA notice get sent to your home. Then click ok, and the qube will be created</p>
|
||||
<p>For accessing transmission app easily, we will add the transmission app into our "Q" menu which is in the top left corner</p>
|
||||
<p>Right click the torrent qube in the manager, choose "settings", and choose "application"</p>
|
||||
<img src="torrent_transmission.png" class="imgRz" style="width: 1000px">
|
||||
<p>Find "Transmission" on the left, click it, and click the ">" icon in the middle, then click ok. Now transmission will be visible in the app menu</p>
|
||||
<img src="transmission_on.png" class="imgRz" style="width: 1000px">
|
||||
<p>Now happy torrenting</p>
|
||||
|
||||
<p>4.whonix qubes</p>
|
||||
<p>Whonix is the best part of qubes, it makes tor very easy to use. Whonix qubes consists of two parts, first is whonix gateway, which onionize all the network traffic behind it. Whonix workstation is a workstation specifically tuned for anonymity, and is usually disposable for increased security</p>
|
||||
<p>You can also hook up other non workstation qubes behind whonix gateway in rare circumstances, for example a windows qube, but you should be careful and should have a specialized gateway qube only for this.</p>
|
||||
<p>This is the ideal place for all the high risk activities like all the <b>darknet</b> stuff</p>
|
||||
<p>You might choose to whether or not to put whonix gateway behind a vpn</p>
|
||||
<img src="whonix-qube.png" class="imgRz" style="width: 400px">
|
||||
<p>Here we use whonix workstation to access dread for exploring the darknet</p>
|
||||
<p>Try to find something names "whonix-workstation-17-dvm" in the qubes menu, click "Tor Browser(AnonDist)", and you will get a disposable vm running tor browser. This is great since anything happen inside this vm get destroyed after you shut down the browser</p>
|
||||
<img src="whonix_dread.png" class="imgRz" style="width: 1000px">
|
||||
<p>If you see something as <b>disp</b> on the vm windows title, then you are on a disposable vm, congrats!</p>
|
||||
<img src="whonix-qube.png">
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div> <!-- /container -->
|
||||
</div><!-- /white -->
|
||||
|
||||
<div id="anon3">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-8 col-lg-offset-2">
|
||||
<h2><b>Setup the vm according to network blueprint </b></h2>
|
||||
<p>Now we are about to setup the qubes according to the previous network blueprint, we are about to setup a banking vm, torrent vm, and darknet vm</p>
|
||||
<p>And they fit in different places of our network identity threat model obviously</p>
|
||||
<img src="threat_level.png" class="imgRz">
|
||||
<p></p>
|
||||
<p><b>Banking VM</b></p>
|
||||
<p>Let's go back to our qubes manager, click "New qube" in the top left corner</p>
|
||||
<img src="create.png" class="imgRz">
|
||||
<p>First name it as "banking", and we assign it with <b>Yellow</b> tag, since it is for banking identities, so yellow is a medium trust score for me. Color tag is a very important feature of qubes, every qube has its own color tag for avoiding you accidentally type something sensitive in a insecure vm. Dom0 always has the special <b>White</b> tag</p>
|
||||
<p>For Type and Template I just leave it as AppVM and fedora-40-xfce, since this is exactly what I want</p>
|
||||
<p>For networking, I choose "sys-firewall", since I want my bank to see my home ip address instead of my vpn ip and get my account banned</p>
|
||||
<p>Now click ok and the qube will be created, you can find your qube app menu on the top left <b>Q</b> icon, then we can open firefox and start banking</p>
|
||||
<img src="banking.png" class="imgRz">
|
||||
<p></p>
|
||||
<p><b>Torrent VM</b></p>
|
||||
<p>First we start a template vm, for example debian in this case, and install transmission</p>
|
||||
<img src="template_install.png" class="imgRz">
|
||||
<p>After installation enter "sudo poweroff" to shut down the qube, make sure it is shutdown, since your changes in template qube only get reflected when it is shutdown <b>at least once!</b></p>
|
||||
<p>Next go back to qubes manager, and create a new qube called torrent, I assume you already set up a vpn qube according to the mullvad tutorial mentioned above</p>
|
||||
<img src="torrent_vm.png" class="imgRz">
|
||||
<p>First give it a name called "torrent", and I personally think this qube has a medium trust score, so it is given a yellow tag.</p>
|
||||
<p>We still leave it as appvm, and choose template as debian, since this is the template we just installed transmission</p>
|
||||
<p>Most importantly set the networking to <b>vpn qube</b> you just setup, if you do not want DMCA notice get sent to your home. Then click ok, and the qube will be created</p>
|
||||
<p>For accessing transmission app easily, we will add the transmission app into our "Q" menu which is in the top left corner</p>
|
||||
<p>Right click the torrent qube in the manager, choose "settings", and choose "application"</p>
|
||||
<img src="torrent_transmission.png" class="imgRz">
|
||||
<p>Find "Transmission" on the left, click it, and click the ">" icon in the middle, then click ok. Now transmission will be visible in the app menu</p>
|
||||
<img src="transmission_on.png" class="imgRz">
|
||||
<p>Now happy torrenting</p>
|
||||
<p></p>
|
||||
<p><b>Darknet VM</b></p>
|
||||
<p>Here we use whonix workstation to access dread for exploring the darknet</p>
|
||||
<p>If you follow the default setting during the installation config, you should have disposable whonix workstation installed by default, which means we do not need to create anything</p>
|
||||
<p>Try to find something named "whonix-workstation-17-dvm" in the qubes Q menu, click "Tor Browser(AnonDist)", and you will get a disposable vm running tor browser. This is great since anything happen inside this vm get destroyed after you shut down the browser</p>
|
||||
<img src="whonix_dread.png" class="imgRz">
|
||||
<p>If you see something as <b>disp</b> on the vm windows title, then you are on a disposable vm, congrats!</p>
|
||||
</div>
|
||||
</div><!-- /row -->
|
||||
</div> <!-- /container -->
|
||||
</div><!-- /white -->
|
||||
|
||||
<!-- +++++ Second Post +++++ -->
|
||||
<div id="anon1">
|
||||
|
@ -183,26 +204,26 @@
|
|||
<h2><b>Tips</b></h2> </br> </br>
|
||||
<p>There are some tricky problems about qube, like how to copy and paste text between qubes, and how to transfer files, or how to use usb.</p>
|
||||
<p>For copy text, there is a master pasteboard in dom0, once you copy some text normally inside a qube, click shift+ctrl+c, then the text get transferred to the master pasteboard, and go to the vm you want to paste, click shift+ctrl+v, then the text is inside the clipboard of your destination vm</p>
|
||||
<img src="copy_in_vm.png" class="imgRz" style="width: 1000px">
|
||||
<img src="copy_in_vm.png" class="imgRz">
|
||||
<p>For example you first copy some text inside a vm, then click SHIFT+CTRL+C</p>
|
||||
<img src="master_pasteboard.png" class="imgRz" style="width: 1000px">
|
||||
<img src="master_pasteboard.png" class="imgRz">
|
||||
<p>Then you will see a message about Global Clipboard</p>
|
||||
<p>Go to your destination vm and click CTRL+SHIFT+V, then you will see a message says Global Clipboard wiped</p>
|
||||
<img src="master_pasteboard_wiped.png" class="imgRz" style="width: 1000px">
|
||||
<img src="master_pasteboard_wiped.png" class="imgRz">
|
||||
<p>Then just paste as normal</p>
|
||||
<img src="destination_paste.png" class="imgRz" style="width: 1000px">
|
||||
<img src="destination_paste.png" class="imgRz">
|
||||
<p>
|
||||
</p>
|
||||
<img src="text_arrived.png" class="imgRz" style="width: 1000px">
|
||||
<img src="text_arrived.png" class="imgRz">
|
||||
<p>For copying file between vm you need to use qvm-copy command inside the vm</p>
|
||||
<p>First we created a test file called "new_file"</p>
|
||||
<img src="file_await_transfer.png" class="imgRz" style="width: 1000px">
|
||||
<img src="file_await_transfer.png" class="imgRz">
|
||||
<p>Then we use "qvm-copy" command, and choose "banking" vm in the dom0 prompt.</p>
|
||||
<code>qvm-copy new_file</code>
|
||||
<p></p>
|
||||
<img src="copy_destination.png" class="imgRz" style="width: 1000px">
|
||||
<img src="copy_destination.png" class="imgRz">
|
||||
<p>Then you can see the new_file in banking vm</p>
|
||||
<img src="file_arrived.png" class="imgRz" style="width: 1000px">
|
||||
<img src="file_arrived.png" class="imgRz">
|
||||
<p>Files from other VM are all located inside <b>~/QubesIncoming</b> </p>
|
||||
<p>Other stuff are inside the official document, no need to rebuild the wheels again</p>
|
||||
|
||||
|
|
BIN
opsec/qubesosnetwork/threat_level.png
Normal file
BIN
opsec/qubesosnetwork/threat_level.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
Loading…
Add table
Add a link
Reference in a new issue