Ich installiere einen Debian-Server, der direkt mit dem Internet verbunden ist. Natürlich möchte ich es so sicher wie möglich machen. Ich möchte, dass ihr Jungs / Mädels eure Ideen hinzufügt, um es zu sichern und welche Programme ihr dafür benutzt.
Ich möchte, dass ein Teil dieser Frage behandelt, was Sie als Firewall verwenden. Nur iptables manuell konfiguriert oder verwenden Sie irgendeine Software, um Ihnen zu helfen? Was ist der beste Weg? Alles blockieren und nur das zulassen, was benötigt wird? Gibt es vielleicht gute Tutorials für Anfänger zu diesem Thema?
Ändern Sie Ihren SSH-Port? Verwenden Sie Software wie Fail2Ban , um Bruteforce-Angriffe zu verhindern?
Antworten:
Obligatorisch:
Je nach Grad der Paranoia zusätzlich:
integrit
um zu überprüfen, ob einige Teile des Dateisystems nicht geändert wurden [mit einer außerhalb des Computers gespeicherten Prüfsumme], z. B. Tripwire/etc/passwd
, um neue Benutzer hinzuzufügen, ist etwas schwieriger-m state --satete ESTABLISHED
den Paketfluss zulassen, solange Sie eine einzelne SSH-Sitzung verwenden.]Dinge, die ich nicht selbst tue, aber sinnvoll finde:
quelle
Nur ein Hinweis zum Firewalling Ihres Rechners ...
amap
undnmap
's-A
Option. Sie können (und sollten wahrscheinlich auch, wenn Sie sich Sorgen machen) Ihre Dienste so ändern, dass sie sich vor neugierigen Blicken verstecken. Die folgenden Informationen geben dem Angreifer beispielsweise Auskunft über die genaue Version, auf derOpenSSH
Sie ausgeführt werden, und können dann nach Exploits suchen genau diese Version. Wenn Sie solche Dinge verstecken, würden Sie es ihnen schwerer machen.Fazit ist, dass es Ihnen nie gelingen wird, etwas 100% sicherer zu machen - das ist einfach nicht möglich - das Ziel ist es, so sicher wie möglich zu machen - wenn es nur zu viel Aufwand ist, um Ihr System zu beschädigen, ist es gut genug und die meisten lamer script-kiddies wechseln auf das nächste system.
iptables
ist der richtige Weg für jedes Linux-System - aber konfigurieren Sie es selbst.Verwenden Sie niemals eine "Sicherheitssoftware", die nicht auf offenen Standards basiert - sie ist dazu verdammt, schlecht geschrieben zu sein und wird gehackt (keine Frage von "ob", sondern "wann"). Open Source und Open Protocols sind öffentlich zugänglich und werden zu einem ausgereiften und zuverlässigen Produkt. Closed-Source - Software beruht vor allem auf dem Autoren Selbstvertrauen, wie groß / secure-a-Produkt sie denken , es ist - dh eine kleine Anzahl von Augen gegen eine Erde voller Augen.
Ich hoffe, das hilft :)
quelle
benutze denyhosts (oder ähnliches)
Schreiben Sie Ihr eigenes Iptbles-Skript (damit Sie genau steuern können, was zugelassen werden soll, und alles andere ablegen können)
Erzwingen Sie die Verwendung von SSL / TLS-gesicherter Kommunikation und stellen Sie sicher, dass gültige, nicht abgelaufene und signierte Zertifikate vorhanden sind
quelle
Fang hier an:
http://www.debian.org/doc/manuals/securing-debian-howto/
quelle
Als allgemeinen Ausgangspunkt folge ich den Benchmark / Leitfäden des Center for Internet Security , die umfassende Zusammenstellungen von Best Practices für die Sicherheit darstellen. Es sieht nicht so aus, als ob ihr Debian-Benchmark in einiger Zeit aktualisiert wurde, aber ein allgemeiner Überblick über die Schritte ist:
Es gibt viele Ressourcen für all diese verschiedenen Einstellungen, einschließlich der spezifischen Befehle und Konfigurationsdateien, die in den CISecurity-Benchmarks auf dem System implementiert werden müssen.
quelle
Ich würde vorschlagen, keine Maschine direkt an das Internet anzuschließen. Platzieren Sie eine Art Firewall zwischen dem Computer und dem Internet. Auf diese Weise können Sie die Sicherheit und das Netzwerk überwachen, ohne den Server stärker zu belasten. Persönlich finde ich, dass Netzwerk- und Funktionssegmentierung häufig die Fehlerbehebung im Netzwerk vereinfacht, obwohl die zusätzliche Komplexität gelegentlich die Analyse erschwert.
Die sicherste, aber am ärgerlichsten zu verwaltende Firewall-Richtlinie besteht darin, alle zu verweigern und explizit nur den Verkehr zuzulassen, den Sie zulassen müssen. Dies ist ärgerlich, da die Firewall-Richtlinie häufig aktualisiert werden muss, wenn sich das Netzwerk ändern muss.
Ich würde auch vorschlagen, eine Art Firewall für die Benutzeroberfläche auf dem Server zu verwenden - die Tiefenverteidigung ist der Schlüssel. Die Verwendung von nicht standardmäßigen Ports für verwaltungsbezogene Dienste schadet nicht. fail2ban ist in ordnung. Befolgen Sie die genaueren Fragen zu Sicherheitsanwendungen in Serverfault, um weitere Ideen zu finden.
Sicherheit ist wie ein Scherz über die beiden Wanderer und den Bären - während man nie perfekte Sicherheit erreichen kann, ist es hilfreich, ein schwierigeres Ziel zu sein als die anderen.
quelle
Einige Leute haben auf das Securing Debian Manual hingewiesen . Dies sollte für alles außer für militärische Anforderungen völlig ausreichend sein.
Viele Leute denken, lächerlich paranoid zu sein, ist cool oder professionell oder so. Es ist nicht so , es ist nur ärgerlich für andere Administratoren und geradezu repressiv für Ihre Benutzer. Die meisten Dinge, die Sie als empfehlenswert erachten, sind nur gefälschte Aktivitäten, um sich für den paranoiden Administrator nützlich zu fühlen, aber nicht wirklich hilfreich, da die eigentliche Sicherheitsverletzung wahrscheinlich durch ein nicht ausreichend aktualisiertes System und / oder eine interne Quelle verursacht wird.
Ich halte es jedoch für einen meiner Grundsätze, dem lokalen Netzwerk nicht mehr zu vertrauen als dem Internet. Daher konfiguriere ich alles so, dass eine Authentifizierung auch im lokalen Netzwerk erforderlich ist. Ich verschlüssele und authentifiziere den gesamten Datenverkehr zwischen allen Computern mithilfe von IPsec.
Ich bin gerade dabei, alle meine Server auf Festplattenverschlüsselung umzustellen.
Ich installiere nur die Dienste, die ich benutze. Ich habe keine Firewall. Ich konfiguriere die Dienste, für die eine Authentifizierung erforderlich ist, oder beschränke sie (durch die eigene Konfiguration des Programms oder durch TCP-Wrapper) auf bestimmte IP-Adressen. Das einzige, was ich jemals mit iptables blockieren musste, war
memcached
, dass es keine Konfigurationsdatei und keine TCP-Wrapper gab.Ich verwende gute, zufällig generierte Passwörter für meine Konten und vertraue meinem SSH-Server (und allen anderen Diensten), um diejenigen fernzuhalten, die das Passwort nicht kennen.
fail2ban
ist nur für diejenigen mit begrenztem Speicherplatz für Protokolldateien, IMO. (Sie sollten über ausreichend gute Passwörter verfügen, um diesen vertrauen zu können.)quelle
Gehen Sie diese Anleitung unter www.debian.org/doc/manuals/securing-debian-howto/ durch.
Ich persönlich ändere den ssh-Port und verwende fail2ban + denyhosts. Und ich blockiere alles, was nicht gebraucht wird. Je mehr Sie blockieren, desto weniger müssen Sie sich Sorgen machen.
quelle