Foreword |
|
xi | |
Acknowledgments |
|
xiii | |
Author |
|
xv | |
|
Introduction: How This Book Will Help You Be Secure and Compliant |
|
|
1 | (10) |
|
|
2 | (6) |
|
Taxonomy of Best-Practice Database Security |
|
|
8 | (1) |
|
Using HOWTOs to Secure Oracle |
|
|
9 | (2) |
|
|
11 | (18) |
|
HOWTO Choose a Hardening Guideline |
|
|
12 | (3) |
|
HOWTO Use a Vulnerability Assessment Tool |
|
|
15 | (2) |
|
HOWTO Create and Maintain a Secure Configuration Baseline |
|
|
17 | (1) |
|
HOWTO Understand Critical Patch Updates |
|
|
18 | (4) |
|
HOWTO Sanitize Data for Test |
|
|
22 | (4) |
|
Discussion: Defense in Depth |
|
|
26 | (3) |
|
|
29 | (24) |
|
HOWTO Secure Access to Isnrctl |
|
|
31 | (8) |
|
HOWTO Limit the Ability to Change Listener Properties |
|
|
39 | (1) |
|
|
40 | (6) |
|
HOWTO Limit the Sources from Which Connections Are Accepted |
|
|
46 | (1) |
|
HOWTO Inspect Listener Logs and Traces and HOWTO Limit Traces |
|
|
47 | (2) |
|
HOWTO Combat TNS Protocol Attacks |
|
|
49 | (2) |
|
Discussion: History of Listener Security Alerts |
|
|
51 | (2) |
|
|
53 | (20) |
|
HOWTO Create, Alter, Drop, and Lock User Accounts |
|
|
53 | (6) |
|
HOWTO Understand the Standard Logon Process |
|
|
59 | (2) |
|
HOWTO Use Password Policies |
|
|
61 | (2) |
|
HOWTO Enforce Password Complexity |
|
|
63 | (1) |
|
HOWTO Check for Weak and Default Passwords |
|
|
64 | (1) |
|
|
65 | (1) |
|
HOWTO Use Impossible Passwords |
|
|
66 | (2) |
|
HOWTO Limit System Resources Used by Users |
|
|
68 | (1) |
|
HOWTO View Information on Users and Profiles |
|
|
69 | (2) |
|
|
71 | (2) |
|
Cryptography, Oracle Wallets, and Oracle PKI |
|
|
73 | (26) |
|
|
92 | (2) |
|
|
94 | (1) |
|
HOWTO Create and Sign a Certificate Request |
|
|
95 | (3) |
|
Discussion: Orapki Errors |
|
|
98 | (1) |
|
|
99 | (28) |
|
HOWTO Understand and Use O3/O5 LOGON and OS Authentication |
|
|
99 | (6) |
|
|
105 | (2) |
|
HOWTO Configure Clients to Use External Password Stores |
|
|
107 | (5) |
|
HOWTO Configure SSL-Based Authentication Using ASO |
|
|
112 | (3) |
|
HOWTO Configure Kerberos Authentication Using ASO |
|
|
115 | (4) |
|
HOWTO Configure RADIUS and Two-Factor Authentication Using ASO |
|
|
119 | (5) |
|
Discussion: Protect Your Password Hashes |
|
|
124 | (3) |
|
Encrypting Data-in-Transit |
|
|
127 | (24) |
|
HOWTO Configure Network Encryption Using ASO |
|
|
137 | (2) |
|
HOWTO Configure Network Encryption for JDBC Drivers |
|
|
139 | (1) |
|
HOWTO Configure Data Integrity Using ASO |
|
|
140 | (1) |
|
HOWTO Use IPSEC, Tunnels, and Hardware Acceleration |
|
|
141 | (8) |
|
Discussion: Performance Impact When Encrypting Data-in-Transit |
|
|
149 | (2) |
|
|
151 | (36) |
|
Application-, Database-, and Storage-Based Encryption |
|
|
154 | (1) |
|
|
155 | (8) |
|
HOWTO Use TDE to Encrypt Columns |
|
|
163 | (7) |
|
HOWTO Encrypt Foreign Keys and Columns Used for Indexes |
|
|
170 | (1) |
|
HOWTO Use TDE to Encrypt Tablespaces |
|
|
171 | (2) |
|
HOWTO Manage TDE Master Keys |
|
|
173 | (3) |
|
|
176 | (2) |
|
HOWTO Use TDE with External Tables (Oracle Data Pump) |
|
|
178 | (1) |
|
HOWTO Keep Data Encrypted When You Export It Using Oracle Data Pump Utilities |
|
|
179 | (2) |
|
HOWTO Encrypt Backups with RMAN |
|
|
181 | (3) |
|
Discussion: Why Did Oracle Pick the TDE Approach? |
|
|
184 | (3) |
|
|
187 | (26) |
|
HOWTO Enable Standard Auditing |
|
|
188 | (5) |
|
HOWTO Use Audit Qualifiers |
|
|
193 | (5) |
|
HOWTO Use Statement Auditing |
|
|
198 | (2) |
|
HOWTO Use Object Auditing |
|
|
200 | (2) |
|
HOWTO Use Privilege Auditing |
|
|
202 | (1) |
|
HOWTO Audit for Unexpected Errors in the Network Layer |
|
|
203 | (1) |
|
|
204 | (3) |
|
HOWTO View What Is Currently Being Audited |
|
|
207 | (2) |
|
|
209 | (2) |
|
Discussion---Auditing and Performance |
|
|
211 | (2) |
|
Mandatory and Administrator Auditing |
|
|
213 | (10) |
|
HOWTO Use Mandatory Auditing |
|
|
213 | (3) |
|
HOWTO Enable Administrator Auditing |
|
|
216 | (2) |
|
HOWTO Use Syslog Auditing |
|
|
218 | (5) |
|
|
223 | (12) |
|
HOWTO Define FGA Policies |
|
|
225 | (5) |
|
HOWTO Manage FGA Policies |
|
|
230 | (1) |
|
HOWTO Read FGA Tables and Views |
|
|
231 | (1) |
|
Discussion: FGA Performance |
|
|
232 | (3) |
|
Auditing Before/After Values and Monitoring Selected Data |
|
|
235 | (20) |
|
HOWTO Use Triggers for Capturing Before/After Values |
|
|
235 | (4) |
|
HOWTO Use Oracle Streams for Capturing Before/After Values |
|
|
239 | (7) |
|
HOWTO Use the SCN and Flashback Queries |
|
|
246 | (6) |
|
|
246 | (1) |
|
Using Flashback Queries: An Example |
|
|
247 | (3) |
|
Getting Versions Using Flashback |
|
|
250 | (1) |
|
Prerequisites for Flashback |
|
|
251 | (1) |
|
HOWTO Use Flashback Data Archive |
|
|
252 | (1) |
|
Discussion: Do You Really Need the Before Values? |
|
|
253 | (2) |
|
|
255 | (30) |
|
HOWTO Add, Configure, and Manage Agents |
|
|
261 | (3) |
|
HOWTO Add, Configure, and Manage Sources |
|
|
264 | (2) |
|
HOWTO Add, Configure, and Manage Collectors |
|
|
266 | (4) |
|
HOWTO Configure Audit Rules |
|
|
270 | (3) |
|
HOWTO Configure and Manage the AV Server and the Warehouse |
|
|
273 | (3) |
|
HOWTO View Audit Data within the AV Console |
|
|
276 | (2) |
|
|
278 | (3) |
|
HOWTO Understand Performance and Storage Impact |
|
|
281 | (1) |
|
Miscellaneous Discussion---Auditing AV |
|
|
282 | (3) |
|
Database Activity Monitoring |
|
|
285 | (30) |
|
HOWTO Protect against SQL Injection |
|
|
292 | (5) |
|
HOWTO Categorize and Identify Misuse and Intrusions |
|
|
297 | (2) |
|
HOWTO Understand the Compliance Landscape |
|
|
299 | (7) |
|
HOWTO Determine Whether You Need DAM or DAMP |
|
|
306 | (2) |
|
HOWTO Analyze Impact on Performance |
|
|
308 | (2) |
|
HOWTO Analyze Impact on Storage |
|
|
310 | (2) |
|
Discussion: Identifying the Real User |
|
|
312 | (3) |
|
Privileges and Authorization |
|
|
315 | (44) |
|
HOWTO Manage Object and Column Privileges |
|
|
315 | (9) |
|
|
317 | (7) |
|
HOWTO Manage System Privileges |
|
|
324 | (11) |
|
HOWTO Use Roles to Manage Privileges |
|
|
335 | (3) |
|
HOWTO Use Secure Application Roles |
|
|
338 | (4) |
|
HOWTO Manage the Public Role |
|
|
342 | (1) |
|
HOWTO Use Access Control Lists (ACLs) to Limit Access to Database Network Services |
|
|
343 | (5) |
|
HOWTO Generate Entitlement Audit Reports |
|
|
348 | (9) |
|
Discussion---SQL92_Security |
|
|
357 | (2) |
|
|
359 | (24) |
|
HOWTO Use VPD Policies to Limit Access to Rows |
|
|
359 | (5) |
|
HOWTO Use VPD Policies to Limit Access to Sensitive Column Data |
|
|
364 | (1) |
|
HOWTO Use VPD Policies to Hide Sensitive Column Data |
|
|
365 | (2) |
|
|
367 | (5) |
|
HOWTO Choose a Policy Type for Optimal Performance |
|
|
372 | (2) |
|
HOWTO Review and Debug VPD Policies |
|
|
374 | (4) |
|
Discussion---Using Secure Application Roles and VPD |
|
|
378 | (5) |
|
|
383 | (30) |
|
HOWTO Use a Realm to Secure Data Access from DBA Access |
|
|
384 | (4) |
|
HOWTO Use Command Rules to Secure User Activity |
|
|
388 | (5) |
|
HOWTO Use Rule Sets, Factors, and Secure Application Roles |
|
|
393 | (8) |
|
|
401 | (2) |
|
HOWTO Enable sysdba Connections |
|
|
403 | (2) |
|
HOWTO Disable DV and Track Whether It Is Enabled |
|
|
405 | (5) |
|
HOWTO Better Understand DV's Impact on Performance |
|
|
410 | (1) |
|
Miscellaneous Discussion---Is Auditing Alone Enough? |
|
|
411 | (2) |
|
Appendix A Payment Card Industry (PCI) Data Security Standard (DSS) Version 1.1: Impact on Oracle Security Implementations |
|
|
413 | (12) |
|
Appendix B Using an ``All-in-One'' Solution: An Example |
|
|
425 | (18) |
|
|
426 | (3) |
|
B.2 Vulnerability Assessments |
|
|
429 | (2) |
|
|
431 | (1) |
|
|
432 | (3) |
|
B.5 Database Activity Monitoring |
|
|
435 | (3) |
|
B.6 Data Access Protection |
|
|
438 | (1) |
|
|
439 | (4) |
Index |
|
443 | |