Security tips for Linux server
1. Use only strong passwords for all accounts , especially for root.
Always use a secure root password. Example of a strong password: [^G!h7#320P@}jD&er4.
This applies to all users which have ssh access or/and admin access to web UI panel like Webmin,zPanel, etc...
2. Change the default ssh port.
3. Disable root login.
4. Install fail2ban to protect your server against brute force attack.
5. Update OS packages time to time.
yum update (CentOS, RedHat)
apt-get update (Debian, Ubuntu)
6. Monitor your VPS resources utilization.
Once you've noticed unusual high utilization you should check and understand why this happens.
You can use top, htop, iotop, iftop, free -m, df -h, tcpdump, netstat, etc.
7. Check the security logs time to time.
- /var/log/messages – Where whole system logs or current activity logs are available.
- /var/log/auth.log – Authentication logs.
- /var/log/cron.log – Crond logs (cron job).
- /var/log/maillog – Mail server logs.
- /var/log/mysqld.log – MySQL database server log file.
- /var/log/secure – Authentication log.
- /var/log/yum.log: Yum log files.
8. Close unused ports with iptables.
List the ports which are currently in use:
# netstat -tulpn
At least it's good to block UDP (except port 53) and block ICMP in/out in webserver default scenario. If you are using UDP you can block all ports except some used ranges specified.
Feel free to contact our support team if you need any assistance in securing your VPS.
Was this answer helpful?
Cron is the daemon that can be used to schedule tasks according to time, day of the month,...
How to generate and use public / private ssh keys This guide is tested on Centos 6 To...
FreePBX is an open source GUI (graphical user interface) that controls and manages Asterisk (PBX)...
How to change ssh port. Open the file /etc/ssh/sshd_config with your favourite text...
To set a script to start at boot in CentOS, add it into /etc/rc3.d/S99local. For example:...