Wenn ich einen vorhandenen Linux-Server verwalten muss, wie kann ich am besten überprüfen, ob er sicher ist?

9

Es gibt viele Tutorials zum Einrichten eines neuen gesicherten Servers.

Aber was ist, wenn ich einen Server verwalten muss, den jemand anderes vor einiger Zeit eingerichtet hat, und ich noch nicht viel über seine Konfiguration weiß?

Gibt es ein Tool, das automatisch die "üblichen Verdächtigen" überprüft, oder eine Checkliste, die ich durchgehen kann, um sicherzustellen, dass keine offensichtlichen Sicherheitslücken bestehen? Gibt es Webdienste, die remote nach Schwachstellen suchen?

Daniel Rikowski
quelle

Antworten:

13

Laden Sie Nessus herunter und führen Sie eine Netzwerkprüfung durch. Hier erfahren Sie, welche Sicherheitslücken aus der Ferne ausgenutzt werden können.

Installieren Sie auch Ossec . Obwohl dies nicht der Hauptzweck ist, werden einige häufige Fehlkonfigurationen festgestellt (z. B. falsch konfigurierte Konten). Die Hauptfunktion - die hostbasierte Intrusion Detection - hilft dabei, herauszufinden, ob jemand versucht, Schwachstellen auszunutzen.

niXar
quelle
5
Nessus ist nicht mehr Open Source. Die Open-Source-Gabel heißt openvas.
Anonym
1
Ich kenne. Aber es ist immer noch bierfrei, und auf dem Poster stand nie, dass er nur F / OSS wollte.
NiXar
+1 Nessus ist sehr gut, ich würde es auch ausführen und Nmap-Scan, der die Ergebnisse in Nessus lädt, könnte in einigen Fällen helfen, ein paar weitere Schwachstellen zu erkennen.
Mark Davidson
1
+1 für OSSEC. Es hat auch ein Rootkit / System- Überwachungsmodul
sucuri
5

Ich würde mit den "Benchmark" -Checklisten des Center for Internet Security beginnen . Hierbei handelt es sich um konsensbasierte Checklisten, die von Sicherheitsexperten für eine Vielzahl von Plattformen und Softwarepaketen erstellt wurden. Einige in den Checklisten erwähnte oder anderweitig empfohlene Tools, die Sie bei der Suche nach Sicherheitsproblemen unterstützen:

  • Nessus / OpenVAS (Schwachstellenscanner)
  • Nmap (Port-Scanner)
  • TCPdump / Wireshark (libpcap- Paketerfassung )
  • SNORT (Intrusion Detection System)

(tcpdump wird standardmäßig auf vielen Linux-Systemen installiert oder kann einfach aus einem Paket-Repository installiert werden und verfügt über eine umfassende Manpage.)

Wenn dies für das Unternehmen gilt, für das Sie arbeiten, stellen Sie sicher, dass die Sicherheitsanalyse vom Management autorisiert wurde und dass die Scans keinen Ausfall oder Anwendungsschwachsinn verursachen. Ja, ein einfacher Portscan kann Probleme verursachen - Portscan älterer HP Laserjet-Drucker spucken Papierhaufen aus.

jtimberman
quelle
4

Als sehr schnelle erste Überprüfung:

Lauf

netstat -ltnp

als Wurzel. Das zeigt Ihnen alle Dienste, die im Netzwerk abhören:

Dies könnte Ihnen Dinge zeigen, die Sie sofort herunterfahren möchten. Dann können Sie mit den Lösungen in den anderen Antworten fortfahren.

Bei Diensten, die ausgeführt werden müssen, von außen jedoch nicht zugänglich sind (z. B. ein lokaler DB-Server), sollten Sie die Konfiguration so ändern, dass nur localhost / 127.0.0.1 überwacht wird. Auf diese Weise können nur lokale Benutzer darauf zugreifen.

sleske
quelle
4

Ich würde Bastille-Linux unter http://www.bastille-unix.org/ überprüfen. Es handelt sich um eine Reihe von Skripten, die Sie ausführen können, und es werden die Systemeinstellungen, Dateiberechtigungen, Benutzereinstellungen usw. überprüft. Ich habe es verwendet ein- oder zweimal auf meinen eigenen Boxen und wenn Probleme bei Standardinstallationen auftreten (meistens r_x auf rsh / rsync-Dienstprogrammen). Es wird als HTML / Java + Flüche / flacher Text ausgegeben.

Jimsmithkka
quelle
3

Welche Distribution?

Allgemeines:

  • Überprüfen Sie die Einstellungen für iptables und / oder Firewall
  • Überprüfen Sie die SSHD-Konfigurationen
  • Überprüfen Sie alle extern zugänglichen Servicekonfigurationen
  • Stellen Sie sicher, dass Sie die neueste verfügbare Software ausführen
  • Suchen Sie nach Kernel-Schwachstellen (uname -a und dann google)
  • Überprüfen Sie die Benutzer- und Gruppenberechtigungen für bearbeitbare Dateien
David Rickman
quelle
Keine Sonderverteilung / alle Distributionen
Daniel Rikowski
Möglicherweise möchten Sie auch eine Liste der installierten Pakete abrufen. So etwas wie dpkg --get-selections> installierte_pkgs.txt für Debian-Distributionen.
David Rickman
2
Möglicherweise müssen Sie auch nach ungewöhnlichen setuid / setgid-Dateien suchen, für welche Konten Kennwörter festgelegt sind, wie ihre Anmeldeshell lautet usw., um die einfachen Hintertüren zu beseitigen.
Mas
Toller Vorschlag, ich habe diesen völlig vergessen, der möglicherweise ein riesiges Loch ist.
David Rickman
3

Eine weitere gute erste Überprüfung besteht darin, den nmap-Hostnamen von einem anderen Host im Netzwerk aus auszuführen . Dies gibt einem Außenstehenden einen Überblick darüber, was netstat auf dem Host angezeigt hat.

kmarsh
quelle
3

Wenn Sie sich Sorgen machen, würde ich empfehlen, die von Ihnen erwähnten Tutorials zu befolgen und den Server neu zu erstellen. Vor allem, wenn Sie der Meinung sind, dass der andere Administrator möglicherweise etwas Schlechtes hinterlassen hat. Als neuer Administrator sollten Sie wissen, wie Sie den Dienst, den er erneut ausführt, trotzdem bereitstellen können.

Stellen Sie einfach sicher, dass Sie zuerst alles sichern. Sie können alle Partitionen abbilden, um sicherzustellen, dass Sie es wirklich richtig machen.

Wenn dein Chef dich nicht lässt, dann klingen alle anderen Empfehlungen gut für mich :-)

Kyle Brandt
quelle
+1: Wenn die Erstellung / Konfiguration nicht dokumentiert ist und Sie Zeit haben, nutzen Sie möglicherweise die Gelegenheit, um sie neu zu erstellen. Anstatt es zu einem späteren Zeitpunkt unter Zwang tun zu müssen. Dann können Sie sicher sein, dass es sicher ist und zum späteren Nachschlagen dokumentiert wird.
Dan Carley
2

Zusätzlich zu einigen der sehr guten Antworten hier finden Sie http://www.sans.org/ . Sie haben einige sehr gute Dokumente, wenn Sie bereit sind, ein wenig zu lesen, um ein besseres Verständnis von "Tiefenverteidigung" zu erhalten.

Einige der Grundvoraussetzungen:

  • Halten Sie Ihre Server gepatcht
  • Führen Sie nur die Dienste aus, die ausgeführt werden müssen
  • Beschränken Sie den Benutzerzugriff auf den Server
Greeblesnort
quelle
1
Denken Sie daran, auch den physischen Zugriff nicht nur vom Netzwerk aus einzuschränken.
Iny
1

Probieren Sie auch chkrootkit aus , es befindet sich im Standard-Repository der meisten Distributionen und ist trotzdem sehr einfach zu installieren. Es überprüft Ihr System auf viele bekannte Schwachstellen, Rootkits und Würmer.

Wazoox
quelle
1

Eine Sache , die Sie tun können , ein Gefühl für das System zu erhalten ist diff die Ordner / etc gegen eine frische Installation (mit den gleichen Updates angewendet.) Dies wird Ihnen sagen , was sich geändert hat , so dass Sie Ihre Sicherheitsprobleme konzentrieren können dort.

Chris Nava
quelle
1

Um die Aussagen von mas zu erweitern, finden Sie hier einen einfachen Suchbefehl, mit dem Sie alle setuid- und setgid-Dateien auf dem System zur Überprüfung auflisten können.

find / -type f \( -perm -4000 -o -perm -2000 \) -print

Natürlich, wie andere gesagt haben, setzt dies alles voraus, dass auf dem Computer noch kein Rootkit installiert ist ...

Brad
quelle
1

Chrootkit / rkhunter sind die lang hängenden Früchte. Wenn Sie ein Rootkit installiert haben, wird alles, was gemeldet wird, kompromittiert und hilft daher nicht viel. Laden Sie sie daher von einer bekannten Quelle herunter. Verwenden Sie nicht die bereits auf der Box enthaltenen. Ein weiterer guter Trick besteht darin, einen Kernel zu installieren, von dem Sie wissen, dass er gut ist (entweder aus Paketen oder aus einem eigenen). Suchen Sie nach Hintertüren (lsof -i und 0 uid Nicht-Root-Konten). Das Überprüfen der Firewall-Regeln kann normalerweise viel über die Gewohnheiten der vorherigen Administratoren aussagen. Legen Sie einen Drahthai / Schnauben darauf und versuchen Sie, etwas Ungewöhnliches zu entdecken. Schauen Sie sich an, wohin die Protokolle gehen. Überprüfen Sie alle .profile / .bashrc-Dateien auf ungewöhnliche Befehle. Suchen Sie in .ssh / unknown_hosts nach zweifelhaften Hosts.

Marcin
quelle