I am taking classes on, "Ethical Hacking" using Kali Linux as my main OS. This class deals with TOR and proxy configuration. He often says, "It's not a good idea to browse the internet as root." Why is that?
This comes down to least priviledge access. As someone studying security, you should know that best practise is always to give a user only the rights they need and no more.
One of the main reasons for this is that the internet is a 2-way street.
If one of these attacks are executed against you - the code being executed will execute as the user which has the browser opened (IE, as your user account)
When this happens to a user, the only real restriction to what can be executed is the rights of the user.
A non-root, restricted user gives some form of damage limitation on Linux as there are things that only root can do. When this happens to root, all bets are off, anything goes, your computer will be cracked wide open in a fraction of a second and the only way to fix it is a full format (given that you don't know exactly whats been done)... not something you want.
So thats why best practise is to never surf as root. It's bad enough being attacked as a non-admin user, but when your user can do absolutely anything on your machine - you're in big trouble.
Kali linux is not meant as a general purpose OS. Its meant to be a standardised platform for deploying specific scripts to do various tasks.
Its one of these
Very good at what it does. Just not what you need when you want to go grocery shopping.
I'm told it runs as root by default which is terrifying. Its not a good idea, and feels ever so lazy when clever abuse of sudo would do the same thing.
Often an attacker gets in because some software you are running is exploitable - and he is able to run arbitrary code as that account. As a regular user, the damage he can do is somewhat contained. As root, he can pretty much control your system and get up to nefarious activities such as installing root kits.
There's very little that needs root - package management (and sudo's a great way to do this safely) and running software bound to low ports (they should start as root, then drop down to being a normal user).
Even having a root account that's usable on its own has possible issues - if you have ssh, and basic password auth, an attacker can brute force your password.
On Internet your browser usually executes code without that you even notice.
If you browse as a not privileged user the code will run with your privileges (it can do what your user can do). If you run your browser as root each code will run as root! (And each code can do whatever it wants, not limited to only one user but to all the system).
This can apply even to problems related to the normal behaviour of the browser: crashes, user errors...
The web is a great window to the world, but unfortunately, due to ever-appearing flaws in browsers and their plugins, it can be a two-way window the evil demons can exploit to possess the one who is looking out. Well, I guess you agree, that it would be most unfortunate if the one who is possessed this way is the one who can do anything in the system.