<a name="VM"></a>
Virtual Machine (VM)
( _ Notes for Editors Only: (non-Editor Readers, please goto next paragraph): Editors, Please use here such words (if necessary, explain in different style/way/words, even multiple times) which make sense to people from different discipline and background. This not an Academic or Research article. Keep it useful for practical purpose (for what a regular user see on their computer screen, and what a regular user can use by following guidelines from this page). Explain in simple words, which practical command-line(s) or step(s) can be applied, and also add info on what is does and why is it necessary for Anonymity (2) (3) (4) and Privacy (6) (7) (8). Even if one portion appears to be unnecessary, to you, but remember it may be necessary for another type of person to understand. This page is not intended for only one type of users. You are welcome to create a sub-paragraph under any paragraph, or, create a new page and place a link here, and (in a new sub-paragraph, or in new page) explain the same thing with a different language or whatever style you choose to be. Thanks. _ )
Simulated/Virtual Computer/Machine/Box/Container (VM) can be created inside a real/physical/native hardware based (host) computer, by mostly using software(SW) features, or by mostly using hardware(HW) features, or VM can also be created by using combination of both SW & HW features. Some of these provide a very basic level of container by creating a very simple separation between the Host computer and the container (Guest VM/Box) itself. Some can provide very realistic simulated (guest) computer, on a host computer.
See these sections:
- Virtual Machine (By Using Software And Hardware), here.
- Jail / Sandbox / Container / Virtual Machine (By Mostly Using Software), here.
Alternative: Though does not falls under VM, but also exist such options/ways which allow to use a hardware Computer directly using a LiveCD, LiveDVD, LiveUSB, LiveISO based 2nd or secondary OS(Operating System), which does not use existing primary OS on hard-drive. Also exist ways, to use a remote computer from a computer which is in front of you. Online/Internet services also exist who uses multiple physical networked server computers, to create "Cloud"-based, VPS (Virtual Private Servers), KVM etc based Virtual Computers, these can also be accessed from inside a hardware or virtual computer. Tor can also be made running inside a Router (or other Network-Device), and use it from other computers.
See this section:
- Secondary-OS, LiveOS, Remote, Embedded, Cloud, VPS, KVM Based Computers & Network-Devices, here.
<a name="VM_SW_HW"></a>
Virtual Machine (By Using Software And Hardware)
Software (programming codes) can allow to create ** VM** system, such system allows to run & use a guest OS (Operating System) inside a Emulated/Simulated Virtual-Hardware based computer, by using software or hardware and/or combination of techniques & features to create such VM, on the host OS which is using the physical/real computer.
Here "Guest" means the virtual/simulated computer or OS which is running inside the VM box, and "Host" means the real/physical computer or OS where you installed the software which can create VM. In a virtual machine related context/discussion/documents, the term "Host" is similar to "native", "main", "hardware" computer, etc. "Guest" is also known as "virtual", "software", "simulated", "emulated", etc.
To create a VM, software like:
• "VirtualBox", "QEMU", "Bochs", "VMWare" can be used in host Windows OS.
• "Parallels Desktop", "QEMU", "Bochs" can be used in (host) MacOSX.
• "VirtualBox", "QEMU", "KVM", "Bochs", "OpenVZ", "Xen", "VMWare" etc can be used in (host) Linux OS.
A VM creator software usually will first ask you to specify a name and then ask you to decide an amount/size for the Virtual Hard-Disk (also known as, Storage Disk, Virtual Volume) for that VM. Though, a dynamically sized "Virtual Storage" can be used, but assigning specific size would be better for us later (for backup purpose). For example, For a Windows XP Home Retail/MSDN/RTM disc based Virtual OS, you will need around 6 GBytes, For a Fedora x86 Full Edition DVD disc, you will need around 16 GBytes. There exist such Linux OS which are already optimized for to be used inside VM and to use lesser amount of Video/other-Hardware resources, etc, search and get those. After specifying Virtual Stoarge size, then you will also have to specify portion of your physical RAM memory and assign it for that VM's usage purpose, and also do smiliar allotments for other necessary hardware(s). Then you can instal an OS using the physical CD/DVD disc or using an ISO file which is made off of a CD/DVD disc.
If you obtained "Live CD or DVD" based ISO file/edition or disc, then you can run them inside the VM directly without installing them.
A VM box can be created to use the same platform/architecture what your host computer is using, for example, a x86 (32 bit) based simulated VM computer can be created inside a 32 bit x86 based host computer. If you are using 64 bit host, then a VM creator software will allow to create both, a "x86" (32 bit) based simulated computer, or a "x86-64" or "x64" (64 bit) simulated computer. The "x86", "x86-64" based computers usually uses CPU made by Intel, AMD, etc. Few VM creator software, allows also to create other hardware/architecture design/type/based computer(s), for example, ARM processor (& architeture) based computer, or MIPS processor (& architecture) based computer, or POWER (from IBM) processor (& architecture) based computer, or SPARC (now from Oracle) processor (& architecture) based computer, etc.
Please read these: VM (Wikipedia), Comparison of Platform based Virtual Machines.
Since "VirtualBox" (Oracle VirtualBox) is still a free, Open-Source GPL-based, various features and performs fairly good as a VM sofwtare, we will mostly use "VirtualBox" in our examples & notes.
See VirtualBox online Manual. Installation and Networking HowTos are here.
<a name="VM_WinXP"></a>
Windows XP based VM / Guest OS
A Windows installation disc, like, Windows XP Home, is suffice as a Guest OS on a VM, if you will be using a lot of online Multi-Medias (Videos, Audios, Graphics, etc). You will then need to apply tweaks, tricks & tune-ups, so it(VM) can provide you with first the most important aspect: Anonymity & Privacy friendly environment, and then it(VM) should also work as such that Videos, Audios, etc are playing at a real world speed, without being jittery, noisy, flickering, hazy.
Use "nLite", "vLite" etc software to remove unnecessary components out of Windows XP disc, and create a customized ISO file. You can also disable various components after installation, if you dont want to use nLite/vLite etc. You can also create an ISO file from a real CD/DVD disc which you have, using software like: ImgBurn. Attach that ISO file with VirtualBox's Virtual CD/DVD-ROM drive, and start VM, and boot-up from it, and install it inside your VM's virtual hard-drive/storage.
Since you will keep a backup copy of the VM (or multiple backup copy made at different stages), you do not must have to install all Windows services, like, "Indexing Service" and related software components. See a less necessary list of services mentioned here (even though that list indicates following services are less necessary, but please keep these services: IPSEC Services, Windows Audio, Windows Time, Routing and Remote Access). Portions which are not needed for your "Anonymity" related usage or purpose, discard them when you are making ISO. Or, disable those, after installation.
And make a backup copy of the entire virtual hard-drive/storage, which is actually a very large (or set of very large) file(s) on host/real hard-drive.
If you feel comfortable with Firewall type of software, then have one in. Firewall keeps unwanted net/internet attacks less successful. Your VM should run for longer time unaffected when you have a properly configred firewall. If the host OS has a good Anti-Virus guard/scanner software (which can actively scan when any file is opened/created) then it is less necessary on most cases to have another Anti-Virus inside the guest OS.
More tips & tricks to be added soon, or add your "Anonymous & Privacy" friendly information here.
<a name="VM_SW"></a>
Jail / VM / Sandbox / Container (By Mostly Using Software)
- Chroot/Jail.
- Chroot script in OpenBSD, (by tyranix).
- Chroot/Jail in OpenBSD, (by tyranix).
- Sandboxie + ProxyCap, based sandbox on Windows. More info: (1). Warning, Sandboxie uses host computer's apps, so settings, sensitive info, etc from host, also exist inside sandbox.
- Use such a "Transparent Proxy server", which can allow to transfer all traffic from all apps (from all network ports) and forward to a Socks5 Proxy Server or forward to another remote server.
- Windows : Super Socks5cap, Freecap, Sockscap, proxifier, Torcap. More info here.
- MacOSX : dsocks, torsocks. More info here,.
- Linux : torsocks, ProxyChains+Unbound/BIND, OnionCat, Transproxy, Transocks. More info here, here, here.
<a name="LiveSecondRemoteOS"></a>
Secondary-OS, LiveOS, Remote, Embedded, Cloud, VPS, KVM Computers & Devices
- Tails, Debian (Linux) based, all outgoing connections using Tor, CD or USB, no writing to hdd. Born from the merge of the Incognito and amnesia projects.
- Liberté Linux, Gentoo (Linux) based, lightweight, USB or SD, focus on stealth communication
- Roll your own with Debian Live!, by torrclemeelmo.
- Privatix LiveCD/USB, Debian + Tor + Firefox + Torbutton + persistent system, config and home on an encrypted usb-key. Uses Linux.
- Whonix. Anonymous general purpose operating system. Ready for download made gateway and workstation images are based on Linux and self made images can torify any operating system including Windows. Transparent and/or isolating proxy.
- Incognito LiveCD/USB
- Almost any LiveCD, LiveDVD, LiveUSB, ISO file(s), can also be used inside a VM (which uses hardware host, mentioned in this section).
- On a computer which is always connected with Internet, use any VM creator software mentioned above, install OS & other software without using any personal information, only use generic or anonymous friendly information if you must have to. Use a separate partition from real hard-drive as storage/volume/drive for a VM for installing OS inside it, or, use a large-file as virtual hard-drive/volume. Use remote connection sofwtare inside VM, like VNC server, OpenVPN or SSH server, etc so that you can connect with it & use it from other location(s). Password protect all access or apply TLS-Certificate based login mechanisms. Use any choice of OS.
- On a 2nd or 3rd partition (in real hard-drive of host computer), you can natively/directly install another OS (of your choice) as a secondary OS, and from very beginning use Anonymity & Privacy friendly OS settings, software configurations, alter hardware IDs, etc. See more info on "Dual-Boot", "Triple-Boot", "Multi-Boot", etc. Also see here.
- Remote computers based VM services, like, Cloud Tor Images, are here.
- Tor-ramdisk. Uses Linux. It is to be used as LiveISO on a real hardware computer or inside a VM.
- Tor can also be embedded inside a router network-device and then it can be used from other computers. See OpenWRT, DD-WRT. More info: here.
<a name="Update"></a>
Updating Various Components
Keep different software, drivers up-to-date, so that files with security patches can get installed and work. And, also try to understand, what type of security patch an update will do, most updates or modifications are intended for users who does not use Anonymity friendly environment, sofwtare or configurations, instead most users use that software with identifiable information in it. That is the reason software needs to be Torified or pre-configured or Anonymized first, before using in/for Anonymity. Try to enquire & discuss with related experts.