Oracle Security in der Praxis - Vollständige Sicherheitsüberprüfung für Ihre Oracle-Datenbank

Carsten Mützlitz

Oracle Security in der Praxis

Vollständige Sicherheitsüberprüfung für Ihre Oracle-Datenbank

2013

502 Seiten

Format: PDF, Online Lesen

E-Book: €  59,99

E-Book kaufen

E-Book kaufen

ISBN: 9783446439238

 

Inhalt

6

1 Vorbemerkung

14

2 Einführung

18

3 Grundlagen zur IT-Sicherheit bei Datenbanken

22

3.1 Die vier Grundbedrohungen

22

3.2 Bedrohungs- und Risikoanalyse

24

3.3 Ausflug in den Gesetzesdschungel

27

3.3.1 Gesetzliche Anforderung an das Vorhandensein eines ­Sicherheitskonzepts

29

3.3.2 Haftung von IT-Mitarbeitern

30

3.3.3 Bundesdatenschutzgesetz

32

3.3.4 Gesetz zur Bekämpfung der Wirtschaftskriminalität

34

3.4 Sicherheitszonen einer Oracle-Datenbank

36

4 Lösungen für eine höhere DB-Sicherheit (Best Practices)

38

4.1 Passwortmanagement

39

4.1.1 Kurzer Ausflug: Kerberos und Enterprise User Security

46

4.2 Feature-Umfang – neue und nicht mehr vorhandene Features

51

4.3 Mindestsicherheit implementieren (Härtung)

53

4.4 Rollenmanagement

58

4.5 Sicheres Datenbank-Link-Konzept

62

4.6 Schutz von Anwendungen

65

4.7 Datenschutz implementieren

72

4.8 Ressourcenmanagement

76

4.9 Zwecktrennung in der Datenbank

79

4.10 Protokollierung

81

4.11 Prozesse zum Erhalt des guten Sicherheitszustands

84

4.12 Health Checks

86

4.13 Einführung in das Patching

87

4.14 Neuerungen in der Oracle-Datenbank 12c

91

4.14.1 Benutzer- und Passwortmanagement

92

4.14.2 Rollenmanagement und Zugriffskontrolle

93

4.14.3 Neues oder altes Audit-Konzept (Unified Auditing)

100

4.14.4 SoD in Datenbank (SYSBACKUP, SYSDG, SYSKM, SYS)

107

4.14.5 Privileganalyse („Least Privilege“-Konzept)

109

4.14.6 Transparent Sensitive Data Protection (TSDP)

113

4.14.7 Data Redaction

115

4.14.8 Real Application Security

117

4.14.9 Neuerung bestehender Security-Features

118

4.14.10 Interessante Konzepte

119

4.14.11 Nicht mehr unterstützte Features der 12c-Datenbank

133

5 Sicherheit einer Oracle-Datenbank prüfen

5 Sicherheit einer Oracle-Datenbank prüfen

5.1 Datenbankkonfiguration

136

5.1.1 Abfrage 1001: erste Datenbankinformationen

137

5.1.2 Abfrage 1001.1: Datenbankinformationen zu 12c (Container)

138

5.1.3 Abfrage 1002: Datenbankversion

141

5.1.4 Abfrage 1003: genutzte Datenbankoptionen

142

5.1.5 Abfrage 1003.1: benutzte Optionen und Funktionen der Datenbank

144

5.1.6 Abfrage 1004-1005: Enterprise Manager Informationen

147

5.1.7 Abfrage 1006: Advanced Security Option (ASO) im Einsatz

149

5.1.8 Abfrage 1007: Security-Parameter in init.ora

151

5.1.9 Abfrage 1007.1: Show Hidden init.ora-Parameter

155

5.1.10 Abfrage 1008: UTL_FILE_DIR und DIRECTORIES

157

5.1.11 Abfrage 1009: OPEN_LINK und Anzahl der Datenbank-Links

159

5.1.12 Abfrage 1010: SQL-Tuning

160

5.1.13 Abfrage 1011: Status der Controlfiles

161

5.1.14 Abfrage 1012: Redo Logs

161

5.1.15 Abfrage 1013: Archive Logs

162

5.1.16 Abfrage 1014: Tablespace-Informationen

163

5.1.17 Abfrage 1015: Tablespace-Extents

164

5.1.18 Abfrage 1016: Tablespace-Contents

165

5.1.19 Abfrage 1017-1020: Temporary-Tablespace-Information

166

5.1.20 Abfrage 1021: Datendateiinformationen

168

5.1.21 Abfrage 1022: Objekte im SYSTEM-Tablespace

170

5.1.22 Abfrage 1023: mögliche Benutzer mit falschem Default-Tablespace

171

5.1.23 Abfrage 1024: SYSAUX-Tablespace

172

5.1.24 Abfrage 1025: öffentliche Abhängigkeiten in Objekten

173

5.1.25 Abfrage 1026: Synonyme auf Objekte in entfernten ­Datenbanken

175

5.1.26 Abfrage 1027: Kommentare aus der Historie

176

5.1.27 Abfrage 1028: Oracle-Standard-Schemata

177

5.1.28 Abfrage 1029: manuelle Prüfung auf Default-Passwörter

179

5.1.29 Abfrage 1030: Prüfung auf Default-Passwörter mittels View

192

5.1.30 Abfrage 1030.1: User- und Passwort-Hashes

193

5.1.31 Abfrage 1031: Passwortdatei

194

5.1.32 Abfrage 1032: Profile anzeigen

196

5.1.33 Abfrage 1033: Einstellungen der sicherheitsrelevanten Profile

197

5.1.34 Abfrage 1034: Passwort-Verify-Funktion

198

5.1.35 Abfrage 1035: Datenbank-Links

199

5.1.36 Abfrage 1036: mögliche Privilegien der entfernten DB-Benutzer aus den Datenbank-Links

200

5.1.37 Abfrage 1037: Wallets

202

5.1.38 Abfrage 1038: Wallet-Zugriffssteuerungsliste (ACL)

203

5.1.39 Abfrage 1039: spezielle Trigger (Logon, Startup)

204

5.1.40 Abfrage 1040: Information-Lifecycle-Management (12c)

205

5.1.41 Abfrage 1041: Zugriffssteuerungslisten (ACL) für Network ­Packages (HOST)

206

5.1.42 Abfrage 1042: Zugriffssteuerungslisten für Network Packages (XML)

208

5.1.43 Abfrage 1043: vollständige Informationen zur XML-Datenbank

208

5.1.44 Abfrage 1044: Zugriffssteuerung auf Dateien im ­Betriebssystem

218

5.1.45 Abfrage 1045: APEX-Gateway-Konfiguration

220

5.1.46 Abfrage 1046: SQL*Net-Konfiguration

223

5.1.47 Abfrage 1047: installierte Komponenten

228

5.1.48 Abfrage 1048: Patches

230

5.2 Datenbanküberwachung (Auditing)

231

5.2.1 Abfrage 2001: AUDIT-init.ora-Parameter

232

5.2.2 Abfrage 2002: Welche Systemprivilegien werden protokolliert?

234

5.2.3 Abfrage 2003: Welche Systemprivilegien werden nicht protokolliert?

237

5.2.4 Abfrage 2004: protokollierte Systemprivilegien im System

240

5.2.5 Abfrage 2005: Überwachung von Objektprivilegien

242

5.2.6 Abfrage 2006: 100 Audit-Datensätze von „Heute“

243

5.2.7 Abfrage 2007: 100 FGA-Audit-Datensätze von „Heute“

245

5.2.8 Abfrage 2008: überwachte Systemprivilegien

246

5.2.9 Abfrage 2009: komplette Audit-Policy überwachter Systemprivilegien

248

5.2.10 Abfrage 2009.1: Unified Audit-Policies (12c)

250

5.2.11 Abfrage 2010–2012: Audit-Fehlerprüfung gemäß Oracle-Empfehlung

252

5.2.12 Abfrage 2013: Wer verfügt über Audit-Systemprivilegien?

253

5.2.13 Abfrage 2014: Shared Database Logons

255

5.2.14 Abfrage 2015: Detailinformationen zu den Shared Database ­Logons (nur Heute)

257

5.2.15 Abfrage 2016: verwaiste Benutzer (letzte Anmeldung > 90 Tage)

258

5.2.16 Abfrage 2017: Database Control Logins

261

5.2.17 Abfrage 2018: fehlerhafte Logins = Bruteforce-Attacken

262

5.2.18 Abfrage 2019: aktuelle Sessions

264

5.2.19 Abfrage 2020: Prüfung auf alte EM-9i-Sessions

266

5.2.20 Abfrage 2021: Übersicht der Datenbankbenutzer

267

5.2.21 Abfrage 2022: Übersicht der Datenbankbenutzer per Status

269

5.2.22 Abfrage 2023: Übersicht der Datenbankbenutzer per Profil

270

5.2.23 Abfrage 2024: Datenbankbenutzer sortiert nach Sperrdatum

271

5.2.24 Abfrage 2025: Datenbankbenutzer sortiert nach Ablaufdatum

272

5.2.25 Abfrage 2026: alle Nicht-Oracle-Standarddatenbankbenutzer

274

5.2.26 Abfrage 2027: Nutzer in der Passwortdatei

276

5.2.27 Abfrage 2028: Übersicht der Benutzer und deren Profil

277

5.2.28 Abfrage 2029: unsichtbare Benutzer

279

5.2.29 Abfrage 2030: Rootkits

280

5.2.30 Abfrage 2031: unsichtbare Rollen

281

5.2.31 Abfrage 2032: aktivierte Funktionen und Optionen

282

5.2.32 Abfrage 2033: alle nicht registrierten Schemata anzeigen

283

5.2.33 Abfrage 2034: alle ausgeschalteten Trigger anzeigen

285

5.2.34 Abfrage 2035: alle ausgeschalteten Constraints anzeigen

286

5.2.35 Abfrage 2036: alle Benutzer, die Objekte verwalten

288

5.2.36 Abfrage 2037: alle Benutzer, die keine Objekte verwalten (ohne Objekte)

289

5.2.37 Abfrage 2038: Diagnoseinformationen

290

5.2.38 Abfrage 2039: Unified Audit Application Context Attributes

291

5.2.39 Abfrage 2040: Audit-Policies für Real Application Security

292

5.2.40 Abfrage 2041: aktivierte Audit-Policies für Real Application Security

293

5.2.41 Abfrage 2042: Audit-Einträge für Real Application Security

294

5.3 Datenbankverfügbarkeit

296

5.3.1 Abfrage 3001: init.ora-Parameter

297

5.3.2 Abfrage 3002: Control-Dateien

300

5.3.3 Abfrage 3003: Log-Dateien

301

5.3.4 Abfrage 3004: fragmentierte Objekte

302

5.3.5 Abfrage 3005: Objekte mit möglichen Extent-Problemen

303

5.3.6 Abfrage 3006: ungültige Objekte

305

5.3.7 Abfrage 3007: Fast Recovery Area

306

5.3.8 Abfrage 3008: verwaltete Dateien in der Fast Recovery Area

307

5.3.9 Abfrage 3009: Übersicht zu RECYLCEBIN

308

5.3.10 Abfrage 3010: wiederhergestellte Objekte in der Datenbank

309

5.3.11 Abfrage 3011: RMAN-Konfiguration

309

5.3.12 Abfrage 3012: Übersicht des RMAN-Status der letzten 7 Tage

310

5.3.13 Abfrage 3013: Übersicht verfügbarer Backups

312

5.3.14 Abfrage 3014: korrupte Datenbackups

313

5.3.15 Abfrage 3015: korrupte Datenblöcke

314

5.3.16 Abfrage 3016: aktuelle Sessions mit hoher CPU-Belastung

315

5.3.17 Abfrage 3017: aktuelle Sessions mit hohen Wartezeiten

316

5.3.18 Abfrage 3018: aktuelle Sessions mit hohen Datenbankzeiten

317

5.3.19 Abfrage 3019: ASM-Attribute

319

5.3.20 Abfrage 3020: ASM-Dateien

320

5.3.21 Abfrage 3021: Data Guard-Statusinformationen

321

5.3.22 Abfrage 3022: Informationen zu Instance Caging und zum Ressourcen-Manager

323

5.3.23 Abfrage 3023: Ressourcen-Manager-Informationen pro Container

324

5.3.24 Abfrage 3024: zusätzliche Ressourcen-Manager-Informationen pro Container

325

5.3.25 Abfrage 3025: Informationen zu Inkompatibilitäten

327

5.3.26 Abfrage 3026: nicht genutzte Indizes

328

5.3.27 Abfrage 3027: Liste der letzten Änderungen an den Objekten

329

5.3.28 Abfrage 3028: zeitlich beschränkte Historie von Alerts

330

5.3.29 Alert.log prüfen

332

5.4 Datenbank-Zugriffskontrolle

332

5.4.1 Abfrage 4001: Übersicht aller Benutzer (Schema) in der ­Datenbank

334

5.4.2 Abfrage 4001.1: Übersicht aller COMMON- und LOCAL-Benutzer (Schema) in der Datenbank 12c

337

5.4.3 Abfrage 4001.2: Zugriff auf Container

339

5.4.4 Abfrage 4002: Übersicht aller Datenbankadministratoren

341

5.4.5 Abfrage 4003: Übersicht aller SYSDBAs

343

5.4.6 Abfrage 4004: Übersicht ROLES/USERS mit Audit-Privilegien

345

5.4.7 Abfrage 4005: zusammenfassende Zählung der Berechtigungen auf das Data Dictionary

346

5.4.8 Abfrage 4006: Übersicht der Rollen und Benutzer mit ­Zugriffsrechten auf SYS-Objekte

348

5.4.9 Abfrage 4007: Übersicht der Rollen in der Datenbank

350

5.4.10 Abfrage 4008: Übersicht der Nicht-Standardrollen

352

5.4.11 Abfrage 4009: Übersicht zu Rollen mit erhöhtem Schutz

355

5.4.12 Abfrage 4010: Übersicht zu Datenbank-Accounts, die Rollen anlegen

356

5.4.13 Abfrage 4011: Übersicht der Datenbank-Accounts und deren Rollenberechtigungen

358

5.4.14 Abfrage 4012: Übersicht zu Datenbank-Links und möglicher Berechtigungen in Remote-Datenbanken

360

5.4.15 Abfrage 4013: Anzahl der SYSTEM-Privilegien verschiedener Benutzer

362

5.4.16 Abfrage 4014: Rolle-an-Rolle-Hierarchie

363

5.4.17 Abfrage 4015: Übersicht aller Systemprivilegien an Rollen und User

365

5.4.18 Abfrage 4016: Übersicht aller Benutzer und Rollen mit ANY-Privilegien

368

5.4.19 Abfrage 4017: Übersicht aller Benutzer und Rollen mit EDITION-Privilegien

370

5.4.20 Abfrage 4018: Übersicht aller Benutzer und Rollen mit POWER-Privilegien

371

5.4.21 Abfrage 4019: Übersicht aller Benutzer und Rollen mit Account-Management-Privilegien

373

5.4.22 Abfrage 4020: Übersicht aller Benutzer und Rollen mit ALTER SESSION

375

5.4.23 Abfrage 4021: Übersicht aller Benutzer und Rollen mit ALTER SYSTEM

377

5.4.24 Abfrage 4022: Übersicht aller Benutzer und Rollen, die die RLS umgehen können

378

5.4.25 Abfrage 4023: Übersicht aller Benutzer und Rollen mit UNLIMITED TABLESPACES

379

5.4.26 Abfrage 4024: Detailübersicht aller Benutzer mit Tablespace-Quota

381

5.4.27 Abfrage 4025: Übersicht aller Benutzer/Rollen mit Standardrollen (CONNECT, RESOURCE)

382

5.4.28 Abfrage 4026: Übersicht aller Benutzer/Rollen mit EXP/IMP_FULL_DB

385

5.4.29 Abfrage 4027: Übersicht aller Benutzer und Rollen, die gefährliche Rollen besitzen

387

5.4.30 Abfrage 4028: Übersicht der Zugriffe auf Network-Packages

389

5.4.31 Abfrage 4029: Übersicht der Abhängigkeiten auf Network-Packages

391

5.4.32 Abfrage 4030: ACL-Übersicht auf Network-Packages

393

5.4.33 Abfrage 4031: Übersicht der Berechtigungen auf XML-Datenbank-ACL

395

5.4.34 Abfrage 4032: Übersicht aller Dateien der XML-DB-ACL

396

5.4.35 Abfrage 4033: Übersicht aller EXECUTE-Berechtigungen auf Nicht-Standard-User

400

5.4.36 Abfrage 4034: Übersicht aller Objektprivilegien in der Datenbank (ohne PUBLIC)

401

5.4.37 Abfrage 4035: Übersicht aller Objektprivilegien in der Datenbank (Special Grants)

403

5.4.38 Abfrage 4036: Übersicht aller PUBLIC-Objekt- und Systemprivilegien in der Datenbank

405

5.4.39 Abfrage 4037: Übersicht der VPD-Policies

407

5.4.40 Abfrage 4038: Übersicht aller Datenbank-CONTEXTs

409

5.4.41 Abfrage 4039: Übersicht der Proxies

410

5.4.42 Abfrage 4040: Übersicht der Java-Permission

411

5.4.43 Abfrage 4041: Übersicht zu Directories und deren Zugriffsberechtigungen

413

5.4.44 Abfrage 4042: an PL/SQL gegrantete Rollen

415

5.4.45 Abfrage 4043: Credentials für externe Prozeduraufrufe

416

5.4.46 Abfrage 4044: Liste nicht vorhandener Digest Verifiers ­(Upgrade XMLDB)

417

5.4.47 Abfrage 4045: Übersicht zu Transparent Sensitive Data ­Protection (TSDP)

419

5.4.48 Abfrage 4046: Data Redaction-Policies

420

5.4.49 Abfrage 4047: Privileganalyse

421

5.4.50 Abfrage 4048: Invoker-Rechte für Views und PL/SQL

423

5.5 Zusätzliche Untersuchungen

425

5.5.1 Abfrage 5001: Übersicht verschlüsselter Tablespaces

425

5.5.2 Abfrage 5002: Übersicht verschlüsselter Spalten

426

5.5.3 Abfrage 5003: Übersicht der Data Labels

428

5.5.4 Abfrage 5004: Übersicht von Objekten mit speziellen ­Datentypen

429

5.5.5 Abfrage 5005: Übersicht aller Libraries

430

5.5.6 Abfrage 5006: gefilterte Übersicht aller Libraries

433

5.5.7 Abfrage 5007: Übersicht aller Fehler (RMAN)

434

5.5.8 Abfrage 5008: Übersicht aller eingespielten Patchsets

436

5.5.9 Abfrage 5009: Übersicht aller eingespielten Patches

437

5.5.10 Abfrage 5010: Übersicht der Database Vault-Sicherheitszonen

437

5.5.11 Abfrage 5011: Übersicht der Scheduler-Jobs innerhalb der ­letzten 24 Stunden

440

5.5.12 Abfrage 5012: Übersicht aller Scheduler-Programme

441

5.5.13 Abfrage 5013: Übersicht aller Scheduler-Credentials

442

5.5.14 Abfrage 5014: Java-Übersicht

443

5.6 Prüfung auf mögliche bekannte Schwachstellen

448

5.6.1 Abfrage 6001: Schwachstelle SCN-Headroom

448

5.6.2 Abfrage 6002: CVE-2012-3132: Get SYSDBA Rights

451

5.7 Datenbanksicherheitsprüfung durchführen

454

5.7.1 Ausführung einer automatischen Sicherheitsprüfung unter Windows

455

5.7.2 Ausführung einer automatischen Sicherheitsprüfung unter UNIX

456

5.8 Vereinfachte Auswertung der Zugriffskontrolle durch SQL

458

5.8.1 Oracle Software Appliance als Auswertungssystem nutzen

458

5.8.2 Daten der untersuchten Datenbank laden

459

5.8.3 Evaluierungsdashboard

463

5.8.4 Manuelle Auswertungsmöglichkeiten

465

5.9 Sicherheitszustand bewerten

473

5.9.1 Einzelne Untersuchungen bewerten

474

5.9.2 Bewertung nach CVSS

479

5.9.3 Toolbasierte Datenbanksicherheitsprüfung

480

6 Anhang: Fragenkatalog

482

6.1 Businessbeitrag der IT-Abteilung

483

6.2 Welche Konzepte existieren und sind implementiert?

484

6.3 Welche Daten befinden sich in der zu untersuchenden Datenbank?

486

6.4 Wie sehen die Architektur und das Deployment aus?

487

6.5 Wie installieren Sie Datenbanken?

488

6.6 Wer greift auf die Datenbank zu?

489

6.7 Welches Patching-Konzept wird verfolgt?

491

6.8 Wie wird die Datenbank bzw. das System überwacht?

492

6.9 Ist die Integrität der Datenbank und des Systems sichergestellt?

493

6.10 Wo steht der Datenbankserver?

495

6.11 Kann die Integrität der Daten sichergestellt werden?

495

6.12 Was tut der Betreiber für eine sichere Konfiguration?

496

Index

498

 

© 2009-2024 ciando GmbH