Sven’s Technik-Blog

Einiges über Oracle, Security, Linux, … und auch über mich

  • Categories

  • Archives

  • Tag Cloud

New Features Oracle 11g: Fine-Grained Access für Netzwerk-Callouts

Posted by Sven Vetter on November 9th, 2007

Hat ein Benutzer EXECUTE-Rechte auf eines der folgenden Packages, kann er (bis Oracle 10g) Informationen an beliebige Hosts schicken:

  • UTL_TCP
  • UTL_SMTP
  • UTL_MAIL
  • UTL_HTTP
  • UTL_INADDR

Mit Oracle 11g ist dies nicht mehr der Fall. Per Default hat kein Benutzer (ausser SYS) die Möglichkeit, mit diesen Packages externe Rechner zu erreichen.
Mit dem neuen Package DBMS_NETWORK_ACL_ADMIN können nun Access Control Listen erzeugt werden, mit denen definiert wird, wer an welchen Host Callouts durchführen kann.

Dies hat aber einige Auswirkungen...

In der Datenbank muss XDB installiert sein :-(
Ansonsten kommt bei jedem Aufruf eines der Packages (ausser von SYS) folgende Fehlermeldung:

EXEC dbms_output.put_line(utl_inaddr.get_host_name);
BEGIN dbms_output.put_line(utl_inaddr.get_host_name); END;
 
*
ERROR AT line 1:
ORA-24248: XML DB extensible security NOT installed
ORA-06512: AT "SYS.UTL_INADDR", line 4
ORA-06512: AT "SYS.UTL_INADDR", line 35
ORA-06512: AT line 1
 

Ist XDB installiert, können die ACL dann wie folgt erzeugt werden:

BEGIN
 DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
  acl          => 'scott_trivadis.xml',
  description  => 'Allow scott to connect to trivadis',
  principal    => 'SCOTT',
  is_grant     => TRUE,
  privilege    => 'connect'
 );
END;
/
 
BEGIN
 DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL (
  acl         => 'scott_trivadis.xml',
  host        => 'www.trivadis.com'
  );
END;
/
 

Eigentlich ein gutes Feature - aber die Abhängigkeit zu XDB finde ich extrem problematisch. Ist der in XDB integrierte Web- und FTP-Server wirklich sicher? Dieser ist in 11g aber wenigstens per Default ausgeschaltet. Aber trotzdem ist jedes zusätzliche Package ein potentielles Security Risiko

Und ohne XDB-Installation ist es nicht mehr möglich, z.B. eine Mail aus einer DB zu verschicken :-(
Es sein denn, ich benutze Java in der Datenbank, aber dies möchte ich eigentlich auch vermeiden...

Tags: , ,

One Response to “New Features Oracle 11g: Fine-Grained Access für Netzwerk-Callouts”

  1. Sven’s Technik-Blog » Blog Archive » New Features Oracle 11g: Was machen Ihre Applikationen nach 180 Tagen? Says:

    [...] gehört u.a. auch “Fine-Grained Access für Netzwerk-Callouts”, worüber ich hier schon [...]

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>