Installieren Sie ein Virenschutzprogramm auf einem Webserver. Ist dies eine gute Idee?

14

Ich habe gerade einen dedizierten Server mit Windows 2008 Standard Edition erhalten und versuche, die erforderliche Konfiguration vorzunehmen, um meine Webanwendung darauf auszuführen.

Sie haben sich gefragt, ob es eine gute Idee ist, ein Virenschutzprogramm auf dem Webserver zu installieren. In der App können Benutzer nur Bilder hochladen (und sie haben überprüft, ob Bilder im App-Code enthalten sind, bevor sie auf dem Server gespeichert wurden). Ich empfehle, kein Antivirus-Programm zu installieren, um die Leistung nicht zu beeinträchtigen oder Probleme mit der App zu verursachen. Vermisse ich dabei etwas?

Vielen Dank

Mee
quelle
Sie sagen, dass Dateien vor dem Speichern auf Bilder im App-Code überprüft werden. Dies würde bedeuten, dass sich die hochgeladene Datei in einem temporären Verzeichnis befindet, bevor Ihre App sie sieht? In diesem Fall ist es bereits auf dem Server, bevor Sie es überprüfen können! Welchen Webserver verwenden Sie?
Steve Folly
Tatsächlich werden die Bilder im Speicher überprüft und nicht in einem temporären Ordner gespeichert. Sie werden nur dann auf der Festplatte gespeichert, wenn sie den Check in der App bestehen. Ich verwende IIS, es ist eine ASP.NET-App
Mee
Selbst wenn Sie eine Datei in einem temporären Ordner speichern, aber nicht ausführen, führt dies nicht zu Problemen. Dies ist jedoch wiederum nicht der Fall.
Mee

Antworten:

18

Ein gut funktionierender Webserver sollte IMHO kein kommerzielles Anti-Virus (AV) -Paket installiert haben. Die Art von Office-Makroviren und Trojanern für den Massenmarkt, für die AV-Pakete optimiert sind, entspricht nicht den Problemen eines Webservers.

Was Sie tun sollten, ist:

  1. Absolut besessen von der Eingabevalidierung. Beispiele: Benutzer können keine schädlichen Inhalte auf Ihre Website hochladen (Viren, SQL-Injection usw.). Sie sind nicht anfällig für Cross Site Scripting-Angriffe usw.
  2. Halten Sie Ihren Server mit den neuesten Sicherheitsupdates auf dem neuesten Stand und konfigurieren Sie ihn gemäß den Best Practices. Betrachten Sie Dinge wie das Microsoft Security Toolkit .
  3. Habe eine separate Firewall. Hilft Ihnen nicht viel in Bezug auf Eindringlinge, aber es bietet eine weitere Schutzschicht gegen falsch konfigurierte Netzwerkdienste und hilft bei einfachen DOS-Angriffen. Es hilft auch sehr beim Sperren von Fernverwaltungsmöglichkeiten usw.
  4. Installieren Sie auf Ihrem Server ein Host Intrusion Detection-System (H-IDS), das dem ehrwürdigen Tripwire-Standard entspricht .

Es gibt eine Menge Verwirrung über die Begriffe, die Wörter werden hier oft auf viele verschiedene Arten verwendet. Um es klar auszudrücken, meine ich mit einem H-IDS:

  • ein Dienst auf einem Computer
  • Das überprüft kontinuierlich alle ausführbaren Dateien auf dem Computer
  • und gibt eine Warnung aus, wenn eine ausführbare Datei hinzugefügt oder geändert wurde (ohne Autorisierung).

Tatsächlich kann ein gutes H-IDS ein bisschen mehr, wie zum Beispiel das Überwachen von Dateiberechtigungen, der Zugriff auf die Registrierung usw.

Ein Host-Intrusion-Detection-System muss konfiguriert werden, da es bei falscher Einrichtung zu vielen falschen Fehlern kommen kann. Aber sobald es läuft, wird es mehr Eindringlinge abfangen als AV-Pakete. Insbesondere H-IDS sollte eine einzigartige Hacker-Backdoor erkennen, die ein kommerzielles AV-Paket wahrscheinlich nicht erkennt.

H-IDS schont auch die Serverlast, aber das ist ein sekundärer Vorteil - der Hauptvorteil ist eine bessere Erkennungsrate.

Nun, wenn die Ressourcen begrenzt sind; Wenn die Wahl zwischen einem kommerziellen AV-Paket und dem Nichtstun liegt, würde ich das AV installieren . Aber wisse, dass es nicht ideal ist.

Jesper M
quelle
Vielen Dank. Ich fühle mich nicht wirklich ermutigt, ein AV zu installieren, aber da dies das erste Mal ist, dass ich einen Webserver verwalte, war ich besorgt, dass etwas fehlen könnte. Ich denke, ohne AV wäre ich besser dran. Ich werde nur versuchen, vorsichtiger mit dem umzugehen, was ich auf dem Server laufen lasse.
Mee
1

Es hängt davon ab, ob. Wenn Sie keinen unbekannten Code ausführen, ist dieser möglicherweise nicht erforderlich.

Wenn Sie eine mit Viren infizierte Datei haben, ist diese harmlos, solange sie sich auf der Festplatte befindet. Es wird erst schädlich, wenn Sie es ausführen. Kontrollieren Sie alles, was auf dem Server ausgeführt wird?

Eine kleine Variation ist das Hochladen von Dateien. Sie sind harmlos für Ihren Server - wenn ich ein manipuliertes Bild oder eine von Trojanern befallene .exe-Datei hochlade, passiert nichts (es sei denn, Sie führen sie aus). Wenn jedoch andere Personen diese infizierten Dateien herunterladen (oder wenn das manipulierte Bild auf der Seite verwendet wird), werden ihre PCs möglicherweise infiziert.

Wenn Ihre Site Benutzern das Hochladen von Elementen ermöglicht , die für andere Benutzer angezeigt oder heruntergeladen werden können, möchten Sie möglicherweise entweder einen Virenscanner auf dem Webserver installieren oder eine Art "Virenscannerserver" in Ihrem Netzwerk einrichten, der alle Dateien scannt.

Eine dritte Möglichkeit wäre, Anti-Virus zu installieren, die On-Access-Überprüfung jedoch zu Gunsten einer geplanten Überprüfung außerhalb der Spitzenzeiten zu deaktivieren.

Und um diese Antwort vollständig um 180 ° zu drehen: Es ist normalerweise besser, auf Nummer sicher zu gehen, als sich zu entschuldigen. Wenn Sie auf dem Webserver arbeiten, können Sie leicht versehentlich auf eine fehlerhafte Datei klicken und das Chaos zunichte machen. Sicher, Sie können tausend Mal eine Verbindung herstellen, um etwas über RDP zu tun, ohne eine Datei zu berühren, aber beim 1001. Mal werden Sie diese Exe versehentlich ausführen und es bereuen, weil Sie nicht einmal sicher wissen können, was ein Virus tut (heutzutage laden sie neue herunter) Code aus dem Internet) und müssten einige intensive Forensik in Ihrem gesamten Netzwerk durchführen.

Michael Stum
quelle
Vielen Dank, eine weitere großartige Antwort, die bestätigt, dass ich ohne AV auskommen kann.
Mee
1

Wenn es Windows-basiert ist, was Sie gesagt haben, würde ich. Ich würde auch versuchen, eine Form der Host-Intrusion-Erkennung zu finden (ein Programm, das Dateien überwacht / überwacht, die sich auf dem Server ändern, und Sie auf die Änderungen hinweist).

Nur weil Sie keine Dateien auf dem Server ändern, bedeutet dies nicht, dass es keinen Pufferüberlauf oder keine Sicherheitsanfälligkeit gibt, durch die andere Benutzer Dateien auf dem Server remote ändern können.

Wenn es eine Sicherheitsanfälligkeit gibt, bei der die Tatsache, dass ein Exploit vorliegt, in der Regel innerhalb eines Zeitfensters zwischen der Ermittlung und der Verteilung eines Fixes bekannt ist, gibt es ein Zeitfenster, in dem Sie den Fix abrufen und anwenden können. In dieser Zeit ist normalerweise eine Art automatisierter Exploit verfügbar, und Script-Kiddies führen ihn aus, um ihre Bot-Netzwerke zu erweitern.

Beachten Sie, dass dies auch Auswirkungen auf AVs hat, da: neue Malware erstellt, Malware verteilt, Probe an Ihr AV-Unternehmen gesendet, AV-Unternehmensanalysen durchgeführt, neue Signatur von AV-Unternehmen veröffentlicht, Signatur aktualisiert, angeblich "sicher", Zyklus wiederholen. Es gibt immer noch ein Fenster, in dem es sich automatisch ausbreitet, bevor Sie "geimpft" werden.

Im Idealfall können Sie einfach etwas ausführen, das auf Dateiänderungen prüft und Sie benachrichtigt, wie z. B. TripWire oder ähnliche Funktionen, und Protokolle auf einem anderen Rechner aufbewahren, der von der Verwendung isoliert ist. Wenn also das System kompromittiert ist, werden die Protokolle nicht geändert. Das Problem ist, dass, sobald die Datei als neu oder geändert erkannt wird, Sie bereits infiziert sind und wenn Sie infiziert sind oder ein Eindringling sich in der Zwischenzeit befindet, es zu spät ist, um zu glauben, dass der Computer keine anderen Änderungen vorgenommen hat. Wenn jemand das System geknackt hat, könnte er andere Binärdateien geändert haben.

Dann wird es eine Frage, ob Sie den Prüfsummen und Host-Intrusion-Logs und Ihren eigenen Fähigkeiten vertrauen, dass Sie alles bereinigt haben, einschließlich Rootkits und Alternate Data Stream-Dateien, die sich möglicherweise dort befinden? Oder führen Sie die "Best Practices" aus und löschen und stellen sie von der Sicherung wieder her, da die Aufschaltungsprotokolle Ihnen zumindest mitteilen sollten, wann dies geschehen ist?

Jedes mit dem Internet verbundene System, auf dem ein Dienst ausgeführt wird, kann potenziell ausgenutzt werden. Wenn Sie ein System haben, das mit dem Internet verbunden ist, aber keine Dienste unterstützt, sind Sie höchstwahrscheinlich sicher. Webserver fallen nicht unter diese Kategorie :-)

Bart Silverstrim
quelle
0

Ja immer. Zitiere meine Antwort vom Superuser :

Wenn es mit Computern verbunden ist, die möglicherweise mit dem Internet verbunden sind, dann absolut ja.

Es gibt viele Möglichkeiten. Ich persönlich mag McAfee oder Norton nicht, aber sie sind da draußen. Es gibt auch AVG , F-Secure , ClamAV (obwohl der Win32-Port nicht mehr aktiv ist) und ich bin sicher, dass es noch Hunderte mehr gibt :)

Microsoft hat sogar an einem gearbeitet - ich weiß nicht, ob es noch außerhalb der Beta verfügbar ist, aber es existiert.

ClamWin , erwähnt von @ J Pablo .

Labyrinth
quelle
2
Vielen Dank für Ihre Antwort, aber ... dies ist kein Windows-Server, dies ist ein Webserver. Daher ist die Leistung hier von größter Bedeutung. Beachten Sie, dass die Antivirensoftware jede Datei scannt, auf die zugegriffen wird, z. jede von einem Besucher angeforderte Datei. Ich brauche einen guten Grund, um ein Antivirenprogramm zu installieren, und das Risiko, Probleme mit der Leistung zu haben, besteht nicht nur in den Sicherheitsrichtlinien für Computer im Allgemeinen.
Mee
es wird nicht jede Datei gescannt, auf die zugegriffen wird, wenn sie richtig konfiguriert ist - und es gibt keinen Grund dafür, Dateien beim Zugriff zu scannen, wenn sie zugestellt werden - nur für Angriffe usw.
warren
1
@ unknown-Performance ist auf dem Webserver von größter Bedeutung? In Bezug auf den verfügbaren Overhead würde ich vorschlagen, dass Sie möglicherweise ein anderes Problem mit der Art und Weise haben, wie die Anwendung eingerichtet wird, wenn Sie ein paar CPU-Zyklen für einen Datei-Scan beanspruchen oben.
Bart Silverstrim
@warren, ich weiß, dass Sie alle gewünschten Verzeichnisse von der Zugriffssuche ausschließen können, aber wozu ist in diesem Fall die Installation eines AV überhaupt sinnvoll? Ich meine, wenn Benutzer weiterhin in der Lage sind, Dateien hochzuladen, ohne gescannt zu werden, hat es keinen Sinn, in diesem Fall ein AV auf dem Server laufen zu lassen.
Mee
2
@Bart, in Bezug auf Antivirensoftware, die mehr als ein paar CPU-Zyklen für einen Datei-Scan benötigt, verlangsamt sie Ihren eigenen PC, der nur von Ihnen verwendet wird. Was erwarten Sie also für einen Webserver, auf den Hunderte oder Tausende von Menschen zugreifen?
Mee