Wie kann ich die Sicherheit meines Servers testen?


7

Wie kann ich die Sicherheit meines Servers testen?

Bitte ich weiß, dass es eine zu allgemeine Frage ist. Aber ich habe mich gefragt, ob eine Testersoftware oder ein Webdienst alle Ports Ihres Servers überprüft oder möglicherweise Sicherheitslücken?

Normalerweise überprüfe ich Unix-Berechtigungen und das war's, aber kann ich etwas tun?

ps. Benutzer können mit meinen Webanwendungen keine Dateien hochladen, daher habe ich dieses Problem nicht.

Antworten:


5

Basierend auf Ihren Tags finden Sie hier einige grundlegende Ratschläge:

Betriebssystem (Linux)

  • Wenden Sie Updates / Sicherheitspatches einschließlich Kernel an
  • Prüfsummen-Tool zum Erkennen von Datei- / Berechtigungsänderungen wie Aide, Fcheck, Tripwire usw.
  • Aktivieren Sie nur die Netzwerkdienste, die Sie tatsächlich verwenden (überprüfen Sie mit netstat -tulpen).
  • Vernünftige Benutzerdefinition: Wer hat Root-Zugriff?
  • SSH: Deaktivieren Sie direkte Root-Anmeldungen
  • Hard- oder Software-Firewall

PHP

  • Verwenden Sie gehärtetes PHP (Suhosin)
  • Google das Web für Best Practices für die Sicherheit in PHP

MySQL

  • Eiter ließ es mit Unix-Sockets oder über TCP laufen, aber nur auf localhost / Ihrem LAN
  • Definieren Sie ein Root-Passwort
  • Definieren Sie eingeschränkte Benutzer für jede unterschiedliche Anwendung

Das sind nur die reinen Grundlagen, die in 2 Minuten aufgeschrieben wurden. Theres viel mehr.


4

Laden Sie Backtrack herunter und führen Sie AutoTwn von FastTrack auf Ihrem Server aus. Es ist ein vollständig automatisierter Ansatz, aber es ist eine sehr einfache Methode, um die niedrig hängenden Früchte zu finden.

Wenn Sie Webkomponenten haben, ist SkipFish ein weiteres großartiges automatisiertes Testwerkzeug .


Backtrack ist nicht mehr verfügbar, verwenden Sie stattdessen kali.org
Diego Vieira

3

Es gibt viele Tests, die Sie durchführen können, und viele Tools, mit denen Sie testen können. Für den Anfang möchten Sie vielleicht Nikto ausführen .

Obwohl Sie vielleicht glauben, dass Benutzer keine Dateien hochladen können, kann eine Sicherheitslücke in den Anwendungen oder Diensten das Gegenteil beweisen, wie viele auf die harte Tour gelernt haben. Gehen Sie immer davon aus, dass Ihr System defekt und anfällig ist, und suchen Sie nach Möglichkeiten, dies zu beheben, bevor jemand anderes die Lücken für Sie findet.


"Klaatu barada nikto"
Tom O'Connor

@ Tom, ich bin mir ziemlich sicher, dass ich nicht der einzige bin, der absolut keine Ahnung hat, was Sie sagen wollen oder warum.
John Gardeniers

"Ja wirklich?" Noch nie "Der Tag, an dem die Erde still stand" gesehen?
Tom O'Connor

1

Wenn Sie Zugriff auf das System haben, können Sie herausfinden, welche Ports möglicherweise geöffnet sind netstat. Es kann alle Überwachungsports auflisten. Firewalls und andere Sicherheitsmaßnahmen können das Risiko verringern.

Ordnen Sie diese Liste einem Remote-Scan zu. Untersuchen Sie alle Ports, die der Remote-Scan anzeigt und die nicht von netstat aufgelistet werden. Es sollten keine vorhanden sein, die nicht durch DNAT-Regeln in einer Firewall berücksichtigt werden.

Deaktivieren Sie alle Dienste, die Sie nicht benötigen. Früher war es üblich, eine Vielzahl unnötiger Dienste abzulegen. Viele waren trivial wie Chargen, Zeit, Tag und andere. Einige waren signifikant wie Telnet, FTP, HTTP.

Konfigurieren Sie Dienste, die nur intern benötigt werden, so, dass sie nach Möglichkeit 127.0.0.1 und / oder :: 1 (IPv6) abhören.


1

BackTrack FastTracks AutoPwn eignet sich für wirklich alte Server mit sehr alten installierten Paketen. Wenn Sie modernes Linux / Windows aktualisiert haben, wird es nichts finden. (Ich mag Backtrack, aber dieses ernsthafte Tool, das umfassende Kenntnisse über Sicherheit und Stifttests erfordert.)

Ich würde empfehlen, Ihren Server mit Nessus zu installieren und zu scannen. Er ist ziemlich leistungsfähig (obwohl die kostenlose Version nicht über die neuesten Schwachstellensignaturen verfügt) und kann nicht nur nach offenen Ports und anfälliger Remote-Software suchen, sondern sich auch mit Root-Anmeldeinformationen beim Server anmelden und lokal ausführen Prüfung.

Es ist nur ein Tool, es reicht nicht aus, um Ihren Server "sicher" zu machen, aber zusammen mit beispielsweise den Tipps von weeheavy können Sie näher kommen.

Ich würde auch Monitoring hinzufügen. Wenn Sie OSSEC oder dessen Analog (Tripwire usw.) installieren, möchten Sie per E-Mail / SMS / etc. Benachrichtigt werden, wenn auf dem Server in Echtzeit etwas Seltsames passiert.


1
Vor ein paar Jahren hat sich die Nessus-Lizenz geändert. Jetzt bekommen beide Feeds die gleichen sigs zugleich, aber der Start - Feed ist mehr begrenzt in , wie Sie es verwenden, sowie auf einige der Features verpassten.
Scott Pack

Danke. Gut zu wissen!
Vitaly Nikolaev

0

Hierfür gibt es einige Dienste, die im Allgemeinen als PCI-DSS-Compliance-Scanning vermarktet werden. Ich meine, das ist nicht das A und O beim Sicherheits-Scannen, aber die PCI-DSS-Konformität erfordert ein hohes Maß an Sicherheit.

Es ist wahrscheinlich ein vernünftiger Ausgangspunkt. Sei gewarnt. Es ist nicht billig.

edit: Ich habe HackerGuardian in der Vergangenheit benutzt und es ist verdammt gut. Der Preis liegt nach dem ersten kostenlosen Scan bei 249 USD / Jahr


Gibt es dafür ein kostenloses Tool? Nur um einigermaßen sicher zu sein, dass Ihr Server sicher ist
aneuryzm

versuchen Sie Nessus ( nessus.org ), die kostenlose Version macht einen guten Job.
Phil Swiss

0

Nun, Sie können mit nmap beginnen und überprüfen, welche Ports / Dienste geöffnet sind.

Wenn Sie lernen möchten, können Sie sich http://www.hackthissite.org/ und http://www.hellboundhackers.org/ ansehen und Tag für Tag lernen, wie Sie sich vor anderen schützen können, aber denken Sie daran sei ein langer langer Weg.

Softwareberichte können Ihnen helfen, aber sie schützen Sie nur vor Script-Kiddies, ein guter Hacker findet ein Loch und nur ein anderer Mensch kann das Problem finden und beheben (verhindern).

Diese Software kostet Geld und reicht aus, um einen Fachmann dafür zu bezahlen, dass er den Bericht und die Lösung gleichzeitig hat.

Also, wenn Ihr Webserver wirklich wichtig ist, fragen Sie nach Hilfe, sind Sie gut angelegtes Geld (wieder die oben genannten Websites).


0

Untersuche jeden Angriffsvektor.

Physisch: Dieser ist ziemlich einfach. Befindet sich der Server in einem Rack? ist es verschlossen? Wer hat den Schlüssel? Wie sicher ist der Schlüssel? Ist der Server ein Raum? Ist der Raum verschlossen? USB-Ports sind zugänglich oder aktiviert? usw.

Wenn es sich um einen Switch handelt, verwenden Sie die Port-Sicherheit? usw.

Netzwerk: Weniger einfach, aber am häufigsten. Testen Sie Ihre Ports, indem Sie alle offenen Ports auf dem Server mit nmap oder wireshark oder etwas anderem scannen. Bestimmen Sie, wie eingeschränkt diese Netzwerkdienste sein sollen, je nachdem, wie sie funktionieren sollen und wie anfällig sie für Sie sind.

Zum Beispiel; ein http-Dienst, einschränken, wer Zugriff hat, aber Subnetz? vom Gastgeber? vom Nutzer? Überprüfen Sie häufige Sicherheitslücken. ist die Indizierung aktiviert usw.

Mensch / Soziales: Dies ist etwas, das durch IT, normalerweise HR, nicht einfach zu beheben ist. Aber hier sind einige Dinge, die Sie tun können. Kennwortrichtlinie; Die alte Denkweise besteht darin, Passwörter regelmäßig zu ändern, aber dies scheint Endbenutzer zu zwingen, schwache Passwörter zu wählen. Das Generieren von Passwörtern für Benutzer führt dazu, dass sie diese aufschreiben. Sie müssen eine Richtlinie finden, die am besten zu Ihnen passt. Möglicherweise möchten Sie jedoch die Endbenutzer über das Erstellen eines sicheren Kennworts informieren, das Kennwort jedoch einmal im Jahr oder nie ändern. Informieren Sie Endbenutzer auch über die Verwaltung von Kennwörtern und halten Sie diese geheim.


-2

Ist Google wieder unten?

Die im obigen Link aufgeführten Apps bieten meistens Fingerabdruck-Typprüfungen für genau definierte Single-Mode-Angriffe. Dies ist kein Ersatz für eine ordnungsgemäße Sicherheitsbewertung. Die Ausführung von nessus / nikto ist jedoch ein Anfang, und die Beseitigung von möglicherweise nicht ausnutzbaren Problemen kann mehrere Vektoren verhindern Anschläge. (Es räumt auch die niedrig hängenden Früchte auf, sodass Sie ein bisschen sicherer sein können, dass jeder, den Sie zum ordnungsgemäßen Testen der Sicherheit einsetzen, seine Gebühr verdienen muss).

Normalerweise überprüfe ich Unix-Berechtigungen und das wars

Ähm, ja - Sie sollten noch viel mehr tun. Bedeutet diese Aussage, dass Sie ein Sicherheitsmodell für Berechtigungen haben? Ist es gültig? Was ist mit anderem Zugriff auf den Server (Konsole, SSH, FTP ...). Wenn Sie noch keine detaillierte Sicherheitsrichtlinie haben, ist es nicht sinnvoll, jemanden zu bitten, das System zu testen, ob es sicher ist. Die Richtlinie sollte beispielsweise die Bereitstellung von Software, die Identifizierung und Implementierung von Hersteller-Patches, Backups und die Überprüfung von Rootkits umfassen.


Es gibt also keinen einigermaßen sicheren Test, den Sie vorschlagen können, aber ich sollte mehr Informationen auf Google suchen.
aneuryzm

Das war ein anklickbarer Link.
Sirex
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.