LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   how to ensure that my Linux password can't be cracked by any user or even superuser (https://www.linuxquestions.org/questions/linux-newbie-8/how-to-ensure-that-my-linux-password-cant-be-cracked-by-any-user-or-even-superuser-4175498154/)

prasanta dutta 03-14-2014 05:02 AM

how to ensure that my Linux password can't be cracked by any user or even superuser
 
prasanta7dutta@gmail.comhow to ensure that my Linux password can't be cracked by any user or even superuser

jpollard 03-14-2014 06:56 AM

Use a good password?

It is relatively difficult to crack any one way hash... especially now with the more advanced hash functions.

dictionary attacks are easy - but useless against good passwords.

Ser Olmy 03-14-2014 06:59 AM

Passwords are stored as salted hashes, and as long as the password is strong and the operating system isn't spying on you, the only way to crack the encryption is via brute-force methods. For a reasonably strong password and a modern hash algorithm, this just isn't feasible.

However, the superuser doesn't have to crack your password in order to gain access to your local account.

Shadow_7 03-14-2014 07:31 AM

You don't need to crack the password. root can reset the password or su to the user without supplying the password. Neither of which tells them what the password is, but functionally it's not needed. They can also clone the system to other hardware and devote all of that machines efforts to brute forcing the password if they wanted to.

snowday 03-14-2014 07:34 AM

Strange that you are concerned about your password, but willing to put your email address on a public forum!

pan64 03-14-2014 08:23 AM

every password can be cracked. probably it will take time, but it is not impossible. Therefore you need to change your password time by time...

TB0ne 03-14-2014 09:16 AM

Quote:

Originally Posted by prasanta dutta (Post 5134353)
how to ensure that my Linux password can't be cracked by any user or even superuser

You can't, and the superuser doesn't have to 'crack' your password, since they can just CHANGE IT whenever they'd like. And no one here is going to email you answers...this is a community forum, so unless you participate in the forum, you won't get answers.

Habitual 03-14-2014 09:49 AM

Quote:

Originally Posted by snowpine (Post 5134423)
Strange that you are concerned about your password, but willing to put your email address on a public forum!

Maybe that is his password?

haertig 03-14-2014 02:18 PM

Just be sure not to use "password" as your password. Use "password123" instead. That makes it super-secure. :D

Even if you encrypt your stuff, and want to keep that data out of root's hands, you will fail. root can view raw memory, put keyloggers on you, etc. If root is patient, persistant and knowledgeable enough, you have already lost before you even get started.

metaschima 03-14-2014 03:47 PM

See:
http://www.thegeekstuff.com/2008/06/...ong-passwords/
There's also rule 3, deducibility: Don't use you date of birth or any number or data from your personal information, which is rather easy to come by. And rule 4, change it often in case they are brute-forcing it.

Avoid common passwords, and there are many lists online of the most common passwords.

None of this can guarantee that your password can't be cracked, but it will make it less likely.

Ser Olmy 03-14-2014 04:19 PM

Quote:

Originally Posted by pan64 (Post 5134448)
every password can be cracked. probably it will take time, but it is not impossible. Therefore you need to change your password time by time...

While this may be technically correct, cracking a hash created with an algorithm without known vulnerabilities would literally take ages. Consider this little thought experiment:
  • a user has a complex password of unknown length that's not a common dictionary word
  • the password is hashed with SHA1 using a random salt
Since the password isn't vulnerable to a dictionary attack and may be any length, the attacker would have to resort to brute-force cracking.

A SHA1 hash is 160 binary digits long. That means there are 2^160 possible hashes. If that doesn't sound like a lot, here's the full 49-digit number:

1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976

I don't know how fast one can generate SHA1 hashes, but let's go out on a limb and assume the attacker has full access to all the resources in both the Microsoft Azure and Amazon Elastic Cloud environments. Let's say the combined efforts of these systems can generate a mind-numbing one quintillion hashes (1,000,000,000,000,000,000 hashes) per second (which I'm pretty certain they can't, not by a long shot).

Let's further assume that the attacker only has to search through half the keyspace before a matching hash is found. He'll then have cracked the password after roughly 730,750,818,665,451,459,101,842,416,358 seconds, which is a little over 23 sextillion years. By then, the hacker will have had to deal with some other pressing issues, such as the heat-death of the universe.

TL;DR: Brute-forcing hashes is really hard work, which is why most attacks against encryption algorithms are based on cryptanalysis, exploiting weaknesses in the algorithm itself.

metaschima 03-14-2014 04:47 PM

There's a lot of assumptions there. First we are assuming that LOGIN_RETRIES is sensible. If your password is '12345' or 'password', then a dictionary attack is viable i.e. you'll guess the password before you run out of tries.

For the hash algorithm used by shadow, you can check '/etc/shadow' to see what hash is used:
http://dietrichschroff.blogspot.com/...passwords.html
I know Slackware uses $5$ which is SHA-256, but outdated distros may use $1$ (MD5), which is rather broken. However, the salt greatly improves the security.
http://ehash.iaik.tugraz.at/wiki/The_Hash_Function_Zoo
http://en.wikipedia.org/wiki/Cryptog...ash_algorithms

jpollard 03-14-2014 04:48 PM

Or the use of rainbow tables...

Generating the hash is slow... but searching a pre-existing list is much faster (I think a radix search is the fastest).

The problem is that storing 1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976 different hashes is still a bit hard.

Ser Olmy 03-14-2014 04:53 PM

Quote:

Originally Posted by jpollard (Post 5134727)
Or the use of rainbow tables...

Generating the hash is slow... but searching a pre-existing list is much faster (I think a radix search is the fastest).

The problem is that storing 1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976 different hashes is still a bit hard.

Not to mention that someone would still have to generate the rainbow table first.

Rainbow tables are usually created based on (permutations of) dictionary words. Creating a rainbow table for every possible combination of characters would take as long as brute-forcing the hash.

metaschima 03-14-2014 05:01 PM

I thought of rainbow tables, but the salt prevents it.


All times are GMT -5. The time now is 09:16 PM.