510 likes | 694 Views
THEMA. Sicherheit für Linux-Server und -Netze. Gliederung. Einführung. Grundlagen zu Firewalls. Grundlagen des Firewalldesigns. Paketfilter Proxies. Firewalls installieren, betreiben, überwachen. Grundlagen Paketfilterung. Voraussetzungen. Zusammenfassung / Ausblick.
E N D
THEMA Sicherheit für Linux-Server und -Netze 1 Seminar:
Gliederung • Einführung • Grundlagen zu Firewalls • Grundlagen des Firewalldesigns • Paketfilter • Proxies • Firewalls installieren, betreiben, überwachen • Grundlagen Paketfilterung • Voraussetzungen • Zusammenfassung / Ausblick 2 Seminar:
Einführung 3 Seminar:
Gliederung • Einführung • Grundlagen zu Firewalls • Grundlagen des Firewalldesigns • Paketfilter • Proxies • Firewalls installieren, betreiben, überwachen • Grundlagen Paketfilterung • Voraussetzungen • Zusammenfassung / Ausblick 4 Seminar:
Grundlagen zu Firewalls Firewall Generell kann man jedes Gerät als Firewall bezeichnen, das verhindert, dass „unauthorisierte“ Netzwerkdaten von einem Netz zum anderen gelangen. Diese Definition ist jedoch zu eng. Moderne Firewalls führen im allgeimeinen noch weitere Aufgaben durch. • Paketfilterung • Protokoll und Inhaltssperrung • Authentifizierung und Verschlüsselung für Benutzer, Verbindungen und Sitzungen • teilweise IDS 5 Seminar:
Grundlagen zu Firewalls Fazit Zusammenfassend kann man sagen, daß zu allen eingehenden Daten die Fragen: • Wer kann hereinkommen? • Was kann hereinkommen? • Wo, wann und wie kann er oder es hereinkommen? • gestellt werden. Somit kann man sagen, daß eine Firewall eher ein Konzept als ein Produkt ist. Sie ist die Summe aller Regeln die auf ein Netzwerk angewendet werden. 6 Seminar:
Grundlagen zu Firewalls Drei Hauptkategorien von Firewalls werden unterschieden: • Paketfilter • Anwendungsschicht-Gateway (application level gateway) • Vermittler- oder Transportschicht-Gateway (circuit level gateway) 7 Seminar:
Grundlagen zu Firewalls Paketfilter Ein Gerät das den Datenfluß von und zu einem Netz selektiv steuert. Paketfilter lassen Pakete nur passieren oder halten sie auf, was meist beim Routing zwischen zwei Netzen geschieht (normalerweise zwischen dem Internet und einem internen Netz). Für die Paketfilterung stellt man einen Satz von Regeln auf, in dem festgelegt ist, welche Pakettypen zugelassen sind und welche aufgehalten werden, z.B. Pakete von einer bestimmten IP-Adresse oder einem bestimmten Port. Paketfilterung kann auf einem Router, einer Bridge oder einem einzelnen Host stattfinden. Sie wird manchmal auch als Screening bezeichnet. Risiken beim Einsatz von Netzwerken 8 Seminar:
Grundlagen zu Firewalls Architektur mit Paketfilter-Router 9 Seminar:
Grundlagen zu Firewalls Application Level Gateway Firewall, die auf Anwendungsebene arbeitet. Ein Application-Gateway (oder auch Application-Level-Gateway, abgekürzt ALG) lässt keine direkte Kommunikation zwischen "innen" und "außen" zu. Für die Anwendungen, die über ein ALG geschleust werden, werden sog. Proxys benötigt. Ein ALG kann Anwendungsdaten prüfen und z.B. nach Viren oder URLs scannen. ALGs sind vom Sicherheitsstandpunkt Paketfiltern deutlich überlegen, benötigen jedoch performantere Hardware. Protokolle, für die das ALG keine Proxys zur Verfügung stellt, können nur mit demselben Sicherheitsstatus wie bei einem Circuit-Gateway behandelt werden. 10 Seminar:
Grundlagen zu Firewalls Circuit Level Gateway Ein Proxy, der Daten auf der Transportebene (z.B. Protokolle TCP und UDP) weiterleitet. Der Inhalt der Daten wird dabei nicht inspiziert, aber es wird immerhin eine Entkopplung der Netze bewirkt, da keine IP-Pakete weitergeleitet werden, sondern nur Daten kopiert werden. 11 Seminar:
Grundlagen zu Firewalls Bastion Host Ein Computersystem, das besonders geschützt werden muß, da es für Angriffe prädestiniert ist - in der Regel, weil es dem Internet offensteht und eine wichtige Anlaufstelle für Benutzer interner Netze ist. Der Bastion-Host hat seinen Namen von den stark befestigten Vorsprüngen auf den Außenmauern mittelalterlicher Burgen. 12 Seminar:
Grundlagen zu Firewalls Architektur mit Single-Homed-Host 13 Seminar:
Grundlagen zu Firewalls Architektur mit Dual-Homed-Host 14 Seminar:
Grundlagen zu Firewalls Grenznetz Ein Netz, das zwischen ein geschütztes und ein externes Netz eingefügt wird, um eine weitere Schutzschicht zu schaffen. Ein Grenznetz wird manchmal auch DMZ genannt, das für De-Militarisierte Zone steht (nach einer Zone, die Nord- und Südkorea trennt). 15 Seminar:
Grundlagen zu Firewalls Architektur Grenznetz 16 Seminar:
Gliederung • Einführung • Grundlagen zu Firewalls • Grundlagen des Firewalldesigns • Paketfilter • Proxies • Firewalls installieren, betreiben, überwachen • Grundlagen Paketfilterung • Voraussetzungen • Zusammenfassung / Ausblick 17 Seminar:
Grundlagen des Firewalldesigns Paketfilter Ein Paketfilter ist die älteste und einfachste Variante der Firewalls - im Prinzip ein IP-Router mit Zusatzfunktionen. Er verbindet mindestens zwei Netze und überträgt Datenpakete zwischen Absendern und Empfängern aus den jeweiligen Netzen. Die Zusatzfunktionen sind vom Firewall-Administrator festgelegte Filterregeln für die Übertragung. Diese Regeln stützen sich lediglich auf Merkmale, die in der Verwaltungsinformation der Datenpakete enthalten sind. Beim weitverbreiteten Internet-Protokoll TCP/IP sind das die Paketheader der Internet- und Transportschicht. 18 Seminar:
Grundlagen des Firewalldesigns Paketfilter - Filterregeln Filterregeln unterscheiden Pakete aufgrung folgender Merkmale: • IP-Adresse des Absenders • IP-Adresse des Empfängers • Protokolltypen (TCP, UDP, ICMP) • Protokollports • ICMP-Nachrichtentypen • Bestätigungsbits • Netzschnittstelle 19 Seminar:
Gliederung • Einführung • Grundlagen zu Firewalls • Grundlagen des Firewalldesigns • Paketfilter • Proxies • Firewalls installieren, betreiben, überwachen • Grundlagen Paketfilterung • Voraussetzungen • Zusammenfassung / Ausblick 20 Seminar:
Grundlagen des Firewalldesigns Application Level Gateway Der Application Level Gateways kontrolliert nicht nur die Header-Information, sondern auch den eigentlichen Inhalt der Datenpakete. Diese Firewall-Programme entpacken dafür die Pakete bis zur Anwendungsschicht. Dadurch ist es nicht mehr möglich, ein Paket nach dem anderen zu prüfen und nach erfolgter Prüfung weiterzusenden. Stattdessen muss jede Netzverbindung am Application Level Gateway enden beziehungsweise beginnen. Gegenüber dem Client eines Dienstes verhält sich das Gateway als Server, baut selbst zum eigentlich adressierten Server eine neue Verbindung auf und arbeitet diesem gegenüber wie ein Client. Daher werden Application Level Gateways auch als "Proxies" (Stellvertreter) bezeichnet. 21 Seminar:
Grundlagen des Firewalldesigns Vorteile: Der Vorteil dieses Konzeptes ist, dass die Funktion als echter Mittler zwischen internem und externen Netz direkte IP-Ver-bindungen von beiden Netzen verhindert. Somit werden weniger offizielle (routbare) IPAdressen benötigt, da alle internen Maschinen keine IP-Verbindungen nach außen aufbauen und deshalb private (nicht-routbare) IP-Adressen verwenden können. 22 Seminar:
Grundlagen des Firewalldesigns Vorteile: Darüber hinaus kann eine Berechtigungsprüfung auf Benutzerbasis durchgeführt werden. Da der Inhalt der Datenpakete zudem bekannt ist, ist es möglich, Viren zu erkennen und abzufangen sowie das Protokoll auf Anwendungs-ebene zu untersuchen (Tunnelling) und auf Teilbereiche einzu-schränken und auch Zusatzfunktionen (etwa WWW-Caches) einzufügen. 23 Seminar:
Grundlagen des Firewalldesigns Nachteile: Ein Nachteil der Application Level Gateways ist, dass für jeden Dienst ein spezieller Proxy benötigt wird, der das Anwendungs-protokoll versteht und kontrolliert. Generische Proxies sind zwar möglich, bieten aber nicht den gleichen Nutzen wie spezifische Proxies. Hinzu kommt, dass der Dienst über Proxies umleitbar sein und die Client-Software die Umleitung über Proxies unterstützen muss, sofern diese nicht transparent arbeiten. 24 Seminar:
Grundlagen des Firewalldesigns Circuit Level Gateways Circuit Level Gateways beschränken sich ähnlich wie Application Level Gateways nicht nur auf die IP- und Transportschicht-Header, sondern bauen die Datagramme der Transportschicht aus den IP-Paketen, die unter Umständen fragmentiert sind, zusammen. Außerdem orientieren sie sich an dem Verbindungskonstrukt von TCP. Daraus folgt, dass es Circuit Level Gateways für UDP eigentlich nicht gibt. Wie bei Application Level Gateways gibt es dadurch keine direkten IP-Verbindungen zwischen innen und außen. Vielmehr findet automatisch eine Adressübersetzung statt - eine Benutzerauthentisierung lässt sich erzwingen. 25 Seminar:
Grundlagen des Firewalldesigns Vorteile: Höhere Performance, da keine statefull inspection wie beim Application Level gateway durchgeführt wird. 26 Seminar:
Grundlagen des Firewalldesigns Nachteile: Circuit Level Gateways für UDP gibt es nicht. Circuit Level Gateways verstehen das Anwendungsprotokoll nicht und können deshalb auch keine Inhaltskontrolle durchführen. 27 Seminar:
Definitionen zu Firewalls Fazit: Beide Gateway-Varianten verfügen zwar über gemeinsame Merkmale; die Fähigkeit aber, das Anwendungsprotokoll zu verstehen, verschafft den Application Level Gateways einen wichtigen Vorteil. 28 Seminar:
Gliederung • Einführung • Grundlagen zu Firewalls • Grundlagen des Firewalldesigns • Paketfilter • Proxies • Firewalls installieren, betreiben, überwachen • Grundlagen Paketfilterung • Voraussetzungen • Zusammenfassung / Ausblick 29 Seminar:
FirewallsInstallieren, betreiben, überwachen Einführung Dieser Teil des Vortrags beschäftigt sich mit dem, was die Administration von Firewalls ausmacht: • Installation • Wartung • Überwachung 30 Seminar:
FirewallsInstallieren, betreiben, überwachen Denn... Logfiles füllen sich und beanspruchen mit der Zeit immer mehr Festplattenplatz. Veraltete installierte Pakete können Sicherheitslücken (Exploits) enthalten, die mit der Zeit bekannt werden. Manchmal läßt sich ein Einbruch doch nicht ganz verhindern, was an einer zu freien Security Policy, an Konfigurationsfehlern, zu späten Updates oder einem unwahrscheinlichen, aber nicht auszuschließenden perfekten Hack-Angriff liegen kann! 31 Seminar:
FirewallsInstallieren, betreiben, überwachen Vor der Inbetriebnahme Um später auf die Sicherheit der Firewall einfluß zu haben, sollte man sich bereits vor der Installation Gedanken über die folgenden Punkte machen: • physikalische Sicherheit (Hardware, Netzwerk-Infrastruktur, ...) • Worst-Case-Recovery (Wiederherstellung der Firewall nach einem Einbruch oder einem Hardware-Ausfalls) 32 Seminar:
FirewallsInstallieren, betreiben, überwachen Physikalische Sicherheit Unter den Punkt physikalische Sicherheit fallen sowohl Maßnahmen, die physikalische Schäden vom System fernhalten, als auch Maßnahmen, die den physikalischen Zugriff einer unbefugten Person auf das System verhindern sollen. 33 Seminar:
FirewallsInstallieren, betreiben, überwachen Physikalische Sicherheit Wichtig sind in diesem Zusammenhang: • Aufstellungsort • Schlüsselregelung Rechnerraum • Anbindung Netzwerkinfrastruktur • Sicheres Gehäuse • Diskettenlaufwerke, CD-ROM • PC-BIOS (z.B. Booten von Diskette ausschalten) • Bootloader (Passwort) 34 Seminar:
FirewallsInstallieren, betreiben, überwachen Installation - Partitionierung Da sich unter Linux bereits beim mounten Optionen angeben lassen, die maßgeblich zur Verbesserung der Systemsichherheit beitragen können, sollte man beim Thema Partitionierung schon im Vorfeld genügend Zeit investieren. Folgende Optionen lassen sich in der /etc/fstab angeben: rw, ro, suid, dev, exec, nosuid, nodev, noexec, remount 35 Seminar:
FirewallsInstallieren, betreiben, überwachen Installation - Partitionierung • rw: Read-Write. Das Dateisystem ist les- und schreibbar. • ro: Read-Only. Das Dateisystem kann ausschließlich gelesen werden. • suid: Das Set-User-Flag (suid) und das Set-Group-Flag (sgid) werden akzeptiert und ausgeführt. • nosuid: Das Set-User-Flag (suid) und das Set-Group-Flag (sgid) werden ignoriert. • remount: Mit dieser Option läßt sich ein Dateisystem, welches breits gemountet ist, noch einmal mounten 36 Seminar:
FirewallsInstallieren, betreiben, überwachen Installation - Partitionierung • dev: Charakter- und Block-Devices werden als solche angesprochen • nodev: Charakter- und Block-Devices werden wie normale Dateien, nicht wie Special-Files behandelt. • exec: Die Ausführung von Executables (Binaries und Scripts) ist erlaubt. • noexec: Executables (Binaries und Scripts) dürfen nicht ausgeführt werden. 37 Seminar:
FirewallsInstallieren, betreiben, überwachen Installation - Partitionierung Eine Grundpartitionierung sollte etwa wie folgt aussehen: Dateisystem Flags Größe / ro 128 MB /usr ro >500 MB /var rw, nosuid, nodev >500 MB /tmp rw, nosuid, nodev, noexec 100 MB /home rw, nosuid, nodev, noexec 200 MB 38 Seminar:
FirewallsInstallieren, betreiben, überwachen Installation – Paketauswahl: Bei der Installation der Pakete sollte man mit der kleinsten Menge an Paketen starten, mit der man überhaupt ein lauffähiges System bekommt. Bei Suse-Linux ist das die Auswahl „minimales System“, welche aber noch weiter verkleinert werden kann und sollte. Kandidaten dafür wären z.B.: dhcpd, yast2, procmail, saxtools Pakete die man manuell hinzufügen sollte wären: iptables, bindutil, hardsuse, postfix und pcre (statt sendmail) 39 Seminar:
FirewallsInstallieren, betreiben, überwachen Installation – Paketauswahl: Da man wenn man iptables einsetzen möchte einen neuen Kernel kompilieren muß, sind die Pakete • kernel-source (Kernelquellen) • gcc (C-Compiler) • glibc (Include-Dateien für den Compiler) • binutils (GNU Binutils) unverzichtbar! Sie können allerdings nach dem Kompilieren wieder entfernt werden. 40 Seminar:
FirewallsInstallieren, betreiben, überwachen Installation - Updates: Wenn eine Distribution schon einige Tage und Wochen alt ist, ist die Wahrscheinlichkeit recht hoch, daß bereits Updates für einzelne Software-Pakete vorliegen, die Sicherheitslöcher schließen. Deshalb sollten schon bei der Installation verfügbare Updates eingespielt werden. Um bei dem Thema „Updates und Sicherheitslücken“ auf dem laufenden zu bleiben, sollte man sich in einschlägige Mailinglisten eintragen und regelmäßig Websites besuchen, die sich mit dieser Thematik beschäftigen. 41 Seminar:
FirewallsInstallieren, betreiben, überwachen Installation - Updates: In der Regel gibt es auch bei den Herstellern der Distributionen entsprechende Ankündigungslisten. Bei SuSE ist das die Website: www.suse.de/de/support/mailinglists/ Weiterhin ist die Website und Mailingliste des CERTs, des SANS Instituts und die Website von Securityfocus sicherlich von Interesse. www.cert.org www.sans.org www.securityfocus.com 42 Seminar:
FirewallsInstallieren, betreiben, überwachen Datensicherung, File-Integrity, Worst-Case-Recovery: Nach installation und konfiguration der Firewall gibt es noch drei Dinge vor der endgültigen Inbetriebnahme zu tun. • eine vollständige Datensicherung • die Erstellung einer Datenbank für einen File-Integrity-Check und • die Erstellung eines Konzepts für Worst-Case-Recovery 43 Seminar:
FirewallsInstallieren, betreiben, überwachen Datensicherung: Für die Datensicherung unter Linux genügt ein Dateibasiertes Backup mit tar, jedoch gibt es auch andere gute Möglichkeiten, wie z.B. der Einsatz von Norton Ghost. Bei der Sicherung mit tar empfiehlt es sich, für jedes Dateisystem ein eigenen Tarfile anzulegen. tar cvlzf ./backup-<hostname>-root-YYYY-MM-DD.tgz / tar cvlzf ./backup-<hostname>-usr-YYYY-MM-DD.tgz /usr tar cvlzf ./backup-<hostname>-var-YYYY-MM-DD.tgz /var tar cvlzf ./backup-<hostname>-home-YYYY-MM-DD.tgz /home 44 Seminar:
FirewallsInstallieren, betreiben, überwachen Datensicherung: Die erstellten Backup-Files können innerhalb des selben Dateisystems gehalten werden, sollten aber zusätzlich anderweitig archiviert werden. Eine simple Möglichkeit wäre das Brennen der Files auf eine CD. 45 Seminar:
FirewallsInstallieren, betreiben, überwachen File-Integrity: Zum Betrieb einer Firewall gehört unbedingt, das man sich jederzeit seiner Intergrität sicher ist. Das heißt, daß man sicherstellt, daß sich die Firewall auch in dem Zustand befindet, in dem man sie zu wissen glaubt. Das Programm Tripwire ist wohl der bekannteste File-Integrity-Checker unter Unix und soll hier als eine möglich Lösung vorgestellt werden. 46 Seminar:
FirewallsInstallieren, betreiben, überwachen File-Integrity-Checker - Tripwire: Die Funktiosweise von Tripwire ist einfach erklärt. Tripwire speicher Informationen über Dateien und Verzeichnisstrukturenin einer Datenbank ab. Die Prüfung der Integrität der Dateien wird über eine Reihe von Checksummen sichergestellt, um eine mögliche Manipulation zu verhindern. Die Grundfunktionen von Tripwire sind ebenfalls sehr einfach gehalten. • Datenbank anlegen • Integrität prüfen • Datenbank updaten 47 Seminar:
FirewallsInstallieren, betreiben, überwachen File-Integrity-Checker - Tripwire: Nach erstellen der Datenbank wird nun das Dateisystem in regelmäßigen Abständen (mit Hilfe von cron) geprüft. Zwei weitere File-Integrity-Checker wären: • AIDE (Advanced Intrusion Detection Environment) • http://www.cs.tut.fi/~rammer/aide.html • FCheck • http://sites.netscape.net/fcheck 48 Seminar:
FirewallsInstallieren, betreiben, überwachen Worst-Case-Recovery: Dringend empfehlenswert ist die Erstellung einer Strategie zur Worst-Case-Recovery. Gemeint ist der Fall, in dem das Firewall-System einen Totalausfall zu verzeichnen hat oder sonst irgendwie unbrauchbar geworden ist. Ein Worst-Case-Recovery-Konzept beginnt bereits beim Backup, und beim Wiederauffinden der Datensicherung! Entscheidend ist, daß von allen Änderungen am System jeweils wieder ein Backup angefertigt wird und über die einzelnen Maßnahmen Protokoll geführt wird. 49 Seminar:
FirewallsInstallieren, betreiben, überwachen Wartung: Regelmäßige Wartungsaufgaben, die nicht außer Acht gelassen werden dürfen sind: • Regelmäßige Backups Nicht nur vor der Inbetriebnahme, auch das laufende System benötigt regelmäßige Updates. • Archivierung von Logfiles Logfiles sollte man archivieren, um bei späteren sicherheitsrelevanten Vorfällen darauf zurückgreifen zu können. Weiterhin ist zu beachten, daß die Logfiles nach längerer Zeit eine nicht zu unterschätzende Datenmenge darstellen und es möglich wäre, daß kein Platz mehr auf der „/var-Partition“ zur Verfügung steht! 50 Seminar: