63 Web Application Security Checklist For IT Security Auditors and Developers
63 Web Application Security Checklist For IT Security Auditors and Developers
Database Server security checklist
1. Check that if your database is running with the least possible
privilege for the services it delivers.
2. Update your database software with latest and appropriate patches
from your vendor.
3. Remove all sample and guest accounts from your database.
4. The dynamic sites need to communicate with the database server to
generate request contents by the users. Restrict traffic FLOW
between database and web server using IP packet filtering.
5. Use appropriate authentication mechanism between your web
servers and database servers.
6. If your database has a default account, you can either change it or
use a separate password.
7. Make sure database users are granted privileges according to their
roles and requirements.
8. Delete extended stored procedures and relevant libraries from our
database if you do not need them.
9. Do not embed database user passwords in the application codes.
10. Plan for a database audit.
11. Change database passwords after predefined period. After
predefined period.
Application security
1. Create a thereat model of your application and approve it by the
management and IS security team.
2. Segregate the application development environment from the
production environment. Never use the production data in the test
environment for testing purpose.
3. Make sure your application’s authentication system match industries
best practices.
4. Use ACL to control access to application directories and files.
5. Use proper input validation technique output encoding in the server
side.
6. Secure the source codes and files of your web applications.
7. Remove temporary files from your application servers.
8. Cookies and session management should be implemented
according the best practices of your application development
platform. Implement a session expiration timeout and avoid allowing
multiple concurrent sessions.
9. Assign a new session ID when users login and have a logout option.
10. Allow least privilege to the application users.
11. Implement a CAPTCHA and email verification system if you
allow your users to create account with your application.
12. Use appropriate encryption algorithm to meet your data
security requirements.
13. Always place the ‘includes’ files (the files required by the
server side scripts) outside the virtual root directory. Apply ACL to
your include files if possible. Rename the includes files into .asp in
your IIS server.
14. Identify the vulnerable API or function calls and avoid them if
there is a work around for it.
15. Parameterized SQL queries to prevent SQL injection.
16. Enable error handling and security logging features.
17. Run a security audit on your source codes.
18. Perform a black box test on our application. If you do not have
any penetration tester in your organization, which is more likely, you
can hire a professional penetration tester.
19. Change administration and other privileged passwords
regularly.
20. Conduct web application vulnerability scan regularly to identify
application layer vulnerabilities of your application.
21. Always conduct a proper penetration test before moving your
application from the development environment to the production
environment. Also, run a pen test when you make signification
modification to the application.