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.
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.
quelle
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.
quelle
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.
quelle
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
quelle
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).
quelle
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.
quelle
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).
Ä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.
quelle