Difference between revisions of "Access Restrictions"

 
Line 12: Line 12:
 
  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| 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 chaging 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].
+
Use password aging, the chaging 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>
Failed login attempts should result in the locking of the associated user account. 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]
+
Failed login attempts should result in the locking of the associated user account. 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]
 
</li>
 
</li>
 
<li>
 
<li>
Use Password Management software - a tool such as Keepass, or KeepassX for Linux and Mac, allows users to easily generate, store and mange complex difficult to crack passwords. Refer to this guide for details on [https://securityinabox.org/en/keepass_main| Keepass]
+
Use Password Management software - a tool such as Keepass, or KeepassX for Linux and Mac, allows users to easily generate, store and mange complex difficult to crack passwords. Refer to this guide for details on [https://securityinabox.org/en/keepass_main Keepass]
 
</li>
 
</li>
 
</ol>
 
</ol>
Line 32: Line 32:
 
</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| SSH tutorial]
+
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]
 
</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| 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 44: Line 44:
 
For shared hosting password managment is a core defence against attack. The administrator password should fit the criteria above for a strong password - long, variance in characters containing no dictionary words.
 
For shared hosting password managment is a core defence against attack. The administrator password should fit the criteria above for a strong password - long, variance in characters containing no dictionary words.
  
As above [https://securityinabox.org/en/keepass_main| Keepass] can be used to generate and store a complex admin password. This has the secondary advantage of limiting access to the admin password to those who are trusted with the Keepass store.
+
As above [https://securityinabox.org/en/keepass_main Keepass] can be used to generate and store a complex admin password. This has the secondary advantage of limiting access to the admin password to those who are trusted with the Keepass store.
 
</li>
 
</li>
 
<li>
 
<li>
 
'''Restrict IP addresses'''
 
'''Restrict IP addresses'''
  
Depending on what version of CPanel your provider offers, it is possible to lock down access via [http://docs.cpanel.net/twiki/bin/view/AllDocumentation/WHMDocs/DenyAccess| Host Access Control] option. This allows you limit access to very specific IP addresses.
+
Depending on what version of CPanel your provider offers, it is possible to lock down access via [http://docs.cpanel.net/twiki/bin/view/AllDocumentation/WHMDocs/DenyAccess Host Access Control] option. This allows you limit access to very specific IP addresses.
 
</li>
 
</li>
 
<li>
 
<li>

Latest revision as of 15:22, 26 May 2014

Restricting access to data based on roles, rights and responsibilities is an integral part of any security policy. It is equally true in the framing of secure hosting.

In this circumstance, access should be clearly separated into roles at different levels. When hosting a web application a separate password and user should be used for database access by the web application. The web application should never have root access to any other domain. In a similar way, real world users should be divided into roles and categories and non-should be granted full root access.

Dedicated/VPS Hosting

Password Management is the core of any security strategy. For dedicated and VPS hosting options, there are several modes of control that administrator can apply.

  1. Enforce strong password - a strong password should contain upper and lower case characters, numbers and special characters and should be long; greater than 20 characters. It is also possible to restrict the use of previously used passwords. On Linux systems the following command can be used to force complex passwords for users:
  2. password required pam_cracklib.so minlen=12 lcredit=1 ucredit=1 dcredit=2 ocredit=1
    

    For more detail, refer to the guide Force strong passwords

  3. Use password aging, the chaging command on Linux servers allows checking of password age by user and setting of password aging parameters link.
  4. Failed login attempts should result in the locking of the associated user account. On Linux systems, the faillog command can be used to check failures and to set failure limits. For more details see Faillog
  5. Use Password Management software - a tool such as Keepass, or KeepassX for Linux and Mac, allows users to easily generate, store and mange complex difficult to crack passwords. Refer to this guide for details on Keepass

User Management on Dedicated or VPS systems allow administrators fine grained control of user login and access permissions.

  1. Root user login should be disabled by default
  2. Secure Shell(SSH) login should be forced, telnet and ftp login access should be disabled by default. To upload files to the server securely user can use Secure FTP(SFTP) clients.
  3. 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, SSH tutorial
  4. 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 linux file permissions.

Shared Hosting

  1. Password Management For shared hosting password managment is a core defence against attack. The administrator password should fit the criteria above for a strong password - long, variance in characters containing no dictionary words. As above Keepass can be used to generate and store a complex admin password. This has the secondary advantage of limiting access to the admin password to those who are trusted with the Keepass store.
  2. Restrict IP addresses Depending on what version of CPanel your provider offers, it is possible to lock down access via Host Access Control option. This allows you limit access to very specific IP addresses.
  3. User management User accounts on a Shared Hosting system should be restricted only to those whose core responsibility is for updating or maintaining the organisations site. Access information should, however, also be stored by the Organisation as part of their regular backups - in the event that the responsible party leaves the Organisation.