Tipps & Tricks: März 2014 Bereich: DBA Erstellung: 03/2014 CK Versionsinfo: 11.2.x, 12.1.x Letzte Überarbeitung: 03/2014 CK Netzwerk Verschlüsselung Seit dem Erscheinen der Oracle Datenbank 12c wurde eine Reihe von Security Features, die bisher Bestandteil der Advanced-Security-Option (ASO) waren, als Feature für die Datenbank verfügbar gemacht. Dies gilt für die Enterprise Edition und auch für die Standard Edition. Siehe auch Oracle Licensing Guide. SQL*Net mit geringem Aufwand verschlüsseln Auf der Serverseite unter UNIX $ORACLE_HOME/network/admin, oder unter Windows %ORACLE_HOME%\network\admin folgende Einträge in der sqlnet.ora vornehmen: ### SQL*Net encryption ################################## SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER = (MD5) SQLNET.CRYPTO_CHECKSUM_SERVER = REQUIRED SQLNET.CRYPTO_SEED="9iY3kcmwXdiZwXZypQ8g#_:*'!10aRtopRC#" SQLNET.ENCRYPTION_TYPES_SERVER = (rc4_256) SQLNET.ENCRYPTION_SERVER = REQUIRED ### SQL*Net encryption end ############################## Die sqlnet.ora des/der Client/s wird nicht modifiziert. Die Bedeutung der Werte im Einzelnen: SQLNET.CRYPTO_CHECKSUM_TYPES_SERVER mögliche Werte MD5 für den RSA Algorythmus SHA1 für den Secure Hash Algorythmus SQLNET.CRYPTO_CHECKSUM_SERVER ACCEPTED (Default) und bedeutet, dass die Verschlüsselung akzeptiert wird, wenn der Kommunikationspartner dies möchte. REJECTED Die Verschlüsselung wird grundsätzlich abgelehnt. REQUESTED Die Verschlüsselung wird gewünscht, aber nicht verlangt. REQUIRED Die Verschlüsselung ist notwendig. SQLNET.CRYPTO_SEED Der Wert sollte aus 10 bis 70 Buchstaben, Zahlen und Sonderzeichen bestehen. SQLNET.CRYPTO_SEED ist notwendig für die Checksummenprüfung und die Verschlüsselung. Als default wird der Wert " Muniqsoft GmbH Schulungszentrum, Grünwalder Weg 13a, 82008 Unterhaching, Tel. 089 / 679090-40 IT-Consulting & Support, Witneystraße 1, 82008 Unterhaching, Tel. 089 / 6228 6789-0 Seite 1 von 4 qwertyuiopasdfghjkl;zxcvbnm,.s1" verwendet. SQLNET.ENCRYPTION_TYPES_SERVER Die zur Verfügung stehenden Verschlüsselungs Algorythmen sind: 3des112 for triple DES with a two-key (112-bit) option 3des168 for triple DES with a three-key (168-bit) option des for standard 56-bit key size des40 for 40-bit key size rc4_40 for 40-bit key size rc4_56 for 56-bit key size rc4_128 for 128-bit key size rc4_256 for 256-bit key size SQLNET.ENCRYPTION_SERVER ACCEPTED Die Verschlüsselung wird akzeptiert, wenn der Kommunikationspartner dies möchte. REJECTED Die Verschlüsselung wird grundsätzlich abgelehnt. REQUESTED Die Verschlüsselung wird gewünscht, aber nicht verlangt. REQUIRED Die Verschlüsselung ist obligatorisch Der Test: Das Funktionieren der SQL*Net Verschlüsselung lässt sich ganz einfach überprüfen. Dazu wird in der sqlnet.ora das Tracing aktiviert. Serverseitig: DIAG_ADR_ENABLED=off trace_level_server=16 trace_directory_server = /tmp/ora_trace trace_file_server = srv Clientseitig: DIAG_ADR_ENABLED=off trace_level_client=16 trace_directory_client = C:\tmp\ora_trace trace_file_client = cli Die Tracefiles unverschlüsselt vom Server: Muniqsoft GmbH Schulungszentrum, Grünwalder Weg 13a, 82008 Unterhaching, Tel. 089 / 679090-40 IT-Consulting & Support, Witneystraße 1, 82008 Unterhaching, Tel. 089 / 6228 6789-0 Seite 2 von 4 [03-MRZ-2014 13:41:20:734] nsprecv: packet dump [03-MRZ-2014 13:41:20:734] nsprecv: 2F 73 65 6C 65 63 74 20 [03-MRZ-2014 13:41:20:734] nsprecv: 65 6E 61 6D 65 2C 20 73 [03-MRZ-2014 13:41:20:734] nsprecv: 61 6C 20 66 72 6F 6D 20 [03-MRZ-2014 13:41:20:734] nsprecv: 65 6D 70 20 77 68 65 72 [03-MRZ-2014 13:41:20:734] nsprecv: 65 20 65 6E 61 6D 65 20 [03-MRZ-2014 13:41:20:734] nsprecv: 3D 20 27 4B 49 4E 47 27 [03-MRZ-2014 13:41:20:734] nsprecv: 00 00 00 00 [03-MRZ-2014 13:41:20:734] nsprecv: normal exit |/select.| |ename,.s| |al.from.| |emp.wher| |e.ename.| |=.'KING'| |.... | vom Client: [03-MRZ-2014 13:41:20:911] nsbasic_bsd: packet dump [03-MRZ-2014 13:41:20:911] nsbasic_bsd: 2F 73 65 6C 65 63 74 20 [03-MRZ-2014 13:41:20:911] nsbasic_bsd: 65 6E 61 6D 65 2C 20 73 [03-MRZ-2014 13:41:20:911] nsbasic_bsd: 61 6C 20 66 72 6F 6D 20 [03-MRZ-2014 13:41:20:911] nsbasic_bsd: 65 6D 70 20 77 68 65 72 [03-MRZ-2014 13:41:20:911] nsbasic_bsd: 65 20 65 6E 61 6D 65 20 [03-MRZ-2014 13:41:20:911] nsbasic_bsd: 3D 20 27 4B 49 4E 47 27 [03-MRZ-2014 13:41:20:912] nsbasic_bsd: 00 00 00 00 [03-MRZ-2014 13:41:20:912] nsbasic_bsd: exit (0) |/select.| |ename,.s| |al.from.| |emp.wher| |e.ename.| |=.'KING'| |.... | Die Tracefiles verschlüsselt vom Server: [03-MRZ-2014 13:47:46:719] nspsend: packet dump [03-MRZ-2014 13:47:46:719] nspsend: 2A 86 48 86 F7 12 01 02 [03-MRZ-2014 13:47:46:719] nspsend: 02 02 00 6F 81 88 30 81 [03-MRZ-2014 13:47:46:719] nspsend: 85 A0 03 02 01 05 A1 03 [03-MRZ-2014 13:47:46:719] nspsend: 02 01 0F A2 79 30 77 A0 [03-MRZ-2014 13:47:46:719] nspsend: 03 02 01 12 A2 70 04 6E [03-MRZ-2014 13:47:46:719] nspsend: 5E 9B EB EC 6B 37 CD FB [03-MRZ-2014 13:47:46:719] nspsend: A2 6F 08 21 6B 02 F8 33 [03-MRZ-2014 13:47:46:719] nspsend: 0A 2E E2 71 A3 33 FC BE [03-MRZ-2014 13:47:46:719] nspsend: 97 E8 70 C3 71 D6 98 F6 [03-MRZ-2014 13:47:46:719] nspsend: F5 F2 A2 48 47 67 E9 34 [03-MRZ-2014 13:47:46:719] nspsend: 28 09 ED F1 10 93 3B 72 [03-MRZ-2014 13:47:46:719] nspsend: 8B A0 59 B5 F3 DA FE 7E [03-MRZ-2014 13:47:46:719] nspsend: 0A F8 EB AF D8 64 4C D9 [03-MRZ-2014 13:47:46:719] nspsend: 25 A8 19 41 E1 39 DD 9A [03-MRZ-2014 13:47:46:719] nspsend: 4F CD 43 81 3A F2 57 4A [03-MRZ-2014 13:47:46:719] nspsend: 1E 1B 5D 68 03 0A 6B 6D [03-MRZ-2014 13:47:46:719] nspsend: 96 27 BC 43 05 E7 49 51 [03-MRZ-2014 13:47:46:719] nspsend: AB D8 41 E9 6C AE BB 47 [03-MRZ-2014 13:47:46:719] nspsend: FB C0 73 0E 72 37 |*.H.....| |...o..0.| |........| |....y0w.| |.....p.n| |^...k7..| |.o.!k..3| |...q.3..| |..p.q...| |...HGg.4| |(.....;r| |..Y....~| |.....dL.| |%..A.9..| |O.C.:.WJ| |..]h..km| |.'.C..IQ| |..A.l..G| |..s.r7 | vom Client: Muniqsoft GmbH Schulungszentrum, Grünwalder Weg 13a, 82008 Unterhaching, Tel. 089 / 679090-40 IT-Consulting & Support, Witneystraße 1, 82008 Unterhaching, Tel. 089 / 6228 6789-0 Seite 3 von 4 [03-MRZ-2014 13:47:46:998] nsprecv: packet dump [03-MRZ-2014 13:47:46:998] nsprecv: 88 1B 3E A9 2A 2E D7 7E [03-MRZ-2014 13:47:46:998] nsprecv: DB 19 32 AD BE E1 04 8D [03-MRZ-2014 13:47:46:998] nsprecv: CF 5B 1D 4B 69 F2 75 4A [03-MRZ-2014 13:47:46:998] nsprecv: 4F 9F 2E CE 5E 49 DC 13 [03-MRZ-2014 13:47:46:998] nsprecv: 9D 18 D9 16 9A 8E BE BB [03-MRZ-2014 13:47:46:998] nsprecv: 4C 79 78 F4 23 82 95 3A [03-MRZ-2014 13:47:46:998] nsprecv: 53 6C DA B0 6E 47 92 68 [03-MRZ-2014 13:47:46:998] nsprecv: 5D 1A 27 69 34 7E 96 A4 [03-MRZ-2014 13:47:46:998] nsprecv: 84 A1 36 26 83 AC F2 8A [03-MRZ-2014 13:47:46:998] nsprecv: 2D 70 59 03 DB 56 C2 76 [03-MRZ-2014 13:47:46:998] nsprecv: 9E DA 5E DB 4D E6 D9 7D [03-MRZ-2014 13:47:46:998] nsprecv: 4D 2D 92 E1 89 54 57 3C [03-MRZ-2014 13:47:46:998] nsprecv: B6 FA B1 09 68 4E 05 A0 [03-MRZ-2014 13:47:46:998] nsprecv: 88 0B C1 87 BE 69 FD 9C [03-MRZ-2014 13:47:46:998] nsprecv: 22 DE FD D0 DA 5E FF 03 [03-MRZ-2014 13:47:46:998] nsprecv: B7 7F 53 F5 8B 88 35 6F [03-MRZ-2014 13:47:46:998] nsprecv: 7D FE 64 CF 71 82 C7 83 [03-MRZ-2014 13:47:46:998] nsprecv: 0A AE B4 4B 98 C8 9E AC [03-MRZ-2014 13:47:46:998] nsprecv: 07 AE A0 55 5D 3A 76 BD [03-MRZ-2014 13:47:46:998] nsprecv: 1A 3A A6 DF 2A EB AC 9F [03-MRZ-2014 13:47:46:998] nsprecv: D7 AB 13 6F 84 48 FC 81 [03-MRZ-2014 13:47:46:998] nsprecv: 54 76 E2 D0 D0 C2 69 7E [03-MRZ-2014 13:47:46:998] nsprecv: DF D4 73 0D CB B6 88 C7 [03-MRZ-2014 13:47:46:998] nsprecv: 38 3D 1B 24 9D FD BF 77 [03-MRZ-2014 13:47:46:998] nsprecv: E2 3B F9 E8 19 5B B4 3D [03-MRZ-2014 13:47:46:998] nsprecv: 19 7B FA C4 3C 27 7E D0 [03-MRZ-2014 13:47:46:998] nsprecv: 3C 5F B3 FB 79 36 FA 07 [03-MRZ-2014 13:47:46:998] nsprecv: 99 BB EF 2E 7A D4 65 1B [03-MRZ-2014 13:47:46:998] nsprecv: B6 05 12 80 4C 70 6E C3 [03-MRZ-2014 13:47:46:998] nsprecv: 3F C3 5C 76 74 4C 75 B0 [03-MRZ-2014 13:47:46:998] nsprecv: 0D F8 F4 AD 6E 76 68 1D [03-MRZ-2014 13:47:46:998] nsprecv: 33 DF 3F E9 45 BF 5E D4 [03-MRZ-2014 13:47:46:998] nsprecv: 87 4C 3A 03 0F C9 99 8E [03-MRZ-2014 13:47:46:998] nsprecv: 39 84 A1 5C B7 DD AD F7 [03-MRZ-2014 13:47:46:998] nsprecv: A6 6D F2 C3 0B 74 18 04 [03-MRZ-2014 13:47:46:998] nsprecv: 4E D1 0A 01 |..>.*..~| |..2.....| |.[.Ki.uJ| |O...^I..| |........| |Lyx.#..:| |Sl..nG.h| |].'i4~..| |..6&....| |-pY..V.v| |..^.M..}| |M-...TW<| |....hN..| |.....i..| |"....^..| |..S...5o| |}.d.q...| |...K....| |...U]:v.| |.:..*...| |...o.H..| |Tv....i~| |..s.....| |8=.$...w| |.;...[.=| |.{..<'~.| |<_..y6..| |....z.e.| |....Lpn.| |?.\vtLu.| |....nvh.| |3.?.E.^.| |.L:.....| |9..\....| |.m...t..| |N... | Fazit: Die SQL*Net Verschlüsselung ist einfach einzurichten und es entstehen keine zusätzliche Kosten. Performanceunterschiede zwischen verschlüsselter und unverschlüsselter Datenübertragung sind nicht bekannt. Sollten Sie Interesse an weiteren Sicherheitsfunktionen zu Oracle Datenbanken haben, besuchen Sie doch unseren Kurs Datenbank Security. Muniqsoft GmbH Schulungszentrum, Grünwalder Weg 13a, 82008 Unterhaching, Tel. 089 / 679090-40 IT-Consulting & Support, Witneystraße 1, 82008 Unterhaching, Tel. 089 / 6228 6789-0 Seite 4 von 4