10.7 Bewertung der Möglichkeiten von Intrusion Detection Sy

Transcription

10.7 Bewertung der Möglichkeiten von Intrusion Detection Sy
Praktikum IT-Sicherheit
288
06/30-19:53:49.682603
ls -l 10.50.181.1/
total 12
drwx-----drwxr-xr-x
-rw-------
2 root
4 root
1 root
root
root
root
4096 Jun 30 19:51 .
4096 Jun 30 19:51 ..
339 Jun 30 19:51 TCP:2395-1080
more 10.50.181.1/TCP\:2395-1080
[**] SCAN Proxy attempt [**]
06/30-19:51:53.246758 10.50.181.1:2395 -> 10.50.187.55:1080
TCP TTL:63 TOS:0x0 ID:18765 IpLen:20 DgmLen:60 DF
******S* Seq: 0x1C5C5853 Ack: 0x0 Win: 0x3EBC TcpLen: 40
TCP Options (5) => MSS: 1460 SackOK TS: 55651528 0 NOP WS: 0
=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
ls -l 10.50.187.55/
total 20
drwx-----drwxr-xr-x
-rw-------rw-------rw-------
10.7
2
4
1
1
1
root
root
root
root
root
root
root
root
root
root
4096
4096
347
359
339
Jun
Jun
Jun
Jun
Jun
30
30
30
30
30
19:51
19:51
19:51
19:51
19:51
.
..
TCP:3128-1229
TCP:6000-2132
TCP:8080-1255
Bewertung der Möglichkeiten von Intrusion Detection Systemen
IDS stellen eine Ergänzung der vorhandenen Sicherheitsstruktur dar. Sie fügen zusätzliche
Schichten an Sicherheit hinzu und helfen, Angriffe auf die vorhandene Sicherheitsinfrastruktur zu erkennen und diese unter Umständen auch zu verhindern. Mittels der
Protokolldaten eines Intrusion Detection Systems ist ein Administrator im nachhinein in
der Lage, den Vorfall zu rekonstruieren und das Problem in der Sicherheit zu beheben.
Da in ein IDS Protokolldaten von verschiendenen Systemen zusammen geführt werden
können, kann man sich einen Überblick verschaffen, was auf den einzelnen Systemen los
ist. Verteilte Angriffsmuster sind so zu erkennen. Benutzeraktivitäten können komplett
verfolgt werden. Hat sich ein Angreifer durch Erraten eines Passworts Zutritt zu einem
Praktikum IT-Sicherheit
289
System verschafft, so können unerlaubte Aktivitäten auf dem System erkannt werden. Erfolgte der Zugriff von Intern oder über eine unbekannte Hintertür, so ist dieser Angriff am
Firewall nicht erkennbar. Ein entsprechend platziertes IDS sollte die Unregelmäßigkeiten
aber erkennen.
Es ist aber zu bedenken, daß ein IDS nicht das Allheilmittel für alle Sicherheitsprobleme
darstellt. IDS sind nur als Unterstützung der Sicherheitspolitik gedacht. Für die Sicherung der Server, die Sensibilisierung der Mitarbeiter und den Einsatz von geeigneten
Authentisierungsmechanismen ist nach wie vor zu sorgen. Ebenso ersetzt ein IDS niemals
einen qualifizierten Administrator. Nur ein geeigneter Administrator kann das IDS nicht
nur bedienen, sondern auch benötigte Änderungen und Anpassungen vornehmen. Ebenso
kann keine vollständig automatische Bewertung von Vorfällen erfolgen. Auch Intrusion
Detection Systeme haben Schwachstellen, die ausgenutzt werden können.
10.8
Verhalten bei einem erkannten Einbruch
Werden anhand von Protokolldaten Anzeichen für einen Angriff erkannt, so muß man auf
diesen Fall vorbereitet sein. Obwohl die wenigsten Angriffe erfolgreich sind und auch bei
geglückten Angriffen keine übereilten Reaktionen erfolgen sollten, muß eine Verhaltensstrategie festgelegt werden, mithilfe der eine vorgegeben Checkliste abgearbeitet werden
kann. Somit wird der Gefahr von Panikaktionen vorgebeugt.
In [Fuhr 98] wird als Tip zur Erkennung von Angriffen folgendes angegeben:
Um einen Angriff auf einen Rechner zu erkennen, können die folgenden Anzeichen verwendet werden. Wenn diese auf einem Rechner gefunden werden,
sollten auf jeden Fall alle anderen auch kontrolliert werden:
• Verbindungen von und zu ungewöhnlichen Rechnern.
• Ungewöhnliche Login-Zeiten.
• Programme mit unnötigen Rechten (z.B. SUID, SGID-Programme, etc.).
• Intregritätsverletzungen.
• Angriffsprogramme (z.B. Netzwerksniffer wie tcpdump oder Programme
für Wörterbuchangriffe wie z.B. Crack).
• Unnötige Dienste.
• Veränderungen an der Passwortdatei oder den Zugriffsrechten.
• Versteckte Dateien (unter Unix z.B. mit .. , sprich Punkt Punkt Leerzeichen, zu erzeugen).
Die folgenden Punkte sollten vorab geklärt und das daraus resultierende Verhalten geplant
werden:
Praktikum IT-Sicherheit
290
1. Erkennung des Angriffs: Anhand der Art und Weise, wie ein Angriff erkannt wird,
ändert sich das Vorgehen, was passieren soll. Ist ein unerfahrener Administrator mit
der Überwachung der Protokolldaten betraut, so sollte er nicht über mögliche erste
Schritte alleine entscheiden, da es so zu Unverhältnismäßigkeiten in den Reaktionen
kommen kann.
2. Erste Bewertung des Angriffs und Festlegung des Verhaltens: Zuerst muß
die Schwere des Angriffs und somit die Gefährdung des zu schützenden Netzes bewertet werden. Daraus resultieren dann die zu treffenden Maßnahmen, die aber vorab
konsequent beschrieben und in all ihren Folgen abgeschätzt sein müssen. Ist dem Anschein nach nur ein System kompromittiert, so kann es ausreichen, nur dieses System
vom Netz zu trennen. Stellt sich aber heraus, daß mehrere Systeme betroffen sind,
oder sogar die Integrität des Firewallsystems gefährdet ist, so kann es Sinn machen,
den kompletten Internetzugang abzuschalten. Dazu muß bereits in der Planungsund Realisierungsphase eines Internetzugangs und aller anderer Systeme beachtet
werden, daß auch von nicht so hoch qualifiziertem Personal im Notfall die Abschaltung vorgenommen werden kann. D.h. die Beschriftung von Rechnern und Kabeln
muß eindeutig sein. Ebenso muß geplant werden, wie im Falle eines Angriffs kommuniziert wird, um dem Angreifer keinen Hinweis auf seine Entdeckung zu geben.
Es müssen alle Anwender generell darüber informiert sein, daß eine Abschaltung des
Internetzugangs im Notfall erfolgen kann. Dies kann anhand der in Anhang A.6 beschriebenen Benutzerrichtlinie geschehen, um den Unmut von Mitarbeitern möglichst
gering zu halten. Soll ein Angreifer zurückverfolgt und ausgespäht werden, so empfiehlt sich der Einsatz eines sogenannten Quarantänerechners, auch Honeypot
genannt. Auf diesem Rechner werden dem Anschein nach sehr wertvolle Daten und
große Sicherheitslöcher zur Erleichterung des Angriffs bereitgestellt. Während nun
der Angreifer versucht, dieses System zu erstürmen und sich die Daten zieht, kann
durch den Administrator das Ausspähen des Vorgehens und eine Rückverfolgung des
Angreifers erfolgen.
3. Genauere Analyse und Bewertung der Fakten: Bislang wurde die unmittelbare Gefahr verringert, so daß nun eine genauere Analyse vorgenommen werden kann.
Diese Phase kann je nach Schwere des Angriffs einige Stunden bis hin zu Monaten
dauern und sollte nicht alleine von dem zuständigen Systemadministrator vorgenommen werden. Das Hinzuziehen von externem Sachverstand ist ratsam: z.B. Revisor
und andere Administratoren. Auch wird empfohlen, den Hersteller und evtl. auch
Mitarbeiter eines CERTs 52 hinzuzuziehen. War der Angriff so gravierend, daß ei52
Computer Emergency Response Team: Unter diesem Namen existieren weltweit ca. 70 Gruppen, deren Aufgabe es ist, Anwendern bei einem Sicherheitsvorfall zu helfen. Sie werden häufig auch als
Incidence Response Team (IRT) bezeichnet. Eine weitere Aufgabe ist es, Fehler in Programmen und
Betriebssystemen zu analysieren, zusammen mit den Herstellern Lösungen oder Patches zu erarbeiten und
diese zusammen mit den entsprechenden Warnmeldungen zu verteilen. Viele CERTs sind im Forum of
Incidence Response and Security Team (FIRST) (Informationen zu den Mitgliedern finden Sie unter
[fir 02]) zusammengeschlossen.
Praktikum IT-Sicherheit
291
ne Strafanzeige oder personelle Konsequenzen in Betracht gezogen werden, so muß
von Anfang an auf eine genaue und lückenlose Dokumentation der durchgeführten
Aktivitäten Wert gelegt werden. Für diese Aufklärungsphase müssen dem verantwortlichen Administrator genügend Zeit, Hilfsmittel und Personal zur Verfügung stehen,
um falls nötig, alle Protokolldaten des betroffenen Rechners und eventuell auch von
anderen Rechnern einsehen und bewerten zu können. Besteht die Wahrscheinlichkeit,
daß der Angriff von einer anderen Organisation aus erfolgt ist, so sollte Kontakt zu
den verantwortlichen Stellen dort aufgenommen werden, um gemeinsam den Vorfall
zu rekonstruieren. Es ist fraglich, ob der zuständige Administrator des angreifenden
Systems miteingeschaltet werden sollte, da dieser in die Vorfälle verstrickt sein könnte. Gemeinsam kann festgestellt werden, ob das angreifende System nur als Sprungbrett benutzt wurde. D.h. der Angreifer hat zuvor schon diese Systeme eingenommen,
um von ihnen aus weitere Angriffe zu fahren und seine Identität zu verschleiern. Alle
diese Maßnahmen setzen voraus, daß die rechtlichen Grundlagen geschaffen worden
sind, um Protokolldaten auswerten zu dürfen (siehe auch Kapitel 2.5).
4. Sicherstellung von Beweismaterial: Wenn möglich sollte vor einer Veränderung
eine komplette Kopie des Systemzustandes der angegriffenen Maschinen gemacht werden, damit diese später als Beweismittel verwendet werden kann. Mit diesen Backups
können Analysen auch auf anderen Geräten durchgeführt werden, während das betroffene Gerät nach Beseitigung des Schadens wieder eingesetzt werden kann. Es
ist empfehlenswert, die Daten auf ein Read-Only Medium zu speichern, damit kein
Verdacht der Verfälschung aufkommen kann. Die so erzeugten Datenträger müssen
mit Datum, Uhrzeit, Name des betroffenen Systems und Name der Person, die das
Medium erzeugt hat, versehen werden. Ebenso sollten alle Telefongespräche mitprotokolliert werden, die zu diesem Thema geführt wurden. Auch sollte dokumentiert
werden, wie das System wieder in seinen Betriebszustand überführt wurde.
5. Wiederherstellung eines sicheren Zustandes: Oft dienen kompromittierte Systeme nur dazu, einen Ausgangspunkt für weitere Angriffe zu schaffen. Somit werden
meistens Programme auf den Systemen installiert, die ein späteres Zurückkommen
des Angreifers durch einfache Hintertüren erlauben. Ist durch einen Integritätschecker
feststellbar, welche Dateien und Programme verändert oder neu installiert wurden,
kann sich die Wiederherstellung auf die betroffenen Dateien beschränken. Sind keine
Integritätschecker eingesetzt worden, so stellt sich die partielle Wiederherstellung des
Systems als äußers schwierig dar. Oftmals muß in solchen Fällen das System komplett neuinstalliert werden. Das trifft ebenfalls zu, wenn bei den gemachten Backups
nicht klar ersichtlich ist, welches Backup noch sauber und welches schon durch den
Angriff verseucht ist. Grundsätzlich sollten die Backups immer deutlich mit Datum
und Maschinenname gekennzeichnet sein. Ebenso sollten die Datenträger auch leicht
auffindbar sein. Bei der Wiederherstellung von Systemen sollte großer Wert darauf
gelegt werden, daß die Lücken und Fehler, durch die der Angriff ermöglicht wurde,
ausgemerzt werden, da sonst der nächste Angriff nicht lange auf sich warten läßt.
Praktikum IT-Sicherheit
292
Sind die ausgenutzten Schwachstellen erkannt, so sollte eine eindeutige Signatur dieses Angriffs in die Datenbank der automatischen Protokollauswertung aufgenommen
werden.
6. Ausführliche Dokumentation und abschließende Bewertung des Vorfalles: Zusätzlich zur ausführlichen Dokumentation der Tätigleiten und Fakten für die
rechtliche Verfolgung ist eine Dokumentation der verwendeten Schwachstellen unerlässlich. Somit können die Hersteller die entdeckte Schwachstelle durch einen Patch
entschärfen. Mit Hilfe der so erstellten Dokumentation der Vorgehensweise können
im nachhinein Verbesserungen in der Handlungsweise vorgenommen werden.
Praktikum IT-Sicherheit
10.9
Praktische Aufgaben
10.9.1
Tripwire
293
1. Laden Sie sich das RPM Paket für Red Hat 7.x von http://www.tripwire.org/
herunter und installieren Sie es, nachdem Sie überprüft haben, das das Programm
siggen auf Ihrem Rechner existiert.
2. Ändern Sie das mitgelieferte Policyfile so ab, daß
• die Verzeichnisse von Tripwire definiert sind,
• Sie auf Ihrem Rechner nur /etc überwachen
• die Wertigkeiten der zu überwachenden Files und Verzeichnisse festgelegt sind,
• die Tripwire-Binaries überwacht werden,
• die Tripwire-Konfigurationsfiles überwacht werden
und generieren Sie das von Tripwire einzulesende Policyfile.
3. Initialisieren Sie die Datenbank mit dem derzeitig gültigen Stand.
4. Ändern Sie eines der in /etc/ beheimateten Konfigurationsfiles ab, fügen Sie ein
Testfile innerhalb eines Unterverzeichnisses von /etc hinzu. Starten Sie nun einen
Integritätscheck. Was sehen Sie?
5. Der so erzeugte Stand soll anhand des erzeugten Berichtes als Ist-Stand in die Integritätsdatenbank aufgenommen werden.
6. Machen Sie die vorher gemachten Änderungen rückgängig und ändern Sie die Datenbank anhand eines interaktiven Integritätschecks.
10.9.2
Snort
1. Installieren Sie Snort über YaST2.
2. Lassen Sie die Defaultkonfiguration unverändert und starten Sie Snort über das Startskript.
3. Lassen Sie von Ihrem Partnerrechner einen Nmap auf Ihre Maschine laufen. Was
sehen Sie in den Logfiles?
4. Lassen Sie einen Nessusscan auf Ihre Maschine laufen. Was sehen Sie in den Logfiles?
Praktikum IT-Sicherheit
A
294
Anhang
A.1
Boot- und Sicherungskonzept
Jeder Gruppe stehen fünf Speicherplätze(Slots) für Backups zur Verfügung. Die Backups
werden immer inkrementell (level 1) zum Defaultimage erstellt. Im folgenden werden die
mit dem Backup/Restore Vorgang zusammenhängenden Befehle dargestellt. Im Normalfall
sollte ein Aufruf der Befehle ohne Parameter ausreichend sein.
• listbackups
Aufruf:
listbackups [SLOT]
Funktion:
Listet alle bereits erstellten Backups oder deren Inhalt auf.
Parameter:
SLOT Ist eine Ziffer zwischen 1 und 5, die eine Auswahl eines bestimmten Backups ermöglicht. Falls dieser Parameter angegeben ist, wird
der Inhalt (also die Dateien) des in SLOT gesicherten Backups angezeigt. Ein Aufruf ohne Parameter listet die Belegung der Slots.
• dobackup
Aufruf:
dobackup [SLOT]
Funktion:
Sichert die Daten auf dem Server.
Parameter:
SLOT ist eine Ziffer zwischen 1 und 5, die eine Auswahl eines bestimmten Backups ermöglicht. Die bereits vorhandenen Backups mit zugehörigen Slot Ziffern, erhält man über listbackups. Falls der Parameter angegeben ist, wird das Backup in dem gewählten Slot durch
ein neues Backup ersetzt.
Default Wert: nächster freier Slot oder, falls alle Slots belegt sind,
ältester Slot.
• dorestore
Praktikum IT-Sicherheit
Aufruf:
dorestore [EXTMASK [SLOT]]
Funktion:
Stellt Backups wieder her.
295
Parameter:
EXTMASK spezifiziert die zu extrahierenden Dateien.
Default Wert: /
SLOT Ist eine Ziffer zwischen 1 und 5, die eine Auswahl eines bestimmten Backups ermöglicht. Die bereits vorhandenen Backups mit zugehörigen Slot Ziffern, erhält man über listbackups.
Default Wert: letztes gesichertes Backup.
A.1.1
Beispiele
dorestore
stellt die Datei /etc/HOSTNAME aus dem Backup in Slot 3 wieder her.
/etc/HOSTNAME
3
dorestore
stellt die Datei /etc/HOSTNAME aus dem letzen gesicherten Backup wie/etc/HOSTNAME der her.
dorestore
A.1.2
stellt alle Dateien aus dem letzen gesicherten Backup wieder her.
Anmerkungen
Da die Befehle zentral auf dem Server verarbeitet werden und die Verbindung durch ssh
verschlüsselt ist, benötigt man ein Passwort. Dieses Passwort ist gleich dem default rootPasswort auf den Rechnern. Beim ersten Aufruf eines dieser Befehle kann es sein, daß eine
Anfrage kommt, ob man den ssh-Hostkey des Servers cachen möchte. Diese Frage einfach
mit yes beantworten.
Sollte jemand sein System soweit ”zerschießen”, daß die oben genannten Befehle nicht mehr
korrekt ausgeführt werden können, so bitte einfach direkt an einen der Betreuer wenden.
A.2
Kryptographisches Filesystem
Auf allen Rechern befindet sich pro Gruppe ein verschlüsseltes Filesystem. Die Root-(/)Partition kann nur in Abhängigkeit vom richtigen Partitionspasswort erfolgreich gemounted
werden. Standardmäßig ist das Passwort des kryptographischen Filesystems gleich dem
bekannten root-Passwortes. Daher sollte sofort nach dem ersten Booten des Systems das
Passwort sowohl für den root-Account, als auch für das Filesystem unverzüglich geändert
Praktikum IT-Sicherheit
296
werden.
Für das Ändern des Passwortes steht dem Benutzer der Befehl chcryptopw zur Verfügung.
Zuerst wird der Benutzer aufgefordert, sein altes Passwort einzugeben und danach kann er
durch zweimalige Eingabe des gewünschten neuen Passwortes die Änderung vollziehen.
A.3
Rechtliches
Strafgesetzbuch:
• Unbefugte Datenbeschaffung (Art. 143)
• Unbefugtes Eindringen in ein Datenverarbeitungssystem (Art. 143bis)
• Datenbeschädigung (Art. 144bis)
Zweites Gesetz zur Bekämpfung der Computerkriminalität:
• Paragraph 202a: Ausspähen von Daten
(1) Wer unbefugt Daten, die nicht für ihn bestimmt und die gegen unberechtigten
Zugang besonders gesichert sind, sich oder einem anderen beschafft, wird mit Freiheitsstrafe bis zu drei Jahren oder mit Geldstrafe bestraft.
• Paragraph 263a: Computerbetrug
(1) Wer in der Absicht, sich oder einem Dritten einen rechtswidrigen Vermögensvorteil
zu verschaffen, das Vermögen eines anderen dadurch beschädigt, daß er das Ergebnis eines Datenverarbeitungsvorgangs durch unrichtige Gestaltung des Programms,
durch Verwendung unrichtiger oder unvollständiger Daten, durch unbefugte Verwendung von Daten oder sonst durch unbefugte Einwirkung auf den Ablauf beinflußt,
wird mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe bestraft.
• Paragraph 303a: Datenveränderung
(1) Wer rechtswidrig Daten löscht, unterdrückt, unbrauchbar macht oder verändert,
wird mit Freiheitsstrafe bis zu zwei Jahren oder mit Geldstrafe bestraft,
• Paragraph 303b: Computersabotage
(1) Wer eine Datenverarbeitung, die für einen fremden Betrieb, ein fremdes Unternehmen oder eine Behörde von wesentlicher Bedeutung ist, dadurch stört, daß er
1. eine Tat nach Paragraph 303a Abs. 1 begeht oder
2. eine Datenverarbeitungsanlage oder einen Datenträger zerstört, beschädigt oder
unbrauchbar macht, beseitigt oder verändert,
wird mit Freiheitsstrafe bis zu fünf Jahren oder mit Geldstrafe bestraft.
Praktikum IT-Sicherheit
297
Bundesgesetz über den Datenschutz (DSG) vom 19. Juni 1992 Verordnung zum
Bundesgesetz über den Datenschutz (VDSG) vom 14. Juni 1993
Art. 3 definiert folgende Ausdrücke zum Thema Datenschutz:
• Personendaten (Daten): alle Angaben, die sich auf eine bestimmte oder bestimmbare
Person beziehen.
• Betroffene Personen: natürlich oder juristische Personen, über die Daten bearbeitet
werden.
• Besonders schützenswerte Personendaten: Daten über
1. Die religieusen, weltanschaulichen, politischen oder gewerkschaftlichen Ansichten oder Tätigkeiten.
2. Die Gesundheit, die Intimsphäre oder die Rassenzugehörigkeit.
3. Massnahmen der sozialen Hilfe.
4. Administrative oder strafrechtliche Verfolgungen und Sanktionen
• Persönlichkeitsprofil: eine Zusammenstellung von Daten, die eine Beurteilung wesentlicher Aspekte der Persönlichkeit einer natürlichen Person erlaubt
• Bearbeiten: jeder Umgang mit Personendaten, unabhängig von den angewandten
Mitteln und Verfahren, insbesondere das Beschaffen, Verwenden, Umarbeiten, Bekanntgeben, Archivieren oder Vernichten von Daten
• Bekanntgeben: das Zugänglichmachen von Personendaten wie das Einsichtgewähren,
Weitergeben oder Veröffentlichen
• Datensammlung: jeder Bestand von Personendaten, der so aufgebaut ist, das die
Daten nach betroffenen Personen erschließbar sind
• Bundesorgane: Behörden und Dienststellen des Bundes sowie Personen, soweit sie
mit öffentlichen Aufgaben des Bundes betraut sind
• Inhaber der Datensammlung: private Personen oder Bundesorgane, die über den
Zweck und Inhalt einer Datensammlung entscheiden
• Formelles Gesetz:
1. Bundesgesetze und referendumsplichtige allgemeinverbindliche Bundesbeschlüsse
2. Für die Schweiz verbindliche Beschlüsse internationaler Organisationen und von
der Bundesversammlung genehmigte völkerrechtliche Verträge mit rechtsetzendem Inhalt.
Praktikum IT-Sicherheit
298
• Grundsätze
1. Personendaten dürfen nur rechtmäßig beschafft werden.
2. Ihre Bearbeitung hat nach Treu und Glauben zu erfolgen und muß verhältnismäßig sein.
3. Personendaten dürfen nur zu dem Zweck bearbeitet werden, der bei der Beschaffung angegeben wurde, aus den Umständen ersichtlich oder gesetzlich vorgesehen ist.
A.4
Grundlagen von TCP/IP Netzwerken
Bitmaskenlänge
0
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
31
32
Dezimalformat
HEX-Format
Bitmaske
0.0.0.0
128.0.0.0
192.0.0.0
224.0.0.0
240.0.0.0
248.0.0.0
252.0.0.0
254.0.0.0
255.0.0.0
255.128.0.0
255.192.0.0
255.224.0.0
255.240.0.0
255.248.0.0
255.252.0.0
255.254.0.0
255.255.0.0
255.255.128.0
255.255.192.0
255.255.224.0
255.255.240.0
255.255.248.0
255.255.252.0
255.255.254.0
255.255.255.0
255.255.255.128
255.255.255.192
255.255.255.224
255.255.255.240
255.255.255.248
255.255.255.252
255.255.255.254
255.255.255.255
00
80
c0
e0
f0
f8
fc
fe
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
00000000.00000000.00000000.00000000
10000000.00000000.00000000.00000000
11000000.00000000.00000000.00000000
11100000.00000000.00000000.00000000
11110000.00000000.00000000.00000000
11111000.00000000.00000000.00000000
11111100.00000000.00000000.00000000
11111110.00000000.00000000.00000000
11111111.00000000.00000000.00000000
11111111.10000000.00000000.00000000
11111111.11000000.00000000.00000000
11111111.11100000.00000000.00000000
11111111.11110000.00000000.00000000
11111111.11111000.00000000.00000000
11111111.11111100.00000000.00000000
11111111.11111110.00000000.00000000
11111111.11111111.00000000.00000000
11111111.11111111.10000000.00000000
11111111.11111111.11000000.00000000
11111111.11111111.11100000.00000000
11111111.11111111.11110000.00000000
11111111.11111111.11111000.00000000
11111111.11111111.11111100.00000000
11111111.11111111.11111110.00000000
11111111.11111111.11111111.00000000
11111111.11111111.11111111.10000000
11111111.11111111.11111111.11000000
11111111.11111111.11111111.11100000
11111111.11111111.11111111.11110000
11111111.11111111.11111111.11111000
11111111.11111111.11111111.11111100
11111111.11111111.11111111.11111110
11111111.11111111.11111111.11111111
00
00
00
00
00
00
00
00
00
80
c0
e0
f0
f8
fc
fe
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
ff
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
80
c0
e0
f0
f8
fc
fe
ff
ff
ff
ff
ff
ff
ff
ff
ff
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
00
80
c0
e0
f0
f8
fc
fe
ff
Anzahl
IP-Adressen
16777214
8388606
4194302
2097150
1048574
524286
262142
131070
65534
32766
16382
8190
4094
2046
1022
510
254
126
62
30
14
6
2
-
Tabelle 14: Netzmasken
Tabelle 14 listet alle möglichen Netzmasken in verschiedenen Notationen auf. In der letzten
Spalte ist die maximale Anzahl der im Netz verwendbaren IP-Adressen angegeben.
Zu beachten ist, daß für die Subnetz-Bildung nur Masken mit einer Länge von 8 bis 30
Praktikum IT-Sicherheit
299
Bits möglich sind. Alle anderen Masken (0 bis 7, 31 und 32 Bit) können jedoch für die
Konfiguration der Routen sinnvoll sein, z.B. Maskenlänge 0 für die Default-Route oder
Länge 32 für eine Host-Route (Route zu einer einzelnen IP-Adresse).
A.5
A.5.1
Dienste in TCP/IP Netzwerken
Wissenswertes zum Thema FTP
Der Kommandoaufruf des FTP-Clients lautet
ftp [ -v ] [ -d ] [ -i ] [ -n ] [ -g ] [ host ]
Wird beim Programmaufruf der gewünschte Kommunikationspartner (host) mit angegeben, so wird sofort versucht, eine Verbindung zu diesem Rechensystem aufzubauen.
Ist der Versuch erfolglos, so wird in den Kommandomodus umgeschaltet. Der Prompt
ftp> erscheint immer auf dem Bildschirm, wenn ftp-Kommandos eingegeben werden
können. ftp verfügt über einen help-Mechanismus, über den sämtliche, auf dem jeweiligen
System verfügbare Kommandos mit Kurzerklärungen abfragbar sind.
Nachfolgend werden wesentliche Kommandos, nach Funktionalität gruppiert, vorgestellt.
Kommandos können soweit verkürzt eingegeben werden, als sie noch eindeutig erkennbar
sind. Nicht alle ftp-Implementierungen unterstützen alle ftp-Kommandos.
help [ kommando ]: zeigt kurze Informationen zu dem angegebenen Kommando. Wird
das Kommando weggelassen, zeigt dieser Aufruf eine Liste der zulässigen Kommandos.
open host: öffenen einer Verbindung zu einem fernen Host. Je nach angewähltem System
werden Benutzerkennung und Passwort abgefragt.
user user-name [ password ]: Eingabe von Benutzerkennung und Passwort. Aufruf einer (eingeschränkten) Shell auf dem lokalen System. Für Dateiübertragung relevante
Kommandos wie mkdir, mv, cp, etc sind absetzbar. Verlassen wird diese Shell mit
’exit’.
lcd [directory ]: Wahl des lokalen Directories für die Dateiübertragung.
pwd: Anzeige des aktuellen Directories auf dem entfernten System.
cd: remote-directory Wahl des aktuellen Directories auf dem entfernten System.
cdup: Wechsel in das nächsthöhere Directory auf dem entfernten System.
dir [ remote-directory [ local-file ] ]
und
ls [ remote-directory [
local-file ] ]: Ohne Optionen erfolgt eine Anzeige der Einträge des entfernten aktuellen Directories. Dabei liefert dir ausführliche und ls eine knappe
Praktikum IT-Sicherheit
300
Information bezüglich des Directory-Inhalts. Bei Angabe des remote-directory erfolgt die Anzeige der Einträge des entfernten Directories. Wird local-file angegeben,
erfolgt eine Umlenkung der Directory-Anzeige in die Datei local-file auf dem lokalen
System.
mdir remote-files [ local-file ] und mls remote-files [ local-file ]: Anzeige von Dateien aus dem entfernten aktuellen Directory und Abspeicherung in eine
lokale Datei.
mkdir directory-name: Einrichten eines neuen Directories directory-name auf dem entfernten System.
rmdir directory-name: löscht das Directory directory-name auf dem entfernten System.
rename [ from ] [ to ]: Umbenennen einer Datei auf dem entfernten System von from
nach to.
delete remote-file: löschen der Datei remote-file auf dem entfernten System.
mdelete remote-files: löschen mehrerer Dateien remote-files auf dem entfernten System.
put local-file [ remote-file ] und send local-file [ remote-file ]: Dateiübertragung der Datei local-file vom lokalen zum entfernten System. Wird remotefile nicht angegeben, so wird auch auf dem Zielsystem der Dateiname local-file verwendet.
append local-file [ remote-file ]: überträgt die Datei local-file vom lokalen System
an das entfernte System und hängt diese am Ende der Datei remote-file an. Wurde
remote-file nicht angegeben, wird die Datei ans Ende der Datei local-file auf dem
entfernten System angehängt.
mput local-files: Dateiübertragung einer Dateigruppe namensgleich vom lokalen zum
entfernten System.
get remote-file [ local-file ] und recv remote-file [ local-file ]: Dateiübertragung einer Datei remote-file vom entfernten System zum lokalen System.
Wird local-file nicht mitangegeben, so erhält die Datei auch auf dem lokalen System
den Dateiname remote-file.
mget remote-files: Dateiübertragung einer Dateigruppe namensgleich vom entfernten
zum lokalen System.
ascii und type ascii: Die Dateiübertragung findet im ASCII-Code statt. Gegebenenfalls werden bei Binärdateien Zeichen verändert (z. B. die Zeilenendedarstellung ans
Zielsystem angepaßt) oder Zeichen verfälscht.
Praktikum IT-Sicherheit
301
binary und type image und type binary: Die Dateiübertragung findet transparent
statt.
case: Mit diesem Schalter läßt sich einstellen, ob Dateinamen beim Empfangen (get, recv,
mget) von Großbuchstaben in Kleinbuchstaben übersetzt werden sollen.
glob: Mit diesem Schalter läßt sich einstellen, ob bei den Kommandos mdelete, mget
und mput bei Dateinamen, die Metazeichen enthalten, diese Metazeichen übertragen
werden oder nicht. (’off’ keine Metazeichenbehandlung).
ntrans [ inchars [ outchars ] ]: Definition und Aktivierung einer Übersetzungstabelle für Dateinamen, wenn beim Dateiübertragungsauftrag (Senden und Empfangen) keine Zieldateinamen angegeben werden. Zeichen eines Dateinamens, die in inchars zu finden sind, werden durch das positionsgleiche Zeichen in outchars übersetzt.
Ist inchars länger als outchars, so werden die korrespondenzlosen Zeichen von inchars
aus dem Zieldateinamen entfernt.
prompt: Mit diesem Zeichen wird bei Mehrdateienübertragung gesteuert, ob jede zu übertragende Datei extra quittiert werden muß oder nicht.
verbose: Wenn der ’verbose’-Modus eingeschaltet ist, erhält man für jede übertragene Datei den Dateinamen auf dem lokalen und entfernten Rechner, sowie die Datenmenge
und die dafür benötigte Übertragungszeit angezeigt.
bell: Dieser Schalter bewirkt, daß je nach Stellung am Ende jedes Dateiübertragungsauftrages ein akustisches Signal ertönt oder nicht.
status: Anzeige der aktuellen logischen Schalterstellungen sowie des Verbindungszustandes.
close und disconnect: Beendigung einer aktiven Verbindung.
quit: Beendigung des Programmes ftp.
bye: Beendigung einer aktiven Sitzung und des Programmes ftp.
Die optionalen Parameter beim ftp-Kommando setzen logische Schalter für den ftpProgrammlauf. Im Kommandomodus sind die Einstellungen jederzeit wieder änderbar.
-v verbose-Schalter einschalten.
-d debug-Schalter einschalten.
-i interactive-Modus für Mehrdateiübertragung einschalten.
-n verhindert, daß FTP zum Beginn der Sitzung einen Login-Versuch unternimmt.
-g glob-Schalter einschalten.
Praktikum IT-Sicherheit
302
Die Dateiübertragung wird durch die Terminal ’interrupt’-Taste (üblicherweise Ctrl-C)
abgebrochen, was einen sofortigen Abbruch zur Folge haben soll. Nicht alle Kommunikationspartner verstehen die Abbruchaufforderung und dann wird dennoch die gesamte Datei
übertragen.
Ein kleines Beispiel für eine FTP Verbindung sieht man in Abbildung 76:
A.5.2
Wissenswertes zum Thema SSH
Das Softwarepaket SSH besteht aus mehreren Kommandos und Konfigurations-Dateien,
die im Folgenden näher beschrieben werden.
Übersicht über die Kommandos:
• ssh: Einloggen bzw. Ausführen von Kommandos (Ersatz für telnet, rlogin und rsh)
• slogin: Alias für ein ssh ohne Kommando-Argument
• scp: Kopieren von Dateien (modifiziertes rcp, das ssh für den Daten-Transfer verwendet)
• ssh-keygen: Erzeugen eines Key-Paares (dient zur strengen Authentifizierung)
• ssh-agent: Optionaler Authentifizierungs-Agent zur leichteren Handhabung von individuellen Secret-Keys
• ssh-add: Steuerung des ssh-agent
• make-ssh-known-hosts: Tool zum einfachen Sammeln von Public-Keys
• sshd: Server-Dämon auf dem Remote-Rechner
ssh als Ersatz von telnet und rlogin:
• ssh [User-ID@] Remote-Host
• Die User-ID muß nur dann angegeben werden, wenn die User-IDs auf der ClientWorkstation und dem Zielrechner unterschiedlich sind.
ssh als Ersatz von rexec und rsh:
• ssh [User-ID@] Remote-Host Befehl
• Wenn der Befehl Wildcards (?, * usw.) enthält, muß er in Hochkommata eingeschlossen werden, damit diese auch wirklich erst auf dem Zielrechner aufgelöst werden.
Praktikum IT-Sicherheit
303
ftp ftp.debian.org
Connected to ftp.debian.org.
220 saens.debian.org FTP server (vsftpd)
Name (ftp.debian.org:boadmin): anonymous
331 Please specify the password.
Password:
230 Login successful. Have fun.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
debian
debian-archive
lost+found
226 Directory send OK.
36 bytes received in 0.011 seconds (3.26 Kbytes/s)
ftp> cd debian
250 Directory successfully changed.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
README
README.CD-manufacture
README.mirrors.html
README.mirrors.txt
README.non-US
README.pgp
dists
doc
indices
ls-lR
ls-lR.gz
ls-lR.patch.gz
pool
project
tools
226 Directory send OK.
175 bytes received in 0.0089 seconds (19.14 Kbytes/s)
ftp> lcd /tmp
Local directory now /tmp
ftp> bi
200 Binary it is, then.
ftp> mget README.pgp
mget README.pgp? y
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for README.pgp (17180 bytes).
226 File send OK.
local: README.pgp remote: README.pgp
17180 bytes received in 0.74 seconds (22.77 Kbytes/s)
ftp> quit
221 Goodbye.
Abbildung 76: FTP zu ftp.debian.org
Praktikum IT-Sicherheit
304
scp als Ersatz von rcp und ftp:
• Um eine Datei von der lokalen Workstation zu einem entfernten Zielrechner zu übertragen:
scp Datei [User-ID@] Remote-Host: [Datei | Directory]
• Um eine Datei von einem entfernten Rechner auf die lokale Workstation zu kopieren:
scp [User-ID@] Remote-Host: Datei Datei | Directory
Es ist möglich, durch die Angabe von Wildcards (z. B. *.txt) mit einem Befehl mehrere
Dateien zu kopieren. In diesem Fall muß für das Zielsystem ein bereits existierendes Verzeichnis angegeben werden, in das die Dateien kopiert werden sollen. Die Angabe einer
Zieldatei ist dann nicht möglich.
Um ganze Verzeichnisse rekursiv zu kopieren, kann man die Option -r verwenden:
scp -r Directory [User-ID@] Remote-Host: [Directory]
scp -r [User-ID@] Remote-Host: Directory Directory
Gibt man die User-ID nicht explizit an, wird diejenige genommen, unter der das scpKommando auf der lokalen Workstation abgesetzt wird. Alternativ kann in einer lokalen
ssh-Konfigurationsdatei $HOME/.ssh/config für jeden Zielrechner eine User-ID definiert
werden, die defaultmäßig genommen wird.
Fragen und Antworten zur SSH:
• Informationen über den ssh-Verbindungsaufbau: Mit der Option -v wird ssh/scp im
’Verbose Mode’ aufgerufen. Hierdurch werden Informationen ausgegeben, die zur Problemanalyse hilfreich sein können.
• Wieso fragt ssh nach dem Passwort auf dem Zielrechner statt nach der RSAPassphrase? Es gibt drei Gründe:
1. Der öffentliche Schlüssel wurde
$HOME/.ssh/authorized keys bzw.
gelegt.
nicht auf dem Zielrechner in
$HOME/.ssh/authorized keys2 ab-
2. Das Heimatverzeichnis des Benutzers auf dem Zielrechner hat zu viele Rechte.
In der Standardkonfiguration erwartet ssh, daß Schreibrechte nur für den Owner
gesetzt sind. Sobald sie auch für andere gesetzt sind, schaltet ssh auf Validierung
über Passwort zurück.
3. Die Verwaltung der Benutzerdaten auf dem Zielrechner läuft über DCE. In
diesem Fall hat man keine Möglichkeit, die RSA-Authentisierung zu nutzen.
• Man erhält die Warnung ’Host key not found from the list of known hosts’. Man sollte
sicherstellen, daß die Datei /etc/ssh known hosts existiert und auf dem aktuellen
Stand ist. Beim ssh-Zugang zu einem anderen Rechner muß man beim ersten Login
über ssh darauf vertrauen, daß der HostKey, den der Zielrechner anbietet, korrekt
ist. In jedem Fall kann der Login-Prozeß mit yes fortgesetzt werden. Der HostKey
Praktikum IT-Sicherheit
305
wird dann automatisch in die Datei $HOME/.ssh/known hosts eingetragen, und die
Meldung sollte beim nächsten Login über ssh nicht mehr erscheinen. Außerdem sollte
man darauf achten, daß man den Zielrechner immer in derselben Form anspricht, da
der Name zusammen mit dem HostKey in $HOME/_
ssh/known hosts eingetragen wird
und der HostKey anschließend nur für diesen Namen bekannt ist.
• Man erhält die Warnung ’HOST IDENTIFICATION HAS CHANGED! ...’ Man sollte
die Verbindung durch die Eingabe no zunächst einmal abbrechen. Erkundigen Sie
sich bitte beim jeweiligen Administrator, ob der HostKey wirklich geändert wurde.
Ist dies der Fall, sollten Sie den bestehenden Eintrag für die Maschine aus der Datei
$HOME/.ssh/known hosts löschen, damit der aktuelle HostKey beim nächsten Login
an die Datei angefügt werden kann.
Wichtige Informationsquellen zur SSH:
• Manpages zur SSH (ssh, sshd, scp, ssh-key-gen, etc. )
• http://www.lrz-muenchen.de/services/security/ssh/
• http://www.ssh.com/
• http://www.openssh.org/
A.5.3
Wissenswertes zum Thema WWW
WWW Allgemein In diesem Zusammenhang noch ein Hinweis: Alles was man beim
Surfen im WWW auf dem Bildschirm sieht, ist in den lokalen Rechner übertragen worden und kann natürlich auch dauerhaft abgespeichert werden (File-Menü des Browsers,
Menüpunkt ’Save as...’). Ebenso lassen sich die Bilder abspeichern (beim Netscape-Browser
Mauszeiger auf das Bild ziehen, rechte Maustaste drücken).
Wie kommt man zu interessanten Informationen? Es gibt drei Möglichkeiten:
1. Durch Empfehlung von Bekannten (Es können auch Informationen aus den News
sein). Jemand sagt also zu Ihnen: ’Probiere mal: http://www.uni-muenchen.de/’.
Das tippen Sie dann ins Adreßfenster des Browsers und schon landen Sie auf dem
entsprechenden Computer, der Ihnen die gewünschte Information serviert.
2. Durch Netsurfen. Sie starten einfach irgendwo. Klicken Sie auf einen der Links und
Sie werden auf einem Server irgendwo in der großen weiten Welt landen. Die Chance
ist groß, daß diese Web-Seite weitere Links enthält und so werden Sie von Australien
bis Japan springen und dabei ein paar interessante Dinge entdecken.
3. Durch Suchen. Ähnlich wie bei Gopher gibt es etliche Server, die mit Suchmaschinen
einen Index vieler, vieler WWW-Server anlegen. In diesem Index kann man dann
nach Stichworten suchen.
Praktikum IT-Sicherheit
306
Oft hat man schon eine recht große Anzahl an Bildschirmen und WWW-Schritten hinter
sich, bis man an der gewünschten Stelle oder interessanten Information angekommen ist.
Um sich einen relativ langen oder umständlichen Weg bis zu dieser Stelle ein zweites Mal
zu ersparen, kann man solche Stellen im WWW in der persönlichen ’Hotlist’ eintragen.
Ein weiteres Merkmal des WWW ist die Schreiboption. Damit ist es möglich, Formulare,
z. B. Bestellscheine von Bibliotheken oder Anmeldungen für Konferenzen, auszufüllen und
abzuschicken. Diese Formulare werden dann von Programmen auf dem Server-Rechner
bearbeitet. Diese schicken dann die Antwort wieder als WWW-Dokument zurück.
Java Mit Java hat SUN Microsystems etwas Neues geschaffen. Es können nun mit
einer WWW-Seite nicht nur Text, Bilder, Sounds oder Animationen an den eigenen
Rechner geliefert werden, sondern Programme, die lokal ablaufen. Statt beispielsweise
ein Diagramm als Grafik zu senden, wird nun ein Diagramm-Zeichenprogramm mit den
Daten geschickt. Um dann die Änderung der Daten kontinuierlich zu zeigen, müssen
nun nur noch wenige Daten gesendet werden. Java ist eine richtige Programmiersprache, die an die Sprache C++ angelehnt ist. Wenn man im Browser eine Seite mit
einem Java-Programm wählt, wird dieses Programm übertragen und dann von lokalen
Browser ausgeführt. Der Ansatz für Java entstand noch unter der Prämisse, Java auf
intelligenten Peripheriegeräten, z. B. beim interaktiven Fernsehen, einzusetzen. Eine
logische Konsequenz daraus war der Wunsch nach Vereinfachung gegenüber existierenden
Technologien und nach geringem Ressourcenverbrauch. C++ wurde daher schon recht
früh als Programmiersprache verworfen. Um aber den Aufwand des Umstiegs für C-,
Smalltalk- und Eiffel-Programmierer gering zu halten, lehnt sich Java zum Teil deren
Konzepte an und legt die C++-Syntax zugrunde. Wichtige Unterschiede zwischen Java
und C++ sind die Eliminierung der ’herkömmlichen’ Zeiger, der zusammengesetzten und
der vorzeichenlosen Datentypen. Neu (zumindest gegenüber C++) sind ’sichere’ Arrays
und vor allem ein Garbage Collector, der Speicherbereiche, die nicht mehr referenziert
werden, automatisch freigibt. Die Java-Programme werden in ein kompaktes Format
übersetzt, den Bytecode. Das ist an sich nichts neues, prinzipiell gab es das schon seit ca.
20 Jahren bei den BASIC-Interpretern der Heimcomputer. Im Java fähigen Browser ist
dann ein Interpreter für diesen Bytecode enthalten.
Der Interpreter überprüft den Bytecode vor der Ausführung auf unerlaube Zugriffe auf
Ressourcen. Auf diese Weise sind zwei Ausführungsmodi möglich: Einem lokal gestarteten
Java-Applet (so nennt man die Java-Programme) kann der Benutzer den Zugriff auf den
Rechner erlauben. Aus dem Netz geladene Applets behandelt Java dagegen äußerst mißtrauisch. Sie sind quasi in den Interpreter eingesperrt und verwenden genau definierte und
vom Benutzer kontrollierte Möglichkeiten, beispielsweise auf die Festplatte zu schreiben.
Zusätzlich wird jedes Applet vor und während der Ausführung auf korrekte Benutzung
der Methoden und Instanzvariablen, mißbräuchliche Benutzung von Objektreferenzen,
Stack-Überläufe und Zugriffsbeschränkungen getestet. Auch das Überschreiben von als
sicher akzeptierten Klassen aus der lokalen Klassenbibliothek durch potentiell gefährliche
Praktikum IT-Sicherheit
307
Klassen aus dem Netz ist nicht ohne Erlaubnis des Benutzers möglich. Dies kann soweit
gehen, daß der Benutzer jedes Laden einer externen Klasse bestätigen muß.
Für grafische Oberflächen, Ein-/Ausgabe, mathematische Operationen und Netzwerkfunktionen existieren vordefinierte Klassen. Ein Java-Programmierer muß nicht gleich
alles wissen, die Einarbeitungszeit ist unter Java viel kürzer als unter C++. Eine
Beschränkung der Programmiersprache auf spezielle Anwendungsgebiete ist (theoretisch)
nicht vorgegeben. Was die Entwicklung vollwertiger Stand-alone-Programme angeht, gilt
für Java jedoch das gleiche wie für andere plattformübergreifende Bibliotheken: es ist nur
der ’kleinste gemeinsame Nenner’ implementiert.
Für Java-Code, der in einem Web-Browser ablaufen soll, dient die Klasse ’Applet’ als
Ausgangspunkt. Im HTML-Code werden die Java-Klassen durch das <applet>-Tag
eingebettet. ’Applet’ definiert als Superklasse für alle Applikationen, die in Browser
eingebettet werden sollen, auch einen Eventhandler für Benutzereingaben. Die wichtigsten
Methoden für ein Applet sind die Initialisierung, Aktivierung der Anzeige, Deaktivierung
der Anzeige und das Terminieren. Der Programmierer definiert in diesen Methoden
das Verhalten des Applets auf der Seite. Gemäß dem ’Java-Knigge’ sind Applets so
zu programmieren, daß sie nur dann Rechenzeit beanspruchen, wenn die umgebende
HTML-Seite angezeigt wird. Mit Java lassen sich auch komplette Bedienoberflächen
programmieren. Die Möglichkeit, mit einem Mausklick ein Applet zu stoppen und wieder
anzustarten, runden die Vorschriften ab. Um nicht den Browser mit der Interpretation des
Applets zu blockieren und auch mehrere Applets simultan in einer HTML-Seite animieren
zu können, sind Threads bereits Grundausstattung der Java-Laufzeitumgebung. Wer
sich für Java interessiert, findet Java-Seiten mit vielen Demos, den HotJava-Browser
(für SUNs) und Java-Entwicklersoftware auf dem Server von SUN Microsystems unter
http://java.sun.com/. Die Entwicklertools für Java-Applikationen stecken noch in den
Kinderschuhen und sind zwar mächtig in der Leistung, aber noch recht unkomfortabel in
der Bedienung.
In Java wurden zum einen erfolgreiche Konzepte aus bereits bestehenden Sprachen (z.B.
C, C++, Smalltalk, Eiffel, Ada, Objectiv-C) übernommen, zum anderen neue Konzepte
verwirklicht. Java ist eine junge Interpretersprache, die viele mächtige Konzepte in
sinnvoller Weise integriert. Sie ist völlig objektorientiert, interpretiert, einfach, architekturneutral, portabel und sicher. Eine gute Performance kann durch Multithreading
und optionalen Nativecode erreicht werden. Ausgiebige Kompilierzeitüberprüfungen und
strikte Laufzeitckecks garantieren ein robustes und sicheres Verhalten der Applikationen.
Sie kann somit neben der Möglichkeit des schnellen Prototyping als eine stabile Basis für
verteilte und erweiterbare Systeme dienen.
Die wesentlichen Gesichtspunkte sind:
• Objektorientiert
• Architekturunabhängig und portabel
• Robustheit
Praktikum IT-Sicherheit
308
• Multithreading
• Garbage Collection
• Sicherheit
Java ist vollkommen objektorientiert. Jede objektorientierte Sprache sollte ein Minimum
der folgenden Charakteristiken in sich haben:
• Encapsulation: Informationen (bzw. Attribute und Methoden) werden gekapselt, d.h.
konkrete Implementierung und Strukturen sind für den Anwender nicht sichtbar.
Lediglich Funktionalität und Interface eines Objektes werden bekanntgegeben.
• Inheritance: Subklassen ’erben’ Inhalte von Klassen
• Dynamic binding: ermöglicht ein Maximum an Flexibilität zur Laufzeit
All diese Anforderungen werden von Java in hohem Maße erfüllt. Es werden sogar zusätzlich
weitere runtime-features geboten, die die Software-Entwicklung einfacher machen können.
Wichtige Begriffe in diesem Zusammenhang, die auch in Java vorkommen, sind:
Klassen: Definiert Attribute und Methoden
Object : instanzierte Klasse
Message: Aufruf einer Methode eines anderen Objektes
Constructor: Methode, die die Initialisierung eines, einer Klasse instanzierten Objektes,
vornimmt
Destructor: Gegenstück zum Constructor.
Access Control: Bei der Deklarierung einer Klasse können Attribute und Methoden mit
verschiedenen Zugriffsleveln (public, protected, private, friendly) versehen werden.
Abstract Methods: Methoden, die in einer Klasse deklariert werden, deren Implementierung aber erst in einer Subklasse erfolgt.
Packages: Java-Konstrukt, das eine Sammlung von zusammengehörenden Klassen bildet.
Wichtige Eigenschaften von Java
• Objektorientierung
• Multithreading
Praktikum IT-Sicherheit
309
• Robustheit
• Sicherheit
• Erweiterbarkeit
• Plattformunabhängigkeit
Was Java hat:
• import: vergleichbar dem IMPORT von Modula-2.
• interface: ein geschickter Ersatz für die Mehrfachvererbung.
• Garbage Collection
• Verbesserte Ausnahmebehandlung
• Wohldefinierte Klassenhierarchie
Eigenschaften, die nicht von C oder C++ übernommen wurden:
• In Java gibt es keine Präprozessor-Direktiven (wie z.B. #define) mehr.
• Es gibt keine Headerfiles, dafür aber Interfaces, die die Definition anderer Klassen
und deren Methoden beinhalten.
• Multiple Inheritance wurde durch Interfaces ersetzt, die Methodendefinitionen von
Klassen gleich setzt können.
• Kein ’goto’-statement (definiert, aber nicht implementiert).
• Kein Operator-overloading.
• Keine Pointer.
• Keine Typdefinitionen.
• Keine Variante Records (union).
• Keine generische Typen (templates).
• Keine Mehrfachvererbung.
• Keine vorzeichenlose Zahlentypen.
• Keinen direkten Hardwarezugriff.
Praktikum IT-Sicherheit
310
Durch die Verwendung von byte-code im Gegensatz zum Binärcode ist Java völlig architekturneutral. Java-Programme lassen sich auf allen Plattformen ausführen, auf welche die
Virtual Machine portiert wurde. Portierungen werden durch die strikte Sprachspezifikation
unterstützt.
Java ist eine Sprache, die gedacht ist für robuste, zuverlässige und sichere Applikationen. Um dies zu erreiche,n wird ein striktes Compile-Time- Checking durchgeführt, das es
ermöglicht, Syntaxfehler früh zu entdecken. Java ist eine sehr typorientierte Sprache. Viele
C-Freiheiten, wie etwa implizite Deklaration von Funktionen, sind nicht erlaubt. Besondere Stützen der Robustheit sind die Abschaffung von Pointern, die Verwendung von echten
Arrays, ein Speichermodell, das die unerlaubte Überschreibung von Speicherbereichen verhindert und strengere Casting-Regeln.
Bereits bei der Konzeption von Java wurden grundlegende Überlegungen bezüglich der
Sicherheit angestellt. Der Java-Compiler und das Laufzeitsystem integrieren mehrere
Abwehrschichten gegen potentiell gefährlichen Code. Am wichtigsten ist sicherlich das
Speicherallozierungs- und -referenzierungsmodell. Entscheidungen über die Speicherbelegung werden nicht vom Compiler (wie in C oder C++), sondern erst zur Laufzeit vorgenommen. Intern verwendet Java sogenannte ’handles’, die zur Laufzeit in physikalische
Addressen aufgelöst werden. Dies geschieht sehr spät und z. T. auch abhängig von der
Architektur, jedoch völlig transparent für den Programmierer.
Was passiert, wenn gefährlicher Code auf einen Server generiert und zur Laufzeit auf dem
Client ausgeführt wird? Obwohl der Java-Compiler beim Übersetzen das Einhalten von bestimmten Sicherheitsregeln garantiert, bleibt er natürlich machtlos, wenn Code-Fragmente
zur Laufzeit on-the-fly gelinkt werden. Wie kann also das Laufzeitsystem dem hereinkommenden byte-code stream vertrauen, der vielleicht von einem nicht vertrauenswürdigen
Compiler erzeugt wurde? Die Antwort ist einfach: Java traut dem Code nicht und unterwirft
ihn deshalb dem byte-code-Verifizierungsprozeß. Dieser beinhaltet eine Reihe von sinnvollen, restriktiven Maßnahmen. Darunter sind einfache Typüberprüfungen, Ausklammerung
von Pointern, Ausschluß von Stack-Über- und -Unterläufen, strikte Parameterüberprüfung,
strikte Typkonvertierungen, Überprüfung der Speicherzugriffsrestriktionen. Weiter wird getestet, daß Objekte wirklich nur als solche verwendet werden.
Daten- und Kontrollfluß vom Java-Quellcode bis zur Ausführung sieht in Abbildung 77.
Trotz der ausgedehnten Verifizierungsprozeß bleibt Java (laut Sun) immer noch schnell
genug, da der Java-Interpreter von jeder weiteren Überprüfung hinsichtlich der Sicherheit
befreit ist und damit mit voller Geschwindigkeit arbeiten kann.
Weitere Sicherheitsaspekte sind im Java Networking Package implementiert, welches es
erlaubt verschiedene Sicherheitsebenen zu konfigurieren. Diese sind:
• alle Netzwerkzugriffe sind verboten
• Alle Netzwerkzugriffe sind erlaubt
• Netzwerkzugriffe sind nur jenen Hosts erlaubt, von denen der Code importiert wurde
Praktikum IT-Sicherheit
311
Abbildung 77: Dataflow Java
• Netzwerkzugriffe sind auf Zugriffe außerhalb des Firewalls beschränkt, wenn der Code
von dort kommt.
Wer sich für Java interessiert, findet Java-Seiten mit vielen Demos, den HotJava-Browser
(für SUNs) und Java-Entwicklersoftware auf dem Server von SUN Microsystems unter
http://java.sun.com/.
JavaScript JavaScript ist eine Script-Sprache mit begrenzten Fähigkeiten. Sie hat im
Grunde mit Java nur einen Namensteil gemeinsam.
Programmiersprache Java an. JavaScript ist jedoch anspruchsloser im Aufbau als Java,
eingeschränkter in den Möglichkeiten und für andere Zwecke gedacht. JavaScript ist im
Praktikum IT-Sicherheit
312
Gegensatz zu Java eine unmittelbare Ergänzung und Erweiterung zu HTML. JavaScript
bietet sich für folgende Zwecke an:
• Animation (z. B. Marquees = Lauftexte programmieren) und in WWW-Seiten einbinden. Dabei steht Ihnen nicht nur das Anzeigefenster zur Verfügung, sondern auch
Dialogbereiche des WWW-Browsers, etwa die Statuszeile.
• Projektsteuerung: Mit Hilfe von JavaScript lassen sich einige Lücken in HTML umgehen. So ist es mit Hilfe von JavaScript beispielsweise möglich, innerhalb eines FrameSets die Inhalte mehrerer Frame-Fenster gleichzeitig zu aktualisieren.
• Formularüberprüfung: Überprüfen der Anwendereingaben in einem HTML-Formular
während der Eingabe
• Dynamische WWW-Seiten: Mit Hilfe von JavaScript läßt sich erreichen, daß sich
WWW-Seiten während der Anzeige dynamisch verhalten. Beispielsweise: Wechsel
eines Bildmotivs, wenn sich die Maus über das Bild bewegt. Text generieren: Zur
Laufzeit HTML-formatierten Text generieren, z.B. das aktuelle Datum und die aktuelle Uhrzeit anzuzeigen.
• Anwendungen: Mit Hilfe von JavaScript lassen sich einfache Anwendungen programmieren. Das können z.B. wissenschaftliche oder kaufmännische Taschenrechner sein.
Auch einfache Spiele sind denkbar.
JavaScript-Programme werden im Gegensatz zu Java-Programmen direkt in der HTMLDatei notiert. Sie werden auch nicht - wie Java-Programme - compiliert, sondern als
Quelltext zur Laufzeit interpretiert, also ähnlich wie Batchdateien bzw. Shellscripts.
Dadurch bleibt JavaScript unkompliziert für den Programmierer, doch kritisch für den
Anwender. Das Interpretieren von Quellcode ist ungleich langsamer, als das Interpretieren
von compiliertem Code. Deshalb ist JavaScript nur für kleine und einfache Programmabläufe sinnvoll. Da kein Compilierungslauf und somit keine Fehlerprüfung stattfindet, gibt
es bei JavaScript auch keinen Schutz vor schweren Programmfehlern. Kleine Effekte, wie
das bekannte Ändern des Erscheinungsbildes eines grafischen Elements, wenn die Maus
darüber bewegt wird, lassen sich jedoch schnell realisieren.
Wie einfach JavaScript sein kann, sieht man hier.
<FORM>
<INPUT TYPE=BUTTON
VALUE="Klick mich oder ich beiss Dich!"
OnClick="alert(’Ich w"urde sowas an Deiner Stelle nicht machen!
Deine Platte wird jetzt gel"oscht!’)">
</FORM>
Praktikum IT-Sicherheit
313
Satire: Wie selbstdokumentierend und selbsterklärend die Skripte sein können, zeigt
folgendes, einer real existierenden Webseite entnommene, Skript:
<SCRIPT>
var F_A,F_B,F_CH,F_CL,F_DB,F_E,F_F,F_L,F_MT,F_MV,F_R,F_SE,F_SU,F_U,F_HR,F_MU,F_MD;
function F_e(){}
function F_n(){}
function F_on(){}
</SCRIPT>
Beliebt sind auch die animierten Schaltflächen:
<SCRIPT LANGUAGE="JavaScript">
<!-- hide from old browsers
start = new Image(20,150);
start.src = "start.gif";
start2 = new Image(20,150);
start2.src = "start2.gif";
function HiLite(imgDocID,imgObjName){
document.images[imgDocID].src = eval(imgObjName + ".src")
}
// done hiding -->
</SCRIPT>
Das oben angeführte Skript ist ’brav’, es könnte aber in der Funktion HiLite beliebig viel
Unsinn enthalten sein.
Weitere Informationen und Beispielsammlungen zu JavaScript finden Sie im WWW:
• JavaScript Authoring Guide: Die offizielle JavaScript-Dokumentation von Netscape
(http://developer.netscape.com/docs/manuals/index.html)
• JavaScript Examples: Interessante Beispielprogramme mit JavaScript (http://)
• JavaScript Pro: Profi-Forum zum Thema JavaScript. Möglichkeit, selbst Fragen zu
stellen. (http://)
• Gamelan: Weltweit größte Sammlung von Java-Appletts und JavaScript-Beispielen
(http://)
Praktikum IT-Sicherheit
314
ActiveX Microsoft will mit eigener Internet-Technologie Standards setzen und hat, gewissermaßen als Konkurrent zu Java, seine Active-X-Technik entwickelt. Active-X ist eine
Microsoft-Technik zur Erzeugung interaktiver Web-Seiten mithilfe von Controls, Skripts
und Softwarepaketen, wie zum Beispiel Textverarbeitungen und Tabellenkalkulationen.
Der Sinn von Active-X ist aus Sicht von Microsoft:
• Applikationen in Web-Browser einzubinden
• Den Web-Browser zur Schaltzentrale für Internet und Intranet zu machen
Ein Active-X-Control ist ein kleines Windows-Programm, das sich nur mit Hilfe eines
Web-Browsers ausführen läßt. Wenn Sie im Internet auf eine mit einem Active-X-Control
ausgestattete Seite kommen, werden nicht nur Text und bunte Bilder angezeigt, sondern
auch ein Programm auf Ihren Rechner geladen und ausgeführt. Im ungünstigsten Fall
merken Sie gar nicht, daß ein Active-X-Control in eine Web-Seite eingebunden ist und
automatisch ausgeführt wird, während Sie die Seite anschauen und sich in trügerischer
Sicherheit wähnen. Die Active-X-Technologie besteht aus folgenden Komponenten:
• Active-X-Controls: sind Elemente wie Schaltflächen, Listboxen, Bildlaufleisten usw.,
die auf Web-Seiten plaziert und dort benutzt werden können. Dadurch wird ein hoher
Grad an Interaktion mit dem Anwender erreicht.
• Active-X-Scripting
• Active-X-Dokumente: werden mit sogenannten Skripts gesteuert. Skripts sind Programme, die in HTML-Seiten eingebaut und somit für jedermann lesbar sind. Skriptsprachen sindVisual-Basic-Script (VB-Script) und Java-Script.
• Active-X-Conferencing: Sie funktionieren wie OLE-Verbunddokumente. Ein Browser
(Container) kann zum Beispiel ein Excel-Sheet anzeigen (Excel ist dann der Server),
ohne das man den Browser verlassen muß - sofern man Excel hat. Man kann so
Dokumente ganz verschiedener Formate in das Netz posten und jeder, der auch den
entsprechenden Server hat, kann sie betrachten. Damit wird aber der Nutzerkreis auf
die Anwender von Microsoft-Produkten eingeschränkt und die gemeinsame Sprache
des WWW, HTML, ausgegrenzt.
• ActiveMovie: Zur Übertragung von Audio und Video-Daten über Netze gibt es ActiveMovie. ActiveMovie soll ermöglichen, daß die Audio- und Video-Daten nicht erst
komplett auf den eigenen Rechner geladen werden müssen, bevor man sie abspielen
kann (was unter Umständen ziemlich lange dauern kann), sondern die Übertragung
erfolgt in Echtzeit. Voraussetzung ist natürlich, daß die Verbindung schnell genug ist.
Praktikum IT-Sicherheit
315
Hinter einem Active-X-Control verbirgt sich also nichts anderes, als ein normales WindowsProgramm. Es kann also alles tun, was auch jedes andere Windows-Programm tun kann:
Daten von Ihrer Festplatte übers Netz versenden, Viren installieren - oder einfach nur
die Festplatte formatieren. Active-X-Programme sind also ein Risikofaktor und sollten
nur unter bestimmten Voraussetzungen eingesetzt werden. Der Chaos Computer Club
demonstrierte der Öffentlichkeit die Risiken von Active X: Die Hacker programmierten
ein Active-X-Control, das der Finanz-Software Quicken einen Überweisungsauftrag
unterjubelte. Der Auftrag wurde so gespeichert, daß er beim nächsten T-Online-Connect
automatisch ausgeführt würde. Active-X-Programme laufen derzeit nur mit dem Microsoft
Internet-Explorer ab Version 3. Damit Active-X-Controls mit einem Netscape-Browser
funktionieren, muß man ein spezielles Active-X-Plug-in installieren.
Beim Installieren von Active-X-Komponenten wird manchmal ein ’Zertifikat’ angezeigt.
Wer Active-X-Programme schreibt, kann sich ein solches ’Zertifikat’ besorgen, das nach
dem Laden der Webseite angezeigt wird. Dieses Zertifikat soll garantieren, daß das
Active-X-Control wirklich im Originalzustand vorliegt. Gewährleistet wird das durch eine
verschlüsselte Quersumme, die beim Herausgeber des Zertifikats hinterlegt ist und die
mit der des Programms verglichen wird. Ein gültiges Zertifikat heißt jedoch keinesfalls,
daß Sie einem Active-X-Control blind vertrauen können. Der bisher einzige Zertifizierer,
Verisign Commercial Software Publishers CA, prüft nicht, was ein Active-X-Control auf
einem Rechner anstellt, sondern nur, ob das Programm nach der Zertifizierung verändert
wurde. Nachdem jeder sein Active-X-Control zertifizieren lassen kann, besteht auch die
Möglichkeit, daß gefährliche oder schädliche ActiveX-Controls ein Zertifikat bekommen.
Dabei muß nicht einmal böse Absicht des Programmierers im Spiel sein, denn ’Man soll nie
Absicht vermuten, wo Dummheit als Begründung ausreicht’. Insofern hat das Zertifikat
höchst zweifelhaften Wert.
Wird auf einer Webseite ein Zertifikat angezeigt, hängt es davon ab, wo Sie sich befinden:
Handelt es sich um eine renommierten Firma, können Sie ein zertifiziertes Active-XControl ohne großes Risiko installieren. Befinden Sie sich dagegen auf einer privaten oder
halbprivaten Seite, sollten Sie auch mit zertifizierten Komponenten sehr vorsichtig sein.
Programmierfehler können sich natürlich auch in Controls großer Unternehmen befinden.
Wenn Sie schon massenhaft Active-X-Controls auf Ihrer Platte haben, hilft die Freeware
’ActiveXCavator’. Sie listet alle installierten Controls einschließlich diverser Dateiinformationen (Verzeichnis, Größe) auf und kann auch einzelne Controls löschen. Das Programm
gibt es unter http://www.winmag.com/software/xcavate.htm.
VRML Zur Beschreibung der WWW-Hypertext-Dokumente dient, wie erwähnt, eine
Sprache namens HTML (HyperText Markup Language). Eine faszinierende Erweiterung
für 3D-Grafiken ist die Beschreibungssprache VRML (Virtual Reality Modeling Language). Statt riesiger Animationsdateien werden auch hier nur Anweisungen geschickt, wie
eine dreidimensionale Animation aussehen soll. Die so definierten Animationen werden
dann auf dem lokalen Rechner erzeugt. Im Grunde ist dies keine grundlegende Neuerung,
Praktikum IT-Sicherheit
316
denn jedes Raytracing-Programm arbeitet mit einer solchen 3D-Sprache. Die Software
berechnet anhand der Beschreibung die jeweilige Szenerie und stellt sie grafisch auf dem
Bildschirm dar. VRML wird derzeit speziell auf die Bedürfnisse von WWW und Internet
zugeschneidert, verfügt daher über spezifische Fähigkeiten, etwa die Einbindung von
HTML-Dokumenten in 3D-Szenen. Die Entwicklung von VRML begann im Frühjahr 1994.
Der Name VRML wurde damals geboren, allerdings noch als ’Virtual Reality Markup
Language’.
Um nicht bei Null zu beginnen und statt dessen eine geeignete, bereits vorhandene
3D-Technologie zu nutzen, fiel die Wahl der Entwickler auf ’Open Inventor’ von Silicon
Graphics (SGI). Open Inventor unterstützt 3D-Szenarien mit Polygonobjekten, verschiedenen Belichtungsmöglichkeiten, Materialien oder Texturen. Zudem stellte SGI noch eine
erste VRML-Parser-Library zur Verfügung, die als Grundlage für die Implementierung
von 3D-Viewern diente.
Flash Derzeit letzter Endpunkt der Technik auf Webseiten ist Flash. Web-Entwickler
verwenden Flash zum Erstellen von attraktiven, auf Browsergröße anpassbaren, extrem
kleinen und kompakten Navigations-Oberflächen, technischen Illustrationen, LangformAnimationen und sonstigen faszinierenden Effekte für Websites und andere Web-aktivierte
Geräte (wie WebTV). Flash-Grafiken und -Animationen werden mit Hilfe der Zeichenwerkzeuge in Flash oder durch Importieren von Vektor-Grafiken erstellt. Flash unterstützt
nicht nur Vektorgrafiken, die im Gegensatz zu Pixelgrafiken (GIF, JPEG, PNG, BMP,
usw.) bei einer Skalierung (Vergrößerung oder Verkleinerung) ihr exaktes Aussehen
behalten. Alle in Flash 4 erstellen Grafiken erscheinen auf dem Bildschirm nahtlos und
glatt. Dank dieser Anti-Aliasing-Technik wirken die Designs immer ganz genau so, wie von
ihrem Entwickler beabsichtigt. Zusätzlich unterstützt Flash Streaming-Verfahren. Damit
lassen sich Animationen aller Art in WWW-Seiten einbinden - und nicht nur ZeichentrickFilmchen oder Textanimation, sondern auch Navigationselemente wie Schaltflächen und
Menüs. Zur Bildanimation können dann noch die passenden Sounds hinzugefügt werden.
Vektorbasierte Flash-Sites werden bereits beim Herunterladen abgespielt und machen so
ein unmittelbares Feedback möglich. Flash eignet sich auch für Produktpräsentationen
und ähnliche Aufgaben. Die Animationen lassen sich auch in gängige Videoformate (AVI,
MPEG) umsetzen.
Cookies Cookies sind kleine Informationseinheiten, die beim Besuch einer Website
zunächst im Arbeitsspeicher des heimischen Computers gespeichert werden. Unter
Umständen werden diese Daten nach Verlassen des Webservers in Form einer Textdatei
auf die lokale Festplatte geschrieben.
Ein Cookie besteht aus einem Namen, einem Wert (Zeichenkette) und einer URL. Zudem
besitzt ein Cookie eine Lebensdauer. Wird der Ausflug ins Netz beendet und der Browser
geschlossen, werden alle Cookies, deren Lebensdauer noch nicht abgelaufen ist, in einer
Praktikum IT-Sicherheit
317
Datei gespeichert. Man spricht dann von ’persistenten Cookies’. Zukünftig läßt sich dann
mühelos verfolgen, wie oft genau dieser Anwender wiederkommt und was er tut.
Ursprünglich wurden von Netscape die Cookies zur Erleichterung für den Anwender
entwickelt. Sie sollten persönliche Informationen enthalten, die der Anwender beim
nächsten Besuch eines Online-Angebots nicht mehr eingeben mußte, z. B. für den Zugriff
auf Angebote, die eine Zugangskennung erfordern. Eine andere Anwendung wäre ein
’Einkaufskorb’. Da jeder Seitenabruf einen abgeschlossenen Kommunikationsvorgang
darstellt, kann der Server nicht speichern, welche Waren ein Kunde schon in seinen Korb
gelegt hat. Cookies bieten hier die Möglichkeit, den Inhalt des Einkaufskorbes beim
Kunden zu speichern, bis die abschließende Bestellung durch eine Bestätigung erfolgt.
Normalerweise lassen sich Cookies auch keiner spezifischen Identität zuordnen, sofern der
Besucher nicht woanders seine Identität preisgibt.
Unternehmen können mit Hilfe von Cookies Abrufprofile erstellen, z.B. für verläßliche
Abrufprofile für Reichweitenuntersuchungen. Schließlich will man wissen, welche Seiten
wie oft abgerufen werden. Daraus lassen sich u.a. Schlußfolgerungen für die weitere
Gestaltung einer Website ziehen. Trotz zahlreicher Ansätze gibt es bislang noch kein
genormtes Verfahren zur Bildung von Abrufprofilen. Grundsätzlich besteht die Möglichkeit
zur Bildung von Abrufprofilen jedoch auch ohne Cookies - durch die Auswertung von
Logbüchern, z.B. mit entsprechenden Monitoring-Tools.
Problematisch wird es, wenn Cookies mit langer Lebensdauer eingesetzt werden. Durch
persistente Cookies ist es möglich, einen Benutzer über mehrere Sessions hinweg zu
identifizieren. Dadurch erhöht sich die Informationsmenge und die Zuordnung einer
Personenidentität vereinfacht sich. Das ist ganz ohne Cookies nicht möglich. Mittlerweile
gibt es eine Reihe von Shareware-Tools, mit denen sich Cookies auf dem Computer
identifizieren und löschen lassen. Normalerweise befindet sich im Verzeichnisbaum des
Browsers irgendwo eine Datei namens ’cookies.txt’. Auf UNIX-Systemen genügt es, die
Leseberechtigung der Datei wegzunehmen. Auf Windows-Rechnern kann man den Inhalt
der Datei löschen und sie dann auf ’Read-Only’ setzen. Letztendlich sind Cookies aber
relativ harmlos.
Anbieter, die in Ihrem WWW-Angebot Cookies verwenden, sollten einfach vorher auf
deren Anwendung und den Zweck hinweisen. Dann weiß der Websurfer, woran er ist und
wird auch weniger Vorbehalte gegen die Cookies haben.
Weitere Informationen über Cookies findet man unter:
http://www.cookiecentral.com/
http://www.netscape.com/newsref/std/cookie_spec.html
Browser sicher machen Die aktuellen Web-Browser, Internet Explorer und Netscape
Communicator, weisen zwangsläufig Sicherheitstücken auf, die es zu schließen gilt.
Microsoft und Netscape bieten Updates über das Startmenü des Rechners an; es hat also
wenig Sinn, einen Browser manuell sicher machen zu wollen, ohne vorher alle Updates
installiert zu haben. Deshalb lohnt es sich, die Update-Web-Seiten der Hersteller ab und
Praktikum IT-Sicherheit
318
zu aufzusuchen.
In den Browsern Internet-Explorer 5.0 und Netscape Communicator 4.6 läßt sich so gut
wie jedes Feature abschalten, welches den Rechner und seine Daten gefährden könnte.
Dann allerdings geht im Web so gut wie nichts mehr. Aus diesem Grunde werden hier die
einzelnen Features genauer beleuchtet.
Internet Explorer
Das Zonenkonzept des Explorers
Microsofts Internet-Explorer differenziert seine Sicherheitseinstellungen nach Zonen:
• Die Internet-Zone enthält grundsätzlich alle Sites.
• Die Lokale Intranet-Zone umfaßt dagegen alle Computer, die mit einem lokalen Netzwerk verbunden sind. Dies nennt Microsoft bereits Intranet.
• In der Zone für vertrauenswürdige Sites kann man Server angeben, denen man vertraut.
• In Gegensatz dazu trägt man unter Zone für eingeschränkte Sites Server ein, die
bekanntermaßen unsicher sind.
Wer die Einstellungen unter dem Button Stufe anpassen nicht ändern will, der sollte
es bei der Sicherheitsstufe Mittel belassen. In dieser Stufe fragt der Browser nach, ehe er
Controls und Programme startet, die vom Anbieter kein Zertifikat erhalten haben. Der IE
führt jedoch ohne Nachfrage bereits zertifizierte ActiveX-Controls aus.
Wem diese Sicherheitsebene nicht genügt, der muß die verfeinerte Anpassung der einzelnen
Stufen vornehmen. Die Einstellungen gelten nicht global, sondern nur für die jeweilige
Zone. Gleichzeitig nehmen Sie verschiedene Sicherheitsoptionen wieder zurück, wenn Sie
die Warnhinweise zu bestimmten Inhalten mit der Checkbox Den Hinweis für diese
Zone nicht mehr anzeigen abschalten. Also alle Einstellungen nochmals aufsuchen und
wieder aktivieren.
Das Fenster Internetoptionen/Sicherheit im Internet-Explorer ermöglicht die dedizierte
Wahl sicherer oder unsicherer Web-Seiten. Um Adressen derartiger Server einzugeben,
wählen Sie zuerst deren Zone aus und klicken dann auf Sites:
• Vertrauenswürdige Sites: Diese Einträge erhalten im Standard die Sicherheitsstufe Sehr niedrig. Die niedrige Sicherheit läßt mehr Aktionen zu und unterdrückt
Warnfenster. Microsoft empfiehlt allerdings, für die Zone für vertrauenswürdige Sites
das HTTPS-Protokoll zu verwenden, um sichere Verbindungen aufbauen zu können.
Praktikum IT-Sicherheit
319
• Eingeschränkte Sites: Diesen Sites weist der IE standardmäßig die Sicherheitsstufe
Hoch zu. Einer solchen Adresse ordnet der Browser prinzipiell nur minimale, sichere
Operationen zu. Der Zugriff auf solche Server ist eingeschränkt - viele PlugIns werden
aufgrund abgeschalteter Features gar nicht funktionieren.
Java und ActiveX beim IE einstellen
Der Internet-Explorer 5.0 bietet eine sehr feine Abstimmung der jeweiligen Sicherheitsstufen (Zonen, sichere/unsichere Sites). Man erreicht sie durch einen Klick auf das
jeweilige Icon und auf den Button Stufe anpassen. Hier lassen sich alle Einstellungen
anpassen: Hoch, Mittel, Niedrig und Sehr niedrig. Mit einem Klick auf Zurücksetzen
lassen sich die Standardeinstellungen von Microsoft zurückholen. Die folgende Übersicht
zeigt, was die einzelnen Menüpunkte und deren Einstellungen bewirken:
• ActiveX-Controls und Plug-Ins: In diesem Bereich legt man fest, wie ActiveXSteuerelemente und ActiveX-Plug-Ins geladen, ausgeführt und über Scripts gesteuert
werden können. Sollte man das ActiveX-Control von einer anderen Site laden als von
der, auf der das Element verwendet wird, so schaltet der IE von sich aus auf die
schärferen Sicherheitseinstellungen der beiden Sites um. ActiveX-Steuerelemente
ausführen, die für Scripting sicher sind bestimmt, ob das Steuerelement mit
einem Skript zusammenarbeiten kann. Die Einstellungen an dieser Stelle werden jedoch von IE ignoriert, falls die Option ActiveX-Steuerelemente initialisieren
und ausführen, die nicht ’sicher’ sind auf aktivieren eingestellt ist. Letztere Option umgeht praktisch jede Sicherheitseinstellung und ist daher zu vermeiden. Mit ActiveX-Steuerelemente und Plug-Ins ausführen gibt man an, ob
Controls und Plug-Ins in der ausgewählten Zone agieren dürfen. Sollten Sie diese Option abschalten, dann haben auch die weiteren Einstellungen zu ActiveX
keine Bedeutung mehr. Beim Download von signierten ActiveX-Steuerelementen
führt die Einstellung Fragen bei nicht vertrauenswürdigen Web-Seiten zu einer Warnmeldung. Download von unsignierten ActiveX-Steuerelementen Code, der
keine digitale Signatur trägt, ist aus diesem Grunde möglicherweise gefährlich. Mit
der Option Aktivierean schalten Sie die Sicherheit gegenüber diesen Elementen
ab. Dann wird auch ActiveX-Steuerelemente ausführen, die für Scripting
sicher sind ignoriert. Mit der Option Fragen hat man die Wahl, ob man ein solches
Control oder Plug-In überhaupt laden will - oder nur mit bestimmten Parametern
startet. Am sichersten ist die Einstellung Deaktivieren, denn sie erzwingt die Ablehnung des fremden Codes.
• Java-Optionen: Benutzerdefiniert ermöglicht es dem Anwender, einige Einstellungen
vor dem Download eines Java-Applets selbst vorzunehmen. Die Einstellung Niedrige
Sicherheit ist ebenfalls, zumindest im Internet gefährlich, denn sie gibt allen Applets die Möglichkeit, jede Operation ungehindert zu starten. Microsoft sieht zwar,
Praktikum IT-Sicherheit
320
wie Netscape, eine Sandbox für Java-Applets vor, doch deren Grenzen schaltet man
mit dieser Einstellung ab. Mit Mittlere Sicherheit erreicht man einen Start der
Java-Applets ausschließlich in der Sandbox. Die Option Benutzerdefiniert bietet
weitere Einstellungen. Es erscheint der Button Java-Einstellungen. Unter anderem
kann man definieren, was signierte und unsignierte Applets außerhalb der Sandbox
unternehmen dürfen. Damit gleichen diese Optionen den Möglichkeiten von signierten
Apptets im Netscape Communicator.
• Benutzerauthentifizierung: Dabei geht es um vier Optionen:
– Automatisches Anmelden: nur in der Intranetzone fordert es den Benutzer auf,
seine User-ID und sein Passwort außerhalb des Intranets einzugeben. Dies geschieht allerdings einmalig, das heißt, weitere Zonenwechsel erfordern keine neuen Eingaben.
– Anonyme Anmeldung: schaltet die HTTP-Authentifizierung dagegen ab.
– Nach Benutzername und Kennwort fragen: erkundigt sich generell nach einer
User-ID und einem Kennwort; Angaben, die der Internet-Explorer dann für die
gesamte Zeit der Sitzung verwendet.
– Automatische Anmeldung mit aktuellem Benutzernamen und Kennwort: bewirkt auf NT-Systemen, daß der aktuelle Username sowie das Passwort für die
Prüfung der Zugriffsberechtigung auf den jeweiligen Internet-Server verwendet
werden.
• Cookies: Die Option Cookies pro Sitzung annehmen (nicht gespeichert) erlaubt
prinzipiell, daß eine Web-Site Cookies für eine Sitzung auf dem Rechner unterbringt.
Darin halten entsprechende Sites beispielsweise den Inhalt virtueller Einkaufswagen
fest. Arbeiten Sie mit der Einstellung Aktivieren. Mit Fragen erreichen Sie einen
Dialog, der die Ablehnung jedes einzelnen Cookie ermöglicht. Deaktivieren stoppt
die Cookies. Cookies annehmen, die gespeichert sind läßt eine hartnäckigere
Form der Cookies zu, jene die dauerhaft auf die Platte gelangen. Über die Einstellung
Aktivieren lassen Sie dauerhaft gespeicherte Dateien zu, die der IE nicht anzeigt.
Für die beiden anderen Optionen gilt das gleiche wie bei den temporär gespeicherten
Cookies.
Netscape Communicator Die Einstellungen des Communicators 4.6 sind wesentlich
einfacher in der Bedienung. Darüber hinaus arbeitet der Communicator nicht mit ActiveXSteuerelementen. Auch Netscape hat eine Signierung von JavaScripts und Java-Applets
entwickelt. Diese Zertifikate zeigen nicht nur, daß die Software von einem bestimmten
Hersteller stammt, sie erlauben es dem Java-Programm auch, Aktionen außerhalb der
sicheren Sandbox vorzunehmen. Dadurch kann es einem solchen Programm genauso wie
beim IE gelingen, Inhalte der Platte auszuspionieren oder zu sabotieren.
Die grundlegenden Einstellungen des Browsers in der Version 4.6 erreichen Sie recht
Praktikum IT-Sicherheit
321
einfach über Bearbeiten/Einstellungen/Erweitert. Die dortigen Sicherheits-Optionen
sind: Java aktivieren, JavaScript aktivieren und JavaScript für Mail und
Diskussionsforen aktivieren. Parallel zur höchsten Sicherheitsstufe im InternetExplorer könnte man diese drei Optionen abschalten. Damit führt der Communicator
Java nicht einmal in E-Mails aus.
Daneben findet man im Communicator 4.6 den Menüpunkt Sicherheit. Das dortige
Fenster aktiviert Passwörter und die programmeigene Kryptographie, kann jedoch auch
Zertifikate aktivieren, mit denen ein Java-Code außerhalb der Sandbox im Dateisystem
arbeiten kann.
Eine weitere Gefahr sind Plug-Ins. Sie erweitern den Communicator um beliebige
Funktionen, können aber auch immensen Schaden anrichten. Sie sollten sich zuerst
anschauen, welche Zusätze derzeit bereits aktiv sind: Dazu klickt man auf Hilfe/Über
Plug-Ins. Hier finden Sie im oberen Bereich auch einen Link zu Netscape, der zu den
von Netscape angebotenen Plug-Ins führt. Dort gibt es derzeit knapp 180 Plug-Ins aus
unterschiedlichsten Kategorien.
Im Communicator ist es dem Anwender gestattet, Optionen der Sandbox zu ändern dem Applet oder Script jedoch nicht. Ohne das Zonenkonzept ist man darauf angewiesen,
die fraglichen Einstellungen pro Script/Applet oder je Internet-Site vorzunehmen. Im
Ordner \Netscape \Users \Benutzer gibt es eine Datei namens PREFS.JS, in der man
eine Reihe von Einträgen vornehmen kann. Es handelt sich um eine reine Textdatei. Man
kann sie also mit einem einfachen Editor, wie dem Notepad bearbeiten, nachdem man eine
Sicherheitskopie des Originals angelegt hat. Ein Beispiel soll zeigen, was dort einzutragen
ist:
In seiner Grundeinstellung legt der Communicator HTML-Seiten, die über eine sichere Verbindung geladen wurden, nicht in seinem Seitenspeicher ab. Der Grund:
Aus dem Cache können unbefugte Leute eine solche Seite herausholen und im
Klartext lesen, was die Übertragung via SSL ursprünglich verhindern sollte. Mit
der folgenden Zeile schaltet man die Speicherung einer Seite im Cache wieder ein:
user pref(‘‘browser.cache.disk cache ssl´
’,true);
Eine ausführliche Anleitung finden Sie unter http://www.ufaq.org/.
A.6
Ein Beispiel für eine Benutzerrichtlinie
Allgemeines
Im Netz des Unternehmens ABC existiert an einigen Arbeitsplätzen ein zunehmender
Bedarf nach Anschluß an das Internet, welches als das größte weltweite Netz dem Benutzer
schnellen Zugriff auf aktuelle Informationen ermöglicht.
Als wesentliche Gefährdung gelten der Verlust von Daten sowie der Verlust der Verfügbarkeit des Unternehmensnetzes. Im Gegensatz zur Datenübertragung in einem lokalen Netz
kann vom Anwender nicht umfassend beurteilt werden, welche Risiken er bei der Nutzung
der Daten aus dem Internet eingeht.
Praktikum IT-Sicherheit
322
Die Auswahl und die Anwendung von geeigneten Sicherheitsvorkehrungen wird vom
Management in Verbindung mit den zuständigen Administratoren vorgenommen. Hierzu
gehören der Einsatz systemtechnischer Maßnahmen und einige organisatorische Regelungen.
Neben den restlichen (insbesondere strafrechtlichen und datenschutzrechtlichen) Bestimmungen gibt diese Benutzerordnung Hinweise, die zur Wahrung der Vertraulichkeit
und Integrität der im Unternehmensnetz verarbeiteten, schutzbedürftigen Informationen
unbedingt einzuhalten sind. Jeder Mitarbeiter ist selbst für die Sicherheit der von ihm
verarbeiteten Daten verantwortlich. Er muß dafür Sorge tragen, daß alle technischen Maßnahmen, die zur Erreichung dieser Aufgabe dienen, eingesetzt werden. Dazu gehören z.B.
Zugangs- und Zugriffskontrollmechanismen, Mechanismen zum Schutz vor ungewollten
Veränderungen von Daten durch ausführbare Inhalte oder Computerviren.
Die Benutzer werden bei Bedarf durch die jeweiligen IT-Betreuer in die Handhabung der
zur Verfügung stehenden Anwendungen eingewiesen. Durch Unterschrift bestätigt jeder
Mitarbeiter, der die angebotenen Dienste nutzen will, daß die dargestellt Regelung zur
Kenntnis genommen wurde und bei Benutzung der Kommunikationsdienste angewendet
wird. Jede Mißachtung und Nichteinhaltung der Regelungen gefährdet nicht nur die
lokalen Daten, sondern es wird dadurch die Sicherheit aller Daten im Unternehmensnetz
und das Netz als Ganzes gefährdet.
Beschreibung der angebotenen Dienste
Von den im Internet möglichen Diensten werden über den zentralen Internetzugang nur
die folgenden bereitgestellt. Die dafür notwendigen Programme werden von den jeweiligen
IP-Betreuern installiert.
Die meisten Informationen im Internet lassen sich über sogenannte URLs (Uniform Resource Locators) ansprechen, Adressen, die das Protokoll und den genauen Ort der Information
spezifizieren. Die URL http://www.dfn.de/ bedeutet also, daß HTTP (HyperText Transfer Protocol) benutzt werden soll und die Informationen auf dem Rechner mit dem Namen
www in der Domain dfn (Deutsches Forschungsnetz) in Deutschland (de) liegen.
Der Großteil der Dienste belastet das Internet und den Firewall. Deshalb sollte der Umgang mit den Programmen lokal geübt werden. Hilfestellungen hierfür erhalten Sie bei
Ihrem IT-Betreuer.
• WWW (World Wide Web): Mit Hilfe sogenannter Browser können Daten weltweit von WWW-Servern geholt werden. Hierbei handelt es sich um Texte, Bilder,
Audiodateien oder Programme. Die Daten verweisen durch Links (besonders hervorgehobener Text) auf andere Daten, so daß z.B. durch einen Mausklick die Bedeutung
eines Wortes angezeigt werden kann. Diese zusätzlichen Informationen können auf
völlig unabhängigen Rechnern liegen.
• FTP: Das File Transfer Protocol bietet die Möglichkeit, schnell größere Datenmengen zu übertragen. Ein häufiger Anwendungsfall ist das Abholen von Daten
Praktikum IT-Sicherheit
323
von frei zugänglichen FTP-Servern mit Hilfe einer Gastkennung. Hierbei müssen
als Benutzername z.B. anonymous und als Passwort die eigene E-Mailadresse
(z.B. [email protected]) eingegeben werden. Nach erfolgreicher Authentisierung
können die gewünschten FTP-Befehle eingegeben werden. Bei größeren FTP-Servern
empfiehlt es sich, zunächst ein Inhaltsverzeichnis zu laden und nach dem richtigen
Pfad zu suchen (meist mit dem Befehlt ls -lR möglich).
• Gopher: Bei Gopher handelt es sich um einen Internetdienst, der es dem Nutzer
ermöglicht, Dateien und Server im Internet ausfindig zu machen. Dies ist mit Hilfe
verschiedener Gopher-Server möglich, auf denen Informationen über Adressen, Datenbestände oder andere Informarionen zu Internetrechnern abrufbereit vorliegen.
Neben diesen Informationen ist es aber auch möglich, Dateien abzuholen.
• E-Mail: Dieser Dienst ermöglicht den Austausch von Nachrichten zwischen zwei oder
mehreren Personen und entspricht einer herkömmlichen Postkarte. Im Internet wird
das Protokoll SMTP verwendet.
• Internetnews: Hierbei handelt es sich um Diskussionsforen, die sich mit den unterschiedlichsten Themen beschäftigen. Interessant für die Arbeit im Unternehmen
dürften vor allem wissenschaftliche Foren sein und Themen, die sich mit Sicherheit
in der IT beschäftigen. Im folgenden sind einige Hinweise aufgeführt, die Verhaltensweisen bzw. Umgangsformen für die Nutzung aufzeigen:
1. Es sollte beachtet werden, daß ein Newsartikel nach sehr kurzer Zeit von sehr
vielen Menschen gelesen werden kann. Es müssen also mögliche kulturelle, politische oder andere Gegebenheiten in anderen Ländern berücksichtigt werden.
2. Bei Diskussionen ist besondere Zurückhaltung geboten, da der Absender
[email protected] in jeder versandten Nachricht enthalten ist. Von Diskussionen
über politisch umstrittene Themen ist daher abzusehen.
3. Für Tests gibt es eigene Newsgruppen, also keine Newsartikel zu Testzwecken
an andere Newsgruppen schicken.
4. Eine Newsgruppe sollte erst einige Zeit gelesen werden, bevor ein Artikel an die
Gruppe geschickt wird.
5. Ein Artikel sollte nicht an zu viele verschiedene Newsgruppen gleichzeitig geschickt werden.
6. Eine Einschränkung auf eine kleine Anzahl von Newsgruppen, die gelesen und
in denen diskutiert wird, erscheint sinnvoll.
7. Es sollten keine Fragen in einer Newsgruppe gestellt werden, bevor nicht alle
anderen Informationsquellen ausgeschöpft worden sind. Dies sind z.B. Listen
von FAQs (Frequently Asked Questions) oder Manuals.
8. Wenn sich die anderen Teilnehmer an einer Newsgruppe von Nachricht gestört
fühlen (z.B. durch eine Frage, die schon zehnmal beantwortet wurde, oder durch
Praktikum IT-Sicherheit
324
einen unstritenen Standpunkt), kann es zu sogenannten ’flames’ kommen. Dies
sind ironische oder sogar beleidigende Antworten auf Ihre Nachricht. Ignorieren
Sie dies, Sie erzeugen sonst nur noch mehr ’flames’.
Besondere Risiken bei der Nutzung der Internetdienste
Aus dem Anschluß des Unternehmensnetzes an das Internet resultiert eine Vielzahl von
Bedrohungen. Die wesentlichen sind:
• Der Verlust von Vertraulichkeit und Integrität der übertragenen Daten. Um dieser
Gefahr zu begegnen, können Daten signiert und gegebenenfalls verschlüsselt übertragen werden.
• Der Verlust von Vertraulichkeit und Integrität der lokalen Daten im Unternehmensnetz. Hier bietet der Einsatz eines Firewalls ein gewisses Maß an Sicherheit.
• Verlust von Vertraulichkeit und Integrität der lokalen Daten durch Schadprogramme, die in Form von aktiven Inhalten (AktiveX, Java, usw.) als Anhänge von E-Mails
oder innerhalb von Webseiten geladen werden. Bei Verwendung von Plug-Ins kann
schon das Betrachten einzelner Seiten im WWW zur automatischen Ausführung von
Programmen führen, ohne daß diese auf ihre Ungefährlichkeit hin untersucht worden wären. Um diese Gefahr zu verringern, sollten alle Sicherheitseinstellungen bei
den verwendeten Browsern und E-Mailprogrammen eingeschaltet werden. Generell
obliegt dem Mitarbeiter selbst die Verantwortung für die Nutzung und Kontrolle auf
mögliche Schadfunktionen der empfangenen Daten. Im Zweifelsfall sollten die Daten
dem zuständigen IT-Betreuer übergeben werden.
• der Verlust der Verfügbarkeit des Zugangs oder einzelner Dienste (hohe Netzlast
durch absichtliches Senden vieler E-Mails, Ausfall externer Kommunikationseinrichtungen). Dieser Gefährdung kann vorbeugend nicht begegnet werden.
Voraussetzungen und allgemeine Regeln für die Benutzung
Vor der Feigabe und Benutzung der Dienste ist die fachliche Notwendigkeit durch den Vorgesetzen schriftlich zu bestätigen. Es werden jeweils nur die Dienste freigeschaltet, die für
die Erledigung der dienstlichen Aufgaben notwendig sind. Dienste, für die keine dienstliche
Notwendigkeit mehr besteht, müssen umgehend bekanntgegeben und abgeschaltet werden.
Die Nutzung der beschriebenen Dienste erfolgt ausschließlich zu dienstlichen Zwecken.
• Der Zugang zum Internet ist nur während der Dienstzeit möglich.
• Der Zugang darf nur von Arbeitsplätzen innerhalb des Unternehmens aus benutzt
werden.
Praktikum IT-Sicherheit
325
Die Installation, die fachliche Betreuung beim Benutzer und die Administration des zentralen Internetzugangs erfolgt durch die zuständigen Administratoren bzw. die IT-Betreuer.
Es sind nur die installierten Programme in der vorhandenen Installation einzusetzen.
Der Benutzer prüft eigenverantwortlich, ob die aus den öffentlichen Netzen gewonnenen
Informationen frei von Viren oder anderen Schadprogrammen sind, im Zweifel muß der
IT-Betreuer Hilfestellung leisten.
In den öffentlichen Netzen, speziell im Internet, zur Verfügung gestellte Software, insbesondere Shareware, Freeware oder Public Domain Software, darf grundsätzlich nur nach
Genehmigung durch den zuständigen IT-Betreuer installiert werden.
Grundsätzlich ist beim Austausch von Informationen kenntlich zu machen, ob es sich um
die persönlich Meinung des Absenders handelt oder ob die Äußerungen die Position des
Unternehmens wiederspiegeln. Dazu ist eine spezielle Signatur zu verwenden.
Jeder Mitarbeiter, der den Zugang nutzen möchte, muß dafür Sorge tragen, daß auf seinem
Rechner alle Maßnahmen des IT-Grundschutzhandbuches des BSI eingehalten werden, die
zur Sicherung seines Anschlußes beitragen.
Sicherheitsrelevante Ereignisse
Der Schutz von Vertraulichkeit und Integrität der Daten im lokalen Unternehmensnetzwerk oder auf einem der angeschlossenen Rechner hat oberste Priorität. Die ständige
Verfügbarkeit des Zugangs kann deshalb nicht gewährleistet werden. Bei Angriffsversuchen
kann es notwendig sein, den Zugang ohne vorherige Ankündigung und ohne Rücksicht
auf laufende Benutzertätigkeiten abzuschalten. Des weiteren können Wartungs- und
Administrationsarbeiten auch zu einer längeren Abschaltung führen.
Bei Vorfällen auf lokalen Rechnern dürfen die Anwender keine eigenen Aufklärungsversuche
oder ähnliches (z.B. Beseitigung von Computerviren) unternehmen, da dadurch wertvolle
Spuren verwischt werden können. Vielmehr muß umgehend der zuständige IT-Betreuer
benachrichtigt werden.
Sanktionen
Benutzer, die Sicherheitsverstöße begehen, ohne ersichtlichen Grund hohe Kosten verursachen, der Firma durch ihre Aktionen schaden oder andere Verstöße gegen diese
Benutzerordnung begehen, können vom Administrator gesperrt werden.
Protokollierung
Es werden folgende Daten, die für die Benutzerverwaltung, Administration, Erkennung und
Abwehr von mißbräuchlicher Nutzung oder von Angriffen notwendig sind, protokolliert und
ausgewertet:
Praktikum IT-Sicherheit
326
• IP-Adressen der Rechner
• aufgerufene URLs
• angesprochene E-Mailserver und Empfängeradressen
• Datum und Uhrzeit der Aktionen
Die Daten werden elektronisch gespeichert und aus administrativen Gründen vom Revisor
sowie aus sicherheitstechnischen Gründen vom Administrator kontrolliert. Stichprobenartige Kontrollen durch das Management sind ebenfalls vorgesehen. Die Daten werden maximal
drei Monate gespeichert.
Die anfallenden Daten werden nicht zu Verhaltens- und/oder Leistungskontrollen verwendet.