Security checklist - deploying a website
This is a security deployment checklist – things to do before you deploy your site to a live environment.
Web.config:
Check |
Description |
Details |
The debug mode is turned off to prevent sensitive information leakage. |
||
Tracing is disabled to prevent sensitive information leakage. |
||
The error messages of websites and application-server default error messages are not displayed in details to users. |
||
Sensitive sections of the web.config file are encrypted (mainly the connection string). |
How To: Encrypt Configuration Sections in ASP.NET 2.0 Using DPAPI |
|
Access to sensitive directories is forbidden to protect the servers against the enumeration attack. |
||
Cookieless authentication is disabled to prevent session hijacking. This can be done by changing the cookieless attribute of the form element. |
||
The HttpOnlyCookies flag is set so that the cookies are accessible only from the server-side code (this behavior is set by default in Kentico). |
IIS:
Check |
Description |
Details |
Directory listing is disabled in the website and web servers. |
||
All HTTP methods except GET and POST are disabled if they are not in use. |
||
Scripts and 3rd party libraries are up-to-date. If external libraries (e.g. for database access, XML parsing) are used, always use the current versions. |
||
Sensitive links which should not be indexed by search engines are listed within robots.txt files. |
||
The execution of scripts is disabled on folders where it is undesirable. |
Edit Feature Permissions for the Handler Mappings Feature (IIS 7) |
Kentico:
Check |
Description |
Details |
All test user accounts are deleted or disabled. |
||
All unnecessary modules and applications are disabled. |
Disabling unnecessary modules and services and keeping the system up-to-date |
|
All unnecessary pages are deleted. |
||
File types that can be uploaded to the system are restricted. You can specify which extensions are allowed for uploaded files in general, including forms in Settings -> System -> Files in the Security group. |
||
UI personalization for specified roles is set correctly to prevent users from accessing unnecessary user interface. You can configure UI personalization in the UI personalization application. |
||
Permissions for specified actions in Kentico modules are set correctly for all roles. You can configure permissions in the Permissions application. |
||
Users are allowed to use only strong and complex passwords. You can enable the Use password policy setting in Settings -> Security & Membership -> Passwords. |
||
The passwords are stored in a strong and secure format. Recommended option is SHA2 with salt. You can set password format in Settings -> Security & Membership -> Passwords -> general group. |
||
The number of allowed invalid logon attempts is limited. You can set the limit in Settings -> Security & Membership -> protection in the Invalid logon attempts group. |
||
You have consider if autocomplete function is needed. Autocomplete can be enabled in Settings -> Security & Membership -> Protection -> General group. |
||
Forms are secured with CAPTCHA (spam protection control). |
||
Encrypted Internet connection (HTTPS) is configured properly. |