Difference between revisions of "Choose a hosting provider"
(→Criteria) |
|||
Line 92: | Line 92: | ||
password required pam_cracklib.so minlen=12 lcredit=1 ucredit=1 dcredit=2 ocredit=1 | password required pam_cracklib.so minlen=12 lcredit=1 ucredit=1 dcredit=2 ocredit=1 | ||
− | For more detail, refer to the guide [http://www.linux-faqs.info/security/force-strong-passwords | + | For more detail, refer to the guide [http://www.linux-faqs.info/security/force-strong-passwords Force strong passwords] |
<li> | <li> | ||
− | Use password aging: the <tt>chaging</tt> command on Linux servers allows checking of password age by user and setting of password aging parameters [http://linoxide.com/linux-command/password-expire-chage-command/ | + | Use password aging: the <tt>chaging</tt> command on Linux servers allows checking of password age by user and setting of password aging parameters [http://linoxide.com/linux-command/password-expire-chage-command/ link]. |
</li> | </li> | ||
<li> | <li> | ||
− | In some cases it may be prudent to enabled account locking for accounts that have been under particularly concerted attacks. On Linux systems, the faillog command can be used to check failures and to set failure limits. For more details see [http://www.cyberciti.biz/tips/rhel-centos-fedora-linux-log-failed-login.html | + | In some cases it may be prudent to enabled account locking for accounts that have been under particularly concerted attacks. On Linux systems, the faillog command can be used to check failures and to set failure limits. For more details see [http://www.cyberciti.biz/tips/rhel-centos-fedora-linux-log-failed-login.html Faillog]. Great care should be taken when enabling user locking as an attacker can simply deny users access to their own services by intentionally locking an account. Generally it is better practice to ban the attacker before the need for account locking is encountered. |
</li> | </li> | ||
<li> | <li> | ||
Line 112: | Line 112: | ||
</li> | </li> | ||
<li> | <li> | ||
− | Private keys should be used for SSH login access. The following guide gives details on generating and setting up public/private keys for SSH login, [http://support.suso.com/supki/SSH_Tutorial_for_Linux | + | Private keys should be used for SSH login access. The following guide gives details on generating and setting up public/private keys for SSH login, [http://support.suso.com/supki/SSH_Tutorial_for_Linux SSH tutorial]. Once SSH keys have been set up for all relevant users, disabling password-based logins should be considered. |
</li> | </li> | ||
<li> | <li> | ||
− | File permissions should be restricted for critical files. User should only be allowed access to files relevant to their work. Execution as root should be restricted. Discussion of [http://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions | + | File permissions should be restricted for critical files. User should only be allowed access to files relevant to their work. Execution as root should be restricted. Discussion of [http://www.linux.com/learn/tutorials/309527-understanding-linux-file-permissions linux file permissions]. |
</li> | </li> | ||
</ol> | </ol> | ||
Line 130: | Line 130: | ||
<ol> | <ol> | ||
<li> | <li> | ||
− | Firewall can be enabled via [http://www.netfilter.org/projects/iptables/ | + | Firewall can be enabled via [http://www.netfilter.org/projects/iptables/ iptables] the guides [http://www.tecmint.com/basic-guide-on-iptables-linux-firewall-tips-commands/ here] and [http://www.cyberciti.biz/faq/category/iptables/ here] describe iptables configuration. |
</li> | </li> | ||
<li> | <li> | ||
Line 142: | Line 142: | ||
Logging and Auditing is a key aspect of server security. All hacking, brute force, DDoS or other attacks should be captured, monitored and analysed. | Logging and Auditing is a key aspect of server security. All hacking, brute force, DDoS or other attacks should be captured, monitored and analysed. | ||
<br> | <br> | ||
− | This [http://www.cyberciti.biz/faq/linux-log-files-location-and-how-do-i-view-logs-files/ | + | This [http://www.cyberciti.biz/faq/linux-log-files-location-and-how-do-i-view-logs-files/ guide] describes the location and purpose of common Linux log files. |
<br> | <br> | ||
− | To ensure that information is not lost, overwritten or that the logs do not grow infinitely the tool [http://www.thegeekstuff.com/2010/07/logrotate-examples/ | + | To ensure that information is not lost, overwritten or that the logs do not grow infinitely the tool [http://www.thegeekstuff.com/2010/07/logrotate-examples/ Logrotate] can be used. |
<br> | <br> | ||
− | Installing a tool like Logwatch allows you to monitor and respond to suspicious activity. The following [https://www.digitalocean.com/community/articles/how-to-install-and-use-logwatch-log-analyzer-and-reporter-on-a-vps | + | Installing a tool like Logwatch allows you to monitor and respond to suspicious activity. The following [https://www.digitalocean.com/community/articles/how-to-install-and-use-logwatch-log-analyzer-and-reporter-on-a-vps guide] describes installing and configuring Logwatch. |
</li> | </li> | ||
<li> | <li> | ||
− | [http://selinuxproject.org/page/Main_Page | + | [http://selinuxproject.org/page/Main_Page Security Enhanced Linux(SELinux)] is a kernel level security control mechanism, which enforces a set of rules and procedures for the system. SELinux provides fine grained control for access rights and permissions. |
<br> | <br> | ||
To check if it is enabled run | To check if it is enabled run | ||
Line 173: | Line 173: | ||
</li> | </li> | ||
<li> | <li> | ||
− | [http://www.fail2ban.org/wiki/index.php/Main_Page | + | [http://www.fail2ban.org/wiki/index.php/Main_Page Fail2ban] is an excellent tool that can be used both to combat simple DDoS attacks but also to detect and block brute force login attempts. |
</li> | </li> | ||
</ol> | </ol> | ||
Line 183: | Line 183: | ||
Below is a set of guides for Apache webserver hardening. | Below is a set of guides for Apache webserver hardening. | ||
<li> | <li> | ||
− | [http://www.tecmint.com/apache-security-tips/ | + | [http://www.tecmint.com/apache-security-tips/ 13 Apache Web Server Security and Hardening Tips] |
<li> | <li> | ||
− | [http://xianshield.org/guides/apache2.0guide.html | + | [http://xianshield.org/guides/apache2.0guide.html Apache 2.0 Hardening Guide] |
</li> | </li> | ||
</ul> | </ul> | ||
Line 195: | Line 195: | ||
Below are further guides for specific hardening techniques for the MySQL database system. | Below are further guides for specific hardening techniques for the MySQL database system. | ||
<li> | <li> | ||
− | [http://www.greensql.com/content/mysql-security-best-practices-hardening-mysql-tips | + | [http://www.greensql.com/content/mysql-security-best-practices-hardening-mysql-tips MySQL Security Best Practices] |
</li> | </li> | ||
<li> | <li> | ||
− | [http://rochakchauhan.com/blog/2013/11/19/security-and-hardening-tips-for-mysql/ | + | [http://rochakchauhan.com/blog/2013/11/19/security-and-hardening-tips-for-mysql/ Security and Hardening Tips for MySQL] |
</li> | </li> | ||
<li> | <li> | ||
− | [http://www.securethelock.com/2014/01/09/12-steps-for-hardening-mysql-from-attackers/ | + | [http://www.securethelock.com/2014/01/09/12-steps-for-hardening-mysql-from-attackers/ 12 steps for Hardening MySQL from Attackers] |
</li> | </li> | ||
</ul> | </ul> | ||
Line 283: | Line 283: | ||
</li> | </li> | ||
<li> | <li> | ||
− | '''Wordpress Security''' is described in detail in the following [http://codex.wordpress.org/Hardening_WordPress | + | '''Wordpress Security''' is described in detail in the following [http://codex.wordpress.org/Hardening_WordPress guide]. |
</li> | </li> | ||
</ol> | </ol> |
Revision as of 15:17, 26 May 2014
Criteria
There are several aspects which should be considered when selecting a service host. Below is a general list, this document gives detailed information on each area.
- Price - relative services offered
- Reputation - are they well known, have they had security breaches or reports of poor support, do they adhere to certain principles inline with that of your organisation - such as data privacy or protection of human rights defenders.
- Specialisation - do they work in the field of human rights, software applications or general hosting
- Is mail provided
- Hardware specifications
- Operating systems offered
- Supported provided
- Readily discusses your security concerns and which security features and processes they offer with their hosting.
- Provides the most recent stable versions of all server software.
- Provides reliable methods for backup and recovery.
- Provides encryption options for hosting of sites or mail
Features
It is quite important to consider the possibilities offered by your provider's control panel. If you need to write a support ticket everytime the server has to reboot, it wont be an efficient process, especially during a crises. Possible features to look out for include
- Automated operating system installs
- Server boot and reboot
- Remote console (sometimes known as KVM)
- Server and network statistics
- Dynamic components (e.g. adding extra disk space, RAM without rebuilding the machine or having to order a new service)
- Server access (varies between SSH, SFTP or web based)
Secure hosting setups
Depending on available skill level the following secure system setups are possible:
[Expand]
High Technical
[Expand]
Intermediary Technical
[Expand]
Basic Technical
[Expand]