* 사업 등 관련 문의: T) 02-322-4688, F) 02-322-4646, E) info@wikisecurity.net
Web Application Checklist
Basic Configuration
- Is default content or sample content installed on the web server?
- If so, why is this necessary? Is any of this material executable code?
- Check that directory indexing has been disabled
- Compare the configuration of the server with manufacturer or community security recommendations. Have appropriate controls and options been configured?
- Have the server headers been sanitized?
- What security baseline has been implemented on the underlying operating system? Has the security of this configuration been audited?
- Does the network architecture support the security and information flow requirements of the web architecture?
- Use at least one automated tool to evaluate the web site
- Are there any issues identified by the tools?
- What sorts of risks do these issues represent?
- What controls already exist to mitigate the risks?
- Are the responsible individuals capable of remediating the risks identified?
Authentication
- Is authentication required? If so:
- How is authentication accomplished?
- If Basic authentication is used, is it appropriate for the level of sensitivity for the data?
- If Basic is used, is SSL required?
- If forms are used, is the POST method used?
- If forms are used, is SSL required?
- If certificates are used, how are certificates controlled?
- If certificates are used, how is the CRL managed?
- How are account lockouts handled?
- Are speed bump lockouts in use?
Session Management
- What session management and tracking technique is in use?
- Basic Authentication
- Is SSL required at all times after the username and password are requested?
- Is there a sign off procedure to force the credentials to be dropped from the browser?
- Is there some form of tracking in place to identify brute force password guessing attempts?
- How are account lockouts handled?
- URL Rewriting/Hidden form fields
- Are the session IDs sufficiently random?
- Are the session IDs sufficiently large?
- Is the generation of the session ID based on any aspect of the user or password information?
- Are session IDs sent over appropriately secure paths? If not, how is this mitigated?
- How are account lockouts handled?
- Is there a clear sign off procedure to expire a session ID?
- Are session IDs perishable?
- Are the session IDs in the session token of sufficient length for the application?
- Are the session IDs secured appropriately based on cloning detection capabilities?
- What type of session hijacking/cloning detection capabilities exist?
- What actions does the application take when a session violation is detected?
- Are the session IDs sufficiently random?
- Do session IDs expire after some period of time?
- Is a valid session required in all appropriate circumstances? How is this enforced or mediated?
Input
- How is input to the application sanitized?
- Is input sanitized in all cases, even if some cases have less restrictive rules?
- Is sensitive information always sent using a POST rather than a GET?
- How robust is the application when dealing with unexpected or illegal input?
Output
- How are error conditions handled?
- Is it possible to cause the application to generate an unhandled error?
- Is encryption used in all cases where sensitive information is returned?
- Are there any anti-caching techniques in use when sensitive information is returned?
- Are all special characters properly stripped or escaped when returned in a web page?