بصورت پایه ای :
Use strong passwords
Update your server
And keep your server up to date
Disable all daemons/services that you don’t need
Don’t give your root password to people you don’t know or don’t trust
Consider changing the default ports

- - - Updated - - -

در ادامه :

Category: Global (Includes SSH)
1. Disable Root Access and Use SSH Keys.
2. Use Sudo instead of Su.
3. Install and Use a Firewall.
4. Disable Unnecessary Services and Daemons.
5. Set automatic password expiration (optional).
6. Use IDS (optional).
7. Set up a cron job to update system.
8. Change default SSH Port.
9. Use One-time Passwords (optional).
10. Use Fail2ban or similar brute-force detection tools.

Category: FTP
1. Switch to sFTP (ssh ftp) unless you have a good reason not to.
2. Disable Anonymous Access unless needed.
3. Disable Root Login.
4. Chroot users to their home directory.
5. Change default FTP port.

Category: Network
1. Allow access to SSH and critical management services like Webmin from trusted IPs only.
2. Make a strict Firewall policy.
3. Drop packets instead of rejecting.(optional)
4. Enable syn cookies.
5. Rate limit network services like SSH.
6. Use public IP block list.

Category: Web services
1. Password-protect web-based login directory like 'wp-login'.
2. Avoid using nulled scripts.
3. Avoid unnecessary applications like phpMyAdmin which are detected by exploit scanners and a prominent target.
4. Use Suhosin Patch for PHP.