Montag Sep 10, 2012

Secure Deployment of Oracle VM Server for SPARC - aktualisiert

Vor einiger Zeit hatte ich ein Papier mit Empfehlungen fuer den sicheren Einsatz von LDoms veroeffentlicht.  In der Zwischenzeit hat sich so manche veraendert - eine Aktualisierung des Papiers wurde noetig.  Neben einigen kleineren Rechtschreibkorrekturen waren auch ettliche Links veraltet oder geandert.  Der Hauptgrund fuer eine Ueberarbeitung war jedoch das Aufkommen eines zweiten Betriebsmodels fuer LDoms.  Ein einigen wenigen kurzen Worten:  Insbesondere mit dem Erfolg der T4-4 kam es immer oefter vor, dass die Moeglichkeiten zur Hardware-Partitionierung, die diese Platform bietet, genutzt wurden.  Aehnlich wie bei den Dynamic System Domains werden dabei ganze PCIe Root-Komplexe an eine Domain vergeben.  Diese geaenderte Verwendung machte eine Behandlung in diesem Papier notwendig.  Die aktualisierte Version gibt es hier:

Secure Deployment of Oracle VM Server for SPARC
Second Edition

Ich hoffe, sie ist hilfreich!

Donnerstag Mrz 01, 2012

Die Solaris Fingerprint Database - Neuauflage in Solaris 11

Einige erinnern sich sicher an die Solaris Fingerprint Database. Sie war eine hervoragende Moeglichkeit, um die Integritaet eines Solaris Binaries zu pruefen.  Leider wurde sie zusammen mit dem Rest von Sunsolve abgeschaltet und im Nachfolger "My Oracle Support" nicht wieder in Betrieb genommen.  Die gute Nachricht nun ist:   In Solaris 11 gibt es sie wieder, und besser als jemals zuvor!

Um die alte Datenbank zu benutzen, musste man den MD5 Fingerprint eines Binaries auf der Webseite der Datenbank eingeben und pruefen.  Es gab zwar ein Tool fuer die Massenpruefung, aber umstaendlich war das allemal.

In Solaris 11 ist alles das in den Paket-Manifesten von IPS integriert.  Diese Manifeste enthalten u.A. die SHA1 and ggf. ELF Hashes aller Binaries und Scripte, die in dem jeweiligen Paket enthalten sind.  Damit ist eine manuelle Pruefung bereits moeglich.  IPS geht aber weiter und stellt auch eine Methode zur Verfuegung, mit der die Integritaet der gesamten Installation geprueft werden kann.  Hier einige Beispiele, was damit moeglich ist:

  • Was ist der SHA1 Fingerprint eines Binaries?
    digest -a sha1 /usr/bin/vim
  • Aus welchem Paket stammt es?
    pkg search -f $(digest -a sha1 /usr/bin/vim)
    (Die Option "-f" braucht man, damit das Paket auch dann gefunden wird, wenn das Binary aus einer aelteren Version stammt.)
  • Gibt es noch mehr Details?
    pkg info -r $(pkg search -f -H -o pkg.fmri $(digest -a sha1 /usr/bin/vim))

Falls das alles funktioniert hat, ist das die Bestaetigung, dass das Binary, in diesem Fall "vim" gueltig ist und aus dem Paket "vim-core" stammt.

Die Daten fuer diese Pruefungen liefert der im System konfigurierte Publisher.  Welcher das ist, kann mit dem Kommando "pkg publisher" nachgesehen werden.  Eine typische Ausgabe waere dabei:

PUBLISHER TYPE STATUS URI
solaris origin online https://pkg.oracle.com/solaris/support/

Natuerlich kann man einen einzelnen SHA1 Digest auch direkt auf der Webseite des Publishers nachschlagen.  Das geht direkt im Browser auf der URL des Publishers.  Ganz aehnlich hatte das auch mit der alten Fingerprint Database funktioniert.  IPS kann allerdings noch sehr viel mehr als das:

Mit dem Kommando "pkg verify" kann man jedes einzelne installierte Paket gegen das entsprechende Repository pruefen lassen.  Je nachdem, um was fuer Dateien es sich handelt (Binary, Script, Konfigurationsdatei), werden dabei unterschiedliche Verfahren angewandt:

  • Binaries werden mittels eines ELF Hashes geprueft.
  • Scripts dagegen mit ihrem SHA1 Hash.
  • Konfigurationsdateien koennen, ihrem Wesen entsprechend, nicht geprueft werden.  Sie sind ja gerade dazu gedacht, von einem Administrator veraendert zu werden.
  • Darueber hinaus werden auch Besitzer, Gruppe und Rechte aller Dateien geprueft.

Die Ausgabe von "pkg verify" wird jede Abweichung von den Vorgaben aus dem Paket-Manifest melden.  Damit werden z.B. veraenderte Scripte oder Binaries oder geaenderte Ausfuehrungsrechte aufgedeckt.  Diese Pruefung kann man gegen die gesamte Installation, aber auch fuer ein einzelnes Paket durchfuehren lassen.  Je nach Ergebnis kann man dann entscheiden, wie weiter verfahren werden soll:

  • Nichts tun
  • Abweichungen von Hand reparieren, bspw. weil man weiss, wie sie zustande gekommen sind.
  • Die Abweichungen automatisch durch das Paketsystem reparieren lassen.

Diese letzte Moeglichkeit ist in diesem Zusammenhang das eigentliche "Power Feature" von IPS.  Da das Paketsystem genau weiss, wie die Dinge sein sollten kann man es auffordern, diesen definierten Zustand wieder herzustellen.  Im Vergleich zu den Moeglichkeiten von BART und der Fingerprint Database ein enormer Fortschritt.

Insgesamt kann IPS damit eine bestehende Installation mit den Originaldaten des verwendeten Repositories vergleichen.  Die Integritaet des Repositories selbst muss jedoch zusaetzlich gesichert werden.  Beim "Master Repository" wird dies durch Oracle sichergestellt.  Die Pakete selbst, genauso wie die Binaries, sind kryptographisch signiert.  Bei einem eigenen, lokalen Repository sollte man das ISO-Image mittels der bereitgestellten SHA1/MD5 Fingerprints pruefen, bevor man das Repository aufbaut.  Fuer den Schutz desselben ist man dann selbst zustaendig - BART hilft hier ggf. weiter.

Zum Schluss noch ein kleines Beispiel fuer all die erwaehnten Dinge:

 root@benjaminchen:/usr/bin# ls -l vim

-r-xr-xr-x   1 root     bin      2225532 Feb 23 14:31 vim
root@benjaminchen:/usr/bin# digest -a sha1 vim
f2495fa19fcc4b8a403e0bd4fef809d031296c68
root@benjaminchen:/usr/bin# pkg search -f f2495fa19fcc4b8a403e0bd4fef809d031296c68
INDEX                                    ACTION VALUE       PACKAGE
f2495fa19fcc4b8a403e0bd4fef809d031296c68 file   usr/bin/vim pkg:/editor/vim/vim-core@7.3.254-0.175.0.0.0.2.537
root@benjaminchen:/usr/bin# pkg verify -v vim-core
PACKAGE                                                                                                    STATUS
pkg://solaris/editor/vim/vim-core                                           OK
root@benjaminchen:/usr/bin# cp vim vim.org
root@benjaminchen:/usr/bin# cp ls vim
root@benjaminchen:/usr/bin# pkg verify -v vim-core
PACKAGE                                                                 STATUS 
pkg://solaris/editor/vim/vim-core                                        ERROR
    file: usr/bin/vim
        Elfhash: 20acbb006d5331660dc026483533c29137318673 should be f301bd9d798c4bdd8edebb001fbf4317380383a9
root@benjaminchen:/usr/bin# pkg fix --accept vim-core
Verifying: pkg://solaris/editor/vim/vim-core                    ERROR          
    file: usr/bin/vim
        Elfhash: 20acbb006d5331660dc026483533c29137318673 should be f301bd9d798c4bdd8edebb001fbf4317380383a9
Created ZFS snapshot: 2012-02-29-09:27:49
Repairing:
 pkg://solaris/editor/vim/vim-core                 
                                                                             
DOWNLOAD                                  PKGS       FILES    XFER (MB)
Completed                                  1/1         1/1      0.8/0.8
PHASE                                        ACTIONS
Update Phase                                     1/1 
PHASE                                          ITEMS
Image State Update Phase                         2/2 
 root@benjaminchen:/usr/bin# ls -l vim vim.org
-r-xr-xr-x   1 root     bin      2225532 Feb 29 10:28 vim
-r-xr-xr-x   1 root     root     2225532 Feb 29 10:27 vim.org
root@benjaminchen:/usr/bin# digest -a sha1 vim
f2495fa19fcc4b8a403e0bd4fef809d031296c68

Montag Feb 20, 2012

Solaris 11 fuer EAL4+ Zertifizierung eingereicht

Solaris 11 wurde offiziell zur Zertifizierung nach dem Canadian Common Criteria Scheme im Level EAL4+ eingereicht. Geprueft wird auf das Protection Profile "Operating System Protection Profile (OS PP)" sowie die Erweiterungen

  • Advanced Management (AM)
  • Extended Identification and Authentication (EIA)
  • Labeled Security (LS)
  • Virtualization (VIRT)

EAL4+ ist die hoechste typischerweise fuer kommerzielle Software erreichbare Ebene und gleichzeitig die hoechste Ebene, die von insg. 26 Laendern, darunter Deutschland, gegenseitig anerkannt wird. Wann die Zertifizierung abgeschlossen sein wird, liegt in den Haenden der Zertifizierungsstelle.

Den aktuellen Stand dieser Zertifizierung (und auch weiterer zertifizierter Oracle Software) findet man auf der Seite Oracle Security Evaluations.

Mittwoch Jun 08, 2011

Platten richtig und sicher löschen

Eigentlich ist sowohl die Frage als auch die Antwort schon alt und lange bekannt.  Aber da solche Dinge auch wieder in Vergessenheit geraten und deswegen immer wieder gefragt werden, hier eine Auffrischung:

Eine Platte so zu löschen, dass die Daten auch mit aufwendigen Methoden nicht wieder herzustellen sind, ist unter Solaris ganz einfach.  Das Kommando format (1M) kennt als Unterkommando "analyze/purge".  Damit wird der gewählte Plattenbereich (idR. natürlich s2) insgesamt vier mal mit unterschiedlichen Bitmustern überschrieben.  Das dauert je nach Plattengröße zwar so seine Zeit, ist dafür aber so sicher, dass es den Vorschriften des amerikanischen Verteidigungsministeriums zum sicheren Löschen entspricht. 

Details finden sich hier:

Wichtig zu wissen ist, dass diese Methode u.A. nicht für SSDs aller Art geeignet ist!  Und wer das Risiko, daß seine Daten auf der Platte mitsamt der Platte abhanden kommen könnten von vorneherein ausschliessen möchte, darf natürlich auch verschlüsseln.  Das geht z.B. mit ZFS oder Oracle TDE ganz einfach :-)

Mittwoch Jan 26, 2011

Logical Domains - aber sicher

LDoms Oracle VM Server for SPARC werden schon lange eingesetzt.  Und ich bekam immer mal wieder die Frage zu hoeren, wie sicher sie denn eigentlich seien.  Ein Kunde wollte es ganz genau wissen, und so beauftragten wir einen unabhaengigen Gutachter.  Das Ergebnis war erfreulich, aber leider nicht als Bettlektuere geeignet.  Deswegen, und um die eigentliche Untersuchung um Empfehlungen zum Betrieb zu erweitern, schrieb ich auf dieser Grundlage ein Whitepaper.  Dank der Uebernahme durch Oracle verzoegerte sich die Veroeffentlichung etwas.  Das hat aber den Vorteil, dass es jetzt auch auf dem aktuellesten Stand ist.  Ich bin deshalb froh, endlich vorstellen zu koennen:


Secure Deployment of Oracle VM for SPARC


Meinen Dank an Steffen Gundel von der Cirosec, der mit seiner Untersuchung die Grundlage fuer dieses Papier schuf!


Ich hoffe, das Papier hilft dem einen oder anderen weiter!


Viel Spass beim Lesen!

Mittwoch Nov 24, 2010

Dateisystem verschluesseln mit ZFS und AES128

Mit Solaris 11 Express ist nun auch die Dateisystemverschluesselung mit ZFS verfuegbar.  Damit schliesst Solaris eine Luecke, die zumindest fuer all jene Festplatten die man ueblicherweise mit sich herumtraegt, dringend geschlossen werden musste.  Aber natuerlich gibt es auch viele gute Gruende, die im RZ gut gesicherten Festplatten zu verschluesseln - schliesslich werden auch diese irgendwann einmal das RZ verlassen...

Genug der Vorrede - so einfach geht das Ganze: 

  1. Der Zpool, der das zu verschluesselnde Dateisystem enthalten wird, muss mindestens auf Version 30 gebracht werden.  Das geht mit einem einfachen "zpool upgrade <poolname>.  Bei einem neu installierten Solaris 11 Express entfaellt dieser Schritt natuerlich.
  2. Jetzt kann man ein neues Dateisystem anlegen: zfs create -o encryption=on <poolname/newfs>
    Das Kommando fragt jetzt interaktiv nach einem Passwort, aus dem der Schluessel fuer das Dateisystem erzeugt wird. Und schon ist es fertig.  Ein Dateisystem nachtraeglich verschluesseln geht nicht.  Natuerlich gibt es weitere Optionen fuer den Schluessel, die in der Manpage beschrieben sind.

Ebenfalls gibt es diverse Wahlmoeglichkeiten bei der Schluessellaenge fuer AES.  Die einfache Variante mit "encryption=on" waehlt AES-128 im CCM Modus.  Alternativ koennen auch 192 oder 256 Bit Schluessel verwendet werden.  Bei der Entwicklung von ZFS crypto wurde diskutiert, welche Schluessellaenge als Default verwendet werden sollte.  Die Wahl fiel aus zwei Gruenden auf 128 Bit:  Erstens ist die Verschluesselung, insbesondere wenn keine Hardware-Beschleunigung wie bei der SPARC T2/T3 oder Intel 5600 CPU vorhanden ist, bei 128 deutlich weniger aufwendig als bei den groesseren Schluessellaengen.  Zweitens gibt es neue Untersuchungen und auch erfolgreiche Angriffe auf AES256 und AES192 mit Aufwaenden von nicht mehr als 2\^39.  Diese Angriffe greifen bei AES128 nicht, weswegen diese Variante nicht nur schneller, sondern auch sicherer ist als die Variante mit groesserer Schluessellaenge.

Weitere Details zu ZFS Crypto gibt es im ZFS Admin Guide.

Dienstag Sep 21, 2010

Keine Entschuldigung fuer keine Sicherheit

Schon seit der UltraSPARC T2 gibt es eigentlich keine Entschuldigung mehr, einen Web- oder Applicationserver nicht mit sicherem SSL zu betreiben.  Die in die CPU integrierte Crypto-Beschleunigung, die kostenfrei verwendet werden kann, ermoeglicht schon seit Jahren Sicherheit per SSL.  Mit der neuen T3 CPU wurden nicht nur die moeglichen Algorithmen modernisiert.  Auch die Anleitungen, wie dieses Feature zu nutzen ist, wurden auf den neuesten Stand gebracht.  Hier die ersten beiden - mehr kommt vermutlich in Kuerze:


Frohes Verschluesseln!

Dienstag Jun 01, 2010

SCA 6000 fuer Oracle TDE

Im Februar  hatte ich beschrieben, wie man den Softtoken Store des Solaris Cryptographic Framework als "Software-HSM" fuer Oracle TDE konfiguriert.  In der Zwischenzeit wurde nicht nur die SCA 6000 als HSM fuer Oracle TDE zertifiziert und die Konfiguration dokumentiert, sondern ich konnte das auch selbst einmal testen.  Dass es funktioniert, versteht sich von selbst.  Was die Verwendung der Karte attraktiv macht, sind die zusaetzlichen Moeglichkeiten, die die Karte bietet.  So kann man den Keystore sperren, was ein erneutes "open wallet" sowie die einzelnen Funktionen der Spaltenverschluesselung verhindert.  Auch ein 4-Augen Prinzip laesst sich hier realisieren.  Damit kann in einer Umgebung mit entsprechenden Sicherheits-Anforderungen der Zugriff auf den Master-Key von der "normalen" Datenbank-Administration getrennt werden.  Und das ist, gerade in solchen Umgebungen, ein Vorteil.

About

Neuigkeiten, Tipps und Wissenswertes rund um SPARC, CMT, Performance und ihre Analyse sowie Erfahrungen mit Solaris auf dem Server und dem Laptop.

This is a bilingual blog (most of the time). Please select your prefered language:
.
The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.

Search

Categories
Archives
« April 2014
MoDiMiDoFrSaSo
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Heute