ssh - secure root access with no password
Follow @ggarronDictionary attacks as described in Wikipedia are:
In cryptanalysis and computer security, a dictionary attack is a technique for defeating a cipher or authentication mechanism by trying to determine its decryption key or passphrase by searching likely possibilities.
A dictionary attack uses a brute-force technique of successively trying all the words in an exhaustive list called a dictionary (from a pre-arranged list of values). In contrast with a normal brute force attack, where a large proportion key space is searched systematically, a dictionary attack tries only those possibilities which are most likely to succeed, typically derived from a list of words for example a dictionary (hence the phase dictionary attack) or a bible etc. Generally, dictionary attacks succeed because many people have a tendency to choose passwords which are short (7 characters or fewer), single words found in dictionaries or simple, easily-predicted variations on words, such as appending a digit.
If an attacker wants to break your server, he first needs to guess the username, and then try to gess the password for that username, so the more common dictionary attacks are done to the root password, there are two reasons to do it that way.
- Almost all systems has root accounts (Ubuntu does not have it enabled)
- If someone gain access to your server with the root accout it will have full access to the server
So there are two simple ways to avoid the possibility of an attack to the root account
- Disable root access via ssh to your server Edit the file
- Enable root access via ssh, but only with rsa key Edit the file
/etc/ssh/sshd_config
Look for this line
#PermitRootLogin yesAnd change it to:
PermitRootLogin no
/etc/ssh/sshd_config
Look for this line
#PermitRootLogin yesAnd change it to:
PermitRootLogin without-password
Then, create the rsa key and enable the two machines to be able to use the key, follow the instructions of How to ssh with rsa key