Auditing Web Servers and Web Applications
Web Servers
Verify that the web server is running on a dedicated logical system not shared with other critical applications.
HOW
Verify that the web server is fully patched and updated with the latest approved code.
HOW
Verify that unnecessary services, modules, objects, and APIs are removed or disabled. Running services and modules should be operating under the least privileged accounts.
HOW
Verify that only appropriate protocols and ports are allowed to access the web server.
HOW
Verify that accounts allowing access to the web server are managed appropriately and use strong passwords.
HOW
Ensure that appropriate controls exist for files, directories, and virtual directories.
HOW
Ensure that unnecessary information such as version and directory listings are not exposed through the web interface.
HOW
Ensure that the web server has appropriate logging enabled and that monitoring processes are in place.
HOW
Ensure that script extensions are mapped appropriately.
HOW
Verify the validity of any server certificates in use.
HOW
Web Applications
Ensure that the web application is protected against injection attacks.
HOW
Review the application for authentication and session management vulnerabilities.
HOW
Verify that sensitive data is identified and protected appropriately. Ensure proper use of encryption technologies to protect sensitive data.
HOW
Review the web server for exposure to XML external entities (XXE) attacks.
HOW
Verify that proper access controls are enforced.
HOW
Review controls surrounding maintaining a secure configuration.
HOW
Review the website for cross-site-scripting vulnerabilities.
HOW
Review protections against exploitation of deserialization sequences.
HOW
Review processes to ensure vulnerabilities are not present in libraries, frameworks, or other components.
HOW
Ensure that adequate logging is present and review processes for examining log data.
HOW
Review the security training provided to application development teams and ensure that development teams understand secure coding practices.
HOW
Verify that all input is validated prior to use by the web server.
HOW
Evaluate the use of proper error handling.
HOW
Review web application redirects and forwards to verify that only valid URLs are accessible.
HOW
Verify that controls are in place to prevent cross-site request forgery (CSRF or XSRF).
HOW
Last updated