News
DBA-Tipp: Datensicherheit, Net8-Verschlüsselung out-of-the-box

Die Information ist ein schnelllebiges Gut. Jeden Tag werden wir mit hunderten Informationen zugemüllt. Deshalb sind wir bestrebt uns auf das Wesentliche zu konzentrieren und nur substantiell nachhaltige Informationen bereitzustellen.

Icon Unternehmen

Ein Blick in den aktuellen License Guide der Oracle Datenbank 11.2 (und auch 12.1) zeigt dem erstaunten DBA, dass Oracle ohne den üblichen Trommelwirbel mittlerweile sowohl Network Encryption als auch Strong Authentication Services für alle Editionen der Oracle Datenbank zur kostenfreien Nutzung freigegeben hat:

„...Network encryption (native network encryption and SSL/TLS) and strong authentication services (Kerberos, PKI, and RADIUS) are no longer part of Oracle Advanced Security and are available in all licensed editions of all supported releases of the Oracle database...“

Aus diesem Anlass wollen wir im Rahmen dieses DBA-Tipps kurz die Verschlüsselung des Netzverkehrs per „native network encryption“ vorstellen, die on-the-fly und ohne nennenswerten Aufwand umsetzbar ist.

Die klassische, unverschlüsselte Verbindung zwischen Oracle-Client und Oracle-Server überträgt SQL-Abfragen, Befehle und Ergebnisse im Klartext. Daraus kann ein massives Datensicherheitsproblem resultieren, sobald es sich hierbei um schützenswerte Daten handelt. Bereits mit einem simplen Sniffer wie etwa tcpdump lässt sich der Datenverkehr mitlesen und sensible Daten können abgegriffen werden. Hierzu zwei Beispiele, die mittels „tcpdump -X tcp port 1521“ aufgezeichnet wurden:

Passwortänderung mittels „alter user ...“

Folgender Befehl wird auf dem Datenbank-Client abgesetzt, um das Kennwort des HR-Nutzers zu ändern (in der Praxis würde man hier besser den „password“-Befehl nutzen, der nicht das Passwort im Klartext, sondern den bereits gehashten Wert überträgt):

SQL> alter user hr identified by foo;

User altered.

Der entsprechende (etwas gekürzte) tcpdump-Mitschnitt offenbart den kompletten „alter user“-Befehl einschließlich des neuen Passworts:

[root@dbserver tmp]# tcpdump -X tcp port 1521
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes
17:25:00.291309 IP oraclient.test.aspicon.local.46186 > dbserver.test.aspicon.local.ncube-lm: Flags [P.], seq 4161607176:4161607488, ack 3046881511, win 298, options [nop,nop,TS val 1308742545 ecr 108728648], length 312

        0x0110:  0000 0000 0000 0000 1f61 6c74 6572 2075  .........alter.u
        0x0120:  7365 7220 6872 2069 6465 6e74 6966 6965  ser.hr.identifie
        0x0130:  6420 6279 2066 6f6f 0100 0000 0100 0000  d.by.foo.....
...

 

Abfrage sensibler Daten

Gleiches trifft für die Abfrage sensibler Daten zu. Im Beispiel greifen wir dazu auf Gehaltsdaten aus dem HR-Sampleschema zu...

SQL> select LAST_NAME,to_char(SALARY,'$9999999.90') SALARY
  2  from employees
  3  where last_name='Sullivan';

LAST_NAME                      SALARY
------------------------------ ------------------------------
Sullivan                       $2500.00

… und sehen im (wiederum etwas gekürzten) Mitschnitt des Netzverkehrs sowohl die Abfrage selbst, als auch Name und Gehalt im Klartext:

[root@dbserver tmp]# tcpdump -X tcp port 1521
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes
17:34:34.563567 IP oraclient.test.aspicon.local.46186 > dbserver.test.aspicon.local.ncube-lm: Flags [P.], seq 4161609232:4161609611, ack 3046882656, win 331, options [nop,nop,TS val 1309316817 ecr 109498164], length 379

        0x0110:  0000 0000 0000 0000 fe40 7365 6c65 6374  .........@select
        0x0120:  204c 4153 545f 4e41 4d45 2c74 6f5f 6368  .LAST_NAME,to_ch
        0x0130:  6172 2853 414c 4152 592c 2724 3939 3939  ar(SALARY,'$9999
        0x0140:  3939 392e 3930 2729 2053 414c 4152 590a  999.90').SALARY.
        0x0150:  6672 6f6d 2065 6d70 6c6f 1f79 6565 730a  from.emplo.yees.
        0x0160:  7768 6572 6520 6c61 7374 5f6e 616d 653d  where.last_name=
        0x0170:  2753 756c 6c69 7661 6e27 0001 0000 0000  'Sullivan'......

        0x0140:  0708 5375 6c6c 6976 616e 0c20 2020 2024  ..Sullivan.....$
        0x0150:  3235 3030 2e30 3008 0600 cc58 0900 0000  2500.00....X....

Wie bereits eingehend erwähnt, kann die Netzverbindung mit minimalstem Aufwand verschlüsselt werden. Hierzu kennt die sqlnet.ora die zwei Parameter

SQLNET.ENCRYPTION_SERVER
SQLNET.ENCRYPTION_CLIENT

jeweils mit den Werten
accepted (default)
Die Verschlüsselung der Netzverbindung wird akzeptiert, wenn sie von der Gegenseite angefordert wird.

rejected
Die Verschlüsselung der Netzverbindung wird abgewiesen. Sollte die Gegenseite „required“ verwenden, kommt keine Verbindung zustande.

requested
Die Verschlüsselung der Netzverbindung wird bei der Gegenseite angefordert, allerdings nicht erzwungen.

required
Die Verschlüsselung der Netzverbindung wird erzwungen. Sollte die Gegenseite „rejected“ verwenden, kommt keine Verbindung zustande.

Darüber hinaus können die zur Aushandlung verfügbaren Verschlüsselungsalgorithmen über die Angabe von

SQLNET.ENCRYPTION_TYPES_SERVER
SQLNET.ENCRYPTION_TYPES_CLIENT

explizit angegeben werden, was aber praktisch weniger relevant ist. Während der Aushandlung werden bei Weglassen der besagten Parameter alle implementierten Algorithmen, beginnend mit dem sichersten, durchlaufen, bis ein gemeinsames Verschlüsselungsverfahren gefunden ist.

Bereits das Setzen von

SQLNET.ENCRYPTION_SERVER = requested (oder required)

gefolgt von einem Reload der Listenerkonfiguration aktiviert die Verschlüsselung aller nachfolgend aufgebauten Client-Server-Verbindungen.

Anpassungen an den Clients sind nicht erforderlich. Selbst wenn dort explizit SQLNET.ENCRYPTION_CLIENT=rejected in die sqlnet.ora eingetragen ist, kann die Verschlüsselung serverseitig erzwungen werden. Das Setzen von SQLNET.ENCRYPTION_TYPES_CLIENT in der sqlnet.ora des Datenbank-Servers führt nämlich zum Overriding des gleichnamigen Parameters am Client. Somit hat der DBA immer die Hohheit über die Verschlüsselungseinstellung. Die Policy kann somit nicht mehr durch Manipulation der Client-Einstellungen kompromittiert werden.

Die entsprechenden Beispiele von oben wiederholt, führen nun zu folgendem Ergebnis.

Passwortänderung mittels „alter user ...“

SQL> alter user hr identified by foo;

User altered.

[root@dbserver tmp]# tcpdump -X tcp port 1521
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes
18:01:56.374016 IP oraclient.test.aspicon.local.47417 > dbserver.test.aspicon.local.ncube-lm: Flags [P.], seq 4243942783:4243943083, ack 1956711625, win 290, options [nop,nop,TS val 1310958627 ecr 111144891], length 300
        0x0000:  4500 0160 3332 4000 4006 72ad c0a8 8933  E..`32@.@.r....3
        0x0010:  c0a8 8934 b939 05f1 fcf5 6d7f 74a1 0cc9  ...4.9....m.t...
        0x0020:  8018 0122 81fb 0000 0101 080a 4e23 a423  ..."........N#.#
        0x0030:  069f efbb 012c 0000 0600 0000 0000 40de  .....,........@.
        0x0040:  c200 da47 60bb 874b ea47 069a 0889 2035  ...G`..K.G.....5
        0x0050:  a3ac 00e0 925c a933 0c3b 8be9 bdc4 659e  .....\.3.;....e.
        0x0060:  afc9 6f5d 8732 14ee 7df8 37ac 7e81 be09  ..o].2..}.7.~...
        0x0070:  5a61 7183 73a8 51c1 322d c466 7e20 9f87  Zaq.s.Q.2-.f~...
        0x0080:  cbb5 4db5 4db2 68fc 37b0 1e2b c5af e8f6  ..M.M.h.7..+....
        0x0090:  e016 3ea7 448e 85db 5b51 2cca 1c4c e4ce  ..>.D...[Q,..L..
        0x00a0:  7ff9 dfee 9adf abca 7811 5280 2948 7f3a  ........x.R.)H.:
        0x00b0:  35a3 3c00 27b9 d170 46f0 a8b5 d71f 7a2f  5.<.'..pF.....z/
        0x00c0:  1021 4004 3d9a fab1 3a73 5541 3bfc b997  .!@.=...:sUA;...
        0x00d0:  c89e 7ad5 7e0c ba9e 52d8 0d6f 619b 38fa  ..z.~...R..oa.8.
        0x00e0:  86a3 6331 0d57 1b8c 4af4 87f5 ba8a 239a  ..c1.W..J.....#.
        0x00f0:  43fc 454e 3864 55bb db34 9e64 d100 e50d  C.EN8dU..4.d....
        0x0100:  8384 fa36 a931 7469 07b6 ba45 9f94 7bcb  ...6.1ti...E..{.
        0x0110:  98db 3305 c7ed 5c06 a8d7 76a1 7085 ca39  ..3...\...v.p..9
        0x0120:  aa3c e034 2c1a 7845 e7f8 1ea4 8804 93b7  .<.4,.xE........
        0x0130:  b1a1 bdca 7078 0453 7392 dff3 988f d3e4  ....px.Ss.......
        0x0140:  dee1 177a 172b 12e6 b050 2184 1ec3 a299  ...z.+...P!.....
        0x0150:  95cd 5e75 cf38 c90f 6d20 adcc 3d3d 0a01  ..^u.8..m...==..
18:01:56.397510 IP dbserver.test.aspicon.local.ncube-lm > oraclient.test.aspicon.local.47417: Flags [P.], seq 1:189, ack 300, win 325, options [nop,nop,TS val 111159367 ecr 1310958627], length 188
        0x0000:  4500 00f0 17c3 4000 4006 8e8c c0a8 8934  E.....@.@......4
        0x0010:  c0a8 8933 05f1 b939 74a1 0cc9 fcf5 6eab  ...3...9t.....n.
        0x0020:  8018 0145 949b 0000 0101 080a 06a0 2847  ...E..........(G
        0x0030:  4e23 a423 00bc 0000 0600 0000 0000 71ec  N#.#..........q.
        0x0040:  793f ba04 2c1c 488e 95de 5c6f 9995 65c2  y?..,.H...\o..e.
        0x0050:  4b98 1aeb 4188 6ec4 1cfa 125f 60df 1f7b  K...A.n...._`..{
        0x0060:  be8f dc1c 0767 5b32 a499 9cba 73cb 9013  .....g[2....s...
        0x0070:  61a1 c7f1 d2a4 1692 f02f d3e3 642b d6bc  a......../..d+..
        0x0080:  d99d 558a a772 f16a ae22 5616 f40a 5370  ..U..r.j."V...Sp
        0x0090:  ddc6 1d12 a96b feb0 cb26 2a3c 1e1f 53f4  .....k...&*<..S.
        0x00a0:  fea3 5457 dbcd f11f 0942 7e72 2069 19dd  ..TW.....B~r.i..
        0x00b0:  34e1 5b55 f8f0 29a1 e4d2 cafc 0f4b cc28  4.[U..)......K.(
        0x00c0:  1aee 1293 1029 9a52 a77b fd8b 24da f465  .....).R.{..$..e
        0x00d0:  72fa c48f a971 7d65 15df ed75 fe34 39d7  r....q}e...u.49.
        0x00e0:  95bd ac02 8752 1e67 549c ed31 968e 0601  .....R.gT..1....
18:01:56.397989 IP oraclient.test.aspicon.local.47417 > dbserver.test.aspicon.local.ncube-lm: Flags [.], ack 189, win 308, options [nop,nop,TS val 1310958651 ecr 111159367], length 0
        0x0000:  4500 0034 3333 4000 4006 73d8 c0a8 8933  E..433@.@.s....3
        0x0010:  c0a8 8934 b939 05f1 fcf5 6eab 74a1 0d85  ...4.9....n.t...
        0x0020:  8010 0134 1398 0000 0101 080a 4e23 a43b  ...4........N#.;
        0x0030:  06a0 2847                                ..(G

Im Mitschnitt ist der ursprünglich abgesetzte Befehl nicht mehr lesbar, da die Daten nun verschlüsselt übertragen werden.

Abfrage sensibler Daten

SQL> select LAST_NAME,to_char(SALARY,'$9999999.90') SALARY
  2  from employees
  3  where last_name='Sullivan';

LAST_NAME                      SALARY
------------------------------ ------------------------------
Sullivan                       $2500.00

[root@dbserver tmp]# tcpdump -X tcp port 1521
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2, link-type EN10MB (Ethernet), capture size 65535 bytes
18:05:14.205503 IP oraclient.test.aspicon.local.47417 > dbserver.test.aspicon.local.ncube-lm: Flags [P.], seq 4243944779:4243945175, ack 1956714469, win 331, options [nop,nop,TS val 1311156459 ecr 111335587], length 396
        0x0000:  4500 01c0 3344 4000 4006 723b c0a8 8933  E...3D@.@.r;...3
        0x0010:  c0a8 8934 b939 05f1 fcf5 754b 74a1 17e5  ...4.9....uKt...
        0x0020:  8018 014b 5bc0 0000 0101 080a 4e26 a8eb  ...K[.......N&..
        0x0030:  06a2 d8a3 018c 0000 0600 0000 0000 7885  ..............x.
        0x0040:  8ecd 77b9 3164 0df7 8168 767c 0db0 ee86  ..w.1d...hv|....
        0x0050:  5d34 197c e7ca f8fd bb58 9afc 004a f811  ]4.|.....X...J..
        0x0060:  814e 72c9 a2c8 4405 ba06 6e51 ef35 81f3  .Nr...D...nQ.5..
        0x0070:  2094 ac8d 1a1d 754d c132 74d7 d83a d377  ......uM.2t..:.w
        0x0080:  81b6 419b a9d3 db5e cae3 d7ed dcc3 b021  ..A....^.......!
        0x0090:  489f 0a3c 9038 6163 5117 1c98 9a04 d18c  H..<.8acQ.......
        0x00a0:  8284 fbaf ff0a 17ea 8e03 cb77 9660 8873  ...........w.`.s
        0x00b0:  b5b7 24dc eef2 8975 e9f7 bb3f dc9c 31dc  ..$....u...?..1.
        0x00c0:  eccc 7c94 0654 84b0 8a54 4ebd a383 b27d  ..|..T...TN....}
        0x00d0:  4051 09f7 7b6c d97c 43a6 1430 ae51 2972  @Q..{l.|C..0.Q)r
        0x00e0:  8548 971c d0e3 ee35 77f4 8416 e29d b0b4  .H.....5w.......
        0x00f0:  eafd 7642 a436 000e 23b8 c1b0 e746 e89e  ..vB.6..#....F..
        0x0100:  16a7 8483 b271 f362 4a37 b021 6c1e 9c0a  .....q.bJ7.!l...
        0x0110:  1b71 a923 af46 383e b6d1 0f83 9b36 8e25  .q.#.F8>.....6.%
        0x0120:  2414 5821 3bdf c386 189c 9570 141f 8cba  $.X!;......p....
        0x0130:  5f9d bf1b 425c 5921 dbf6 64f7 56c4 81be  _...B\Y!..d.V...
        0x0140:  54f8 7526 65d1 78b7 230b af2e 38cb 3dff  T.u&e.x.#...8.=.
        0x0150:  153e 5cd8 382a c61d 6e63 1cb4 ac29 7f8c  .>\.8*..nc...)..
        0x0160:  b84c f60c 6de4 9306 42b7 975c d092 769c  .L..m...B..\..v.
        0x0170:  7a4c 89d1 b464 2b18 222f 87af 6dbb 7a2b  zL...d+."/..m.z+
        0x0180:  53b2 081c fde5 6506 4c0c 4c99 0c3c d291  S.....e.L.L..<..
        0x0190:  8f18 8d1f db15 1568 11ef 2b0b 7519 c5cc  .......h..+.u...
        0x01a0:  ff51 6f70 ff9d e66d 4d31 8fc1 bdda 2c68  .Qop...mM1....,h
        0x01b0:  279b c025 a940 778f 5e14 f5bf fbbb 1001  '..%.@w.^.......
18:05:14.207336 IP dbserver.test.aspicon.local.ncube-lm > oraclient.test.aspicon.local.47417: Flags [P.], seq 1:477, ack 396, win 331, options [nop,nop,TS val 111357177 ecr 1311156459], length 476
        0x0000:  4500 0210 17cc 4000 4006 8d63 c0a8 8934  E.....@.@..c...4
        0x0010:  c0a8 8933 05f1 b939 74a1 17e5 fcf5 76d7  ...3...9t.....v.
        0x0020:  8018 014b 95bb 0000 0101 080a 06a3 2cf9  ...K..........,.
        0x0030:  4e26 a8eb 01dc 0000 0600 0000 0000 8bb8  N&..............
        0x0040:  89de a238 1411 91ed 0f9d c75a 2a11 d1f0  ...8.......Z*...
        0x0050:  ea66 ee97 2934 614b 63ab 7b02 04a4 cf39  .f..)4aKc.{....9
        0x0060:  4418 9752 9c23 746b 87f8 66a7 a344 1416  D..R.#tk..f..D..
        0x0070:  e9f9 1044 23b8 984f fe71 1f3c f38f 4982  ...D#..O.q.<..I.
        0x0080:  e9b0 88c0 6d80 ac0f 002c f208 f640 06b4  ....m....,...@..
        0x0090:  3576 71b0 d75d cd5b 9f26 07c6 ac5a 5168  5vq..].[.&...ZQh
        0x00a0:  bcf7 d4a4 1f88 9b36 ceb0 6124 63ab 6b56  .......6..a$c.kV
        0x00b0:  f142 0f0a 90f2 525c f1e6 9de7 fd2d 5951  .B....R\.....-YQ
        0x00c0:  7b5c f027 a354 ef05 cced 518f 2096 d21a  {\.'.T....Q.....
        0x00d0:  c842 bc71 add0 9b38 8dbe fe18 1644 3b6e  .B.q...8.....D;n
        0x00e0:  5e30 cbd8 4896 82ec 4c5e 67a6 b723 d407  ^0..H...L^g..#..
        0x00f0:  7bc8 484c 3aea 7d33 808c 217f 93b7 1f74  {.HL:.}3..!....t
        0x0100:  0767 f594 001d ee81 08ff 2ea7 0c68 44b1  .g...........hD.
        0x0110:  1c58 2434 9f7a 1ca3 0ea6 2bc8 3e4f 9fb3  .X$4.z....+.>O..
        0x0120:  4c02 b6ca 69dc b428 4485 b4ff d7d3 6d7e  L...i..(D.....m~
        0x0130:  4e03 af3b 7b1d 0336 0072 b62c 2024 dc5b  N..;{..6.r.,.$.[
        0x0140:  454d 8ae6 73ac d87d 167f a2c6 02d7 170a  EM..s..}........
        0x0150:  5d49 7eee 0240 3908 300e 2ec2 9865 422f  ]I~..@9.0....eB/
        0x0160:  0598 6d5b bcef 7555 1ee5 2ecc 0f65 67b3  ..m[..uU.....eg.
        0x0170:  ee7e bcb9 7329 f850 363c 6829 8240 4e1d  .~..s).P6<h).@N.
        0x0180:  4c55 094a c8bb 8a26 e406 90a4 3f45 a69f  LU.J...&....?E..
        0x0190:  aa8b 042d 46d2 938b cbf1 fe0a 3564 0e00  ...-F.......5d..
        0x01a0:  138f 14a8 7d69 1369 3639 7873 ccb3 741f  ....}i.i69xs..t.
        0x01b0:  0395 1d98 8557 9839 428f e7a2 4a12 2f30  .....W.9B...J./0
        0x01c0:  deb5 fc65 27ea be5d 8b90 a9d2 df1d d60e  ...e'..]........
        0x01d0:  15e0 1388 ac56 4fc0 7001 8dfd 237c fdeb  .....VO.p...#|..
        0x01e0:  da4b cdef 9a4a cbc6 fdff a1d6 547a f90a  .K...J......Tz..
        0x01f0:  ab84 956a 8d43 241e 493e 01b2 4057 b293  ...j.C$.I>..@W..
        0x0200:  4749 7a4a 5d40 2067 78bd c59c 943b 0d01  GIzJ]@.gx....;..
18:05:14.207966 IP oraclient.test.aspicon.local.47417 > dbserver.test.aspicon.local.ncube-lm: Flags [.], ack 477, win 331, options [nop,nop,TS val 1311156461 ecr 111357177], length 0
        0x0000:  4500 0034 3345 4000 4006 73c6 c0a8 8933  E..43E@.@.s....3
        0x0010:  c0a8 8934 b939 05f1 fcf5 76d7 74a1 19c1  ...4.9....v.t...
        0x0020:  8010 014b f5ae 0000 0101 080a 4e26 a8ed  ...K........N&..
        0x0030:  06a3 2cf9                                ..,.
18:05:14.208479 IP oraclient.test.aspicon.local.47417 > dbserver.test.aspicon.local.ncube-lm: Flags [P.], seq 396:424, ack 477, win 331, options [nop,nop,TS val 1311156462 ecr 111357177], length 28
        0x0000:  4500 0050 3346 4000 4006 73a9 c0a8 8933  E..P3F@.@.s....3
        0x0010:  c0a8 8934 b939 05f1 fcf5 76d7 74a1 19c1  ...4.9....v.t...
        0x0020:  8018 014b 5cdb 0000 0101 080a 4e26 a8ee  ...K\.......N&..
        0x0030:  06a3 2cf9 001c 0000 0600 0000 0000 479e  ..,...........G.
        0x0040:  897b 1e0e fd96 fc61 0b76 1f7d 787d 0601  .{.....a.v.}x}..
18:05:14.208722 IP dbserver.test.aspicon.local.ncube-lm > oraclient.test.aspicon.local.47417: Flags [P.], seq 477:665, ack 424, win 331, options [nop,nop,TS val 111357179 ecr 1311156462], length 188
        0x0000:  4500 00f0 17cd 4000 4006 8e82 c0a8 8934  E.....@.@......4
        0x0010:  c0a8 8933 05f1 b939 74a1 19c1 fcf5 76f3  ...3...9t.....v.
        0x0020:  8018 014b 949b 0000 0101 080a 06a3 2cfb  ...K..........,.
        0x0030:  4e26 a8ee 00bc 0000 0600 0000 0000 29cc  N&............).
        0x0040:  e425 2158 10aa a2c6 6d8f 56a6 522d 13f4  .%!X....m.V.R-..
        0x0050:  d2bc 78ef e7d3 09be fa6b d4fe ac16 c532  ..x......k.....2
        0x0060:  413e 348f 15b9 88f0 9a52 04ef 4cba c72b  A>4......R..L..+
        0x0070:  38ac 2ba4 41d4 7b97 0c42 7f9b e2d9 ae85  8.+.A.{..B......
        0x0080:  e0b0 fe3e beb1 6e9c 2eb1 470a 5348 692f  ...>..n...G.SHi/
        0x0090:  2bd0 87ee 1ad0 c3c0 8e0a e5a7 f889 b820  +...............
        0x00a0:  680e 107b c5d5 e1ed 8119 6c22 e2d2 1fda  h..{......l"....
        0x00b0:  afc8 8f81 be5e a1f1 4eaa c544 9dd7 b39e  .....^..N..D....
        0x00c0:  24c6 a767 7fa1 a462 2d39 4301 34c4 504b  $..g...b-9C.4.PK
        0x00d0:  2395 1d21 d407 52df a129 b784 e325 7c5a  #..!..R..)...%|Z
        0x00e0:  fe18 8c44 3b6e f5d5 4f76 6755 f5b8 0f01  ...D;n..OvgU....
18:05:14.249029 IP oraclient.test.aspicon.local.47417 > dbserver.test.aspicon.local.ncube-lm: Flags [.], ack 665, win 331, options [nop,nop,TS val 1311156503 ecr 111357179], length 0
        0x0000:  4500 0034 3347 4000 4006 73c4 c0a8 8933  E..43G@.@.s....3
        0x0010:  c0a8 8934 b939 05f1 fcf5 76f3 74a1 1a7d  ...4.9....v.t..}
        0x0020:  8010 014b f4aa 0000 0101 080a 4e26 a917  ...K........N&..
        0x0030:  06a3 2cfb                                ..,.

Weder der Abfragetext noch die Ergebnisse sind aus dem Mitschnitt abzulesen, da die Daten nun verschlüsselt übertragen werden.

FAZIT

Mit der Freigabe der Native Network Encryption ist es sowohl für die Oracle Datenbank Standard Edition One, Standard Edition als auch Enterprise Edition mit nur wenigen Schritten und ohne Zusatzkosten möglich, den Net8-Datenverkehr zwischen Client und Datenbank-Server zu verschlüsseln. In der Regel ist hierfür lediglich eine Anpassung der sqlnet.ora am Datenbank-Server und ein Reload des Listeners erforderlich. Abgesehen vom kurzzeitigen Ausfall der dynamisch registrierten Services am Listener kommt es dabei zu keinerlei Beeinträchtigungen im Datenbankbetrieb. Die Net8-Konfiguration der Oracle-Clients muss nicht verändert werden. Native Network Encryption ist sowohl für Oracle-OCI-Clients (Fat- und InstantClient) als auch für JDBC verfügbar.