Warum sollte ich Firewall-Server verwenden?


104

BITTE BEACHTEN SIE: Ich bin nicht daran interessiert, daraus einen Flammenkrieg zu machen! Ich verstehe, dass viele Menschen eine feste Überzeugung zu diesem Thema haben, nicht zuletzt, weil sie viel Mühe in ihre Firewall-Lösungen gesteckt haben und auch, weil sie dazu angehalten wurden, an ihre Notwendigkeit zu glauben.

Ich suche jedoch nach Antworten von Leuten, die Experten für Sicherheit sind. Ich glaube, dass dies eine wichtige Frage ist, und die Antwort wird mehr als nur mir selbst und dem Unternehmen, für das ich arbeite, zugute kommen. Ich betreibe unser Servernetzwerk seit mehreren Jahren ohne Kompromisse und ohne jegliche Firewall. Keiner der Sicherheitskompromisse, die wir eingegangen sind, hätte mit einer Firewall verhindert werden können.

Ich glaube, ich habe zu lange hier gearbeitet, denn wenn ich "Server" sage, meine ich immer "öffentlich angebotene Dienste", nicht "geheime interne Abrechnungsdatenbanken". Daher müssten alle Regeln, die wir für Firewalls haben, den Zugriff auf das gesamte Internet ermöglichen. Unsere öffentlich zugänglichen Server befinden sich alle in einem eigenen Rechenzentrum, das von unserem Büro getrennt ist.

Jemand anderes stellte eine ähnliche Frage, und meine Antwort wurde in negative Zahlen gewertet. Dies lässt mich glauben, dass entweder die Leute, die es abgelehnt haben, meine Antwort nicht wirklich verstanden haben oder ich die Sicherheit nicht genug verstehe, um das zu tun, was ich gerade tue.

Dies ist mein Ansatz zur Serversicherheit:

  1. Befolgen Sie die Sicherheitsrichtlinien meines Betriebssystems, bevor Sie meinen Server mit dem Internet verbinden.

  2. Verwenden Sie TCP-Wrapper, um den Zugriff auf SSH (und andere Verwaltungsdienste) auf eine kleine Anzahl von IP-Adressen zu beschränken.

  3. Überwachen Sie den Status dieses Servers mit Munin . Und korrigieren Sie die ungeheuren Sicherheitsprobleme, die dem Munin-Knoten in seiner Standardkonfiguration eigen sind.

  4. Nmap mein neuer Server (auch vor dem Verbinden meines Servers mit dem Internet). Wenn ich diesen Server durch eine Firewall schützen möchte, sollte dies die genaue Anzahl der Ports sein, auf die eingehende Verbindungen beschränkt werden sollen.

  5. Installieren Sie den Server im Serverraum und geben Sie ihm eine öffentliche IP-Adresse.

  6. Schützen Sie das System mithilfe der Sicherheitsupdatefunktion meines Betriebssystems.

Meine Philosophie (und die Grundlage der Frage) ist, dass starke hostbasierte Sicherheit die Notwendigkeit einer Firewall beseitigt. Die allgemeine Sicherheitsphilosophie besagt, dass eine starke hostbasierte Sicherheit auch dann erforderlich ist, wenn Sie über eine Firewall verfügen (siehe Sicherheitsrichtlinien ). Der Grund dafür ist, dass eine Firewall, die öffentliche Dienste an einen Server weiterleitet, einem Angreifer genau so viel wie gar keine Firewall ermöglicht. Es ist der Dienst selbst, der anfällig ist, und da das Anbieten dieses Dienstes für das gesamte Internet eine Voraussetzung für seinen Betrieb ist, ist es nicht der Punkt, den Zugriff darauf zu beschränken.

Wenn es gibt Ports auf dem Server, müssen nicht durch das gesamte Internet zugegriffen werden, so dass die Software in Schritt 1 heruntergefahren werden benötigt und wurde für Schritt überprüft 4. Sollte ein Angreifer erfolgreich in den Server durch verwundbar Software brechen Wenn der Angreifer selbst einen Port öffnet, kann er jede Firewall genauso leicht besiegen (und tun), indem er stattdessen eine ausgehende Verbindung über einen zufälligen Port herstellt. Der Sinn der Sicherheit besteht nicht darin, sich nach einem erfolgreichen Angriff zu verteidigen - das hat sich bereits als unmöglich erwiesen -, sondern die Angreifer von vornherein fernzuhalten.

Es wird vermutet, dass es neben offenen Ports noch andere Sicherheitsaspekte gibt - aber für mich klingt das einfach so, als würde man seinen Glauben verteidigen. Alle Sicherheitslücken im Betriebssystem / TCP-Stack sollten gleichermaßen anfällig sein, unabhängig davon, ob eine Firewall vorhanden ist oder nicht - basierend auf der Tatsache, dass Ports direkt an dieses Betriebssystem / TCP-Stack weitergeleitet werden. Ebenso scheint die Ausführung Ihrer Firewall auf dem Server selbst im Gegensatz zur Ausführung auf dem Router (oder, noch schlimmer, an beiden Orten) unnötige Komplexitätsebenen hinzuzufügen. Ich verstehe die Philosophie "Sicherheit kommt in Schichten", aber irgendwann ist es so, als würde man ein Dach bauen, indem man X Schichten Sperrholz übereinander stapelt und dann durch alle ein Loch bohrt. Eine weitere Schicht Sperrholz wird die Undichtigkeiten durch dieses Loch nicht aufhalten.

Um ehrlich zu sein, sehe ich eine Firewall nur dann als nützlich für Server an, wenn sie über dynamische Regeln verfügt, die verhindern, dass bekannte Angreifer alle Verbindungen zu allen Servern herstellen. . Leider kann ich keine Firewalls finden, die das tun. Das nächstbeste ist ein IDS-Server, aber das setzt voraus, dass der Angreifer nicht zuerst Ihre echten Server angreift und dass sich Angreifer die Mühe machen, Ihr gesamtes Netzwerk zu untersuchen, bevor sie angreifen. Außerdem ist bekannt, dass diese eine große Anzahl von Fehlalarmen erzeugen.


2
Und so wird der gesamte Datenverkehr zwischen Ihren Servern verschlüsselt?
GregD

5
Liebe es. Lokale Firewall-Regeln gelten fast immer nur für Voodoo.
unixtippse

2
Haben Sie auch Desktops / Mitarbeiter in Ihrem Netzwerk? Was machst du mit ihnen?
Brandon

8
Diese Frage wäre für security.stackexchange.com
Olivier Lalonde

2
@routeNpingme: Es sieht so aus, als hätte ich diesen Leckerbissen nicht in meinen ursprünglichen Beitrag aufgenommen. Alle unsere Server müssen für die Öffentlichkeit zugänglich sein und sich in einem dedizierten Rechenzentrum befinden. Wenn Ihr Büro Ihr Rechenzentrum ist, ist vermutlich eine Firewall zwischen Ihrem Servernetzwerk und Ihrem Büronetzwerk erforderlich. In welchem ​​Fall spreche ich über das Servernetzwerk - warum Firewall etwas, das vollständigen öffentlichen Zugriff hat?
Ernie

Antworten:


54

Vorteile der Firewall:

  1. Sie können ausgehenden Datenverkehr filtern.
  2. Layer 7-Firewalls (IPS) können vor bekannten Schwachstellen in Anwendungen schützen.
  3. Sie können einen bestimmten IP-Adressbereich und / oder Port zentral blockieren, anstatt sicherzustellen, dass kein Dienst auf diesem Port auf jedem einzelnen Computer empfangsbereit ist oder den Zugriff mit TCP-Wrappern verweigert .
  4. Firewalls können hilfreich sein, wenn Sie mit weniger sicherheitsbewussten Benutzern / Administratoren umgehen müssen, da sie eine zweite Verteidigungslinie darstellen würden. Ohne sie muss man absolut sicher sein, dass die Hosts sicher sind, was ein gutes Sicherheitsverständnis aller Administratoren erfordert.
  5. Firewall-Protokolle bieten zentrale Protokolle und helfen bei der Erkennung vertikaler Scans. Mithilfe von Firewall-Protokollen können Sie feststellen, ob ein Benutzer / Client in regelmäßigen Abständen versucht, eine Verbindung zu demselben Port auf allen Servern herzustellen. Um dies ohne eine Firewall zu tun, müsste man Protokolle von verschiedenen Servern / Hosts kombinieren, um eine zentralisierte Ansicht zu erhalten.
  6. Firewalls werden auch mit Antispam- / Antiviren-Modulen geliefert, die ebenfalls den Schutz erhöhen.
  7. Betriebssystemunabhängige Sicherheit. Abhängig vom Host-Betriebssystem sind verschiedene Techniken / Methoden erforderlich, um die Sicherheit des Hosts zu gewährleisten. Beispielsweise sind TCP-Wrapper auf Windows-Computern möglicherweise nicht verfügbar.

Vor allem, wenn Sie keine Firewall haben und das System kompromittiert ist, wie würden Sie es dann erkennen? Der Versuch, einen Befehl 'ps', 'netstat' usw. auf einem lokalen System auszuführen, kann nicht als vertrauenswürdig eingestuft werden, da diese Binärdateien ersetzt werden können. 'nmap' von einem Remote-System bietet keinen garantierten Schutz, da ein Angreifer sicherstellen kann, dass das Root-Kit nur Verbindungen von ausgewählten Quell-IP-Adressen zu ausgewählten Zeiten akzeptiert.

Hardware-Firewalls helfen in solchen Szenarien, da es extrem schwierig ist, Firewall-Betriebssysteme / -Dateien im Vergleich zu Host-Betriebssystemen / -Dateien zu ändern.

Nachteile der Firewall:

  1. Die Leute haben das Gefühl, dass die Firewall für die Sicherheit sorgt, die Systeme nicht regelmäßig aktualisiert und unerwünschte Dienste beendet.
  2. Sie kosten. Manchmal muss eine jährliche Lizenzgebühr bezahlt werden. Vor allem, wenn die Firewall über Antiviren- und Antispam-Module verfügt.
  3. Zusätzlicher Single Point of Failure. Wenn der gesamte Datenverkehr eine Firewall passiert und die Firewall ausfällt, wird das Netzwerk gestoppt. Wir können redundante Firewalls haben, aber dann wird der vorherige Kostenpunkt weiter verstärkt.
  4. Stateful Tracking bietet keinen Wert für öffentlich zugängliche Systeme, die alle eingehenden Verbindungen akzeptieren.
  5. Stateful Firewalls stellen einen massiven Engpass während eines DDoS-Angriffs dar und schlagen häufig als Erstes fehl, da sie versuchen, den Status zu halten und alle eingehenden Verbindungen zu überprüfen.
  6. Firewalls können den verschlüsselten Datenverkehr nicht erkennen. Da der gesamte Datenverkehr Ende-zu-Ende verschlüsselt werden soll , bieten die meisten Firewalls gegenüber öffentlichen Servern nur einen geringen Mehrwert. Einige Firewalls der nächsten Generation können mit privaten Schlüsseln versehen werden, um TLS zu beenden und den Datenverkehr zu überwachen. Dies erhöht jedoch die Anfälligkeit der Firewall für DDoS noch mehr und unterbricht das End-to-End-Sicherheitsmodell von TLS.
  7. Betriebssysteme und Anwendungen werden schneller als Firewalls gegen Sicherheitslücken gepatcht. Firewall-Anbieter sind oft jahrelang mit bekannten Problemen konfrontiert, ohne zu patchen. Das Patchen eines Firewall-Clusters erfordert in der Regel Ausfallzeiten für viele Dienste und ausgehende Verbindungen.
  8. Firewalls sind alles andere als perfekt und viele sind notorisch fehlerhaft. Firewalls sind lediglich Software, die auf einem Betriebssystem ausgeführt wird, möglicherweise mit einem zusätzlichen ASIC oder FPGA zusätzlich zu einer (normalerweise langsamen) CPU. Firewalls weisen Fehler auf, bieten jedoch anscheinend nur wenige Tools, um diese zu beheben. Daher erhöhen Firewalls die Komplexität und eine zusätzliche Quelle für schwer zu diagnostizierende Fehler in einem Anwendungsstapel.

6
Above all this if you do not have firewall and system is compromised then how would you detect it?Intrusion Detection ist nicht Aufgabe der Firewall. Dieser Auftrag wird vom HIDS (Host-based Intrusion Detection System), das von der Firewall unabhängig ist, besser verarbeitet.
Steven Montag

6
Syslog-Server machen Punkt 5 überflüssig. Senden Sie Ihre Firewall-Protokolle am besten an einen Syslog-Server, falls es einem Angreifer gelingt, die Firewall zu kompromittieren und ihre Protokolle zu löschen. Dann muss der Angreifer zwei Systeme kompromittieren, nur um die Protokolle zu löschen, und sie sind möglicherweise nicht darauf vorbereitet (insbesondere bei automatisierten Angriffen). Wenn alle Ihre Systeme über eine zentralisierte Protokollierung verfügen, erhalten Sie detailliertere Informationen über den Angriff, als dies mit Firewall-Protokollen möglich ist.
Ernie

2
Mein Punkt war, da sich HIDS auf dem Host befindet, können wir seiner Ausgabe nicht vertrauen. Selbst wenn wir beispielsweise kryptografisch sicheres 'Tripwire' als hostbasiertes IDS verwenden, kann der Angreifer immer alle Tripwire-Binärdateien (twadmin, tripwire, twprint usw.) durch kompromittierte Versionen ersetzen, die niemals einen Eingriff melden. Selbst wenn wir versuchen, Bibliotheken / Binärdateien von einem anderen System zu kopieren, kann ein Prozess ausgeführt werden, der diese gefährdeten Binärdateien überwacht und sie erneut durch beschädigte Versionen ersetzt, falls sie ersetzt oder aktualisiert werden. Da die Firewall vom Host unabhängig ist, kann sie in solchen Situationen als vertrauenswürdig eingestuft werden.
Saurabh Barjatiya

2
Diese Antwort wurde gegenüber der populäreren Antwort akzeptiert, da sie bessere und umfassendere Gründe für die Verwendung einer Firewall bietet. Und nicht für diese Angelegenheit.
Ernie

Stateful Packet Inspection-Firewalls gehören NICHT vor Server. Bei DDoS-Angriffen besteht eine enorme Gefahr, und sie sind normalerweise die ersten, die bei Angriffen fehlschlagen.
Malayter

33

TCP-Wrapper können als Host-basierte Firewall-Implementierung bezeichnet werden. Sie filtern den Netzwerkverkehr.

Für den Fall, dass ein Angreifer ausgehende Verbindungen über einen beliebigen Port herstellt, bietet eine Firewall auch ein Mittel zur Steuerung des ausgehenden Datenverkehrs. Eine ordnungsgemäß konfigurierte Firewall verwaltet den Ein- und Ausgang in einer Weise, die dem mit dem System verbundenen Risiko angemessen ist.

Im Hinblick darauf, wie eine TCP-Sicherheitsanfälligkeit nicht durch eine Firewall gemindert wird, kennen Sie die Funktionsweise von Firewalls nicht. Cisco bietet eine ganze Reihe von Regeln zum Herunterladen an, die Pakete identifizieren, die so konstruiert sind, dass bestimmte Betriebssystemprobleme auftreten. Wenn Sie nach Snort greifen und es mit dem richtigen Regelsatz ausführen, werden Sie auch über solche Dinge informiert. Und natürlich können Linux-Iptables bösartige Pakete herausfiltern.

Grundsätzlich ist eine Firewall ein proaktiver Schutz. Je weiter Sie davon entfernt sind, proaktiv zu sein, desto wahrscheinlicher ist es, dass Sie sich in einer Situation befinden, in der Sie auf ein Problem reagieren, anstatt das Problem zu verhindern. Die Konzentration Ihres Schutzes an der Grenze, wie bei einer dedizierten Firewall, vereinfacht die Verwaltung, da Sie über eine zentrale Drosselstelle verfügen, anstatt überall Regeln zu duplizieren.

Aber nichts ist notwendigerweise eine endgültige Lösung. Eine gute Sicherheitslösung ist im Allgemeinen eine mehrschichtige Lösung, bei der Sie eine Firewall an der Grenze, TCP-Wrapper auf dem Gerät und wahrscheinlich auch einige Regeln für interne Router haben. Normalerweise sollten Sie das Netzwerk vor dem Internet und die Knoten voneinander schützen. Dieser mehrschichtige Ansatz ist nicht so, als würde man ein Loch durch mehrere Sperrholzplatten bohren. Es ist eher so, als würde man ein Türpaar aufstellen, damit ein Eindringling zwei Schlösser anstelle von nur einem öffnen kann. Dies nennt man eine Menschenfalle der physischen Sicherheit, und fast jedes Gebäude hat eine aus einem bestimmten Grund. :)


6
Auch wenn sie sich in das Gebäude schleichen und die Innentür für ihren Freund nach draußen öffnen, müssen sie auch die Außentür aufschließen und öffnen. (dh ohne eine externe Firewall kann jemand, der in Ihren Server
eindringt,

@Ricket: Vielleicht könnten sie das, aber moderne Angreifer kümmern sich nicht um solche Dinge. Ihre Site müsste für einen Angreifer von besonderem Interesse sein, um mehr zu tun, als Ihren Server einer Zombie-Farm hinzuzufügen.
Ernie

1
@Ernie - Nein, es muss nur vorhanden sein, um automatisch nach freiem Speicherplatz für Warez, Kundendatenbanken, Finanzinformationen, Passwörtern und dem Hinzufügen zu einem Botnetz zu suchen. Aber selbst das kann schon schlimm genug sein wenn es so aussieht, als würden Sie Zombies beherbergen.
Rory Alsop

TCP Wrappers could be arguably called a host-based firewall implementation+1 für eine gute Antwort.
Sjas

15

(Vielleicht möchten Sie " Leben ohne Firewalls " lesen )

Nun: Was ist mit einem Legacy-System, für das keine Patches mehr veröffentlicht werden? Wie wäre es, wenn Sie die Patches nicht zum gewünschten Zeitpunkt auf N-Maschinen anwenden können, während Sie sie gleichzeitig auf weniger Knoten im Netzwerk (Firewalls) anwenden können?

Es hat keinen Sinn, die Existenz oder Notwendigkeit der Firewall zu diskutieren. Was wirklich zählt, ist, dass Sie eine Sicherheitsrichtlinie implementieren müssen. Zu diesem Zweck verwenden Sie die Tools, mit denen Sie es implementieren und verwalten, erweitern und weiterentwickeln können. Wenn dazu Firewalls erforderlich sind, ist das in Ordnung. Wenn sie nicht gebraucht werden, ist das auch in Ordnung. Was wirklich zählt, ist eine funktionierende und überprüfbare Umsetzung Ihrer Sicherheitsrichtlinie.


1
Heh. Ich habe in den letzten 8 Jahren unser Servernetzwerk ohne Firewall betrieben. Ich hätte "Leben ohne Firewalls" schreiben können, aber er hat einen viel besseren Job gemacht und verfügt über ein viel größeres Netzwerk als ich.
Ernie

2
@Ernie - Ich denke, du hättest einfach Glück haben können. Woher weißt du, dass du nicht kompromittiert wurdest? Die Ergebnisse von forensischen Untersuchungen bei vielen meiner Kunden haben einen Kompromiss entdeckt, der manchmal Monate zurückliegt, während die Angreifer persönliche und finanzielle Informationen, Kundendaten, geistiges Eigentum, Geschäftspläne usw. fanden.
Rory Alsop

1
Abgesehen von der Tatsache, dass unser Servernetzwerk physisch von unserem Büronetzwerk getrennt ist (und daher auch mit Root-Zugriff auf jedem Server keine wirklich vertraulichen Daten abgerufen werden können), konnte ich jeden einzelnen von uns ausgehenden Kompromiss feststellen Habe ich schon mal gemacht, seit ich hier angefangen habe. Ich könnte über die Horrorshow weitermachen, die es gab, als ich anfing, aber ich habe nicht genug Platz. :) Es genügt zu sagen, dass die meisten Angriffe nicht subtil sind und die subtilen auch auffindbar sind. Oh ja, und die Trennung der Benutzerrechte ist dein Freund.
Ernie

9

Die meisten Ihrer Erklärungen scheinen das Erfordernis einer Firewall zu widerlegen, aber ich sehe keinen Nachteil darin, eine zu haben, abgesehen von der geringen Zeit, die zum Einrichten einer solchen benötigt wird.

Wenige Dinge sind eine "Notwendigkeit" im engeren Sinne des Wortes. Bei Sicherheit geht es mehr darum, alle möglichen Blockaden einzurichten. Je mehr Arbeit erforderlich ist, um in Ihren Server einzubrechen, desto geringer ist die Wahrscheinlichkeit eines erfolgreichen Angriffs. Sie möchten, dass mehr Arbeit in Ihre Maschinen eindringt als irgendwo anders. Das Hinzufügen einer Firewall macht mehr Arbeit.

Ich denke, eine Schlüsselverwendung ist Redundanz in der Sicherheit. Ein weiteres Plus an Firewalls ist, dass Sie einfach Verbindungsversuche zu einem beliebigen Port unterbrechen können, anstatt auf abgelehnte Anforderungen zu reagieren. Dies macht die Zuordnung für einen Angreifer etwas unbequemer.

Das Wichtigste für mich bei der praktischen Beantwortung Ihrer Frage ist, dass Sie SSH, ICMP und andere interne Dienste auf lokale Subnetze beschränken und eingehende Verbindungen auf eine bestimmte Rate beschränken können, um DOS-Angriffe zu vermeiden.

"Der Sinn der Sicherheit besteht nicht darin, sich nach einem erfolgreichen Angriff zu verteidigen - das hat sich bereits als unmöglich erwiesen -, sondern die Angreifer von vornherein fernzuhalten."

Ich stimme dir nicht zu. Ebenso wichtig kann die Schadensbegrenzung sein. (Unter diesem Ideal, warum Passwörter hashen? Oder Ihre Datenbanksoftware auf einen anderen Server als Ihre Webanwendungen kleben?) Ich denke, das alte Sprichwort "Nicht alle Eier in einen Korb stecken" ist hier anwendbar.


1
Du hast recht, ich habe da keine Nachteile eingebaut. Nachteile: Erhöhte Netzwerkkomplexität, Single Point of Failure, Single Network Interface, über das die Bandbreite eingeschränkt wird. Ebenso können administrative Fehler, die an einer Firewall gemacht wurden, Ihr gesamtes Netzwerk zerstören. Und Götter verbieten, dass Sie sich in der Zwischenzeit ausschließen, wenn es eine 20-minütige Fahrt zum Serverraum ist.
Ernie

1
Dies mag rein rhetorisch sein, aber wenn Sie sagen "Sicherheit bedeutet mehr, alle möglichen Blockaden einzurichten", würde ich es vorziehen zu hören, "Sicherheit bedeutet mehr, standardmäßig alles zu blockieren und das strikte Minimum für den Betrieb sorgfältig zu öffnen".
MatthieuP

+1 Ein umfassender Sicherheitsplan umfasst Prävention, Erkennung und Reaktion.
Jim OHalloran

8

Should I firewall my server?Gute Frage. Es hat anscheinend wenig Sinn, eine Firewall auf einen Netzwerkstapel zu setzen, der bereits Verbindungsversuche zu allen Ports mit Ausnahme der wenigen Ports ablehnt, die zu Recht offen sind. Wenn das Betriebssystem eine Sicherheitsanfälligkeit aufweist, durch die in böswilliger Absicht erstellte Pakete einen Host stören / ausnutzen können, würde eine Firewall, die auf demselben Host ausgeführt wird , den Exploit verhindern? Na ja, vielleicht ...

Und das ist wahrscheinlich der Hauptgrund für die Ausführung einer Firewall auf jedem Host: Eine Firewall verhindert möglicherweise, dass die Sicherheitsanfälligkeit eines Netzwerkstacks ausgenutzt wird. Ist das ein stark genug Grund? Ich weiß es nicht, aber ich nehme an, man könnte sagen: "Niemand wurde jemals wegen der Installation einer Firewall gefeuert."

Ein weiterer Grund für die Ausführung einer Firewall auf einem Server ist die Entkopplung dieser beiden ansonsten stark miteinander verbundenen Probleme:

  1. Von wo und zu welchen Ports akzeptiere ich Verbindungen?
  2. Welche Dienste werden ausgeführt und warten auf Verbindungen?

Ohne eine Firewall bestimmen die ausgeführten Dienste (zusammen mit den Konfigurationen für tcpwrapper usw.) vollständig, über welche Ports der Server geöffnet ist und von wem Verbindungen akzeptiert werden. Eine hostbasierte Firewall bietet dem Administrator zusätzliche Flexibilität, um neue Dienste auf kontrollierte Weise zu installieren und zu testen, bevor sie allgemein verfügbar gemacht werden. Wenn eine solche Flexibilität nicht erforderlich ist, gibt es weniger Gründe, eine Firewall auf einem Server zu installieren.

Abschließend möchte ich darauf hinweisen, dass in Ihrer Sicherheitscheckliste ein Element nicht aufgeführt ist, das ich immer hinzufüge, und das ein Host-basiertes Intrusion Detection-System (HIDS) wie AIDE oder Samhain ist . Ein gutes HIDS macht es einem Eindringling extrem schwer, unerwünschte Änderungen am System vorzunehmen und unentdeckt zu bleiben. Ich glaube, auf allen Servern sollte eine Art HIDS laufen.


1
+1 für die Erwähnung von HIDS-Systemen.
Sam Halicke

3
HIDS sind großartig - Wenn Sie es einstellen und vergessen möchten. Und niemals Konten hinzufügen oder löschen. Andernfalls wird die überwiegende Mehrheit der HIDS-Protokolle eine lange Liste dessen sein, was Sie heute getan haben, und wird schnell die ganze Zeit ignoriert.
Ernie

Kein Schmerz, kein Gewinn, wie sie sagen. Auf Servern mit vielen Änderungen kann das erwartete Rauschen herausgefiltert werden, sodass Sie sich auf das Unerwartete konzentrieren können.
Steven Montag

6

Eine Firewall ist ein Tool. Es macht die Dinge nicht an und für sich sicher, aber es kann einen Beitrag als Schicht in einem sicheren Netzwerk leisten. Das bedeutet nicht, dass Sie eine brauchen, und ich mache mir sicherlich Sorgen um Leute, die blindlings sagen: "Ich muss eine Firewall haben", ohne zu verstehen, warum sie so denken, und die die Stärken und Schwächen von Firewalls nicht verstehen.

Es gibt viele Tools, von denen wir sagen können, dass sie nicht benötigt werden ... Ist es möglich, einen Windows-Computer ohne Antivirus auszuführen? Ja, das ist es ... aber es ist eine schöne Versicherung, eine zu haben.

Ich würde dasselbe über Firewalls sagen - was auch immer Sie über Firewalls sagen können, sie sind ein gutes Versicherungsniveau. Sie ersetzen nicht das Patchen, das Sperren von Computern, das Deaktivieren von Diensten, die Sie nicht verwenden, das Protokollieren usw., können aber eine nützliche Ergänzung sein.

Ich würde auch vorschlagen, dass sich die Gleichung etwas ändert, je nachdem, ob Sie eine Firewall vor einer Gruppe sorgfältig gepflegter Server oder ein typisches LAN mit einer Mischung aus Workstations und Servern platzieren , von denen einige trotz der besten Bemühungen und Wünsche des IT-Teams einige ziemlich haarige Sachen ausführen könnten.

Eine weitere zu berücksichtigende Sache ist der Vorteil der Schaffung eines offensichtlich gehärteten Ziels. Sichtbare Sicherheit, ob es sich um helles Licht, schwere Schlösser und eine offensichtliche Alarmbox an einem Gebäude handelt; oder eine offensichtliche Firewall im Bereich der IP-Adressen eines Unternehmens kann den zufälligen Eindringling abschrecken - er wird nach einer leichteren Beute suchen. Dies schreckt den entschlossenen Eindringling nicht ab, der weiß, dass Sie Informationen haben, die er haben möchte, und er ist entschlossen, diese zu erhalten. Es lohnt sich jedoch, die gelegentlichen Eindringlinge abzuschrecken, insbesondere wenn Sie wissen, dass jeder Eindringling, dessen Sonden nach der Abschreckung bestehen, besonders ernst genommen werden muss .


1
Also der Grund, warum ich "Server" statt "Office-Netzwerk" sagte? :) In unserem Fall sind das Rechenzentrum und das Büro zwei physikalisch getrennte Einheiten.
Ernie

Ich verstehe, dass Ernie, aber es ist ein Punkt, der es wert ist, unterstrichen zu werden ... also habe ich es getan.
Rob Moir

5

Alles gute Fragen. ABER - ich bin sehr überrascht, dass PERFORMANCE nicht an den Tisch gebracht wurde.

Bei stark (CPU-bezogen) ausgelasteten Web-Front-Ends beeinträchtigt die lokale Firewall die Leistung in diesem Zeitraum erheblich. Versuchen Sie einen Belastungstest und sehen Sie. Ich habe das unzählige Male gesehen. Durch Deaktivieren der Firewall wurde die Leistung (Anforderung pro Sekunde) um mindestens 70% erhöht.

Dieser Kompromiss muss berücksichtigt werden.


2
Dies hängt stark von den geltenden Firewall-Regeln ab. Firewall-Regeln werden nacheinander für jedes Paket ausgeführt, sodass Sie nicht Hunderte von Regeln benötigen, die überprüft werden müssen. Als wir im letzten Winter eine Site verwalteten, auf der Werbung auf dem Superbowl zu sehen war, waren die Firewall-Regeln zum Beispiel kein Problem. Ich stimme jedoch zu, dass Sie die Auswirkungen von Firewall-Regeln auf die Leistung verstehen müssen.
Sean Reifschneider

4

Eine Firewall bietet zusätzlichen Schutz. Drei besondere Szenarien, vor denen es sich schützt, sind Netzwerkstapelangriffe (dh Ihr Serverbetriebssystem ist anfällig für speziell gestaltete Pakete, die niemals die Ebene von Ports erreichen), ein erfolgreiches Eindringen, das eine Verbindung zum "Telefonhaus" herstellt (oder Spam sendet oder was auch immer) ) oder ein erfolgreiches Eindringen, das einen Server-Port öffnet, oder, was weniger erkennbar ist, eine Port-Klopfsequenz abwarten, bevor ein Port geöffnet wird. Zugegeben, die letzten beiden haben eher damit zu tun, den Schaden eines Eindringlings zu mildern, als ihn zu verhindern, aber das heißt nicht, dass es nutzlos ist. Denken Sie daran, dass Sicherheit nicht alles oder nichts ist. Man verwendet einen mehrschichtigen Ansatz, Gürtel und Hosenträger, um ein Sicherheitsniveau zu erreichen, das für Ihre Anforderungen ausreicht.


+1 Auf jeden Fall ist die Tiefenverteidigung der Schlüssel.
Jim OHalloran

2
Ich verstehe nicht, wie ich davon ausgehen kann, ausgehenden Datenverkehr zu blockieren, insbesondere wenn unsere Kunden erwarten, dass viele unserer Server E-Mails an zufällige Hosts im Internet senden (wie dies bei Spam der Fall ist). "Nach Hause telefonieren" ist nur eine Frage der Verbindung zu einem anderen zufälligen Host im Internet - und ich bezweifle, dass das Blockieren aller ausgehenden Verbindungen, bis auf einige wenige, überhaupt nichts hilft - wenn Sie also etwas im Internet tun möchten . Und nur ein paar Häfen zu sperren ist so etwas wie eine Mautstelle mitten in der Wüste einzurichten.
Ernie

3

Ich bin in keiner Weise ein Sicherheitsexperte, aber es hört sich so an, als wären Sie von einer Firewall umgeben. Es scheint, als hätten Sie einige der Kernfunktionen einer Firewall in Ihre Richtlinien und Verfahren aufgenommen. Nein, Sie benötigen keine Firewall, wenn Sie den gleichen Job wie eine Firewall ausführen möchten. Was mich betrifft, würde ich lieber mein Bestes geben, um die Sicherheit aufrechtzuerhalten, aber eine Firewall schaut mir über die Schulter, aber irgendwann, wenn Sie alles tun können, was die Firewall tut, wird es irrelevant.


3

Für kleinere Setups wird sicherlich keine Firewall benötigt. Wenn Sie einen oder zwei Server haben, können Software-Firewalls gewartet werden. Trotzdem laufen wir nicht ohne dedizierte Firewalls, und es gibt einige Gründe, warum ich diese Philosophie beibehalte:

Rollentrennung

Server sind für Anwendungen. Firewalls dienen der Paketüberprüfung, Filterung und Richtlinien. Ein Webserver sollte sich darum kümmern, Webseiten zu bedienen, und das war's. Wenn Sie beide Rollen in einem Gerät vereinen, wird Ihr Buchhalter aufgefordert, auch Ihr Sicherheitsbeamter zu sein.

Software ist ein bewegliches Ziel

Die Software auf dem Host ändert sich ständig. Anwendungen können ihre eigenen Firewall-Ausnahmen erstellen. Das Betriebssystem wird aktualisiert und gepatcht. Server sind ein stark frequentierter "Administrator" -Bereich, und Ihre Firewall-Richtlinien / Sicherheitsrichtlinien sind für die Sicherheit häufig wichtiger als Ihre Anwendungskonfigurationen. Nehmen wir in einer Windows-Umgebung an, jemand macht auf einer Gruppenrichtlinienebene einen Fehler und deaktiviert die Windows-Firewall auf den Desktops und merkt nicht, dass sie auf die Server angewendet wird. Mit wenigen Klicks sind Sie weit offen.

Wenn es nur um Updates geht, werden Updates der Firewall-Firmware in der Regel ein- oder zweimal im Jahr veröffentlicht, während Betriebssystem- und Service-Updates ein ständiger Strom sind.

Wiederverwendbare Dienste / Richtlinien / Regeln, Verwaltbarkeit

Wenn ich einen Dienst / eine Richtlinie namens "Webserver" einmal eingerichtet habe (z. B. TCP 80 und TCP 443) und ihn / sie auf Firewall-Ebene auf die "Webservergruppe" anwende, ist dies wesentlich effizienter (einige Konfigurationsänderungen). und exponentiell weniger anfällig für menschliches Versagen als das Einrichten von Firewall-Diensten auf 10 Boxen und das 10-fache Öffnen von 2 Ports. Wenn sich diese Richtlinie ändern muss, ist es 1 Änderung gegenüber 10.

Ich kann eine Firewall während eines Angriffs oder nach einem Kompromiss weiterhin verwalten

Angenommen, mein hostbasierter Firewall- und Anwendungsserver wird angegriffen und die CPU ist nicht mehr aktuell. Um überhaupt herauszufinden, was passiert, bin ich der Gnade ausgeliefert, dass meine Last geringer ist als die des Angreifers, um überhaupt einzusteigen und es mir anzusehen.

Eine echte Erfahrung - Ich habe einmal eine Firewall-Regel durcheinander gebracht (die Ports wurden JEDEM anstatt einem bestimmten überlassen, und der Server hatte einen anfälligen Dienst), und der Angreifer hatte tatsächlich eine Live-Remotedesktopsitzung mit der Box. Jedes Mal, wenn ich anfing, eine Sitzung zu starten, brach der Angreifer meine Sitzung ab bzw. unterbrach sie. Wenn es nicht möglich gewesen wäre, diesen Angriff von einem unabhängigen Firewall-Gerät aus abzubrechen, hätte das viel schlimmer sein können.

Unabhängige Überwachung

Die Protokollierung in dedizierten Firewall-Einheiten ist in der Regel Host-basierten Software-Firewalls weit überlegen. Einige sind so gut, dass Sie nicht einmal eine externe SNMP / NetFlow-Überwachungssoftware benötigen, um ein genaues Bild zu erhalten.

IPv4-Erhaltung

Es gibt keinen Grund, zwei IP-Adressen zu haben, wenn eine für das Internet und eine für die E-Mail bestimmt ist. Bewahren Sie die Dienste in separaten Boxen auf und leiten Sie die Ports über das dafür vorgesehene Gerät entsprechend.


2

Blockquote Nun, Sie haben Recht, ich habe dort keine Nachteile eingebaut. Nachteile: Erhöhte Netzwerkkomplexität, Single Point of Failure, Single Network Interface, über das die Bandbreite eingeschränkt wird. Ebenso können administrative Fehler, die an einer Firewall gemacht wurden, Ihr gesamtes Netzwerk zerstören. Und Götter verbieten, dass Sie sich in der Zwischenzeit ausschließen, wenn es eine 20-minütige Fahrt zum Serverraum ist.

Erstens ist das Hinzufügen von höchstens einem zusätzlichen gerouteten Hop durch Ihr Netzwerk nicht komplex. Zweitens ist keine Firewall-Lösung, die mit einem einzelnen Fehlerpunkt implementiert wurde, völlig nutzlos. So wie Sie wichtige Server oder Dienste gruppieren und verbundene Netzwerkkarten verwenden, implementieren Sie hochverfügbare Firewalls. Das nicht zu tun oder nicht zu erkennen und zu wissen, dass Sie das tun würden, ist sehr kurzsichtig. Die bloße Angabe, dass es eine einzige Schnittstelle gibt, führt nicht automatisch zu einem Engpass. Diese Behauptung zeigt, dass Sie keine Ahnung haben, wie Sie eine Firewall mit der Größe, die für den Datenverkehr in Ihrem Netzwerk geeignet ist, richtig planen und bereitstellen können. Sie sagen zu Recht, dass ein Fehler in der Richtlinie Ihr gesamtes Netzwerk schädigen kann, aber ich würde argumentieren, dass die Beibehaltung einzelner Richtlinien auf allen Ihren Servern weitaus fehleranfälliger ist als ein einzelner Ort.

Bezüglich des Arguments, dass Sie mit Sicherheitspatches Schritt halten und Sicherheitsrichtlinien befolgen; Das ist bestenfalls ein wackeliges Argument. In der Regel sind Sicherheitspatches erst verfügbar, nachdem eine Sicherheitsanfälligkeit entdeckt wurde. Das bedeutet, dass öffentlich adressierbare Server die ganze Zeit über anfällig sind, bis sie gepatcht werden. Wie bereits erwähnt, können IPS-Systeme dazu beitragen, Kompromisse aufgrund solcher Sicherheitsanfälligkeiten zu vermeiden.

Wenn Sie glauben, dass Ihre Systeme so sicher wie möglich sind, ist dies ein gutes Vertrauen. Ich würde Ihnen jedoch empfehlen, ein professionelles Sicherheits-Audit in Ihrem Netzwerk durchführen zu lassen. Es kann nur deine Augen öffnen.


It may just open your eyes.+1 wie es der letzte Nagel im Sarg sein wird.
Sjas

2

Sicherheit ist im Allgemeinen, wie bereits erwähnt, eine Zwiebelsache. Es gibt Gründe, warum es Firewalls gibt, und nicht nur die anderen Lemminge sind dumme Idioten.

Diese Antwort kommt, da die Suche nach 'fail2ban' auf dieser Seite keine Ergebnisse lieferte. Wenn ich also andere Inhalte verdopple, nimm sie mit. Und entschuldigen Sie, wenn ich ein bisschen herumschimpfe, gebe ich Ihnen eine einfache Erfahrung, da dies für andere nützlich sein könnte. :)

Netzwerküberlegungen, lokal oder extern

Dies ist eher Linux-spezifisch und konzentriert sich auf hostbasiertes Firewalling, was normalerweise der Anwendungsfall ist. Externes Firewalling geht Hand in Hand mit einer ordnungsgemäßen Netzwerkstruktur, und andere Sicherheitsaspekte werden normalerweise berücksichtigt. Entweder Sie wissen, was hier impliziert ist, dann werden Sie diesen Beitrag wahrscheinlich nicht benötigen. Oder du tust es nicht, dann lies einfach weiter.

Das externe und lokale Ausführen von Firewalls kann kontraintuitiv und doppelte Arbeit sein. Dies gibt aber auch die Möglichkeit, die Regeln auf die externe umzudrehen, ohne die Sicherheit aller anderen dahinter stehenden Hosts zu gefährden. Die Notwendigkeit könnte entweder aus Debugging-Gründen oder weil jemand einfach Mist gebaut hat. Ein weiterer Anwendungsfall wird dort im Abschnitt "Adaptive Global Firewalling" beschrieben, für den Sie auch sowohl globale als auch lokale Firewalls benötigen.

Kosten und Verfügbarkeit und immer die gleiche Geschichte:

Firewalling ist nur ein Aspekt eines ordnungsgemäßen gesicherten Systems. Keine Firewall zu installieren, da dies Geld kostet, einen SPOF einführt oder was auch immer nur Blödsinn ist, verzeihen Sie mein Französisch hier. Richten Sie einfach einen Cluster ein. Oh, aber was ist, wenn die Feuerzelle einen Ausfall hat? Richten Sie dann Ihren Cluster so ein, dass er sich über zwei oder mehr Brandabschnitte erstreckt.

Aber was ist, wenn das gesamte Rechenzentrum nicht erreichbar ist, da beide externen Netzbetreiber nicht in Betrieb sind (Bagger hat Ihre Glasfaser zerstört)? Machen Sie Ihren Cluster dann einfach so, dass er sich über mehrere Rechenzentren erstreckt.

Das ist teuer? Cluster sind zu komplex? Nun, Paranoia muss bezahlt werden.

Nur über SPOFs zu jammern, aber nicht mehr Geld bezahlen zu wollen oder etwas komplexere Setups zu erstellen, ist ein klarer Fall von Doppelmoral oder nur einer kleinen Geldbörse auf Firmen- oder Kundenseite.

Dieses Muster gilt für ALLE diese Diskussionen, unabhängig davon, welcher Dienst der aktuelle Tagesordnungspunkt ist. Egal, ob es sich um ein VPN-Gateway handelt, einen Cisco-ASA, der nur für das Firewalling verwendet wird, eine MySQL- oder PostgreSQL-Datenbank, ein virtuelles System oder Serverhardware, ein Speicher-Backend, Switches / Router usw.

Inzwischen sollten Sie auf die Idee kommen.

Warum sich mit Firewalling beschäftigen?

In der Theorie ist Ihre Argumentation vernünftig. (Nur laufende Dienste können ausgenutzt werden.)

Das ist aber nur die halbe Wahrheit. Firewalling, insbesondere Stateful Firewalling, kann viel mehr für Sie tun. Zustandslose Firewalls sind nur wichtig, wenn Leistungsprobleme auftreten, wie sie bereits erwähnt wurden.

Einfache, zentrale und diskrete Zugangskontrolle

Sie haben TCP - Wrapper erwähnt, die im Grunde die gleiche Funktionalität für die Sicherung Ihres Netzwerks implementieren. Nehmen wir an, jemand kennt tcpdund mag die Verwendung einer Maus nicht. fwbuilderkönnte in den Sinn kommen.

Der vollständige Zugriff über Ihr Verwaltungsnetzwerk sollte aktiviert sein. Dies ist einer der ersten Anwendungsfälle Ihrer hostbasierten Firewall.

Wie wäre es mit einem Multi-Server-Setup, bei dem die Datenbank an einem anderen Ort ausgeführt wird und Sie aus irgendeinem Grund nicht beide / alle Computer in einem gemeinsam genutzten (privaten) Subnetz platzieren können? Verwenden Sie die Firewall, um MySQL-Zugriff auf Port 3306 nur für die einzelne angegebene IP-Adresse des anderen Servers zuzulassen.

Und das funktioniert auch bei UDP einwandfrei. Oder welches Protokoll auch immer. Firewalls können so verdammt flexibel sein. ;)

Portscan-Minderung

Durch Firewalling können außerdem allgemeine Portscans erkannt und reduziert werden, da die Anzahl der Verbindungen pro Zeitspanne über den Kernel und dessen Netzwerkstapel überwacht werden kann und die Firewall darauf reagieren kann.

Auch ungültige oder undurchsichtige Pakete können behandelt werden, bevor sie jemals Ihre Anwendung erreichen.

Beschränkung des ausgehenden Datenverkehrs

Das Filtern von ausgehendem Datenverkehr ist normalerweise ein Problem. Aber es kann ein Muss sein, je nach Vertrag.

Statistiken

Eine andere Sache, die eine Firewall Ihnen geben kann, ist die Statistik. (Denken Sie daran, watch -n1 -d iptables -vnxL INPUTdass Sie oben einige Regeln für spezielle IP-Adressen hinzugefügt haben, um zu sehen, ob Pakete durchkommen.)

Sie können bei Tageslicht sehen, ob Dinge funktionieren oder nicht. Dies ist SEHR nützlich, wenn Sie Probleme mit Verbindungen beheben und der anderen Person am Telefon mitteilen möchten, dass Sie keine Pakete erhalten, ohne auf Chattys zurückgreifen zu müssen tcpdump. Networking macht Spaß, die meisten Leute wissen erst jetzt, was sie tun, und oft sind es nur einfache Routing-Fehler. Zur Hölle, auch ich weiß nicht immer, was ich tue. Obwohl ich buchstäblich mit Dutzenden komplexer Systeme und Geräte gearbeitet habe, habe ich inzwischen oft auch mit Tunnelbau gearbeitet.

IDS / IPS

Layer7-Firewalling ist in der Regel Snake-Oil (IPS / IDS), wenn es nicht ordnungsgemäß gewartet und regelmäßig aktualisiert wird. Außerdem sind die Lizenzen verdammt teuer, also würde ich es mir sparen, eine zu kaufen, wenn Sie nicht wirklich alles brauchen, was Sie für Geld kaufen können.

Masqerading

Ganz einfach, probieren Sie dies einfach mit Ihren Wrappern aus. : D

Lokale Portweiterleitung

Siehe Maskerade.

Sichern von Passwortzugriffskanälen mit dynamischen IP-Adressen

Was ist, wenn Kunden dynamische IP-Adressen haben und kein VPN-Setup implementiert ist? Oder andere dynamische Ansätze für das Firewalling? Dies ist bereits in der Frage angedeutet, und hier wird ein Anwendungsfall für die Leider kann ich keine Firewalls finden, die das tun. Teil.

Das Deaktivieren des Root-Kontos über ein Passwort ist ein Muss. Auch wenn der Zugriff auf bestimmte IP-Adressen beschränkt ist.

Außerdem ist es sehr praktisch, immer noch ein Blanko-Konto mit einem Passwort-Login zu haben, wenn SSH-Schlüssel verloren gehen oder die Bereitstellung fehlschlägt, wenn etwas wirklich schief geht (ein Benutzer hat Administratorzugriff auf den Computer und "Dinge sind passiert"?). Es ist die gleiche Idee für den Netzwerkzugriff, wie für den Einzelbenutzermodus unter Linux oder die Verwendung von init=/bin/bashvia grubfür den lokalen Zugriff, und es kann aus irgendeinem Grund keine Live-Festplatte verwendet werden. Nicht lachen, es gibt Virtualisierungsprodukte, die das verbieten. Was passiert, wenn eine veraltete Softwareversion ausgeführt wird, der die Funktionalität fehlt, auch wenn die Funktionalität vorhanden ist?

Selbst wenn Sie Ihren ssh-Daemon auf einem esoterischen Port ausführen und nicht auf 22, und wenn Sie Dinge wie Port-Knocking nicht implementiert haben (um sogar einen anderen Port zu öffnen und so Port-Scans zu mildern, die langsam an die Grenze zu unpraktisch gehen), werden Ihre Port-Scans dies erkennen Service schließlich.

In der Regel richten Sie aus Effizienzgründen auch alle Server mit derselben Konfiguration und denselben Ports und Diensten ein. Sie können ssh nicht auf jedem Rechner auf einen anderen Port einstellen. Sie können es auch nicht jedes Mal auf allen Computern ändern, wenn Sie es als "öffentliche" Information ansehen, da es sich bereits um eine Überprüfung handelt. Die Frage, nmapob Sie legal sind oder nicht, ist kein Problem, wenn Sie über eine gehackte WLAN-Verbindung verfügen.

Wenn dieses Konto nicht den Namen "root" trägt, können andere Benutzer möglicherweise den Namen Ihres Benutzerkontos für Ihre "Hintertür" nicht erraten. Aber sie werden wissen, ob sie einen anderen Server von Ihrem Unternehmen erhalten oder einfach nur einen Webspace kaufen und einen ungestörten / ungestörten / nicht gestörten Blick auf sich werfen /etc/passwd.

Zur rein theoretischen Veranschaulichung könnten sie dort eine hackbare Website verwenden, um Zugriff auf Ihren Server zu erhalten und nachzuschlagen, wie die Dinge normalerweise bei Ihnen laufen. Ihre Hack-Such-Tools werden möglicherweise nicht rund um die Uhr ausgeführt (normalerweise nachts aus Gründen der Datenträgerleistung für die Dateisystem-Scans?) Und Ihre Virenscanner werden nicht aktualisiert, sobald ein neuer Zero-Day das Licht der Welt erblickt Sie können diese Ereignisse nicht sofort erkennen, und ohne andere Schutzmaßnahmen wissen Sie möglicherweise gar nicht, was passiert ist. Um zur Realität zurückzukehren: Wenn jemand Zugriff auf Zero-Day-Exploits hat, ist es sehr wahrscheinlich, dass er Ihre Server sowieso nicht als Ziel auswählt, da diese nur teuer sind. Dies dient nur der Veranschaulichung, dass es immer einen Weg in ein System gibt, wenn der Bedarf entsteht.

Aber zum Thema nochmal, benutze einfach kein extra passwortgeschütztes Konto und kümmere dich nicht darum? Bitte lesen Sie weiter.

Selbst wenn Angreifer den Namen und den Port dieses zusätzlichen Kontos abrufen, werden sie durch eine fail2ban+ iptables-Kombination gestoppt, selbst wenn Sie nur ein aus acht Buchstaben bestehendes Kennwort verwendet haben. Darüber hinaus kann fail2ban auch für andere Dienste implementiert werden, was den Überwachungshorizont erweitert!

Für Ihre eigenen Dienste, falls jemals ein Bedarf aufgetreten ist: Grundsätzlich kann jeder Fehler bei der Dienstprotokollierung in einer Datei durch die Bereitstellung einer Datei, der passenden Regex und der zulässigen Anzahl von Fehlern durch fail2ban unterstützt werden, und die Firewall sperrt einfach jede IP-Adresse wird gesagt.

Ich rate nicht zur Verwendung von 8-stelligen Passwörtern! Wenn sie jedoch 24 Stunden lang für fünf Versuche mit falschen Passwörtern gesperrt werden, können Sie sich vorstellen, wie lange sie versuchen müssen, wenn ihnen trotz dieser miesen Sicherheit kein Botnetz zur Verfügung steht. Und Sie werden erstaunt sein, für welche Passwörter Kunden normalerweise nicht nur verwenden ssh. Wenn Sie sich die E-Mail-Passwörter der Leute über Plesk ansehen , erfahren Sie alles, was Sie lieber nicht wissen möchten, wenn Sie es jemals tun würden, aber was ich hier natürlich nicht implizieren möchte. :)

Adaptives globales Firewalling

fail2banist nur eine Anwendung, die etwas in der Art von verwendet iptables -I <chain_name> 1 -s <IP> -j DROP, aber Sie können solche Dinge mit etwas Bash-Magie ziemlich schnell selbst erstellen.

Um so etwas weiter zu erweitern, aggregieren Sie alle fail2ban-IP-Adressen von Servern in Ihrem Netzwerk auf einem zusätzlichen Server, der alle Listen zusammenstellt und diese wiederum an Ihre Kernfirewalls weiterleitet, die den gesamten Datenverkehr blockieren, der sich bereits am Rand Ihres Netzwerks befindet.

Solche Funktionen können nicht verkauft werden (natürlich, aber es wird nur ein sprödes System sein und saugen), sondern müssen in Ihre Infrastruktur verwoben werden.

Währenddessen können Sie auch Blacklist-IP-Adressen oder Listen aus anderen Quellen verwenden, sei es von Ihnen selbst oder von externen Quellen.


1

In der physischen Welt sichern Menschen Wertsachen, indem sie sie in Safes stecken. Aber es gibt keinen Safe, in den man nicht einbrechen kann. Safes oder Sicherheitsbehälter werden danach bewertet, wie lange es dauert, bis der Zugang erzwungen wird. Der Zweck des Safes besteht darin, den Angreifer so lange zu verzögern, dass er erkannt wird und aktive Maßnahmen den Angriff stoppen.

In ähnlicher Weise ist die richtige Sicherheitsannahme, dass Ihre exponierten Maschinen letztendlich kompromittiert werden. Firewalls und Bastion-Hosts sollen nicht verhindern, dass Ihr Server (mit Ihren wertvollen Daten) kompromittiert wird, sondern einen Angreifer zwingen, diese zuerst zu kompromittieren, und Sie können den Angriff erkennen (und abschrecken), bevor die Wertsachen verloren gehen.

Beachten Sie, dass weder Firewalls noch Banktresore vor Insider-Bedrohungen schützen. Dies ist einer der Gründe, warum Bankbuchhalter nacheinander zwei Wochen Urlaub nehmen müssen und die Server über umfassende interne Sicherheitsvorkehrungen verfügen müssen, obwohl sie von Bastion-Hosts geschützt werden.

Sie scheinen im ursprünglichen Beitrag zu implizieren, dass Sie "Outside World" -Pakete über Ihre Firewall direkt an Ihren Server weiterleiten. In diesem Fall macht Ihre Firewall nicht viel. Eine bessere Perimeter-Verteidigung wird mit zwei Firewalls und einem Bastion-Host erreicht, bei denen keine direkte logische Verbindung von außen nach innen besteht - jede Verbindung wird im DMZ-Bastion-Host beendet. Jedes Paket wird vor der Weiterleitung entsprechend geprüft (und möglicherweise analysiert).


"Das ist ein Grund für die Bankbuchhalter, zwei Wochen hintereinander Urlaub zu nehmen." Können Sie das klarstellen? Könnte hier nicht wichtig sein, aber ich habe Interesse bekommen.
Per Wiklander

-1, weil ich bereits darauf eingegangen bin, dass Sie nicht in eine Firewall einbrechen müssen , bevor Sie in einen Server einbrechen. - Die Firewall muss der Öffentlichkeit den Zugriff auf einen Dienst ermöglichen, den Sie der Öffentlichkeit anbieten , also auf den Server selbst ist offen für Angriffe aus der Öffentlichkeit. Auf keinem unserer Server befinden sich Dienste, auf die die Öffentlichkeit noch keinen Zugriff haben soll.
Ernie

@Ernie - Sie verpassen den Punkt. Ein Bastion-Host-Design DMZ isoliert einen Host durch Firewalls auf beiden Seiten. Dieser Host ist einem Angriff ausgesetzt und wird schließlich untergraben. Dieser Host ist jedoch nicht Ihr Server und enthält nur minimale Mengen Ihrer kritischen Informationen. Die DMZ (Host + Firewalls) verlangsamt einen Angriff auf Ihren Server so lange, dass Sie darauf reagieren und dessen Erfolg verhindern können.
mpez0 18.11.10

1
@Per Wiklander - GAAP beinhaltet regelmäßige Überprüfungen. Ein unterschlagener Buchhalter ist möglicherweise in der Lage, die Zahlen zu ermitteln und eine Entdeckung während dieser Überprüfungsprüfungen zu verhindern, wenn er jedoch zwei aufeinanderfolgende Wochen nicht im Job sein muss, wird dies von einer anderen Person gemeldet, und deren Fehlverhalten kann aufgedeckt werden. Es ist eine Form der Zwei-Personen-Kontrolle.
mpez0 18.11.10

Wie schützt der Bastion-Host irgendetwas auf den Servern? Ein Beispiel: Port 80, 25 und 110 sind die einzigen offenen Ports auf einem Server. Die Firewall ermöglicht den Datenverkehr zu diesen Ports aus dem gesamten Internet. Daher schützt die Firewall nichts. Wenn sich Ihre Server an einem anderen Ort als Ihr Büro befinden, benötigen Sie außer einer Firewall in Ihrem Büro keinen weiteren Schutz.
Ernie

1

Schwachstellen sind schwer vorhersehbar. Es ist praktisch unmöglich vorherzusagen, auf welche Weise Ihre Infrastruktur ausgenutzt wird. Eine Firewall setzt neue Maßstäbe für einen Angreifer, der eine Sicherheitsanfälligkeit ausnutzen möchte. Dies ist der wichtige Teil, BEVOR Sie wissen, um welche Sicherheitsanfälligkeit es sich handelt. Darüber hinaus sind die Auswirkungen der Firewall im Voraus leicht zu verstehen, sodass es unwahrscheinlich ist, dass Sie Probleme mit einer Firewall verursachen, die schwerwiegender sind als die Probleme, die Sie wahrscheinlich vermeiden.

Aus diesem Grund "wurde noch nie jemand wegen der Installation einer Firewall gefeuert". Ihre Implementierung ist sehr risikoarm und es besteht eine HOHE Wahrscheinlichkeit, dass ein Exploit verhindert oder gemindert wird. Außerdem werden die meisten wirklich bösen Sicherheitslücken von der Automatisierung ausgenutzt, sodass "ungewöhnliche" Ereignisse einen Bot zum Scheitern bringen oder zumindest dazu führen, dass Sie sich für ein einfacheres Ziel entscheiden.

Randnotiz; Firewalls sind nicht nur für das Internet gedacht. Ihre Buchhaltung braucht kein ssh / whatever auf deinem ldap server, also gib es ihnen nicht. Die Kompartimentierung interner Dienste kann einen großen Unterschied für die Aufräumarbeiten bedeuten, falls etwas die Burgmauern durchbricht.


2
Eine Firewall setzt keine neuen Maßstäbe, wenn Firewall-Regeln erforderlich sind, die die Ports 80, 53, 25, 110, 143, 443, 993, 995 und mehr für das gesamte Internet öffnen. Diese Server sind mit einer Firewall genauso anfällig wie ohne, wenn Sie solche Regeln benötigen.
Ernie

2
Stimmt, aber dieser Server hat wahrscheinlich Port 3306 (MySQL) und eine Vielzahl anderer Protokolle, die möglicherweise von einer Firewall profitieren würden. Das heißt nicht, dass Sie keinen anderen Schutz haben sollten; Nur dass die Firewall nicht wehtun wird. Ich denke, Sie haben meinen Standpunkt verpasst, dass der gesamte Datenverkehr nicht für alle Benutzer offen sein muss. Port 22 muss möglicherweise geöffnet sein, jedoch nicht auf ALLEN Hosts und mit Sicherheit nicht auf dem gesamten Internet (oder der Buchhaltung und der Personalabteilung). Das Schließen von 25 für das Accounting, wenn mehr als 465 ausgeführt werden sollen, kann beispielsweise einige Spam-Malware verringern.
Enki

1

Ich muss Ernie sagen, dass Sie anscheinend viel tun, um Ihre Server zu härten und Angriffe und Schwachstellen abzuwehren, aber ich bin nicht mit Ihrer Haltung zu Firewalls einverstanden.

Ich behandle Sicherheit ein bisschen wie eine Zwiebel, da Sie im Idealfall Schichten haben, die Sie überwinden müssen, bevor Sie zum Kern gelangen, und ich persönlich denke, dass es grob falsch ist, keine Art von Hardware-Firewall an Ihrem Netzwerkrand zu haben.

Ich gebe zu, dass ich das aus dem Blickwinkel "wie ich es gewohnt bin" betrachte, aber ich weiß, dass ich jeden Monat eine nette kleine Liste der Patches dieses Monats von Microsoft bekomme, von denen viele in freier Wildbahn ausgenutzt werden . Ich würde mir vorstellen, dass dies für so ziemlich jedes Betriebssystem und jede Reihe von Anwendungen der Fall ist, an die Sie gerne denken.

Jetzt schlage ich weder vor, dass Firewalls dies beseitigen, noch dass Firewalls immun gegen Bugs / Schwachstellen sind. Offensichtlich ist eine "Hardware" -Firewall nur Software, die auf einem Hardware-Stack ausgeführt wird.

Trotzdem schlafe ich viel sicherer, wenn ich weiß, dass mein Perimeter Juniper sicherstellt, dass nur Port 443 über das Web erreichbar ist, wenn ich einen Server habe, der nur Port 443 benötigt. Darüber hinaus sorgt mein Palo Alto dafür, dass der eingehende Datenverkehr entschlüsselt, überprüft, protokolliert und nach IPS / IDS durchsucht wird. Außerdem müssen die Server nicht mehr sicher und aktuell sein. Aber warum würden Sie diesen Vorteil NICHT finden, da er Zero-Day-Exploits und gute alte menschliche Fehler mildern kann?


1

Wenn Sie von Portweiterleitung sprechen, vermuten Sie zunächst, dass Sie Firewalling mit NATing in Konflikt bringen. Während NATs heutzutage häufig als De-facto-Firewalls fungieren, ist dies nicht der Zweck, für den sie entwickelt wurden. NAT ist ein Routing-Tool. Firewalls regeln den Zugriff. Es ist für die Klarheit des Denkens wichtig, diese Konzepte getrennt zu halten.

Natürlich ist es nicht sicherer, einen Server hinter eine NAT-Box zu stellen und dann das NAT so zu konfigurieren, dass alles an diesen Server weitergeleitet wird, als den Server direkt ins Internet zu stellen. Ich glaube nicht, dass sich jemand damit auseinandersetzen würde.

Ebenso ist eine Firewall, die so konfiguriert ist, dass sie den gesamten Datenverkehr zulässt, überhaupt keine Firewall.

Aber ist "Alle Zugriffe zulassen" wirklich die von Ihnen gewünschte Richtlinie? Muss irgendjemand jemals von einer russischen IP-Adresse zu einem Ihrer Server ssh? Braucht die ganze Welt wirklich Zugriff darauf, während Sie an der Konfiguration eines neuen experimentellen Netzwerk-Daemons basteln?

Die Leistung einer Firewall besteht darin, dass Sie nur die Dienste offen halten können, von denen Sie wissen, dass sie geöffnet sein müssen, und einen einzigen Kontrollpunkt für die Implementierung dieser Richtlinie haben.


2
Alle Ihre Punkte wurden in meiner Frage angesprochen. Ja, "Alle Zugriffe zulassen" ist genau die Richtlinie, die wir für Nicht-Verwaltungsdienste wie SSH oder den Verwaltungsport eines Servers wünschen. Anderenfalls könnten die Leute unsere Webseiten nicht sehen und uns eine E-Mail senden!
Ernie

2
Die Schritte 1 und 4 dienen dazu, nur die Dienste offen zu halten, die benötigt werden.
Ernie

1

Stateful Packet Inspection Firewalls gehören NICHT vor öffentliche Server. Sie akzeptieren alle Verbindungen, so dass die Statusverfolgung ziemlich nutzlos ist. Herkömmliche Firewalls sind eine große Gefahr bei DDoS-Angriffen und sind in der Regel das erste, was bei DDoS-Angriffen fehlschlägt, noch bevor die Verbindungsbandbreite oder die Serverressourcen vollständig verbraucht sind.

Zustandslose Paketfilter auf Routern sind vor öffentlichen Servern sinnvoll, aber nur dann, wenn sie die Leitungsrate des gesamten eingehenden und ausgehenden Datenverkehrs verarbeiten können (z. B. eine Hardware-ACL in einem Router).

Google, Facebook und sogar Microsoft stellen herkömmliche "Firewalls" nicht vor öffentliche Server. Jeder, der öffentliche Webdienste mit "mehr als einem Server" betrieben hat, sollte dies wissen.

Andere Funktionen, die in herkömmlichen Firewalls wie Cisco ASAs oder anderen implementiert sind, lassen sich am besten auf den Hosts selbst implementieren und können dort effektiv skaliert werden. Protokollierung, IDS usw. sind sowieso alle Softwarefunktionen in Firewalls, sodass sie nur dann zu einem enormen Engpass und DDoS-Ziel werden, wenn sie vor öffentlich zugänglichen Servern platziert werden.


1
Ich denke, Kontext ist wichtig. Das OP sprach wahrscheinlich nicht von Web-Scale-Systemen, bei denen Load Balancing und Firewalling ganz anders implementiert werden würden als beim Back-Office-Technologie-Stack eines KMU.
Ewwhite

Selbst vor einem einzelnen Server kann eine Stateful-Firewall nicht viel für Sie tun, wenn Sie Verbindungen von überall annehmen. Sie müssen ohnehin TLS oder eine andere Verschlüsselung für alles verwenden, damit eine Firewall nur sagen kann: "Hey, an Port 443 werden noch einige Daten an mir vorbeigeführt." Firewalls sind so gut wie tot: etherealmind.com/why-firewalls-wont-matter-in-a-fewy-years
rmalayter

0

Warum benötigen alle Ihre Server eine öffentliche Adresse?

Installieren Sie den Server im Serverraum und geben Sie ihm eine öffentliche IP-Adresse.

Von etwa 14 Servern, die ich regelmäßig verwende, haben nur 2 öffentlich zugängliche Schnittstellen.

Bearbeitet, um hinzuzufügen : In anderen Netzwerken, bei deren Verwaltung ich eine Rolle gespielt habe, konnten wir Dienste nach Belieben aktivieren / deaktivieren, während wir keinen Zugriff auf die Verwaltung der Firewall hatten. Ich kann Ihnen nicht einmal sagen, wie oft versehentlich ein nicht benötigter Dienst (SMTP) aktiviert und aktiviert wurde. Das einzige, was uns davor bewahrte, ein Spam-Dump zu werden und auf die schwarze Liste zu kommen, war eine Firewall.

Ist der gesamte Datenverkehr zwischen den Servern vollständig verschlüsselt?

Sie können mit Sicherheit ein Auto mit 100 Meilen pro Stunde fahren, ohne Sicherheitsgurte, ohne Airbags und ohne kahle Reifen, aber warum sollten Sie?


1
Weil sie möglicherweise alle Dienste haben, auf die "aus dem Internet"
zugegriffen werden muss

Ähm, nein. Eher wie Autofahren mit 100 km / h, mit Sicherheitsgurten und Airbags, während Sie auf das achten, was Sie tun. Aber ohne deine Türen zu verriegeln. Es gibt eine Sicherheitsrichtlinie und die Server sind sicher, aber es gibt keine Firewall. Firewalls sind nicht das A und O der Sicherheit.
Ernie

2
Ich habe NIEMALS gesagt, dass Firewalls das A und O der Sicherheit sind. Ich werde nicht wiederholen, was hier bereits gesagt wurde. Sie sind nur eine Schicht in vielen Schichten der Sicherheit. Ich habe dich jetzt zweimal gefragt und du hast nicht geantwortet. Server in einem LAN sind gesprächig. Sprechen alle Ihre Server nur über verschlüsselte Kanäle miteinander?
GregD 13.11.10

0

Firewalls können Systembenutzer daran hindern, für das Netzwerk zugängliche Dienste zu öffnen, die den Administratoren nicht bekannt sind, oder Portweiterleitungen an andere Computer durchzuführen. Durch die Verwendung des Hashlimit-Moduls können Firewalls auch Missbrauchsanfälligkeiten basierend auf der Remote-IP begrenzen.

Eine Firewall ist ein weiteres Sicherheitsnetz, das sicherstellt, dass Ihre Richtlinien eingehalten werden. Führen Sie keine Dienste aus, die Sie nicht erwarten.

Ich empfehle zum Beispiel auf jeden Fall, Software-Updates zeitnah anzuwenden, empfehle aber auch Firewalls auf allen Computern. Es ist wie wenn ich fahre: Klar, ich versuche Hindernissen und anderen Autos auszuweichen, aber ich trage auch einen Sicherheitsgurt und habe Airbags für den Fall, dass das Unerwartete passiert.


0

Sie können nicht erkennen, wie viel Sie von Firewalls profitieren, nur weil alle anderen sie verwenden. An einem Tag, an dem buchstäblich jeder DSL-Nutzer zu Hause über Firewalls verfügt, wurde das Port-Sniffing als praktikabler Angriffsvektor praktisch aufgegeben. Ein anständiger Hacker wird nicht seine Zeit damit verschwenden, nach solchen Dingen zu suchen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.