xvi Contents
Request Normalization .................................. 383
Response Analysis
...................................... 384
Intrusion Detection Capabilities
............................ 385
Intercepting Filters
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Web Server Filters
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
Application Filters
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Implementing the Filter Pattern in Scripted Languages
. . . . . . . . . . . . . 390
Filtering Web Service Messages
............................... 391
Non-Editable versus Editable Input Protection
...................... 391
URL/Page-Level Strategies
.................................... 392
Page Overriding
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
URL Rewriting
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Resource Proxying/Wrapping
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Aspect-Oriented Programming (AOP)
. . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Application Intrusion Detection Systems (IDSs)
..................... 394
Database Firewall
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Securing the Database
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Locking Down the Application Data
............................. 395
Use the Least-Privileged Database Login
........................ 395
Revoke PUBLIC Permissions
................................ 396
Use Stored Procedures
..................................... 396
Use Strong Cryptography to Protect Stored Sensitive Data
. . . . . . . . . . 397
Maintaining an Audit Trail
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Oracle Error Triggers
.................................... 398
Locking Down the Database Server
.............................. 400
Additional Lockdown of System Objects
. . . . . . . . . . . . . . . . . . . . . . . . 400
Restrict Ad Hoc Querying
.................................. 401
Strengthen Controls Surrounding Authentication
. . . . . . . . . . . . . . . . . 401
Run in the Context of the Least-Privileged
Operating System Account
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Ensure That the Database Server Software Is Patched
............... 402
Additional Deployment Considerations
.............................. 403
Minimize Unnecessary Information Leakage
. . . . . . . . . . . . . . . . . . . . . . . 403
Suppress Error Messages
.................................... 403
Use an Empty Default Web Site
.............................. 406
Use Dummy Host Names for Reverse DNS Lookups
.............. 406
Use Wildcard SSL Certificates
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Limit Discovery via Search Engine Hacking
. . . . . . . . . . . . . . . . . . . . . 407
Disable Web Services Description Language
(WSDL) Information
.................................... 408