|
Das Firewall Buch
Grundlagen, Aufbau und Betrieb sicherer Netzwerke mit Linux
Wolfgang Barth
SuSE press
EAN: 9783899900446 (ISBN: 3-89990-044-8)
576 Seiten, hardcover, 16 x 24cm, 2003
EUR 45,50 alle Angaben ohne Gewähr
|
|
Umschlagtext
Auf welchen Grundlagen ein Firewall basiert, wie er auf Basis von Linux und frei (kostenlos) erhältlichen Werkzeugen aufgebaut wird und wie man ihn zur effektiven Absicherung von Netzwerken richtig betreibt, zeigt dieses Buch.
In den ersten drei Kapiteln werden zunächst die grundlegenden Konzepte von Firewalls und effektive Sicherheitsstrategien vorgestellt. Im Anschluss geht es gleich in die Praxis über, indem Linux-KernelPaketfilterung anhand direkt nachvollziehbarer Beispiele beschrieben wird. Das nächste Kapitel widmet sich umfassend den Application Level Gateways, die sich mit Proxies realisieren lassen und einen unverzichtbaren Bestandteil von Firewalls bilden. Neu hinzugekommen in dieser Auflage ist eine Beschreibung des Proxy Squid und dessen effektive Filtermöglichkeiten mit SquidGuard. Daran schließt sich ein Überblick über die wichtigsten Internet-Dienste an. Dabei steht deren Zusammenspiel mit Firewalls im Mittelpunkt.
In den folgenden beiden Kapiteln werden konkrete Lösungsbeispiele aus der Praxis vorgestellt. In dieser Auflage geht es jetzt vom einfachen Fall eines direkt mit dem Internet verbundenen Rechners bis hin zur komplexen Lösung eines hochsicheren Firewall mit Dual Homed Bastion Hosts.
Einen Firewall zu implementieren ist ein bedeutender Schritt hin zu einer funktionierenden Sicherheitsinfrastruktur. Ihn zu betreiben, zu warten und zu überwachen, ist aber mindestens genauso wichtig. Anhand effektiver Werkzeuge zur Einbruchserkennung, Netzwerkanalyse und Portüberwachung wird im folgenden im Detail beschrieben, wie man die Gefahren im laufenden Betrieb minimiert.
Den Abschluss bildet eine umfassende Darstellung Virtueller Privater Netzwerke (VPN), die neu in dieser Auflage aufgenommen wurde. Im Detail wird gezeigt, wie IPsec unter Linux mit FreeS/WAN richtig angewendet wird.
Mit diesem Buch gelingt der erfolgreiche Aufbau von Firewalls, die Netzwerke sicher schützen. Darüber hinaus verhilft es auch zu einem tieferen Verständnis für das Thema Computer und Sicherheit.
Verlagsinfo
Hier lernen Sie die grundlegenden Konzepte und effektive Sicherheits-Strategien für den Betrieb einer Firewall kennen. Sie erfahren, wie Sie eine Firewall auf der Basis von Linux und frei erhältlichen Werkzeugen aufbauen und richtig betreiben. Neben den Grundlagen werden folgende Themen behandelt: Linux Kernel-Paketfilterung, Application Level Gateways, Einbruchserkennung, Netzwerkanalyse und Portüberwachung. Holen Sie sich mit diesem Buch das Rüstzeug für den erfolgreichen Aufbau und Betrieb einer Firewall unter Linux, mit der Sie Ihr Netzwerk effektiv schützen.
Inhaltsverzeichnis
1. Ziel dieses Buches 1
2. Wozu braucht man Firewalls? 5
2.1 Der Begriff "Firewall" 5
2.2 Was ein Firewall kann 6
2.3 ... und was ein Firewall nicht kann 7
2.4 Grundwerte der IT-Sicherheit 8
2.4.1 Vertraulichkeit 8
2.4.2 Verfügbarkeit 9
2.4.3 Integrität 10
2.5 Zusammenfassung 10
3. Security Policy 13
3.1 Security Policy und Firewalls 14
3.2 Gefährdungpotentiale 14
3.2.1 Externe, aktive Angriffe 15
3.2.2 Interne, aktive Angriffe 17
3.2.3 Autonome Einheiten 18
3.3 Sicherheitspolitik 21
3.3.1 Sicherheitsziele 21
3.4 Sicherheitskonzept 26
3.4.1 Organisatorisches 26
3.4.2 Infrastruktur 29
3.4.3 Einzelne Systeme 29
3.4.4 Netzwerke 31
3.5 Zusammenfassung 33
4. Grundlagen des Firewalldesigns 35
4.1 TCP/IP - Netzwerkprotokoll für das Internet 36
4.1.1 Das OSI-Referenzmodell 36
4.1.2 Historische Entwicklung 38
4.1.3 DoD-Protokollfamilie (TCP/IP) 39
4.1.4 Firewallsysteme und OSI-Ebenen 40
4.1.5 IP 40
4.1.6 TCP 42
4.1.7 UDP 46
4.1.8 ICMP 47
4.2 Paketfilterung 48
4.2.1 Statische Paketfilterung 49
4.2.2 Dynamische Paketfilterung 50
4.3 Proxy-Systeme 51
4.4 Firewallumgebungen 53
4.4.1 Entmilitarisierte Zone: das Grenznetz 53
4.4.2 Bastion Hosts 54
4.4.3 Dual Homed Hosts 56
4.5 Private IP-Adressen 57
4.5.1 Proxies 59
4.5.2 Network Address Translation/Masquerading 60
4.5.3 Transparente Proxies 61
4.6 Zusammenfassung 62
5. Paketfilterung und Network Address Translation 63
5.1 Kernel vorbereiten 64
5.2 Paketfilterung mit „iptables“ 66
5.2.1 Ablaufdiagramm des Linux-Kernelfilters 67
5.2.2 Grundoperationen für Filterregeln 68
5.2.3 Matching-Optionen für Filterregeln 69
5.2.4 Targets - Was soll die Filterregel bewirken? 78
5.2.5 Default Policy 85
5.2.6 Regelketten anzeigen, entleeren, überwachen 86
5.2.7 Weitere Variationen von Filterregeln 87
5.2.8 Filterregeln testen 89
5.2.9 Filterregeln sichern/restaurieren 89
5.3 Network Address Translation 90
5.3.1 Einsatz von NAT: Schema 91
5.3.2 Source-NAT 92
5.3.3 Destination-NAT 93
5.4 Zusammenfassung 95
6. Proxies 97
6.1 HTTP-Proxy: Squid 102
6.1.1 Basis-Konfiguration 104
6.1.2 Inbetriebnahme 107
6.1.3 Access Control Lists 111
6.1.4 Authentifikation 114
6.1.5 Transparenter Proxy 116
6.1.6 Redirector 117
6.2 Filterung für Squid: SquidGuard 119
6.2.1 Konfiguration von SquidGuard 121
6.2.2 Anpassung von Squid 128
6.2.3 Pflege der Sperrlisten 129
6.3 SuSE ProxySuite: "ftp-proxy" 130
6.3.1 Inbound-Connections 131
6.3.2 Startarten für den "ftp-proxy" 139
6.3.3 Outbound-Connections 140
6.3.4 Transparenter FTP-Proxy 140
6.4 SOCKS 141
6.4.1 SOCKS V4 im Vergleich zu SOCKS V5 142
6.4.2 Implementierungen von SOCKS 143
6.4.3 Dante SOCKS-Server 144
6.4.4 Clients mit SOCKS (Socksifying) 151
6.5 TIS Firewall Toolkit 155
6.5.1 Bestandteile des TIS-FWTK 156
6.6 Ausblick 157
7. Internetdienste und Firewalls 159
7.1 Häufig benutzte Internetdienste 160
7.1.1 E-Mail: SMTP/POP3 160
7.1.2 Domain Name Service (DNS) 168
7.1.3 Terminal-Session: Telnet 176
7.1.4 r-Kommandos 178
7.1.5 Secure Shell: sicherer Ersatz für "rsh/telnet" 181
7.1.6 File Transfer Protocol (FTP) 187
7.1.7 World Wide Web: HTTP 197
7.1.8 HTTP via SSL/TLS 206
7.1.9 "ping" und weitere ICMP-Messages 209
7.1.10 Usenet-News: NNTP 214
7.1.11 Zeitsynchronisierung im Netzwerk: NTP 218
7.1.12 Finger 220
7.1.13 RPC-Kandidaten: NFS, NIS/YP 220
7.1.14 X Window System 222
7.2 Internetdienste starten 223
7.2.1 Start als permanenter Daemon 223
7.2.2 Start über den "inetd"-Daemon 225
7.3 Internetdienste abschalten 226
7.3.1 Start über "/etc/init.d" 226
7.3.2 Start über "inetd" 227
7.4 Internetdienste kontrollieren 227
7.4.1 Der "tcpwrapper" 228
8. Firewalls bauen - einzelner Rechner 231
8.1 Absicherung eines einzelnen Rechners 231
8.1.1 Benutzerverwaltung/Login 232
8.1.2 Unnötige Dienste abschalten 234
8.1.3 Sichere Konfiguration verbleibender Dienste 236
8.1.4 Kontrolle über offene Ports 237
8.2 Einzelner Rechner mit direktem Internetzugang 239
8.2.1 Überflüssige Dienste abschalten 240
8.2.2 Paketfilterung mit fester IP-Adresse 243
8.2.3 Skript starten und gesetzte Regeln protokollieren 260
8.2.4 Auswertung der Protokolle 264
8.2.5 Dynamische IP-Adressen 269
8.2.6 Variante für dynamische Filterregeln 277
9. Firewalls bauen - Netzwerk 281
9.1 Internetzugang über Router/Paketfilter 281
9.2 Spezialbehandlung für DSL 294
9.3 Einfacher Firewall 295
9.3.1 Paketfilterung 299
9.3.2 Proxy-Konfiguration (SOCKS) 316
9.3.3 Caching-Only Nameserver 320
9.3.4 Feste IP-Adresse 325
9.4 Firewall mit Grenznetz 325
9.4.1 Paketfilterung 327
9.4.2 Caching Web-Proxy 341
9.4.3 Webserver 343
9.4.4 FTP-Server 346
9.4.5 Transparente Proxies 351
9.5 Firewall mit Dual Homed Bastion Host 352
9.5.1 Paketfilterung für "proxy" 354
9.5.2 Paketfilterung für "gate" 363
9.5.3 Dreistufiger Firewall 369
9.5.4 Parallele Dual Homed Bastion Hosts 370
9.6 Zusammenfassung 372
10. Maintenance: Firewalls installieren, betreiben, überwachen 373
10.1 Vor der Inbetriebnahme 374
10.1.1 Physikalische Sicherheit 374
10.1.2 Partitionierung/Mounts 376
10.1.3 Auswahl der zu installierenden Pakete 379
10.1.4 Planung von regelmäßigen Updates 383
10.1.5 Datensicherung, Worst-Case-Recovery 385
10.1.6 Platzierung des Firewallskriptes 386
10.2 Regelmäßige Wartung 389
10.3 Intrusion Dectection 391
10.3.1 Einführung 391
10.3.2 Snort 394
10.3.3 Informationsquellen zum Thema IDS 403
10.4 Integritätsprüfung auf Dateiebene 403
10.4.1 Bordmittel: RPM 404
10.4.2 Tripwire 406
10.4.3 weitere Tools 414
10.5 Logfile-Überwachung 415
10.5.1 syslog 417
10.5.2 "logcheck" 422
10.5.3 "logsurfer" 427
10.6 Netzwerkanalyse 442
10.6.1 "tcpdump" 444
10.6.2 "ngrep" 449
10.6.3 Portscanning: "nmap" 453
10.6.4 Nessus 459
10.7 Port-Überwachung 464
10.7.1 "scanlogd" 464
10.7.2 PortSentry 466
10.8 Was tun, wenn es doch passiert ist... 467
10.9 Zusammenfassung 470
11. Virtuelle Private Netzwerke (VPN) 471
11.1 IPsec-Grundlagen 472
11.1.1 Sicherheitsprotokolle 473
11.1.2 Transport- und Tunnelmode 474
11.1.3 Authentifikation, automatischer Schlüsselaustausch 475
11.2 IPsec unter Linux: FreeS/WAN 476
11.3 Installation von FreeS/WAN 477
11.4 Einsatzszenarien 480
11.5 Konfiguration von FreeS/WAN 481
11.5.1 Erzeugen von RSA-Schlüsseln für die Authentifikation 482
11.5.2 "/etc/ipsec.conf" 483
11.5.3 LAN-to-LAN-Kopplung 484
11.5.4 Initiierung der Verbindung 488
11.5.5 Router zwischen den beiden IPsec-Gateways 493
11.5.6 Road Warrior 494
11.5.7 Zwei Gateways mit dynamischer IP-Adresse 495
11.6 Opportunistic Encryption 497
11.7 Policy Groups 500
11.8 X.509-Zertifikate 504
11.8.1 Installation des X.509-Patches 506
11.8.2 Erzeugung eigener Zertifikate 507
11.8.3 Konfiguration von FreeS/WAN 513
11.8.4 IPsec Policies über Zertifikate 517
11.8.5 Windows 2000 und Windows XP als Clients 518
11.9 Network Address Translation und IPsec 518
11.9.1 NAT vor dem IPsec-Tunnel 519
11.9.2 NAT auf dem IPsec-Gateway 519
11.9.3 NAT zwischen den beiden IPsec-Gateways 521
11.10VPN-Gateways und Firewalling 522
11.10.1 Filterung auf einem Firewall zwischen VPN-Gateways 522
11.10.2 Filterung auf dem VPN-Gateway 522
11.10.3 VPN-Gateway im dreistufigen Firewall 525
11.11Ausblick 526
A. TCP/IP: Ausgewählte Kapitel 527
A.1 IP 527
A.2 TCP 528
A.3 UDP 530
A.4 ICMP 530
A.5 IP-Fragmentierung 532
A.6 ausgewählte TCP/UDP-Portnummern 532
B. Runtime-Kernelkonfiguration 537
B.1 IP Forwarding 537
B.2 IP Spoof Protection 538
B.3 TCP SYN-Cookies 538
B.4 ICMP Options 538
B.5 Weitere, Device-abhängige Kernelparameter 539
C. Die Secure Shell: SSH 541
C.1 Serverinstallation und -konfiguration 542
C.1.1 Hostkey erzeugen 542
C.1.2 Startendes "sshd" 543
C.1.3 Systemweite Konfigurationsdateien 543
C.2 User-Konfiguration 545
C.2.1 Erzeugen des DSA/RSA-Schlüssels 545
C.2.2 Schlüsselverteilung, Logins einrichten 546
C.2.3 Userkonfigurierbare Dateien 547
C.3 User-Authentifikation mit SSH 549
C.3.1 SSH-Agent 551
D. Unterschiede zwischen "iptables" und "ipchains" 555
D.1 Paket-Routing: Unterschiede 556
D.2 Änderungen von "ipchains" auf "iptables" 559
E. Informationsquelle Internet 563
E.1 SuSE-Linux 563
E.2 Debian 564
E.3 Security-Links 564
E.3.1 Allgemeine Security-Links 564
E.3.2 Linux Security-Links 565
E.3.3 Intrusion Detection 565
E.4 Verschiedenes 566
E.4.1 Linux Online 566
E.4.2 Linux und ISDN 566
E.4.3 Homepage des Autors 566
|
|