Due to NIH syndrome and Drepper being Drepper, the only remotely secure password hashing algorithm in RHEL5/6 is multi-rounds SHA512. The default is just salted SHA512 which sucks.
Also applies to CentOS, ScientificLinux, and other RHEL clones.
Anyway, to update the default setting, these files need updating:
/etc/login.defs: add new lineSHA_CRYPT_MIN_ROUNDS 5000/etc/pam.d/system-auth-ac: find line with `password sufficient pam_unix.so sha512` and appendrounds=5000.
Note that the change to last file may or may not be persistent. I have no idea how to properly set it up.
Finally, run this command: authconfig --updateall.
If you’re using RHEL5, run authconfig --passalgo=sha512 --update first.
