AlpineWeb Home
Search: For:   ~ Advanced Search  
  Support Home     Documentation     Knowledgebase     Help Desk     Blog 
Hosting > Virtual Private Servers > Administration > Security > Thursday, August 28, 2008

Increasing Server Security


The security of our servers is of paramount importance. We have a strict security policy that encompasses many areas including a security-hardened operating system, functional isolation of each VPS, and careful monitoring and updating of applications. However, our customers must also share in the responsibility of keeping each of their VPS accounts secure by using good passwords, avoiding insecure scripts and applications, and following other security best practices.

Some of you may have seen reports of distributed server scans that are initiated by potential hackers. Essentially, these hackers scan Internet servers for vulnerable scripts and/or vulnerable users (users with weak passwords). One of the most popular of these scans is trying to login into SSH as common users like 'root', 'guest', 'admin', or 'test' and then attempting to crack weak passwords (it's even easier if no password has been configured for one of these users). We think it is important to make you aware of these scans and also provide you information that will keep you from becoming a victim of one of these attacks.

One of the benefits of our VPS v2 plans is root access. Every VPS v2 account is provisioned with a root user. Because the root user has significant flexibility and power, it is important that this feature be used carefully.

First, you should set a strong password for all users, especially the root user. Choose a password that uses a variety of characters on the keyboard. Specifically, choose a password that meets the following criteria:
  • Your password has both upper and lower case letters.
  • Your password has digits, punctuation marks, or other symbols (do not use a word where some letters are simply replaced by digits such as bl0wf1sh).
  • Your password is not based on your login.
  • Your password is not a real word (e.g., something you'd find in a dictionary or a list of proper nouns).
  • Your password is seven or eight characters long.
  • Your password is something you can memorize; if you can't seem to memorize something with strange characters, make your password longer, preferably 12 characters or more; adding just one or two characters to your password length has a huge effect mathematically on the strength of your password.
  • Change your password at least every six months and change it immediately if you've had to login over plain text for any reason.
    For additional information on choosing a strong password, see:

    Passwords
Second, you should always login to your VPS v2 server as a user OTHER THAN 'root' (either as the admin user created during account provisioning or some other user you've added) and then 'su' to root when you need to do something as root. Additionally, never run a website as root (where the website files are owned by the root user).

Lastly, it is important to secure access to applications that are frequently the subject of scans (like SSH). Here are a few important tips for securing SSH:
  • Set "PermitRootLogin no" in sshd_config: now *any* root login attempts will fail. You should login to a user account (with a good password!) and then 'su' to root as needed. sshd_config is located in the /etc/ssh/ directory.
  • There are other settings in sshd_config that can be modified; refer to the ssh_config man page.
Specifically review MaxStartups, which specifies the maximum number of concurrent unauthenticated connections to the ssh daemon, and PasswordAuthentication, which can be set to 'no', thus requiring SSH users to login with a private key instead of a password. sshd_config is located in the /etc/ssh/ directory.

For details on the above recommendations and other tips for securing your VPS v2 servers, please visit the following URLs:

Increasing Server Security

The following steps should increase the level of security of your Servers.

Please keep in mind security is a way of life and a life style.  It is a set of procedures and policies that must be malleable, and yet followed consistently.

Never allow yourself to feel too safe or too secure; always check things out, always be open to learning new ways, always be on the look out.

Never blindly follow security instructions -- read, review, compare, apply as it fits your system.
  1. Follow a Best Practices approach
  2. Install patches as necessary; do on a regular basis
  3. Change your passwords on a regular basis.
  4. Disable telnet
  5. Do an initial hardening of the operating system
  6. Remove regular user and world access from c compilers
  7. Secure host.conf
  8. Install chkrootkit, and set up in cron
  9. Install logcheck (similar to logwatch)
  10. Securing root
  11. Disable direct root login
  12. Only allow certain IP's access to SSH
  13. Secure the /tmp partition
  14. Install a firewall
  15. Set PHP up for safe mode on
  16. Turn off server signatures
  17. If you are going to grant shell access in a shared environment...
  18. Daily routine
Also see System Administrator Resources
IMPORTANT NOTE: This document is based on FreeBSD. The concepts should be similar across operating systems, but the commands will very likely be different. Also, never assume the directory structures exist in your system as written in the document. Never blindly follow security instructions -- read, review, compare, apply as it fits your system.

Technical Support
° Getting Started Guides
  FreeBSD
° Basic Hosting Help
° Signature Hosting Help
° VPS v1 Help
° VPS v2/3 Help
° MPS v2/3 Help
  Linux
° VPS v3 Help
° MPS v3 Help
  SaaS
° Sugar CRM
  DNS
° Domain Name Service
° Domain Registration
° Help Desk
° Knowledgebase
° Support Policies
° Disclaimer

° AlpineWeb Home
° Compare Hosting Plans
° Network Topology

° Rates & Fees
° Order Center




  Home | Site Map | Customer Backroom Copyright  ©  1997-2008  AlpineWeb Design