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:
Befolgen Sie die Sicherheitsrichtlinien meines Betriebssystems, bevor Sie meinen Server mit dem Internet verbinden.
Verwenden Sie TCP-Wrapper, um den Zugriff auf SSH (und andere Verwaltungsdienste) auf eine kleine Anzahl von IP-Adressen zu beschränken.
Überwachen Sie den Status dieses Servers mit Munin . Und korrigieren Sie die ungeheuren Sicherheitsprobleme, die dem Munin-Knoten in seiner Standardkonfiguration eigen sind.
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.
Installieren Sie den Server im Serverraum und geben Sie ihm eine öffentliche IP-Adresse.
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.
Antworten:
Vorteile der Firewall:
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:
quelle
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.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. :)
quelle
TCP Wrappers could be arguably called a host-based firewall implementation
+1 für eine gute Antwort.(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.
quelle
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.
quelle
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:
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.
quelle
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 .
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
It may just open your eyes.
+1 wie es der letzte Nagel im Sarg sein wird.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
tcpd
und mag die Verwendung einer Maus nicht.fwbuilder
kö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 INPUT
dass 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/bash
viagrub
fü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,
nmap
ob 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
fail2ban
ist nur eine Anwendung, die etwas in der Art von verwendetiptables -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.
quelle
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).
quelle
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.
quelle
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?
quelle
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.
quelle
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.
quelle
Warum benötigen alle Ihre Server eine öffentliche 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?
quelle
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.
quelle
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.
quelle