Nein. Dies ist nicht genug, um Sie zu schützen.
Es wird Sie wahrscheinlich einige Zeit schützen, aber die Sicherheit ist komplex und schnell, sodass Ihr Ansatz wirklich nicht gut ist genug für langfristige Sicherheit . Wenn alle die gleichen Annahmen treffen würden, die Sie in Ihrer Frage gemacht haben, wäre das Internet inzwischen ein einziges großes Botnetz.
Also nein, beschränken wir diese Frage nicht auf Pakete. Betrachten wir die Serversicherheit ganzheitlich, damit jeder, der dies liest, eine Vorstellung davon bekommt, wie viele bewegliche Teile es tatsächlich gibt.
-
APT (z. B. Ubuntus Repos) deckt nur einen Teil Ihres Software-Stacks ab. Wenn Sie (z. B.) Wordpress oder eine andere beliebte PHP-Bibliothek verwenden und diese nicht repo-gesteuert ist, müssen Sie diese ebenfalls aktualisieren. Die größeren Frameworks verfügen über Mechanismen, um dies zu automatisieren. Stellen Sie jedoch sicher, dass Sie Backups erstellen und den Servicestatus überwachen, da diese nicht immer gut funktionieren.
-
Sie haben alles selbst geschrieben, also Sie Denken Sie, Sie sind sicher vor den Drehbuchkindern? Es gibt automatisierte SQL-Injection- und XSS-Exploit-Bots, die herumlaufen und jeden Querystring und jede Form gleichermaßen anstoßen.
Dies ist tatsächlich einer der Orte, an denen ein gutes Framework zum Schutz vor unzureichenden Programmierern beiträgt, die Nuancen dieser nicht schätzen Anschläge. Wenn ein kompetenter Programmierer den Code prüft, können Sie hier auch Ängste zerstreuen.
-
Muss PHP (oder Python oder was auch immer Sie ausführen) wirklich überall schreiben können? Härten Sie Ihre Konfiguration ab und schützen Sie sich vor vielen Angriffen. Im Idealfall kann eine Webanwendung nur eine Datenbank schreiben, und Orte, an denen keine Skripterstellung ausgeführt wird (z. B. eine Nginx-Regel, mit der nur statische Dateien bereitgestellt werden können).
Die PHP-Standardeinstellungen (zumindest wie sie verwendet werden) ermöglichen es PHP, PHP überall in der Webroot zu lesen und zu schreiben. Dies hat schwerwiegende Auswirkungen, wenn Ihre Website ausgenutzt wird.
Hinweis: Wenn Sie den Schreibzugriff blockieren, können sich Dinge wie WordPress nicht automatisch aktualisieren. Suchen Sie nach Tools wie wp-cli
und lassen Sie sie planmäßig ausführen. Sup>
-
Und Ihr Update-Zeitplan ist aktiv schädlich. Was um alles in der Welt ist "ab und zu"? Kritische Remote-Sicherheitslücken haben eine kurze Halbwertszeit, aber es gibt bereits eine Verzögerung zwischen 0 Tagen und Patch-Verfügbarkeit, und einige Exploits werden auch von Patches rückgängig gemacht (um die langsamen Stöße zu erkennen).
Wenn Sie Wenn Sie Updates nur einmal im Monat anwenden, besteht eine sehr hohe Wahrscheinlichkeit, dass Sie ausnutzbare Software in freier Wildbahn ausführen. TL; DR: Verwenden Sie automatische Updates.
-
Versionen von Distributionen halten nicht ewig. Wenn Sie vernünftig waren und sich für eine LTS-Version von Ubuntu entschieden haben, haben Sie 5 Jahre ab der ersten Veröffentlichung Zeit. Innerhalb dieser Zeit werden zwei weitere LTS-Versionen herauskommen, die Ihnen Optionen bieten.
Wenn Sie sich auf einem "NEWER IS BETTER" -Rampage befanden und beim Einrichten Ihres Servers 16.10 gewählt haben, haben Sie 9 Monate . Ja. Dann müssen Sie ein Upgrade bis 17.04, 17.10 durchführen, bevor Sie sich auf 18.04 LTS entspannen können.
Wenn Ihre Ubuntu-Version ausfällt, können Sie den ganzen Tag über ein Dist-Upgrade durchführen. Sie erhalten jedoch keine Sicherheits-Upgrades
-
Und der LAMP-Stack selbst ist nicht der einzige Angriffsvektor auf einen Standard-Webserver.
- Sie Sie müssen Ihre SSH-Konfiguration sichern: Nur SSH-Schlüssel verwenden, Kennwörter deaktivieren, den Port umleiten, Root-Anmeldungen deaktivieren, Brute-Versuche überwachen und mit
fail2ban blockieren
. - Firewall von allen anderen Diensten mit
ufw
(et alii). - Stellen Sie die Datenbank niemals offen (es sei denn, Sie benötigen / em> to und sperren Sie dann die eingehende IP in der Firewall.
- Lassen Sie keine zufälligen PHP-Skripte installiert, sonst werden Sie sie vergessen gehackt werden.
Ihre Beschreibung enthält keine Überwachung. Du bist blind. Wenn dort etwas passiert und Spam herauspumpt, Ihre Webseiten infiziert usw. Wie können Sie feststellen, dass etwas Schlimmes passiert ist? Prozessüberwachung. Geplanter Dateivergleich mit git (stellen Sie sicher, dass der Server nur schreibgeschützt ist).
Berücksichtigen Sie die Sicherheit (physisch und remote) Ihres Internetdienstanbieters. Investieren die Dutzend "Hosts" (auch bekannt als CPanel-Piraten), die unbegrenzte Hosting-Pläne für 2 US-Dollar pro Monat ausgeben, dieselben Ressourcen in die Sicherheit wie eine dedizierte Server-Einrichtung? Fragen Sie nach und untersuchen Sie die Vorgeschichte von Verstößen.
Hinweis: Ein veröffentlichter Verstoß ist nicht unbedingt eine schlechte Sache. Winzige Hosts haben in der Regel keine Aufzeichnungen, und wenn in Dinge eingebrochen wird, gibt es nicht die öffentlichen "Post-Mortems", die viele seriöse Hosts und Services ausführen. Sup>
Und dann ist da noch du . Die Sicherheit des Computers, auf dem Sie all diese Dinge codieren, ist fast genauso wichtig wie der Server. Wenn Sie dieselben Passwörter verwenden, haften Sie. Sichern Sie Ihre SSH-Schlüssel mit einem physischen FIDO-UF2-Schlüssel.
Ich mache seit ~ 15 Jahren Devops und es ist etwas, das Sie können Lernen Sie am Arbeitsplatz, aber es ist wirklich nur eine Verletzung erforderlich - ein Teenager, ein Bot -, um einen gesamten Server zu ruinieren und wochenlange Arbeit zu verursachen, um das Arbeitsprodukt zu desinfizieren.
Nur bewusst Wenn Sie wissen, was läuft und was angezeigt wird, können Sie bessere Entscheidungen darüber treffen, was Sie tun. Ich hoffe nur, dass dies jemandem hilft, den Prozess der Überwachung seines Servers zu starten.
Aber wenn Sie - der durchschnittliche Web-App-Programmierer eines jeden Menschen - nicht bereit sind, sich mit solchen Dingen zu befassen, sollten Sie überhaupt einen Server betreiben? Das ist eine ernste Frage. Ich werde Ihnen nicht sagen, dass Sie das unbedingt nicht tun sollten, aber was passiert mit Ihnen, wenn Sie dies alles ignorieren, Ihr Server gehackt wird, Ihr Kunde Geld verliert und Sie persönliche Kundeninformationen (z. B. Rechnungsdaten) offenlegen und verklagt werden ? Sind Sie für dieses Verlust- und Haftungsrisiko versichert?
Aber ja, deshalb kosten Managed Services so viel mehr als dumme Server.
Aufgrund von Backups ...
Eine vollständige Systemsicherung ist möglicherweise das Schlimmste, was Sie aufbewahren können - aus Sicherheitsgründen -, da Sie versucht sind, sie zu verwenden, wenn Sie gehackt werden. Ihr einziger Ort ist die Wiederherstellung nach einem Hardwarefehler.
Das Problem bei der Verwendung in Hacks besteht darin, dass Sie auf einen noch früheren Zeitpunkt zurückgesetzt werden. Jetzt sind noch mehr Fehler in Ihrem Stapel erkennbar, und es gibt noch mehr Exploits für das Loch, das Sie dazu gebracht hat. Wenn Sie diesen Server wieder online stellen, können Sie sofort gehackt werden. Sie können den eingehenden Datenverkehr abfeuern und ein Paket-Upgrade durchführen, und das kann Ihnen helfen, aber an diesem Punkt Ich weiß immer noch nicht, was dich gebracht hat oder wann es dich gebracht hat. Sie stützen alle Ihre Annahmen auf ein Symptom, das Sie gesehen haben (Anzeigeninjektion auf Ihren Seiten, Spam, der in Ihrer Mailq zurückgeschickt wird). Der Hack hätte Monate vorher sein können.
Sie sind offensichtlich besser als nichts und in Ordnung, wenn eine Festplatte stirbt, aber sie sind Müll für die Sicherheit
Gute Backups sind Rezepte Sie möchten etwas - nur ein Dokument in einfacher Sprache oder etwas Technisches wie eine Routine von Ansible / Puppet / Chef -, das jemanden zur Wiederherstellung des gesamten Dokuments führen kann Website zu einem brandneuen Server. Zu beachtende Punkte:
- Eine Liste der zu installierenden Pakete
- Eine Liste der durchzuführenden Konfigurationsänderungen
- Wiederherstellen der Website-Quelle aus der Versionskontrolle .
- So stellen Sie den Datenbankspeicherauszug * und alle anderen statischen Dateien wieder her, für die Sie möglicherweise keine Versionskontrolle haben.
Je ausführlicher Sie hier sein können, desto besser, weil dies auch dient als persönliches Backup . Meine Kunden wissen, dass sie, wenn ich sterbe, einen getesteten Plan haben, um ihre Websites auf Hardware wiederherzustellen, die sie direkt steuern.
Eine gute Wiederherstellung mit Skripten sollte erforderlich sein nicht mehr als 5 Minuten. Selbst das Zeitdelta zwischen einer skriptbasierten Wiederherstellung und der Wiederherstellung eines Festplattenabbilds ist minimal.
* Hinweis : Auch Datenbank-Dumps müssen überprüft werden. Stellen Sie sicher, dass sich in Ihrem System keine neuen Administratorbenutzer oder zufällige Skriptblöcke befinden. Dies ist genauso wichtig wie das Überprüfen der Quelldateien, sonst werden Sie einfach erneut gehackt. Sup>