Misconfiguration and Out of Date Software

Web server and application server configurations play a key role in the security of a web application.

Make sure web server, operating system are ALWAYS up-to-date with patches

Turn off all unused ports and services

Harden your servers

Use scanning tools

Perform penetration testing periodically

Make sure there are no improperly shared drives / data

Do not allow weak passwords

Eliminate rogue devices.

An indirect way that a malicious user can compromise your application is by making it unavailable. The malicious user can keep the application too busy to service other users, or it can simply cause the application to crash. Follow these guidelines:

Use error handling

Configure IIS to use process throttling, which prevents an application from using up a disproportionate amount of CPU time.

Test size limits of user input before using or storing it.

Put size safeguards on database queries. For example, before you display query results in a web page, be sure that there are not an unreasonable number of records.

Put a size limit on file uploads, if those are part of your application. Check content-type on uploaded files.