Die Sinnhaftigkeit von Anti Virus Lösungen auf (Oracle) Datenbankservern

In den letzten Jahren sind wir immer öfter auf das Problem gestoßen, dass auf den – meist Oracle, aber auch MS SQL oder PostgreSQL – Datenbank Servern eine Anti Virus Lösung zum Einsatz kommt.

Hinterfragen wir die Gründe dafür!

Spricht man mit den Security Verantwortlichen in den Unternehmen, kommt meistens als Argument, dass dies eine Vorgabe von ISO bzw. NIS oder einem anderen Regularium darstellt.

Disclaimer: Ich bin kein Experte für die Interpretation, Umsetzung und Einhaltung von Normen. Alle hier angeführten Informationen sind nach bestem Wissen und Gewissen gesammelt und bewertet worden, und stellen nur meine Sicht der Dinge dar. Zitate aus den verschiedenen Quellen werden in kursiv dargestellt.

Schauen wir uns die verschiedenen Richtlinien einmal genauer an:

  • DSGVO: In der DSGVO wird nur verlangt, dass die Daten „mit geeigneten technischen und organisatorischen Maßnahmen“ und „mit aktuellem Stand der Technik“ zu schützen sind. An keiner Stelle steht, dass man dafür eine Anti Virus Lösung einsetzen muss.
  • NIS2: Auch hier findet man kein Wort über den verpflichtenden Einsatz von Anti Virus Lösungen. Es geht nur um den Schutz der IT Infrastruktur vor Cyberangriffen und anderen Bedrohungen sowie um die Meldung von Vorfällen. Welche Maßnahmen man dafür einsetzt, wird nicht vorgegeben.
  • ISO 27001:2022: Hier wird man fündig!
    ISO 27001:2022 A.5.7 Erkenntnisse zur Bedrohungslage
    Informationen zur allgemeinen Gefährdungs- bzw. Bedrohungslage (z. B. aus BSI-Lageberichten) können dazu genutzt werden, um Bedrohungen zu verhindern, zu erkennen oder besser darauf reagieren zu können. Insbesondere stellen solche Daten einen wichtigen Input für die Beurteilung von Informationssicherheitsereignissen sowie für die angemessene Konfiguration von Antiviren-Software, Angriffserkennungssystemen und Webfiltern dar.

    ISO 27001:2022 A.8.7 Schutz vor Schadsoftware
    Die auf IT-Systemen verarbeiteten Informationen können durch Kompromittierung etwa nach der Installation von Schadsoftware wie etwa Viren, Würmern, trojanischen Pferden und Ähnlichem verändert oder durch diese offengelegt werden. Der Schutz davor ist im Zusammenwirken technischer und organisatorischer Maßnahmen zu sehen. Endpoint-Protection-Lösungen, welche die Infektion erkennen, verdächtige Dateien in gesicherte Quarantänebereiche verschieben oder nachträglich die Schadsoftware vom System wieder entfernen, sind hier genauso zu erwähnen wie Filtermechanismen, die Schutz vor mit einem Schadprogramm verseuchten E-Mail-Anhängen oder beim Zugriff auf kompromittierte Webseiten bieten.

    Im Rahmen der ISO 27001 kann/muss man entscheiden, ob man diese beiden Controls implementieren möchte, oder ob man nach eingehender Analyse der Bedrohungslage und der umgesetzten Maßnahmen im Rahmen einer Risikobewertung eine Begründung findet, ob und warum eine Umsetzung nicht sinnvoll/notwendig ist.
  • BSI IT Grundschutz Kompendium: Im Gegensatz zu den Normen und Richtlinien geht das BSI deutlich praxisorientierter auf die Herausforderungen und Umsetzungen ein. Dabei widerspricht es in einigen Punkten dem Anhang der ISO 27001:2022 Norm.

Auf welchen Betriebssystemen läuft die (Oracle) Datenbank?

Hier gibt es große Unterschiede in der Bedrohungslage und der Sicherheit des Betriebssystems. So bewertet das BSI im IT Grundschutz Kompendium beispielsweise die Gefährdungslage abhängig vom Betriebssystem sehr unterschiedlich.

  • SYS.1.1.A9 Einsatz von Virenschutz-Programmen auf Servern
    Abhängig vom installierten Betriebssystem, den bereitgestellten Diensten und von anderen vorhandenen Schutzmechanismen des Servers MUSS geprüft werden, ob Viren-Schutzprogramme eingesetzt werden sollen und können. Soweit vorhanden, MÜSSEN konkrete Aussagen, ob ein Virenschutz notwendig ist, aus den betreffenden Betriebssystem-Bausteinen des IT-Grundschutz-Kompendiums berücksichtigt werden.

Microsoft Windows Server

Schaut man sich dazu an, wie oft es zu Sicherheitsvorfällen und Problemen mit dem Patching bei Microsoft Betriebssystemen kommt, ist das auch nicht verwunderlich.

Hier einige Highlights aus der letzten Zeit für Windows und Anti Virus Lösungen auf diesem Betriebssystem (Die Auswahl stammt bewusst nur aus den Artikeln von Heise, da bei Heise neben Windows auch Linux/Unix und Security wichtige Kompetenzbereiche sind):

Diese Liste ist mit Sicherheit nicht vollständig, sondern enthält nur die Ergebnisse der ersten Seite aus der Google-Suche zum Thema.

Linux Server Betriebssysteme

Vergleichen wir das mit einem Linux (Server) Betriebssystem für den gleichen Zeitraum – Probleme mit Desktop Linux (zb: Ubuntu, Mint,…) wurden nicht gewertet.

Auch diese Liste ist nicht garantiert vollständig, sondern enthält nur die Ergebnisse für die vergleichbare Suche mit Google für Linux statt Windows.

BSI warnt bei Linux sogar explizit vor Software aus Drittquellen (also nicht Teil der Distribution):
Bei unixartigen IT-Systemen kommt es vor, dass Benutzer den Softwarequellcode selbst herunterladen und kompilieren, statt fertige Softwarepakete zu installieren. Wenn fertige Softwarepakete genutzt werden, werden diese außerdem in einigen Fällen aus Drittquellen ohne weitere Prüfung installiert, statt ausschließlich aus den vorhandenen Paketquellen des herstellenden Unternehmens. Jeder dieser alternativen Wege der Softwareinstallation birgt zusätzliche Risiken, da dadurch fehlerhafte oder inkompatible Software sowie Schadsoftware installiert werden kann.

Anti Virus Lösungen kann man (muss man aber nicht) als Drittquelle interpretieren.

Im Fall von Linux Servern gibt es seitens des BSI – im Gegensatz zu Windows Servern – KEINE Empfehlung für Anti Virus Lösungen! Lediglich die zusätzliche Verhinderung der Ausbreitung bei der Ausnutzung von Schwachstellen wird empfohlen:
Die Nutzung von Systemaufrufen SOLLTE insbesondere für exponierte Dienste und Anwendungen auf die unbedingt notwendige Anzahl beschränkt werden. Die Standardprofile bzw. -regeln von z.B. SELinux, AppArmor SOLLTEN manuell überprüft und unter Umständen an die eigenen Sicherheitsrichtlinien angepasst werden. Falls erforderlich, SOLLTEN neue Regeln bzw. Profile erstellt werden.

Apple Betriebssysteme

Außer Konkurrenz, da keine Server Betriebssysteme – was sagt BSI zu Apple Betriebssysteme (MacOS, iPad OS, iPhone OS)?

Diese Betriebssysteme entsprechen – unter Einhaltung von einigen Konfigurationseinstellungen – den Anforderungen für „nur für Verschlusssachen, nur für Dienstgebrauch” – auch ohne den Einsatz zusätzlicher Produkte wie Anti Virus Lösungen!

Analyse der Anforderungen und Empfehlungen

Setzt man sich mit der Materie länger und umfassender auseinander, kommt man zu folgendem Schluss: Man kann nicht alle Empfehlungen umsetzen, weil sich diese widersprechen!

Windows Server

Im Fall von Windows Betriebssystemen sind sich aber alle einig: Hier ist eine Anti Virus Software unbedingt einzusetzen. Allerdings sollte man bei der Konfiguration der Anti Virus Lösung sinnvoll vorgehen.

Anti Virus und Datenbank Files

Gerade auf einem Datenbank Server werden die meisten I/Os auf Grund von Zugriffen auf zur Datenbank gehörende Files stattfinden. Genau diese Files können aber keine Viren enthalten oder verteilen. Zwar ist es theoretisch möglich, dass man den Code von Viren IN Datenbankfiles speichert, diese sind dann aber nicht ausführbar und somit nicht gefährlich.

Sehr wohl gefährlich ist aber die Tatsache, dass alle Anti Virus Lösungen die I/O Zugriffe überwachen – was zu deutlich höheren I/O Latenzen und entsprechend hohem CPU-Bedarf führt – und absolut NICHTs zur Sicherheit am Datenbank Server beitragen.

Ebenso sorgen Anti Virus Lösungen für deutlich längere Installations- und Patchzeiten für Datenbank Software. Die Installation von Oracle 19c inkl. aktuellem Patchset hat mit aktivierten Microsoft Defender über 6 Stunden gedauert und hat letztendlich beim Patching zu einem Fehler geführt, weil Microsoft Defender den Zugriff auf ein zu patchendes File verhindert hat. Nach der Deaktivierung und Löschen der unbrauchbaren Installation hat die Re-Installation inkl. Datenbankerstellung unter einer Stunde benötigt.

Ähnliches gilt auch für den negativen Performanceeinfluss von Anti Virus Lösungen auf den Datenbank I/O. Bei der Analyse eines „Datenbankperformance“-Problems war sofort ersichtlich, dass das Problem die extrem schlechten I/O Zeiten waren, obwohl die Datenbank auf einer lokalen NVMe SSD (erwartete I/O Zeiten im Bereich von deutlich unter 0.2ms) gelegen ist. Speziell in der Nacht, bei den Batchverarbeitungen, sind die I/O Zeiten aber im Bereich von durchschnittlich 20-50ms gelegen. Auch die CPU-Auslastung war erschreckend hoch, obwohl nur eine Datenbanksession aktiv war. Während der Analyse wurde dann festgestellt, dass die Anti Virus Lösung 3-4 CPU-Cores für die Analyse der durch die Datenbank erzeugten I/Os benötigt hat. Durch die Ausnahme der Verzeichnisse, in denen die Datenbankfiles liegen, ist die CPU-Belastung (nach Restart der Anti Virus Lösung) nicht mehr vorhanden gewesen. Die I/O Zeiten lagen sofort im erwarteten Bereich.

Schlussfolgerungen zu Anti Virus Software auf (Windows) Datenbank Servern

  1. Während des Patchens der Datenbank Software sollte man die Anti Virus Software temporär deaktivieren.
  2. Alle zur Datenbank gehörenden Files sollten vor dem Zugriff der Anti Virus Software ausgenommen sein.
  3. Auch die Logfiles, die durch die Datenbank erzeugt werden, sollte man von der Überwachung ausnehmen.

Linux Server

Wenn man bei der Installation von Linux Server darauf achtet, dass nur absolut notwendige Pakete installiert werden (zB: Oracle Linux: Minimal Installation ohne GUI), reduziert man die potenzielle Angriffsfläche beträchtlich.

Sorgt man dafür, dass auf einem Datenbank Server ausschließlich die Datenbank Software betrieben wird – also nicht noch zusätzliche Produkte wie Applikations-Server und Lösungen – ist die potenzielle Angriffsfläche sehr gering.

Setzt man in Folge konsequent auf die Einhaltung von sinnvollen Sicherheitsempfehlungen, wie beispielsweise:

  • Einsatz von SELinux und anderen Betriebssystem Tools, die die Sicherheit erhöhen
    • Der Einsatz der Betriebssystem-Firewall ist so zu konzipieren, dass die für den Betrieb der Datenbank notwendigen Verbindungen garantiert funktionieren.
  • Betriebssystem Hardening (Vorsicht, nicht jede Empfehlung ist beim Einsatz als Datenbank Server möglich)
  • Sichere Anmeldung (2FA bzw. nur mit SSH-Zertifkaten), Remote Login als ROOT oder Datenbank Benutzer nicht erlaubt.
  • Am Client/Public LAN sollte nur der Oracle Listener laufen
  • Zugriff vom Datenbank-Server in das Internet ist in der Regel nicht notwendig und sollte entsprechend verhindert oder zumindest eingeschränkt (nur auf notwenige Adressen für den Download von Patches) werden.
  • Umsetzung aller Empfehlungen zur sicheren Konfiguration der Datenbank, beispielsweise bei Oracle:
    • Absicherung der Netzwerkverbindungen
    • Kein Login als Benutzer Oracle möglich (lediglich mittels SUDO von expliziten Named Usern)
    • Einhaltung der Empfehlungen für Datenbank Security durch die Applikationsentwicklung und Administratoren
    • Datenbanken nur mit den notwendigen Datenbank Optionen anlegen
    • etc.
  • Regelmäßiges Aktualisieren des Betriebssystems und Datenbankpatching muss erfolgen.
  • Im Fall von akuten Sicherheitslücken muss ein „sofortiges“ Patching erfolgen – beispielsweise im Fall von Log4j CVE-2021-44228.

ist das System deutlich sicherer, als wenn man für den Einsatz von zusätzlichen Produkten immer mehr Kompromisse bei der Sicherheit eingehen muss!

Zusätzlich kann man die Sicherheit noch weiter erhöhen, indem der direkte SSH Zugriff von einem Client auf die Datenbank Server nicht erlaubt ist. Der Zugriff muss zuerst auf einem zwischengeschalteten Linux Hopping Rechner (mit Multifaktor Authentifizierung UND einer aktiven Anti Virus Lösung) erfolgen. Damit wird eine weitere Abschottung erreicht, so dass potentielle Viren schon am Hopping Server abgefangen werden, und nicht direkt auf einen Datenbank Server gelangen können.

Damit beispielsweise eine Anti Virus Software installiert werden kann, sind oft viele zusätzliche Betriebssystem-Pakete notwendig, die ihrerseits wieder Sicherheitslücken enthalten können. Damit diese Lösungen funktionieren, laufen sie typischerweise mit ROOT-Berechtigungen und benötigen weitere permanent offene Verbindungen (auch ins Internet!) – für die Aktualisierung der Viren-Signaturen.

Da es immer wieder zu Sicherheitslücken in Anti Virus Lösungen kommt, erhöht man letztendlich sogar das Sicherheitsrisiko mit dem Einsatz dieser Produkte.

Zusammenfassung

Letztendlich stellt sich die Frage, was das primäre Ziel im Unternehmen ist:

  • Möchte man sich das Leben einfach machen und einfach nur Haken für die Umsetzung von Richtlinien setzen, so wird man sich für eine – hoffentlich zumindest sinnvoll konfigurierte – Anti Virus Lösung auf allen Servern entscheiden. Sollte etwas passieren, kann man sich als Sicherheitsverantwortlicher damit aus der Affäre ziehen, dass man ja alle Vorgaben (egal wie gut oder schlecht) umgesetzt hat.
  • Ist das Ziel der sichere, performante Betrieb von Datenbanken, ist der Aufwand vermutlich höher – was eigentlich bedauerlich ist, denn die konsequente Umsetzung von Sicherheitsempfehlungen sollte immer oberste Priorität haben – weil man zusätzlich zur technischen Umsetzung auch noch den Aufwand für zusätzliche Risikobewertung im Fall von ISO 27001 tragen muss. Sollte trotz allen Maßnahmen etwas passieren, muss man sich als Sicherheitsverantwortlicher verteidigen, warum man nicht trotzdem eine Anti Virus Lösung eingesetzt hat.

Meine Empfehlung für Linux Datenbank Server ist, den Security Footprint so gering wie möglich zu halten und durch die konsequente Umsetzung von Sicherheitsempfehlungen und entsprechende Konfigurationen sicherzustellen, dass es ein Virus nicht bis zum Datenbank-Server schafft.