Access Control Listen, Firewalls

Werbung
Client/Server-Systeme
Prof. Dr.-Ing. Wilhelm G. Spruth
WS 2003/04
Teil 6
Firewalls
css 0633 ww6
wgs 01-98
SSL, PGP, S-Mime
Sender
Empfänger
___________________________________________________
1.
Nachricht
2.
Session Key
3
Nachricht
4.
Public Key
5
Nachricht
1. Sender erstellt Nachricht
2. Sender generiert Session Key
(symmetrisch, DES, IDEA, RC4, AES Algorithmus)
3. Sender holt Public Key von Empfänger
(asymetrisch, RSA Algorithmus)
4. Sender verschlüsselt Session Key mit dem Public Key
5. Nachricht wird mit dem Session Key verschlüsselt
cs 0651 ww6
wgs 12-03
Secure Socket Layer - SSL
Schicht
5-7
Anwendungen
Socket Schnittst.
4
3
2
1
Intranet
Internet
An Stelle der regulären Socket Schnittstelle wird die sehr
ähnliche SSL Schnittstelle eingesetzt. SSL bewirkt
zuätzlich zur normalen Socket Funktionalität eine
Verschlüssselung beim Senden und eine Entschlüsselung
beim Empfangen von Nachrichten.
css06117 ww6
wgs 01-98
SSL Protocol: Handshaking für eine SSL Sitzung
Das SSL Protokoll liefert Verbindungssicherheit über unsichere
Kommunikationswege. Es hat die folgenden Merkmale:
• Datenverschlüsselung. Die Verbindung kann durch Verschlüsseln
der zwischen Client und Server auszutauschenden Daten sicher
gemacht werden. Dies ermöglicht den sicheren Transfer von
privater Information wie Kreditkartennummern.
• Kommunikationsintegrität. Die Verbindung ist zuverlässig. Der
Nachrichtentransport schließt einen Nachrichtenintegritätsprüfung ein, die auf einer sicheren Hashfunktion
beruht.
• Authentifizierung. Der Client kann den Server authentifizieren,
und ein authentifizierter Server kann den Clienten
authentifizieren. Damit wird sichergestellt, daß Information nur
zwischen den gewünschten Partnern ausgetauscht wird. Der
Authentifizierungmechanismus basiert auf dem Austausch von
digitalen Zertifikaten (X.509v3 Zertifikate).
cs 0647 ww6
wgs 11-00
Web Server Application Code
Secure Socket Layer
Public key
Cryptographic
functions
for user
authentification
Symmetric
encryption
to keep data
confidential
Hashing
algorithms
to ensure
message
integrity
reliable communication protocol
e.g. TCP/IP
Secure Socket Layer Stack und Componenten
cs 0634 x ww6
wgs 11-99
SSL Protokoll
Generisches Protokoll, ursprünglich von Netscape für den
Browser entwickelt. Von den meisten Web Servern
unterstützt.
Stream Protokoll:
Handshake eröffnet Verbindung
verschlüsselter Datenaustausch (opaque Data Mode)
Handshake schließt Verbindung
Beim Start einer Verbindung tauschen Klient und Server
„Hello“ Nachrichten aus. Einigung auf:
Version des SSL Protokolls
Definition der Verschlüsselungsalgorithmen
Austausch der Schlüssel
Datenkompressionsparameter
Daten werden in verschlüsselten Blöcken ausgetauscht;
jeder Block wird durch eine verschlüsselte Prüfsumme
verifiziert.
4 Schlüssel, je 1 Paar für Klient- Server und Server-Klient
Kommunikation.
Unterschiedliche Verschlüsselungsalgorithmen können
eingesetzt werden, darunter DES und RC4.
Klient und Server können X.509 Certificate anfordern.
Vorgesehen ist die SSL integration in Winsock 2.0.
Transparent für existierende Winsock Anwendungen.
cs0536 ww6
wgs 09-98
Leistungsabfall beim einsatz von SSL
Krypto-Koprozessoren
es 1312 ww6
wgs 11-00
PGP - Pretty Good Privacy
Phil Zimmermann, 1991
PGP ist ein über das Internet frei verfügbares Software Paket
mit den folgenden Funktionen:
Verschlüsselung von Dateien und von Electronic Mail
Authentifizierung
Digitale Unterschrift
Verwendet unterschiedliche Verschlüsselungsalgorithmen:
IDEA ( 128 Bit privater Schlüssel, entwickelt in Zürich)
RSA
cs0505 ww6
wgs 05-97
Pretty Good Privacy
Sender
Empfänger
___________________________________________________
1.
Nachricht
2.
Session Key
3
Nachricht
4.
Public Key
5
Nachricht
1. Sender erstellt Nachricht
2. Sender generiert Session Key
(symmetrisch, IDEA Algorithmus)
3. Nachricht wird mit dem Session Key verschlüsselt
4. Sender holt Public Key von Empfänger
(asymetrisch, RSA Algorithmus)
5. Sender verschlüsselt Session Key mit dem Public Key
Literatur: Simson Garfinkel: „PGP“. O´Reilly, 1995
cs 0605 ww6
wgs 01-98
Pretty Good Privacy
Phil Zimmermann
Die Nachrischt wird mit dem symmetrischen Schlüssel
verschlüsselt.
Der symmetrische Schlüssel wird mit dem asymmetrischen
Schlüssel verschlüsselt.
Vorgehensweise:
1. Sender erstellt eine Nachricht
2. Sender generiert einen „Session Key“. Dies ist ein
symmetrischer Schlüssel, der mit Hilfe des IDEA
Algorithmus erzeugt wird.
3. Die Nachricht wird mit Hilfe des Session Keys
verschlüsselt.
4. Der Sender besorgt sich vom Empfänger den öffentlichen
Schlüssel des asymetrischen Schlüssels, den der
Empfänger benutzt.
5. Mit dem öffentlichen Schlüssel wird der Session Key
verschlüsselt.
6. Nachricht und Session Key werden an den Empfänger
übertragen.
7. Der Empfänger entschlüsselt den Session Key mit Hilfe
seines (nur ihm bekannten) privaten Schlüssels.
8. Der Empfänger entschlüsselt die Nachricht mit Hilfe des
(symmetrischen) Session Keys.
cs 0602 ww6
wgs 05-97
-----BEGIN PGP PUBLIC KEY BLOCK----Version: PGPfreeware 6.5.3 for non-commercial use
<http://www.pgp.com>
mQGiBDo/QQgRBAD9P4aduG/c4uCBjDLvWqIfbVGZExNzK5Ajoce9
X+R5ZP0WhpLuWDiS0hogyncJojmELvxggUhqGDavuCwkFdd1P1Z
bE/OsMqjnsZd49I9fePMP69A6E1VjW+OA/EjP/4nn9WUZzc4bAGob5
V+pThmR2OFlqllRvpbHlVSv4mJSTwCg/2wFSZukU8YOOPBHm0wh
4DplOikD/3FuxAR/EUOlA0a6ABZja2mqMLcO0X9N2zrDNQoD3U+cR
+R9BcAvftuEeIPvYT6nWzMeUZCOI++cF6rjpsjYWwngaYMoVGojLht
0Q0YHeZPJzq37GFminiwnEqbOlk9jodx4ILJWcirl9ylY+AWuccdpVG
cyfGXJDvy/EFWyvZBKA/9dzsh0CRB3gLvqv2M0n7uKUCuXraxB+fie
0LV8QYWR2ZHux8KDtbakJ0wGu/05lsTzjVphPwVfecSRIJjrmJ9VY1
DxdFmr59wCc+XcPH9zSUetmY+0LPztUWEw4lj2nYG5kFlSc3YpoXR
mxBRr+xldu7bp6fw0u/uvkKuwoIKtXLQpVGhpZXJyeSBGYWxpc3Nh
cmQgPGZhbGlzc2FyZEBmcmVlc3VyZi5mcj6JAE4EEBECAA4FAjo/Q
QgECwEDAgIZAQAKCRDWwjpFn+mk3ui0AJ4uFoNagSQ/780r3gfhz
ExzKQkSIACgwdlrFpXaH78Qpbr87v5Bpr50Gj+5Ag0EOj9BCBAIAPZ
CV7cIfwgXcqK61qlC8wXo+VMROU+28W65Szgg2gGnVqMU6Y9AVf
PQB8bLQ6mUrfdMZIZJ+AyDvWXpF9Sh01D49Vlf3HZSTz09jdvOmeF
XklnN/biudE/F/Ha8g8VHMGHOfMlm/xX5u/2RXscBqtNbno2gpXI61Br
wv0YAWCvl9Ij9WE5J280gtJ3kkQc2azNsOA1FHQ98iLMcfFstjvbzyS
PAQ/ClWxiNjrtVjLhdONM0/XwXV0OjHRhs3jMhLLUq/zzhsSlAGBGNf
ISnCnLWhsQDGcgHKXrKlQzZlp+r0ApQmwJG0wg9ZqRdQZ+cfL2JS
yIZJrqrol7DVekyCzsAAgIH/2wk3/E/98/lGLhggvIlavfTSbyVfOFZLjxqw
xOfEYhESWrrB3oktSMHDLJ1kbpzIt93dDpEwO3wfDuTZV0Y1dIZzW
zLE4HOrf58KcewLnB3jlSpUYlMtTTdr2i8frhSYVzbzKU3vvKQFCZ65z
zQzUMFxhz8ypROTAlKD0TCl8ZvWAf1+c1Pek50DgEJt4YIVuI745pD
HljNvuODY9/jC+bErcWfNRHFZA9BWBcSAsHR++wTy/pNhyloI/Xp0E
aJL0Jpui+KTrzXhWCHy5RPo220VeyghDTtGB2dqUnzT5/e8WAX243
OGUSr4JEuWY6oWi/2CNais5j2rvgOTM0DREOJAEYEGBECAAYFAj
o/QQgACgkQ1sI6RZ/ppN43VACeIuwJUShWfq7TtlEhRd3Gsl9AssQA
njdDcZW4kv4KOspv4eugIC7vEMCW
=dtwm
-----END PGP PUBLIC KEY BLOCK-----
cs 0648 ww6
wgs 11-00
SSH - Secure Shell
de facto Standard für remote computer login.
Verhindert Diebstahl von Passworten wenn diese im Internet
übertragen werden.
Typische Anwendungen:
• remote access auf Computer Ressourcen über das Internet,
• secure file transfer
• remote system administration.
Suite von drei Utilities - slogin, ssh, and scp - (Sichere Versionen
der UNIX Utilities rlogin, rsh, and rcp). Ersatz für telnet.
WinSCP ist ein Freeware SCP (Secure CoPy) Programm für
Windows.
SSH benutzt RSA für die Server Authentifizierung. Mehrere
Optionen für die Client Authentifizierung, darunter Kerberos.
IDEA ist das Default Verfahrung für die Verschlüsselung.
Alternativen sind DES, 3DES, und Blowfish.
Klient generiert symmetrischen Schlüssel und sendet ihn zum
Server verschschlüsselt mit dessen öffentlchen Schlüssel.
Die Verschlüsselung started unmittelbar nach der Server
Authentifizierung, aber vor der Client Authentifizierung. Passwort
des Benutzers wird über einen sicheren Kanal übertragen.
cs 0677 ww6
wgs 12-03
Externe Anbindung
Anschluß von
kleineren Außenstellen über Wähl - ISDN Leitungen
Heimarbeitsplätze, PPP Protokoll
Kombination von Verschlüsselung und Packet Filter:
IP Pakete werden verschlüsselt über das unsichere Netz
übertragen und vom Packet Filter Firewall entschlüsselt.
Durch Verschüsselung wird ein kryptographisches
„Virtual Private Network“ (VPN) in einem unsicheren Netz,
z.B. über das Internet, gebildet.
cs 0612 ww6
wgs 11-98
Ver/Entschlüsselung
Ver/Entschlüsselung
Betriebsgelände A
Betriebsgelände B
Internet
Virtual Private Network (VPN)
Die Intranets auf 2 Betriebsgeländen werden über das (unsichere)
Internet miteinander verbunden.
Basis ist TCP/IP
Die Abschirmung erfolgt über „Tunneling“ (Verpacken aller Pakete)
sowie Verschlüsselung der IP-Pakete
IPsec ist der Standard für die Verschlüsselung
IKE ist der Standard für den Schlüsselaustausch mittels öffentlicher
Schlüssel
cs0619 ww6
wgs 09-98
Sicherheitsprotokoll IPsec
Transport Mode vs Tunnel Mode
TCP Kopf
IP Kopf
IP Kopf
TCP Daten
IP Daten
verschlüsselte Daten
IPsec Protokoll Authentication Header (AH)
AH
verschlüsselte Daten
ursprünglicher IP Kopf (verschlüsselt)
IPsec Kopf, dupliziert unkritische Felder des IP Kopfes
Probleme
„Layer-4-Switching“ ermöglicht Prioritätensteuerung, indem z.B. FTP
(Port Nr. 20) mit höherer Priorität weitergegeben wird als E-Mail (Port
Nr. 25). Die Port Nr. steht im TCP Kopf und kann, da verschlüsselt,
nicht genutzt werden.
Der zusätzliche Ipsec Kopf vergrößert die Paketlänge. Die
Überschreitung einer MTU (Maximum Transfer Unit) Grenze erzeugt
zusätzliche Fragmentierung.
cs0620 ww6
wgs 09-98
cs 0678 ww6
wgs 12-03
Point-Point Tunneling Protocol (PPTP)
Virtual Private Network, erlaubt getunnelte Point-to-Point Protocol
(PPP) Verbindungen über ein IP Nettwerk. Benutzer können sich über
Telefon und das Internet in ein Corporate Network einwählen (Road
Warrior Protokoll). In RFC2637 beschrieben.
Wurde von Microsoft mit einer kleinen Gruppe anderer Unternehmen
entwickelt.
PPTP ist ein OSI Schicht Schicht 2 Protokoll, kann damit auch andere
Schicht 3 Protokolle nutzen.
IETF entwickelt derzeitig L2TP Standard als Nachfolger für PPTP
cs0614 ww6
wgs 12-03
Security Technology Design Verification
Example: IPSec
Design Start 1992; public debate on all security
technologies condidered
• Standard published 1995
• (Minor) design flaw detected in 1999
• Work continues in public.
Example: Microsoft Point-to-Point Tunneling Protocoll (PPTP).
Not published.
• Flawed proprietory authentication protocoll
• Flawed proprietory hash function
• Flawed proprietory key-generation algorithm
„No single company (outside the government) has the financial
ressources necessary to evaluate a new cryptographic algorithm,
or shake the design flaws out of a complex protocol.“
B. Schneier: „Cryptography, the Importance of not being different“. IEEE Computer,
March 1999.
cs 0547u ww6
wgs 09-99
Brechen von Schlüsseln:
Side Channel Attacks
Nutzung von Out-of-Band Information
Information über Zeitabläufe, elektromagnetische Ausstrahlung,
Stromverbrauch auswerten
Während des Betriebs gezielt Fehler verursachen, Ergebnisse
analysieren
Zufallszahlengenerator für das Erzeugen von Schlüsseln
Sicherheit ist kein Produkt, sondern ein Prozess
cs 0552 ww6
wgs 11-00
Zugriffsberechtigung
Eine Vielzahl von Subjekten hat unterschiedliche
Zugriffsberechtigungen (z.B. Read, Write, Execute) auf eine
Vielzahl unterschiedlicher Objekte (Dateien, Directories,
ausführbare Programme, usw.).
Für jedes Paar {Prozessi, Objektj} kann es
unterschiedliche Zugriffsberechtigung Aij geben.
eine
A11
1
1
A12
2
2
A13
3
3
A14
4
4
A15
5
Subjekte
(Klienten, Prozesse)
cs 0626u ww6
5
Objekte
Dateien, Programme
wgs 05-99
Objekte, z.B. Dateien, Directories
⋅⋅⋅
0
1
2
n
0
A0,0
A0,1
A0,2
1
A1,0
A1,n
Subjekte
2
A2,0
A2,n
z.B.
3
Prozesse
.
.
.
.
m
A0,n
Capability
List
Am,0
Am,1
Am,2
Am,n
ACL, Access Control List
Zugriffskontrolliste
Zugriffsmatrix
vs1507 ww6
wgs 05-96
ACL
Datei 1
Datei 2
Datei 3
Meier
r/w
x
-
Müller
-
-
r/w
Capabilities
Schulze
r
r
r
Bauer
r
r/w
-
Access Control Lists und Capabilities
cs 0627u ww6
wgs 05-99
Access Control List (ACL)
Ist einem bestimmten Objekt (Datei, Directory,
ausführbares Programm) zugeordnet. Enthält eine Liste der
Prozesse, welche berechtigt sind, Lese- Schreib-, Execute-,
.... Zugriffe auf dieses Objekt durchzuführen. Je ein Eintrag
{ Process Identifikation, Art der Berechtigung }
für jeden Prozess.
Capability List
Einem bestimmten Prozess zugeordnet. Enthält eine Liste
der Objekte, zu denen dieser Prozess Zugriffsrechte hat
(Lese-, Schreib-, Execute-, ... ).Je ein Eintrag
{ Objekt Identifikation, Art der Berechtigung }
für jedes Objekt.
ACLs werden typischerweise mit dem Objekt
abgespeichert. Bei einem nicht verteilten System werden
Capabilities in der Regel vom Kernel des Betriebssystems
verwaltet.
vs1118
ww
wgs 06 -94
Benutzer 2
x
x
x
x
Benutzer 4
x
x
x x x
x x
x
x
x
Benutzer 1
x
x
x
Benutzer 3
Group
x
x
x
x
Benutzer 5
others
Zusammenfassung von Prozessen in Klassen, und
Verwendung vereinfachter ACL ( r, w, x, .. ) ,
aufgeteilt nach "owner", "group", und "others".
vs1508 ww6
wgs 05 -96
RACF
RACF benutzt das Konzept von zu schützenden„Resourcen“.
Resourcen werden in „Klassen“ aufgeteilt. Beispiele für Klassen
sind:
•
•
•
•
•
Benutzer
Dateien
CICS Transaktionen
Datenbank Rechte
Terminals
Jedem Element einer Klasse wird ein „Profil“ zugeordnet. Das
Profil besagt, welche sicherheitsrelevanten Berechtigingen
vorhanden sind. Die Profile werden in einer Systemdatenbank, der
RACF Profildatenbank, abgespeichert.
Beispiel: Ein interaktiver Benutzer logged sich ein. Der Login
Prozess überprüft, ob die Login Berechtigung besteht. Er überprüft
weiterhin, ob das Terminal, von dem der Benutzer sich einwählt,
eine Zugangsberechtigung hat. Hierzu ruft der Login Prozess RACF
auf, welches die entsprechenden Profile in seiner Datenbank
konsultiert.
Anschließend ruft der Benutzer ein Programm auf, welches auf eine
Datei zugreift. Die OPEN Routine ruft RACF auf, welches das Profil
der Datei bezüglich der Zugriffsrechte befragt.
Benutzer Profile enthalten „Capabilities“. Datei Profile enthalten
„Access Control Listen“.
Zugriffsrechte können von spezifischen granularen Bedingungen
abhängig gemacht werden; z.B. der Zugriff auf eine Datenbank
kann von der Nutzung eines spezifischen Anwendungsprogramms
abhängig gemacht werden, oder auf bestimmte Tageszeiten
begrenzt sein.
Problem: Wartung der Profile.
cs 0653 ww6
wgs 10-01
OS/390 Security Server
RACF (Resource Access Control Facility) bewirkt
•
•
•
•
•
Identifizierung und Authentifizierung von Benutzern
Benutzer Authorisierung für Zugriff auf geschützte Resourcen
Logging und Berichte über unauthorisierte Zugriffe
Überwacht die Art, wie auf Resourcen zugegriffen wird
Anwendungen können RACF Macros benutzen
Literatur : IBM GC28-1912-06
es 0426 ww6
wgs 08-00
RACF
Datenbank
Resource
Profile
5
1
Resource
Manager
z.B. TSO
Resource
Manager
z.B. CICS
RACF
(oder
ASF)
2
RACROUTE
RACROUTE
4
3
SAF
OS/390 Kernel
RACF Arbeitsweise
1. Ein Benutzer greift auf eine Resource über einen Resource
Manager zu, z.B. TSO
2. Der Resource Manager benutzt einen System Call „RACROUTE“
um auf die Security Access Facility (SAF) des OS/390 Kernels
zuzugreifen. present. SAF ist eine zentrale Anlaufstelle für alle
sicherheitsrelevanten Aufgaben.
3. SAF ruft ein Zugriffskontrolle Subsystem auf. Dies ist
normalerweise RACF. (Eine Alternative ist die Access Control
Facility der Fa. Computer Associates, die ähnlich arbeitet).
4. RACF greift auf einen „Profile“ Datensatz in seiner eigenen RACF
Datenbank zu und überprüft die Zugangsberechtigungen
5. Das Ergebnis teilt RACF dem anfragenden Resource Manager
mit.
es0436 ww6
wgs 09-01
RACF
Remote Access Control Facility
OS/390 spezifiziert kritische Events innerhalb des
Betriebssystems als sicherheitssensitive Verzweigungen.
Die OS/390 Security Authorisation Facility (SAF) bewirkt an
diesen Stellen den Aufruf einer externen Security Engine.
In OS/390 ist dies häufig RACF; alternative OS/390 Security
Engines sind ACF/2 oder TopSecret. Neben einer Kontrolle
von Events (ehe sie wirksam werden) wird ein umfassender
Audit Trail erzeugt.
Zugriffsrechte können von spezifischen granularen
Bedingungen abhängig gemacht werden; z.B. der Zugriff
auf eine Datenbank kann von der Nutzung eines
spezifischen Anwendungsprogramms abhängig gemacht
werden, oder auf bestimmte Tageszeiten begrenzt sein.
SAF übergibt der externen Security Engine die pertinente
Information. Die Security Engine kann dann auf der Basis
von Access Control List (ACL) Strukturen über die
Zugriffsrechte entscheiden.
Problem: Maintenance der ACL´s
css 0630 ww6
wgs 01-98
Sicheres Netz
z.B. LAN
sicherer Netzadapter
Firewall
nicht sicherer Netzadapter
Internet
Überwacht Nachrichtenfluss auf der Ebene der Netzwerkschicht
(Packet Filtering Firewall) oder der Ebene der Anwendungsschicht
(Application Level Firewall)
cs 0661 ww6
wgs 11-02
cs 0637 ww6
wgs 09-00
Vorraussetzungen für einen Firewall
Rechner
Hardware und Software müssen klar und nachvollziehbar
aufgebaut sein.
Jedes Programm enthält potentielle Sicherheitslücken.
Nur solche Programme sollten auf dem Firewall Rechner
laufen, die zur Erbringung der Firewall Funktionalität
unbedingt erforderlich sind.
Unnötige oder überflüssige Prozesse im Hintergrund sind
häufig die Ursache für Sicherheitslücken.
Literatur:
W. Sonnenreich, T. Yates:“ Building Linux and OpenBSD Firewalls“.
Wiley, 2000.
W. Cheswick, S. Bellovin:“Firewalls und Sicherheit im Internet“.
Addison-Wesley, 1996.
N. Pohlmann: „Firewall-Systeme“. Datacom, 1997.
css 0615 ww6
wgs 01-98
cs 0638
wgs 09-00
Packet Filtering Firewall
Zugriff gestattet
Zugriff Verweigert
Firewall Rechner
Firewall ist gleichzeitig Schicht 3 Router. Firewall entscheidet auf
der Basis von Filter Regeln
IP Filter auf der Basis von
•
•
•
•
Quell- oder Zieladresse
Quell- oder Ziel- Port Nummer
Protokoll ( tcp, udp, icmp .... )
Richtung
Regeln werden von oben nach unten ausgewertet
• erste Übereinstimmung: angegebene Aktion durchführen
• keine Übereinstimmung: Paket ablehnen
cs 0662 ww6
wgs 11-02
Filter Rule Example:
Permit e-mail packets from the Internet to our Local Network if and
only if they are destined for the Mail Gateway machine
Local Area
Netzwerk
IP Adresse
220.0.0.1
Port
#2
Filtering Port
Router
#1
Internet
Our Filtering router must permit only following packets:
• coming from the Internet to port 25 on the Mail Gateway Machine;
• coming from the the Local Network and destined to any port 25.
Access Control Liste für Filtering Router Port Nr. 1
Eintrag
Source
IP Adr.
1
2
any
any
Source
Port
any
any
Destination
IP Adr.
220.0.0.1
any
Destination
Port
25
any
Action
permit
block
Access Control Liste für Filtering Router Port Nr. 2
Eintrag
Source
IP Adr.
Source
Port
Destination
IP Adr.
1
2
220.0.0.1
any
any
any
any
any
cs 0658 ww6
Destination
Port
25
any
Action
permit
block
wgs 09-01
Quelle
IP
Port
Adresse Nr.
erlaubt
erlaubt
Antwort
eigene
*
Ziel
Attribut Kommentar
IP
Port
Adresse Nr.
*
*
25
25
*
*
unser Paket
zu Ihrem
SNMP Port
ack
Ihre
darauf
erlaubt
*
*
*
blockiert
*
*
*
≥1024
*
Ziel ist eine
eigene, selbstgeschriebene
Anwendung
Default
Beispiel für eine Firewall Filtertabelle
Filtereinträge werden von oben nach unten abgetastet. Alles was
nicht explizit erlaubt ist, ist verboten. Port 25 ist der SNMP Port.
Port ≥1024 ist für private Anwendungen vorgesehen. Weitere
Möglichkeiten für Filter Regeln sind z.B. Einschränkung auf Uhrzeit
und Wochentag, Erlaubnis zum Verbindungsaufbau, u.s.w.
cs 0610u ww6
wgs 11-98
cs 0639
wgs 09-00
Umgang mit IP Fragmenten
Bei fragmentierten TCP Segmenten enthält nur das erste
Fragment den TCP Protokollkopf und damit die Port
Nummer.
Kein Problem für Angriffe von außen. Das erste Filter trägt
die Port Nr. und wird entsprechend gefiltert. Wird es
abgewiesen, bleibt das Paket unvollständig und wird
irgendwann verworfen.
Beim Informationsexport müssen Fragmente abgewieden
werden. Der Sender kann Fragmente ohne Portnummer
basteln und extern auf einem Rechner wieder
zusammensetzen.
css06116 ww6
wgs 01-98
Cs 0674 ww6
wgs 07-03
cs 0640
wgs 09-00
IP Forwarding
Router implementieren lediglich die Schichten 1 - 3
Rechner mit normalen Betriebssystemen können so
konfiguriert werden, daß sie gleichzeitig als Router dienen
können.
AIX550
Betriebssystem Variable „ipforwarding“ bestimmt, ob eine
Kernel Routine auf Schicht 3 ein Datagramm von einem
angeschlossenen Netz an ein andres weiterreicht.
css06113 ww6
wgs 01-98
Umgehung des Firewalls
Schicht
5-7
Firewall Software
4
3
IP Forwarding
2
1
Intranet
Internet
Lösung: IP Forwarding (und Source Routing) abstellen. Alle
Nachrichten werden von der Firewall Software analysiert.
css0614 ww6
wgs 01-98
Application Firewall
Proxy Server
Application Firewall Software, die Nachrichtenübertragung
auf der Anwendungsschicht (Schicht 7) nur nur für jeweils
einen spezifischen Dienst zuläßt, wird als „Proxy“
bezeichnet.
Für jeden Dienst muß auf dem Application Firewallrechner
ein eigener Proxy errichtet werden. Der Proxy überprüft für
jede Anwendung getrennt, ob der Zugriff erlaubt ist.
Aus der Sicht des Anwenders sieht es so aus als würde der
Klient direkt mit dem eigentlichen Server Prozeß
kommunizieren.
cs 0608 ww6
wgs 11-98
cs 0641
wgs 09-00
cs 0642
wgs 09-00
Demilitarzed Zone
DMZ
Überwachtes Grenznetz
Der äußere Firewall schützt das DMZ Netz. Er bestimmt,
wer aus dem Internet auf Rechner zugreifen darf, die an das
DMZ Netz angeschlossen sind.
Filter Regeln sind einfacher zu definieren.
Der äußere Firewall ist häufig als Router Firewall
implementiert.
An das DMZ Netz sind weniger kritische Server
angeschlossen. Die kritischen Server werden zusätzlich
durch den inneren Firewall geschützt. Dieser ist häufig als
Application Firewall implementiert.
Intranet
DMZ
Innerer
Firewall
Name
Server
css0621 ww6
Internet
Äußerer
Firewall
WEB
Server
wgs 01-98
DMZ Konfigurationen
Mehrere Alternativen:
1. Router Firewall - Router Firewall
Einfachere Definition der Filterregeln
2. Router Firewall - Application Firewall
Der Router Firewall stellt die Schnittstelle zum
unsichweren Netz dar
3. Router Firewall - Application Firewall - Router Firewall
Der Application Firewall wird duch einen Router
Firewall zusätzlich vom sicheren Netz aus geschützt
Geschachtelte Sicherheit
Unterschiedliche Betriebssysteme der einzelnen
Firewallrechner: Sicherheitslücken wirken sich nur auf ein
aktiven Firewall Rechner aus
cs 0611 ww6
wgs 11-98
Reservierte IP Adressen
Offizielle IP Adressen werden vom NIC oder DE-NIC
vergeben.
Möchte man mit nicht-offiziellen IP Adressen arbeiten, so
sind hierfür in RFC 1918 Adressen für private Adressen
reserviert:
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
Klasse A
Klasse B
Klasse C
(16 Netze)
(256 Netze)
Ein Application Firewall besitzt eine Adresse für das interne
Netz und eine weitere Adresse für das externe Netz. Die
interne Adresse kann eine RFC 1597 private Adresse sein.
Beispiel Volkswagen, R+V Versicherung:
Klasse C
Adresse
DMZ
10.0.0.0
Application
Firewall
Name
Server
css 0632 ww6
Internet
Router
Firewall
WWW
Server
wgs 12-97
cs 0663 ww6
wgs 01-03
Socks Server
This is a version of an application level firewall proxy server
SOCKS servers intercept and redirect all TCP/IP requests at the
firewall. It handles data to and from many types of applications
such as TELNET, FTP, and Gopher.
The sockd daemon provides users in a secure network access to
resources outside that network by directing data through the
firewall. To cross the firewall users must use client programs that
are designed especially to work with the sockd server. These
"SOCKS-ified" clients replace their normal TCP/IP counterparts. AIX
servers prvide for example:
•
•
rtelnet
rftp
in place of
in place of
telnet
ftp
The normal C library socket calls are replaced by SOCKS library
calls.
A TELNET connection for example works like this:
1. You start the rtelnet application to log into a remote host outside
the secure network.
2. The rtelnet sends that TELNET request to the SOCKS server
(sockd) in the application level firewall.
3. sockd checks the user's identity and, if correct, connects the
user to the requested remote host.
4. After establishing the connection, the SOCKS server acts as a
secure pipeline to the remote host. The TELNET user is unaware
of its existence.
To the user, this is only a one-step process.
The advantage of this concept is that the real TCP/IP application
(TELNET for example) runs on the client workstation, not in the
firewall. This saves processing in the application level firewall.
cs 0669
wgs 01-03
Herunterladen