- Any OS that supports FireFox / Iceweasel / Nightly
What is Browser Fingerprinting?
When a browser visits a website it leaves data behind that can be used to track you or provide details about who you are, an example would be if I were to visit Google they could give me a cookie that gives me a unique ID and they can then track me across their websites (YouTube, etc) and by doing so they can tell what I am viewing and personalise adverts on my Google searches to be more accurate or suggest YouTube videos that I might enjoy.
Now if you have cookies disabled they can still track you via your browser fingerprint, what a site can do is grab your useragent, your headers, your plugin info, screen size and system fonts and identify you, to check how unique you are go to Panopticlick and click "Test Me"
How can it affect me?
Browser fingerprinting can make you traceable and if you are someone like myself who prefers to remain anonymous online just due to the respect for privacy, being easily printed is not so good!
How do I defend against it?
To defend against browser finger printing we need to throw some curve balls against any type of script that is trying to gather our data.
- Install FireFox / Iceweasel / Nightly
- Open up the preferences / options tab
- Navigate to "privacy"
- Select "Tell sites I do not want to be tracked"
- Navigate to "Applications"
- It should display a list of services such as Flash, mailto, Podcast
- Select "Always Ask" OR "Preview in X" X being your respective browser.
Over the years I have been a consumer of many products, I often research a product and look at reviews of it, unless of course I know a lot about the product, then I look at the specifications of it, after all why bother with the majority of the reviews (I skim read them) when I know what I'm talking about and what I want?
After I have purchased the product, I often leave a review of it and tell my friends about how good or bad it is, this is of course can be both good or bad for the company not as a major factor, but as a minor factor, if I tell my friends it is a bad product, they will be unlikely to buy it due to fear of the same disappointment, they may then tell their friend that they know someone who had a bad experience, this brings more negativity to the product.
Now you may wonder why I'm going on about product reviews and word of mouth when I'm on a programming forum right?
The answer is simply this; all of the staff here genuinely care about CodeCall and its members, it's rare you find a community so willing to help people grow with out asking for anything in return (i.e. registration to view tutorials, higher post count to view "members" only areas) one thing however we love to hear is how we can improve your CodeCall experience, we're not a huge company, your contribution can help change and grow CodeCall so others may enjoy CodeCall.
So please, if you do have any feedback or suggestions for CodeCall on how to make it better, be sure to PM any Moderator or Roger with any suggestions, we can promise you, your opinion will matter, no matter who you are, your rank, **, experience in the industry.
It's totally up to you if you'd like to run it as an unofficial branch of CC, but I don't believe we are active enough to maintain it, a lot of people come here for support then leave with only the core community residing on a daily basis.
After reading many various posts on SSH tunneling I failed to find a decent one that really explained how to do it without giving you a wall of text to read, so I have decided to write a little tutorial!
What is an SSH Tunnel? An SSH Tunnel is a way to send unencrypted information over an encrypted network, it is an excellent method for security and browsing the internet without restrictions that may be placed by your router for an example in the UK ISP providers forbid access to various torrent sites, using an SSH Tunnel you can circumvent this whilst also managing to keep your browsing information hidden from your ISP, however this should not be a method used to access illegal content, rather a way to stay anonymous on the internet, because privacy is important!
Legal By following this tutorial you accept that I hold no responsibility to anything you do whilst SSH Tunneling, SSH Tunneling is not illegal and should only be used for your own privacy.
Requirements A server (either remote or local is fine, this tutorial is for learning purposes however a remote server is better for seeing the magic happen) A browser of your choice (For this tutorial I will be using Firefox/Iceweasel) Either a terminal that supports the SSH command OR PuTTy
Step one - Start your terminal / PuTTy Client Open up PuTTy OR your Terminal
Step Two - Configure the ports! For PuTTy enter in your servers IP and port (by default the SSH Port is 22) Then under the "connection" option on the left of PuTTy, click the right facing arrow that is next to "SSH" Select "Tunnels" and you will be presented with the following screen
In source port input a port of your choice for me it is 9090, then select "Dynamic" from the radio buttons and click "Add" to the right of "Source Port"
You will then see your PuTTy window looks something like this
For the Terminal use the following example replacing user with your servers main username (normally it will be root unless you have specified a different username) and then replace ip with your server's IP and then type -D and replace the XXXX with the port you would like to tunnel out of. Here's an example of the terminal code and what it would look like for me
ssh firstname.lastname@example.org -D9090
Then for PuTTy just press "Open" on the bottom right and enter in your password when prompted and move on to the next step! For terminal just press enter and enter your password when prompted, once logged in move on to the next step!
Step Three - Configure your browser!
Open up your browser (For me it is Iceweasel but Firefox has an identical GUI.) and open up prefrences and navigate to Advanced > Network > Settings
You will see this menu
Select "Manual Proxy Configuration" from the radio buttons and inside "SOCKS HOST" enter in 127.0.0.1 and then in the box directly to the right enter in the port you designated earlier, for me it is 9090 you do NOT have to include the -D part if you are using a terminal / seen the -D pop up in PuTTy
Then press "OK".
After this is done, exit the "preferences" menu and try connecting to a site, to test it has worked type into google "What is my IP?" it should tell you the IP of your server you have SSH'd into.
If all is okay and you can see your servers IP then you are done!
Congratulations you have just done your first SSH Tunnel!
- You MUST leave your PuTTy window / Terminal open at all times, otherwise you will not be SSH Tunneled OR your browser will throw an error such as "The proxy server is refusing connections"
- This will only work for programs / applications you have changed the SOCKS proxy configuration to match.
If you have any questions feel free to PM me OR tweet me here!
A recent one expected me to work within such a small time frame and kept trying to pile on the work, it's almost like they think that programming is just clicking and dragging into boxes and that their projects shouldn't take longer than a few hours.