-
Hintergrund der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf ein Verfahren zur Verwaltung
eines Computersystems in einer Speicherbereich-Netzwerkumgebung mittels
eines Verwaltungsagenten.
-
Eines
der verbreitetsten Systeme zur Verwaltung eines Computersystems
ist das, bei dem eine Verwaltungsanwendung und ein Verwaltungsagent
so angeordnet sind, dass der letztere der ersteren eine Verwaltungsschnittstelle
bereitstellt, um ihre einzelnen Einrichtungen zu betreiben. Dank
der in letzter Zeit in der Web-Technologie erreichten Fortschritte
ist die Verwendung von XML-Nachrichten
als Kommunikationsmittel zwischen der Verwaltungsanwendung und dem
Verwaltungsagenten zunehmend populärer geworden. Die derartige
Anordnung ermöglicht
der Verwaltungsanwendung entfernt angeordnete Verwaltungsagenten über das
Netz (Web oder ein gewöhnliches
IP-Netzwerk) zu verwenden, wodurch eine zentralisierte Verwaltung
erleichtert wird.
-
In
einer solchen Anordnung verwendet der Verwaltungsagent eine Benutzeridentifikations-Überprüfung, um
zu verhindern, dass die Einstellungen des Computersystems oder seiner
einzelnen Einrichtungen durch andere Benutzer geändert werden, die nicht der
Systemadministrator sind. Werden keine solchen Sicherheitsmaßnahmen,
wie die Identifikationsüberprüfung verwendet,
kann ein bösartiger
Benutzer (Cracker) in das System durch eine gestohlene Identität des Systemadministrators
einbrechen und Nachrichten während
der Übertragung ändern. Dies
kann zur Folge haben, dass der Verwaltungsagent die Einstellungen
einer Einrichtung fälschlicherweise
abändert,
wodurch sich ein Systemabsturz ergibt.
-
Bei
typischen herkömmlichen
Anordnungen dieser Art ist der einzige Mechanismus, um eine unautorisierte
Befehlsausführungen
an den Systembestandteilen zu verhindern, die Verschlüsselung
gewesen, in der Art eines Chiffriersystems, welches auf den Kommunikationskanal
zwischen der Verwaltungsanwendung und dem Verwaltungsagenten angewendet
wurde, und die Benutzeridentifikations-Überprüfung. Da die Verschlüsselung
selbst nicht die Ausführbarkeit
von Befehlen an der Zieleinrichtung überprüft, kann ein Cracker, der sich
selbst als autorisierten Benutzer ausgeben kann, irgendwelche Befehle
an den Zieleinrichtungen ausführen, wenn
die Verschlüsselung
auf dem Kommunikationskanal aufgebrochen ist.
-
Da
für eine
strengere Sicherheit beim Verwaltungsagenten immer die Forderung
nach einem genügend
sicheren Nachrichtenkanal und einem genügend sicheren Identifikations-Überprüfungsverfahren
bestand, wurde es dann notwendig, dies ebenso für jene Verwaltungsanwendungen
vorzusehen, welche keinen derart strengen Sicherheitspegel fordern. Dies
würde die
Verwaltungsanwendungen begrenzen, die der Systemadministrator benutzen
kann.
-
Die
EP 1 255 179 A2 offenbart
eine Datensicherheit für
ein verteiltes Datenspeichersystem, welches die Merkmale im ersten
Teil des Anspruchs 1 umfasst.
-
Die
US 2003/0115447 A1 offenbart
ein Netzwerksystem, bei dem ein Identifikationsüberprüfungspaket bestimmt, welchem
speziellen Benutzer der Zugriff auf ein Zielobjekt gestattet wird.
-
Zusammenfassung der Erfindung
-
Gegenstand
der vorliegenden Erfindung ist es eine Einrichtung vorzusehen, die
in der Verwaltung eines Computersystems eine hohe Sicherheit gewährleistet,
wobei ein bösartiger
und nicht autorisierter Eindringling an der Ausführung von Befehlen gehindert
wird, die eine wesentliche Störung
oder einen Absturz des Computersystems bewirken können, ohne
dass die Benutzung der Verwaltungsanwendung durch den Systemadministrator
in unvernünftiger
Weise begrenzt wird.
-
Dies
wird durch das Computersystem, wie es in Anspruch 1 definiert ist,
erreicht.
-
Bei
einem bevorzugten Ausführungsbeispiel der
vorliegenden Erfindung wird ein Ad-hoc-Programm vorgestellt, welches
auf einem Speicher-Untersystem läuft
und das auf den Empfang eines Verwaltungsbefehls von einem System-Verwaltungscomputer
bestimmt, ob dieser ausgeführt
oder abgewiesen werden soll unter Beurteilung des Sicherheitspegels
des Nachrichtenkanals von/zu dem System-Verwaltungscomputer und
des Sicherheitspegels, der für
die Ausführung
des Befehls gefordert ist.
-
Kurzbeschreibung der Zeichnungen
-
1 veranschaulicht
die Konfiguration eines Computersystems gemäß dem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung.
-
2 zeigt
ein Beispiel der Vorgänge
zur Einrichtung eines chiffrierten Nachrichtenkanals zwischen der
Verwaltungsanwendung und dem Verwaltungsagenten.
-
3 zeigt ein Layout-Beispiel und die Inhalte
von vier Tabellen (A bis D): Die Sicherheitspegel-Spezifikationstabelle
(A), die geforderte Sicherheitspegeltabelle (B), die Historie-Tabelle
(C) und die Sicherheitspegel-Anhebungstabelle (D).
-
4 ist
ein Flussdiagramm, welches das Verfahren zeigt, wie der Verwaltungsagent
Einrichtungsbefehle behandelt.
-
5 ist
ein Tabellenbeispiel, welches den SSL3-Verschlüsselungsalgorithmus auflistet.
-
Beschreibung des bevorzugten
Ausführungsbeispiels
-
1 veranschaulicht
den Aufbau eines Computersystems gemäß dem bevorzugten Ausführungsbeispiel
der vorliegenden Erfindung. Ein Computersystem 1 umfasst
einen Computer 200a, einen weiteren Computer 200b (diese
beiden können
zusammen als Computer 200 bezeichnet werden), einen Verwaltungscomputer 300,
einen Glasfaserkanalschalter 50, ein Internetprotokoll-Netzwerk 70 (nachfolgend
abgekürzt
IP-Netzwerk) und ein Speicher-Untersystem 400.
-
Das
Speicher-Untersystem 400 ist mit den Computern 200a und 200b über den
Glasfaserkanalschalter 50 verbunden und auch mit dem Verwaltungscomputer 300 über das
IP-Netzwerk 70. Das SCSI-Protokoll über den Glasfaserkanal (nachfolgend
abgekürzt
FCP) wird zur Datenübertragung zwischen
dem Computer 200a oder 200b und dem Speicher-Untersystem 400 verwendet.
-
Der
Glasfaserkanalschalter 50 umfasst eine Steuereinheit, einen
Speicher, eine Speichereinheit, Schnittstelleneinheiten 52a, 52b, 52c und 52d für die Kommunikation
mit dem Speicher-Untersystem 400, und eine Schnittstelleneinheit 54 für die Kommunikation
mit dem IP-Netzwerk 70.
-
Das
Speicher-Untersystem 400 umfasst eine Steuereinheit 401 und
einen oder mehrere Festplattenantriebe 460. Die Speichereinheit 401 umfasst weiterhin
einen Kanaladapter 500a und einen weiteren Kanaladapter 500b (diese
beide können
gemeinsam als Einkanaladapter 500 bezeichnet werden), einen
Cache-Speicher (Zwischenspeicher) 450,
einen gemeinsamen Speicher 590, einen oder mehrere Plattenadapter 550 und
einen Kreuzschienenschalter 520. Der Kreuzschienenschalter 520 verbindet
die Kanaladapter 500, den Cache-Speicher 550 den
gemeinsamen Speicher 590 und die Plattenadapter 550.
Alternativ hierzu kann ein Bus anstelle des Kreuzschienenschalters 520 verwendet
werden.
-
Eine
Reihe von Festplattenantrieben 460 sind über einen
Eingang 570 mit jedem Plattenadapter 550 verbunden.
-
Der
Kanaladapter 500a hat einen Prozessor 510a und
Glasfaserkanalports 402a und 402b, über die
er Ein/Ausgabe-Aufforderungen auf FCP-Basis empfängt, die jeweils von den Computern 200a und 200b abgegeben
werden.
-
Der
Kanaladapter 500b hat einen Prozessor 510b und
IP-Netzwerk-Ports 404a und 404b. Der Kanaladapter 500b kommuniziert
mit dem Verwaltungscomputer 300 über den IP-Netzwerk-Port 404b.
-
Das
Speicher-Untersystem 400 enthält ein oder mehrere logische
Volumina mit jeweils einem logischen Speicherbereich. Jedes logische
Volumen korrespondiert mit einem Teil oder dem gesamten physischen
Speicherbereich, der aus einer Reihe von Festplattenantrieben 460 aufgebaut
ist. Ein logisches Volumen korrespondiert mit einem Speicherbereich,
auf den über
den Computer 200 zugegriffen werden kann, und dem innerhalb
des Computersystems 1 eine spezifische Kennung zugeordnet
ist. Der Computer 200 gibt Ein/Ausgabe-Befehle gegenüber einem
logischen Volumen auf FCP-Basis aus.
-
Der
Plattenadapter 550 überträgt Daten
zwischen der Reihe von Plattenantrieben 460, die mit ihm
verbunden sind, dem Cache-Speicher 450 und dem Kanaladapter 500.
Er steuert außerdem
den Cache-Speicher 450 und den Kanaladapter 500.
Beispielsweise kann er die Reihe von Plattenantrieben 460 steuern,
die mit ihm als eine redundante Anordnung von preiswerten Disks
(RAID) verbunden sind, wodurch die Zuverlässigkeit und die Leistung des Speicher-Untersystems 400 erhöht wird.
-
Um
die niedrige Datenübertragungsrate
zwischen den Festplattenantrieben und dem Kanaladapter 500 zu
kompensieren, hält
das Speicher-Untersystem 400 Daten, auf die häufig zugegriffen
wird, im Cache-Speicher 450 vor.
-
Der
Computer 200a umfasst nicht nur eine Steuereinheit, einen
Speicher, eine Speichereinheit und eine Anzeigeeinheit, wie jeder
andere Computer, sondern auch eine Schnittstelleneinheit 202a für die Verbindung
mit dem Glasfaserkanalschalter 50 und eine Schnittstelleneinheit 204a für die Verbindung
mit dem Netzwerk 70. Der Computer 200b hat eine ähnliche
Konfiguration.
-
Der
Verwaltungscomputer 300 umfasst nicht nur eine Steuereinheit,
einen Speicher, eine Speichereinheit und eine Anzeigeeinheit, wie
jeder andere Computer, sondern auch eine Schnittstelleneinheit 304 für die Verbindung
mit dem Netzwerk 70. Durch Laden der Verwaltungsanwendung,
die in seiner Speichereinheit gespeichert ist, in den Speicher und durch
deren Ausführung,
steuert der Verwaltungscomputer 300 das Speicher-Untersystem 400 über das
Netzwerk 70, mit dem das Speicher-Untersystem 400 ebenfalls
verbunden ist. Der Verwal tungscomputer 300 kommuniziert
auch mit dem Computer 200 und dem Glasfaserkanalschalter 50 über das
Netzwerk 70.
-
Auf
dem Prozessor 510b, der Teil des Kanaladapters 500b ist,
läuft ein
Spezialprogramm (Verwaltungsagent) zur Kommunikation mit dem Verwaltungscomputer 300.
Es empfängt
Setup- und Steuerbefehle von der Verwaltungsanwendung, die auf dem
Verwaltungscomputer 300 läuft, und baut auf und steuert
das Speicher-Untersystem 400 durch Ausführung dieser Befehle.
-
Der
Verwaltungsagent läuft
nicht nur auf dem Speicher-Untersystem 400, sondern auch
auf dem Glasfaserkanalschalter 50 und dem Computer 200. Damit
kann die Verwaltungsanwendung, die auf dem Verwaltungscomputer 300 ausgeführt wird,
den Status des Glasfaserkanals 50 sowie des Computers 200 über den
auf diesem ausgeführten
Verwaltungsagenten erhalten und deren Einstellungen modifizieren.
-
Die
Kommunikation zwischen der Verwaltungsanwendung, die auf dem Verwaltungscomputer 300 ausgeführt wird,
und dem Verwaltungsagenten, der auf dem Kanaladapter 500 ausgeführt wird,
basiert auf dem Hyper-Text-Transfer-Protokoll (HTTP), mit dem Meldungen,
die in einer erweiterbaren Markierungssprache (XML) geschrieben
sind, zwischen den beiden ausgetauscht werden.
-
Aus
Sicherheitsgründen,
das heißt
um Abhören,
ID-Diebstahl und nicht autorisierte Änderung von Nachrichten zu
verhindern, verwendet die Nachrichtenübermittlung zwischen der Verwaltungsanwendung
und dem Verwaltungsagenten eine Chiffrierung, die auf einem sicheren
Schnittstellenebenen-Protokoll (SSL = secure sockets layer) basiert. Das
SSL-Protokoll, welches auf dem TCP/IP-Protokoll arbeitet, arbeitet
unterhalb von Protokollen mit höherem
Niveau, wie das HTTP (Anwendungsebene) und verbessert den Sicherheitspegel
des Nachrichtenkanals. Das SSL-Quittungs-Austauschprotokoll bestimmt
zuerst den Verschlüsselungsalgorithmus
und setzt dann einen sicheren Nachrichtenkanal fest.
-
2 beschreibt
das Verfahren zur Einrichtung eines verschlüsselten Nachrichtenkanals,
welches das SSL-Quittungs-Austauschprotokoll zwischen der Verwaltungsanwendung
und dem Verwaltungsagenten verwendet, beispielsweise SSL3.
-
Zuerst
sendet die Verwaltungsanwendung (SSL-Klient) „Client Hello" an den Verwaltungsagenten
(SSL-Server) (Schritt 1: Client Hello) zusammen mit einer Liste
des Verschlüsselungsalgorithmus
der von der Verwaltungsanwendung unterstützt wird, und im Falle der
Wiederaufnahme einer existierenden Session, die Session-ID. In der
Liste sind zugehörig zu
den gewünschten
Aufträgen
Prioritäten
durch die Verwaltungsanwendung vergeben. Die Verwaltungsanwendung
wartet dann auf „Server
Hello".
-
5 ist
ein Beispiel einer Liste eines Verschlüsselungsalgorithmus. Jedem
Verschlüsselungsalgorithmus
ist eine Zweibyte-ID zugeordnet.
-
Der
Verwaltungsagent wählt
einen aus der Liste der Verschlüsselungsalgorithmen
aus, die durch die Verwaltungsanwendung ausgesendet wurden, und
erzeugt eine Session-ID und sendet dann „Server Hello" zu der Verwaltungsanwendung
zusammen mit der Selektion zum Verschlüsselungsalgorithmus und der
Session-ID (Schritt 2: Server Hello). Die Verwaltungsanwendung sichert
die Session-ID für
spätere
Nachrichten, so dass die Verwaltungsanwendung durch deren Einschluss
in „Client Hello" einen verschlüsselten
Nachrichtenpfad errichten kann, ohne das Quittungsaustauschprotokoll durchzugehen.
-
Das
Verfahren zur Auswahl eines Verschlüsselungsalgorithmus läuft wie
folgt ab: Der Verwaltungsagent, der eine Liste von Verschlüsselungsalgorithmen
führt,
die von ihm unterstützt
werden, durchläuft
die Liste der Verschlüsselungsalgorithmen,
die von der Verwaltungsanwendung in der Reihenfolge absteigender
Priorität
gesendet wurden, und prüft,
ob eine Übereinstimmung
zwischen den beiden Listen besteht. Die erste Übereinstimmung wird ausgewählt. Alternativ
dazu kann der Verwaltungsagent seine Liste von unterstützten Verschlüsselungsalgorithmen
nach ihrer Stärke
(Robustheit) sortiert haben und diese Liste in absteigender Folge der
Stärke
durchgehen, um nach einer Übereinstimmung
zu suchen. Dieses Verfahren resultiert darin, dass der stärkste Algorithmus
ausgewählt
wird.
-
Die
Stärke
eines Verschlüsselungsalgorithmus
ist grundsätzlich
durch die Länge
des Chiffrierschlüssels,
der verwendet wird, bestimmt. Beispielsweise ist SSL_RSA_WITH_RC4_128_MD5,
bei dem ein 128-Bit-Schlüssel
verwendet wird, stärker
(robuster) als SSL_RSA_EXPORT_WITH_RC4_40_MD5, der einen 40-Bit-Schlüssel verwendet.
Das bevorzugte Ausführungsbeispiel
der Erfindung verwendet beispielsweise einen Verschlüsselungsalgorithmus SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 (der
schwächer
ist) und SSL_RSA_WITH_RC4_128_MD5 (der stärker ist).
-
Besteht
keine Übereinstimmung
zwischen der Liste der Verwaltungsanwendung und der Liste des Verwaltungsagenten
oder unterstützt
die Verwaltungsanwendung SSL nicht, dann wird keine Verschlüsselung
stattfinden.
-
Nach
dem Empfang einer Session-ID von der Verwaltungsanwendung, prüft der Verwaltungsagent
fortlaufend die Sessions auf Übereinstimmung bezüglich der
ID. Findet er eine Session mit der gleichen ID, wählt er den
Verschlüsselungsalgorithmus dieser
Session aus, um einen sicheren Nachrichtenpfad mit der Verwaltungsanwendung
zu erstellen.
-
Nach
dem zweiten Schritt sendet der Verwaltungsagent zu der Verwaltungsanwendung,
wenn erforderlich, seine eigene elektronische Zertifizierung (Schritt
3: Server Certificate), seinen eigenen öffentlichen Schlüssel (Schritt
4: Server Key Exchange) und eine Anforderung für das Zertifikat einer Verwaltungsanwendung
(Schritt 5: Certificate Request), und meldet der Verwaltungsanwendung
den Abschluss der Übertragung
(Schritt 6: Server Hello Done) und wartet auf eine Antwort von der
Verwaltungsanwendung.
-
Nach
dem Empfang von „Server
Hello Done" sendet
die Verwaltungsanwendung ihre eigene elektronische Zertifizierung,
wenn sie auch „Certificate Request" empfangen hat (Schritt
7: Client Certificate). Dann sendet sie einen Session-Schlüssel, der entsprechend
dem öffentlichen
Verschlüsselungsalgorithmus
verschlüsselt
ist, der durch den gesendeten Verschlüsselungsalgorithmus mit „Server
Hello" gekennzeichnet
ist (Schritt 8: Client Key Exchange). Dieser Session-Schlüssel wird
dazu verwendet, um den Geheimschlüssel zu erzeugen, der in einer üblichen
Schlüsselverschlüsselung
bei der späteren Kommunikation
verwendet wird. Die Verwaltungsanwendung sendet dann eine Meldung
zur Überprüfung des
Zertifikats der Verwaltungsanwendung (Schritt 9: Certificate Verify)
wenn erforderlich, meldet dem Verwaltungsagenten, dass er nun mit
der verschlüsselten
Nachrichtenübertragung
beginnen kann, die den Geheimschlüssel verwendet (Schritt 10:
Change Cipher Spec) und meldet schließlich dem Verwaltungsagenten
das Ende der Übertragung
(Schritt 11: Finished).
-
Auf
den Empfang von „Finished" meldet der Verwaltungsagent
der Verwaltungsanwendung, dass er nun mit der verschlüsselten
Nachrichtenübertragung
beginnt (Schritt 12: Change Cipher Spec), dem eine Kennung für das Ende
der Übertragung
folgt (Schritt 13: Finished). Der verschlüsselte Nachrichtenkanal ist
damit eingerichtet.
-
Sobald
ein SSL-verschusselter Nachrichtenkanal eingerichtet worden ist,
sendet die auf dem Verwaltungscomputer 300 laufende Verwaltungsanwendung
zu dem Speicher-Untersystem 400 einen Bearbeitungsantrag
für den
Verwaltungsagenten als XML-Nachricht, unter Verwendung eines HTTP-Postantrags
(HTTP Post Request). Diese XML-Nachricht enthält einen Befehl für das Spei cher-Untersystem 400,
der durch den Verwaltungsagenten, der auf dem Prozessor 510b läuft, auszuführen ist,
wie dies später
erklärt
wird.
-
3 zeigt ein Beispiel des Layouts und der Inhalte
von vier Tabellen (A bis D): Die Sicherheitspegel-Spezifikationstabelle 1000 (A),
die Tabelle 1100 (B) des geforderten Sicherheitspegels,
die Tabelle 1200 (C) der Historie und die Sicherheitspegel-Anhebungstabelle 1300 (D),
die in dem gemeinsamen Speicher 590 enthalten sind und
von dem Verwaltungsagenten benutzt werden.
-
Die
Sicherheitspegel-Spezifikationstabelle 1000 teilt der Kombination
von Verschlüsselungsalgorithmus,
der zwischen der Verwaltungsanwendung und dem Verwaltungsagenten
benutzt wird, und dem Authentifizierungsalgorithmus, der von dem
Verwaltungsagenten verwendet wird, einen Sicherheitspegel zu, der
den Betriebssicherheitspegel zwischen der Verwaltungsanwendung und
dem Verwaltungsagenten bestimmt.
-
In
der Sicherheitspegel-Spezifikationstabelle 1000 bezieht
sich „Nachrichtenkanal-Verschlüsselungsalgorithmus" auf den Verschlüsselungsalgorithmus
für die
Kommunikation zwischen der Verwaltungsanwendung und dem Verwaltungsagenten,
was in Schritt 2 festgestellt wird mit: Server Hello. „HTTP" bedeutet, dass keine
SSL-Verschlüsselung
verwendet wird.
-
In
der Sicherheitspegel-Spezifikationstabelle 1000 bezieht
sich der „Authentifizierungsalgorithmus" auf das System,
durch das der Verwaltungsagent die Verwaltungsanwendung authentifiziert.
Ist das Klientenzertifikat in Schritt 7 empfangen und überprüft worden
ergibt sich: Klientenzertifikat während des Quittungsaustauschs, „SSL" wurde hier eingegeben.
Wenn das Klientenzertifikat nicht empfangen oder verifiziert worden
ist, wird ein Standard-HTTP-Authentifizierungsalgorithmus angewendet,
der durch den Authentifizierungskopf der HTTP-Anforderungsnachricht
spezifiziert ist, der entweder auf Basic oder auf MD5Digest basiert,
unter Verwendung der Benutzer-ID und einem Passwort. Von den beiden
ist Basic weniger sicher, bei dem das Passwort unverändert über den
Nachrichtenkanal gesendet wird, da dieses durch Anzapfen der Leitung oder
durch Abhören
gestohlen werden kann. MD5Digest, bei dem ein Hash-Wert aus dem
Passwort berechnet und anstelle des Passworts gesendet wird, ist
sicherer, da das Passwort selbst nicht gestohlen werden kann. Ungeachtet
des verwendeten Authentifizierungsalgorithmus kann ein verschlüsselter
Nachrichtenkanal einen hohen Sicherheitspegel erhalten, wenn dieser
auf HTTPS basiert, und es ist schwierig ihn abzuhören. Gemäß dem hier
beschriebenen bevorzugten Aus führungsbeispiel,
bei dem HTTP nicht verschlüsselt
ist, erhält
Basic den Sicherheitspegel 1, und MD5Digest den Sicherheitspegel
2.
-
Wird
HTTPS (SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5) als Nachrichtenkanal
verwendet, wird der gleiche Sicherheitspegel (Pegel 3) sowohl Basic
als auch MD5Digest zugeordnet. Auch wenn HTTPS (SSL_RSA_WITH_RC4_128_MD5)
verwendet wird, wird sowohl Basic als auch MD5Digest der gleiche Sicherheitspegel
(Pegel 4 in diesem Fall) zugeordnet. Wird jedoch die SSL-Authentifizierung
verwendet, können
höhere
Sicherheitspegel zugeordnet werden: Pegel 5 beispielsweise wenn
HTTPS (SSL_RSA_WITH_RC4_128_MD5) verwendet wird. Mit HTTPS (SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5), welches
keine genug starke (robuste) Verschlüsselungsfähigkeit hat, wird jedoch der
Sicherheitspegel 3 zugeordnet, sogar wenn SSL-Authentifizierung
verwendet wird.
-
Die
Tabelle 1100 für
den geforderten Sicherheitspegel listet alle die Befehle auf, die
die Verwaltungsanwendung an den Verwaltungsagenten ausgeben kann,
zusammen mit den Sicherheitspegeln, die für deren Ausführung gefordert
werden. Diese Tabelle dient dazu, dass der geforderte Sicherheitspegel
für die
Ausführung
eines Befehls, der von der Verwaltungsanwendung empfangen wird,
erreicht wird. Je höher
der Sicherheitspegel, desto stärker
der Verschlüsselungsalgorithmus,
das heißt
desto sicherer ist die Kommunikation.
-
Der
für einen
Befehl geforderte Sicherheitspegel, das heißt der Sicherheitspegel, der
für die Ausführung eines
Befehl gefordert wird, wird durch die mögliche Bedeutung, die die Ausführung eines Befehls
im Speicher-Untersystem 400 und im Computersystem 1 haben
kann, bestimmt. Beispielsweise kann der geforderte Sicherheitspegel
für GetVolumeInfo
niedrig sein, welches ein Befehl über den Erhalt einer Information
zur Kapazität
und zu dem Status einer Einrichtung (eines Volumens) im Speicher-Untersystem 400 ist,
da dessen Ausführung
keinen Einfluss auf das Speicher-Untersystem 400 hat. Im
Gegensatz dazu sollte der geforderte Sicherheitspegel für AssignVolume,
ein Befehl zur Änderung
der Einstellungen des Speicher-Untersystems 400, hoch sein,
da dieser zulassen würde,
dass der Computer 200 auf das Speicher-Untersystem 400 zugreifen kann.
Darüber
hinaus sollte der geforderte Sicherheitspegel für FormatVolume noch höher sein,
ein Befehl zur Formatierung oder Initialisierung eines Volumens
im Speicher-Untersystem 400, da dessen Ausführung die
gesamten Inhalte eines bestimmten Volumens, welches vom Computer 200 benutzt
wird, löschen
würde, wodurch
der Computer 200 nicht mehr betriebsfähig wäre und eine wesentliche Beeinflussung
des Computersystems 1 die Folge wäre.
-
Während in
dem vorhergehenden Ausführungsbeispiel
der vorliegenden Erfindung der geforderte Sicherheitspegel durch
die Wirkung der Ausführung
bestimmt ist, die dieser auf das System haben kann, kann der Sicherheitspegel
auch durch die Bedeutung der Information bestimmt sein, auf die
zugegriffen wird. Wenn beispielsweise die Information auf dem Speicher-Untersystem 400 als
heikel betrachtet wird, ist es möglich,
durch Hochsetzen des geforderten Sicherheitspegels für den Befehl
GetVolumeInfo, einen nicht autorisierten Zugriff zu verhindern.
-
Die
Tabelle 1200 der Historie zeichnet die Historie der von
der Verwaltungsanwendung zum Verwaltungsagenten ausgegebenen Befehle
auf und hat grundsätzlich
vier Einträge
pro Zeile: Die Klient-ID, die zur Authentifizierung durch die Verwaltungsanwendung,
die den Befehl ausgibt, verwendet wird, den Sicherheitspegel des
zwischen der Verwaltungsanwendung und dem Verwaltungsagenten aufgebauten
Nachrichtenkanals, den Sicherheitspegel, der vom ausgeführten Befehl
gefordert wird, und ob die Ausführung
erlaubt worden ist.
-
Die
Sicherheitspegel-Anhebungstabelle 1300 registriert die
Anhebung des Sicherheitspegels, die dem Sicherheitspegel hinzuzufügen ist,
der vom Befehl gefordert wurde, abhängig davon, ob die Ausführung zugelassen
worden ist (gezeigt in der vierten Spalte der Tabelle für die Historie).
Der Anhebungswert erhöht
sich, wenn der Befehl nicht ausgeführt worden ist, da der Sicherheitspegel
des Nachrichtenkanals niedriger war als der vom Befehl geforderte Sicherheitspegel.
-
4 veranschaulicht,
wie der Verwaltungsagent einen durch die Verwaltungsanwendung ausgegebenen
Befehl abarbeitet. Zuerst baut der Verwaltungsagent einen verschlüsselten
Nachrichtenkanal unter Verwendung des SSL-Quittungs-Austauschprotokolls auf, welches
weiter oben beschrieben worden ist (Schritt 3010). Auf
den Empfang eines Befehls von der Verwaltungsanwendung (Schritt 3020)
erhält
der Verwaltungsagent den für
dessen Ausführung
geforderten Sicherheitspegel von der Tabelle 1100 der erforderlichen
Sicherheitspegel (Schritt 3030).
-
Dann
erhält
er den Verschlüsselungsalgorithmus
und den Authentifizierungsalgorithmus, der beim Empfang des Befehls
verwendet wird (Schritt 3040). Der hier erhaltene Verschlüsselungsalgorithmus
ist aktuell derjenige, der ausgewählt und zur Verwaltungsanwendung
gesendet wurde, und zwar in Schritt 2: Server Hello des SSL-Quittungsaustauschs.
Wenn SSL nicht verwendet wird, dann wird HTTP verwendet.
-
Der
hier erhaltene Authentifizierungsalgorithmus ist aktuell derjenige,
mit dem die Verwaltungsanwendung authentifiziert worden ist: Es
ist entweder SSL (wenn die Verwaltungsanmeldung (SSL-Klient) authentifiziert
worden ist in Schritt 7: Klientenzertifikat des SSL-Quittungsaustauschs);
andernfalls ist es derjenige, der aus dem Authentifizierungskopf
der HTTP-Aufforderungsmeldung entnommen wurde, empfangen bei Schritt 3020.
-
Als
nächstes
wird der Sicherheitspegel (Betriebssicherheitspegel) von der Tabelle 1000 für die Sicherheitsspezifikation
(Schritt 3050) empfangen, und zwar unter Verwendung des
Verschlüsselungsalgorithmus
und des Authentifizierungsalgorithmus, der bei Schritt 3040 erhalten
worden ist.
-
Er
erhält
dann den Sicherheitspegel-Anhebungswert von der Sicherheitspegel-Anhebungstabelle 1300 unter
Verwendung der Klienten-ID der Verwaltungsanwendung und fügt diesen
dem bei Schritt 3030 erhaltenen geforderten Sicherheitspegel hinzu
(Schritt 3055).
-
Dann
wird der angehobene geforderte Sicherheitspegel (der Sicherheitspegel,
der vom Klienten gefordert wird) mit dem Betriebssicherheitspegel von
Schritt 3050 verglichen (Schritt 3060), und wenn letzterer
größer oder
gleich dem ersteren ist, wird der Befehl ausgeführt (Schritt 3070).
Ansonsten wird der Verwaltungsanwendung gemeldet, dass der Befehl nicht
ausgeführt
werden kann (Schritt 3080).
-
In
jedem Fall wird dann in der Tabelle 1200 für die Historie
die Klienten-ID, und der Sicherheitspegel des Nachrichtenpfads,
der geforderte Sicherheitspegel, und ob die Ausführung des Befehls zugelassen
worden ist, registriert. Wenn die Ausführung des Befehls zurückgewiesen
worden ist, erhöht
er den Anhebungswert für
diesen Klienten (Verwaltungsanwendung) in der Sicherheitspegel-Anhebungstabelle 1300 (Schritt 3090).
-
Befehle
können
auf eine Vielzahl von Einrichtungen ausgerichtet sein, einschließlich auf
das Speicher-Untersystem 400, den Computer 200 und den
Glasfaserkanalschalter 50. Die als Ziel ausgewählte Einrichtung
speichert die Sicherheitsspezifikationstabelle und die Tabelle für den geforderten
Sicherheitspegel (wie in 3 gezeigt)
in ihrem Speicher und bestimmt, ob der Befehl ausgeführt wird oder
nicht, in Abhängigkeit
von dem Ergebnis eines Vergleichs zwischen dem Sicherheitspegel
des Nachrichtenkanals und dem Sicherheitspegel, der vom Befehl gefordert
wird.
-
Wobei
das erörterte
bevorzugte Ausführungsbeispiel
hier davon auszugehen scheint, dass die Verwaltungsanwendung sich
im Verwaltungscomputer 300 befindet und dass nur der Verwaltungscomputer 300 zu
den Einrichtungen Befehle ausgibt, kann man sich aber auch alternative
Ausführungen
vorstellen. Beispielsweise hat jede Einrichtung, wie der Verwaltungscomputer 300,
der Computer 200, der Glasfaserkanalschalter 50 und
das Speicher-Untersystem 400 eine Steuereinheit, die Befehle
zur Verwaltung anderer Einrichtungen ausgibt, eine Schnittstelleneinheit,
die Befehle zu anderen Einrichtungen sendet, und einen Speicher,
der eine Tabelle speichert, die den Sicherheitspegel der Nachrichtenkanäle anzeigt,
sowie eine Tabelle, die die Sicherheitspegel definiert, die von
Befehlen anderer Einrichtungen gefordert werden. In einer derartigen
Konfiguration kann die Steuereinheit jeder dieser Einrichtungen
aufgrund des Vergleichs zwischen dem Sicherheitspegel des Nachrichtenkanals
und dem Sicherheitspegel, der für
einen solchen Befehl gefordert wird bestimmen, ob ein Befehl gesendet oder
ausgegeben wird oder nicht.
-
Alternativ
dazu kann eine Anordnung so ausgeführt sein, dass der Verwaltungsagent,
der auf dem Computer 200 läuft, fähig ist, auf einer Teilsoftware, wie
einer Datenbankanwendung auf dem Computer 200, Steuerbefehle
auszuführen,
und die Ausführbarkeit
der Befehle auf einer solchen Teilsoftware bestimmt, die durch die
Verwaltungsanwendung ausgegeben wurden, und zwar in Abhängigkeit
von dem Sicherheitspegel des Nachrichtenkanals in der gleichen Weise,
wie es der Verwaltungsagent für
eine gewöhnliche
Einrichtung ausführt.
-
Entsprechend
der vorliegenden Erfindung ist es möglich, die Sicherheit eines
Computersystems dadurch aufrecht zu erhalten, dass ein böswilliger und
nicht autorisierter Eindringling an der Ausführung starker Befehle gehindert
wird, die eine wesentliche Störung
oder einen Absturz des Computersystems zur Folge haben können, ohne
dass dadurch die Benutzung der Verwaltungsanwendung durch den Systemadministrator
unbillig eingeschränkt
wird.