The goal is to bring together enough information in one document for a beginner to get started. Visiting countless sites, and combing the internet for information can make it obvious your desire to obtain anonymity, and lead to errors, due to conflicting information. Every effort has been made to make this document accurate. This guide is image heavy so it may take some time to load via Tor.
It’s difficult to remember many passwords. First off it’s good to select a strong password manager. Keepassx is cross-platform, and has good security features, like encryption by password and using a keyfile. It also allows you to generate strong passwords, so if you’re not worried about memorization it’s good practice to let Keepassx generate secure random passwords.
It’s best not to use services that store your passwords in the cloud. If you need you can back up your encrypted password database, on a secure server, in an encrypted directory, and store your keyfile in a separate location.
Passwords for encryption and critical access should be prioritized. Even a long randomized password may not be a secure enough method. EFF recommends you try the diceware method, or basically randomly chain a number of words selected from a word list based on dice roles. Full details are available here.
Although it’s an annoyance, passwords are the ever present key to what matters most to you.
No service provider should be presumed to completely protect your privacy. Even if your VPN/Proxy or other ISP promises no logs, or identifiable information, time and time again information has been collected and used against those seeking anonymity. Open-Source technologies where you are able to examine source, yet trust is still ultimately placed in the hands of developers, are better than trusting a Government of other entity with your security.
Consider reading the Terms of Service any time you sign up for a service or install something.
Also remember that the times you use technology can be used to build a profile of your location for identification. Consider changing up your times of connectivity. On forums, chat and other services, it may be worthwhile to disable the notification that outwardly displays when you are on line or select invisible mode when applicable.
UFW (Uncomplicated Firewall) is a great general firewall for linuux
sudo apt-get install ufw
sudo ufw enable
sudo ufw default deny incoming
as some malware may utilize outgoing traffic, like encrypted udp, it may be worthwhile to limit outgoing ports
sudo ufw default deny outgoing
it may be better to specifically allow/deny the specific ports of concern.
sudo ufw allow port/tcp
sudo ufw allow port/udp
Then when you’re done check the status
you can see I’ve blocked some specific ports in this example
The basic premise is monitoring the system for unusual activity. First is to keep an eye on the logs, and the next step is to consider an IDS like snort. There’s a learning curve, but here are some useful tools, that with some research can increase security especially if you allow others to access the system.
Once you’ve download tor browser, expand the zipped file. Then
Configuring Security Settings
Privacy and security settings can be easily configured. Click on the Onion in the top left.Privacy and security settings can be easily configured. Click on the Onion in the top left.
Select “Privacy and Security Settings” Adjust the slider to your desired level of security.Select “Privacy and Security Settings” Adjust the slider to your desired level of security.
Depending on your security level selected in Tor, Noscript may not provide any advantage. That main advantage of Noscript is it’s easier to tailor allowing on specific sites, or for specific elements on the fly. Click the S in the Top Left next to the Tor Onion symbol and select forbid scripts globally. You should see a red line across the S. If you allow specific sites, you should check that the red line is there for those you do not allow. Allowing only specific sites may create a fingerprint of your activity. There are some advanced settings under options worth taking a look at.Depending on your security level selected in Tor, Noscript may not provide any advantage. That main advantage of Noscript is it’s easier to tailor allowing on specific sites, or for specific elements on the fly. Click the S in the Top Left next to the Tor Onion symbol and select forbid scripts globally. You should see a red line across the S. If you allow specific sites, you should check that the red line is there for those you do not allow. Allowing only specific sites may create a fingerprint of your activity. There are some advanced settings under options worth taking a look at.
in some cases if Tor is blocked or you wish to conceal the use of Tor a bridge can be configured. This makes it more difficult for an ISP to detect Tor. Bridges can help avoid censorship, and if your ISP Blocks Tor Traffic it is much more difficult to detect the nature of the traffic unless deep packet inspection is employed. It’s one of those things that since it’s there, might as well set it up as a per-cautionary measure and see if your connection is still, reliable and fast enough for your standards.
Optionally if Tor is already started you can:
Pluggable Transports are extensions to Tor which utilize it’s pluggable transport API. These are more advanced ways to disguise traffic flow, for instance making it appear as skype traffic or utilizing a flash proxy. Many are now included in the Bridge Option Menu, so this is a good resource to learn more about the specifics. Some may require custom installation.
If you need to use another browser Firefox is preferred. Here are some configuration settings and extensions that can be helpful.
In the URL Bar enter: about:configIn the URL Bar enter: about:config
Other useful options:
sudo iptables -A INPUT -p tcp —dport i2p port here -j ACCEPT
sudo iptables -L
Useful plugins: it’s best to keep plugins at a minimum but here are some to consider
You may consider visiting ip-check.info to see what data your browser is sending.
It’s recommended to get a router compatible with an open source firmware. The two major recommended firmwares are Tomato and dd-wrt. In some cases Tor, or a vpn can be run directly on the router, and this can be useful if you find yourself forgetting at times to enable your desired connection. A backup router only used for specific connections may also be useful to swap in and out when secure connection is needed.. For the crafty, a Raspberry Pi can be configured as a local device to route connections through.
Installation is device specific navigate to either the Tomato or dd-wrt site for more information.
The stand alone Tor daemon can be be found in the Ubuntu/Debian/Arch package manager.
sudo apt-get install tor sudo pacman -S tor
However, you may wish to visit this link and add their PPA to get the latest version.
You can use Tor as a socks proxy once the service is started, either with the browser bundle or Tor daemon. Navigate to the Network Settings, and Proxy section of the desired application. Select Socks 4 Proxy and enter 127.0.0.1 port 9050.
This will route desired connections through Tor. TAILS automatically routes all connections through Tor.
Alternative to Tor, not as widely used since it requires some more dependencies and not as simple setup. i2p addresses always display as .i2p
Unlike tor i2p is a self contained network, it does not function as a proxy with traditional exit nodes. It is generally used to browse with the network of what are called eepsites.
Ubuntu/Debian based systems
sudo ufw allow i2p port here/tcp
sudo ufw status
sudo apt-get install proxychains
sudo nano /etc/proxychains.conf
following ProxyList add socks4 127.0.0.1 9050 #Tor must go first socks5 ipaddress port proxies etc……
starting i2p in terminal: do not run as root or use sudo
If you have issue connecting to .i2p addresses check configuration by visiting: localhost:7657/confignetIf you have issue connecting to .i2p addresses check configuration by visiting: localhost:7657/confignet
One main issue is your firewall or router is blocking connections. Click networking.One main issue is your firewall or router is blocking connections. Click networking.
I don’t recommend these at all but will list one that has been reliable. You’ll have to search for more.
Unfortunately you should have no expectation of privacy on a free VPN but for one time use if you have no other choice it may be helpful.
Of the free VPNs seems most reliable, please delicately read terms of service and utilize Tor on-top of the VPN with any sensitive content. Free VPNs are often banned from posting on many services due to trolling. You can search for others but so far VPNBOOK just works.
Sometimes it may be necessary to use a proxy after the Tor exit node, for instance to appear in a desired location, or if exit nodes are banned on a service.
Name your VM and select Linux 64bit or 32bit depending on which you downloaded:
Set memory size at least 1024 for smooth performance
Create a virtual hard drive
VDI Image is suitable
You can select dynamically allocated and set a starting amount at a couple gigabytes
Select the image and click start
Select the location of the .iso file you downloaded.
Once started go to Applications→Tails→Tails Installer
Make sure the USB Drive is present you will see a green plus, over the usb icon in this image
Select clone and install and follow the steps for installation
Once you’ve started tails you can create a persistent volume to store static content
sudo swapoff /dev/sddisk#
sudo sswap /dev/sddisk#
sudo swapon /dev/sdFdisk#
Linux (image files can be found at http://distrowatch.org)
Recommended base Operating Systems: Archlinux, or Kali, alternatives: Debian Mint Ubuntu although just using Tails as a bootable OS and having some persistent storage is probably better than most can do in terms of hardening their base system.
Secure VM with Whonix and Virtualbox
sudo apt-get install pidgin
go to tools→preferences
Logging: disable log all instant messages/log all chats
Install any dependencies Activate Plugins in: Tools→Plugins
Once activated, select configure plugin for both
Click file import appliance and select the Whonix Gateway .ova file:
Keep the settings default and click import
Repeat for workstation, select the .ova
Import without changing settings
Select both and start both at the same time.
Once workstation has finished booting you will see this screen.
You will keep both VM Windows open but all activities will be within the Whonix-Workstation VM Window
Essentials: Disk encryption – LVM Encryption during install, encrypt home directory Bleachbit – clearing day to day files (RAM wiping is experimental but worth it on shutdown) secure-delete package – secure wiping content
Intro guides on hardening other recommended base systems. (may be out of date look for hardening guides)
You can “Shred” files and folders from the file menu, and wipe free space, which may remove excess data that still exists, without pointers. file→Shred files file→Shred folder file→wipe free space
DBAN advanced, boot from usb/cd ideal when discarding a hard drive
go to dban.org download the dban.iso and either burn CD/DVD or write to USB and boot off the device. Select “RCMP TSSIT OPS-II” for the deletion method Select the drive Prepare to wait 12+ hours
Secure-Delete hard mode, more secure deletion that bleachbit, easier to use if you want to remove specific partitions or files, rather than complete wipe with DBAN
you will need to boot off a usb/cd if you wish to wipe your primary hard drive.
Properly deleting a drive will take time, if you’re in a hurry, you can at least use fast mode.
If you’re wiping a disk
find the disk/partition name: should be /dev/sdxx at this point if you haven’t already, consider encrypting the partition, see veracrypt. wipe space considered free (-f is fast mode “insecure mode”)
if you need to clear swap space- (-f is fast mode “insecure mode”)
select main key in options
toggle encryption mode in conversations:
options→toggle openpgp encryption
if you are strapped for time, use -m for 7 passes or -s for simple 1 pass “insecure mode”
At the end you may also be interested at the end to wipe memory on the system. (-f is fast mode “insecure mode)
Try to at least encrypt the disk first, if you have time to spare, follow the instructions for disk erasure with DBAN.
Open the drive. Find the platter, score it, smash it. Then you will need to locate any memory chips which may store cached files, and destroy them as well. This is an important step, and can be missed easily. Remember not to dispose in normal garbage as it’s not secure. Consider alternate means of disposable for best measure.
Fun Fact: To “officially” destroy all remnants of magnetic data you’ll need to heat it to 1500 kelvin.
Older attack method recovering encryption keys stored in RAM. If possible use DDR3 or better memory. When not at the computer always shut down completely.
Consider using Bleachbit or more advanced sdmem to wipe RAM contents.
Keep in mind that your use of grammar, spelling and language can be used as identifying factors. It is possible to single you out based on your specific ways of communication and link you to other public content linked to your alternate identities. When attempting to communicate anonymously remember not to mention nicknames, locations favorite music, weather or any other information that can be used to reveal your identity. Something that seems mundane and friendly can quickly be used for identification.
JPG, JPEG, TIF and WAV files store EXIF data, or Exchangeable image file format, that can store sensitive information, including GPS-location, and the unique ID of the device used. It is recommended to always use the PNG format, and scrub any metadata, if you need to exchange an image. One option is the Metadata Anonymisation Toolkit that comes with TAILS, and also available at http://mat.boum.org/
No mail provider can be trusted completely no matter what their security claims are. Utilize PGP as often as possible and utilize an anonymous connection when connecting.
Protonmail is currently invite only and requires a wait time of anywhere from a month or more to get in. However, it’s a highly respected secure email solution. You can employ PGP and encrypted storage. They have a favorable location
Tutanota offers encrypted mail-storage and the use of a one time password, however PGP has to be done manually as there is no smtp or imap mail servers. They have a favorable location that is difficult to retrieve data from with legal orders.
While tor based mail providers have had a storied history. If PGP is utilized for all communications, the threat is eliminated. If you receive something compromising in plain text, don’t consider this information secure, and inform any correspondents to employ PGP.
United States based privacy centric collective that offers mail and other privacy capabilities.
free, secure email provider
paid email pgp webmail client offshore hosting more protected from spying
free, no personal information account deletion encrypted data storage user details like ip address and user agent stripped from headers
privacy centric collective offering email, hosting, vpn and other anonymity service
in terminal enter: gpg –gen-key or open gpa in terminal and it will prompt you to create one.
follow the prompts
select your key-pair, and then select keys→export or import keys and proceed
select your key-pair, and then select→keys→export or import keys and proceed
either choose where to save or paste the desired key
Alternative Messaging Options
forward secure, asynchronous messaging for the discerning. Pond messages are asynchronous, but are not a record; they expire automatically a week after they are received. Pond seeks to prevent leaking traffic information against everyone except a global passive attacker.
secure messaging between scramble users
p2p encrypted messaging, like sending messages as Bitcoins
bitmessage.ch (tor and i2p urls available)
webmail gateway for bitmessage with instant send to other users with @bitmessage.ch address
A PGP Key is a unique identifier, do not re-use across accounts and especially not with any public address. Simple PGP On Linux terminal Ubuntu- sudo apt-get install gpa gnupg2 Arch- sudo pacman -s gpa gnupg2
paste the public key
Paste the entire text
Click icon with the green key (hover over for title if hard to see)
If the information is genuine it will display the name of the previously imported public key.
in most cases select option 1 – RSA and RSA (default) select at least 2048 key size key expiration, hit enter if not needed. do not enter real information for contact (unless intended) use a secure passphrase for the key it will then ask you to move the mouse, type etc to create entropy
Simple PGP with GNU Privacy Assistant
If you open gpa it will guide you through creating your first key don’t put real information unless intended, obviouslyEither click refresh or restart gpa and the keys will appear Click the clipboard
Enter your message
Select the key you wish to sign it with
You will now see an encrypted message. To decrypt a message click the mail icon with the key, and it will allow you to choose the appropriate key.
More details on GPA
Exporting/Importing Public Key gpa
paste the public key
back to terminal
gpg —verify file
Exporting/Importing Private Key gpa
sudo apt-get install thunderbird enigmail
Set the GPG path, in Ubuntu default is /usr/bin/gpg
Verifying a message gpa
Verify a file
PGP with Email Thunderbird is probably the most widely known, if you prefer reference the Ubuntu guide below which explains alternates.
You can also cut and paste your messages from GPA into the message window.
Recommended Best Practices for PGP from Riseup.net or: http://nzh3fv6jc6jskki3.onion/en/security/message-security/openpgp/best-practices
PGP Versions can reveal the users operating system, and you should research strange versions as some PGP Libraries are known to have weak encryption.
Validating Files with MD5 or SHA1:
When the file is provided ideally a SHA1/MD5/PGP Sum will be provided. It will look like a long string of characters. In Linux terminal type: sha1sum filename The output should be the same as the supplied string.
When a file is provided ideally an SHA1/MD5/PGP Sum will be provided. It will look like a long string of characters. In Linux terminal type: md5sum filename The output should be the same as the supplied string.