Ich habe "umfangreiche" Nachforschungen über die Sicherung eines Linux-Webservers angestellt. Ist es ratsam, zusätzlich zu den "Grundlagen" (Entfernen nicht verwendeter Dienste, Härten von SSH, Iptables usw.) Anti-Rootkits (Tripwire) und ein Antivirus (ClamAV) einzuschließen? Sind diese nur übertrieben für einen Webserver? Ich weiß, dass dies eine sehr vage Frage ist, aber ich bin neugierig auf andere Meinungen.
Meine zukünftige Umgebung: - Ubuntu 10.04 - Fail2Ban - Nginx 0.8.x - PHP 5.3.x (Suhosin, APC, Memcached) - Mongodb 1.6.x.
Mögliche Anwendungen: - Webdienste - Web-Apps mit Benutzer-Uploads (Bilder, PDFs usw.) - typische Websites (Formulare usw.)
Wenn Sie weitere Tipps haben, können Sie diese gerne hinzufügen!
Vielen Dank
Nein, du bist nicht weit genug gegangen.
1) Sie benötigen eine Webanwendungs-Firewall wie mod_security und stellen sicher, dass sie so konfiguriert ist, dass sie Angriffe blockiert und nicht nur protokolliert.
2) Sperren Sie PHP mit Phpsecinfo .
3) Sperren Sie das MySQL-Konto Ihrer Webanwendung und stellen Sie sicher, dass Ihre Anwendung keine
FILE
Berechtigungen hat. Dies ist bei weitem die gefährlichste in MySQL.4) Firewall aus allen UDP und allen TCP, die Sie nicht benötigen. Erwägen Sie die Verwendung von Port Knocking für SSH. Nicht zu verbieten ist bei weitem nicht so gut wie null Versuche zu bekommen.
quelle
Sie können AIDE wahrscheinlich sicher auf einem Webserver installieren - das Hinzufügen und Entfernen von Kunden ändert nicht zu viele Konfigurationsdateien, und Sie könnten das normale Chatter wahrscheinlich ziemlich einfach herausfiltern.
In vielen Sicherheitshandbüchern für Webserver wird jedoch nicht erwähnt, dass Sie noexec auf Ihrer / tmp-Partition in / etc / fstab aktivieren sollten. Wenn Sie der Öffentlichkeit Hosting anbieten, installieren viele Leute unsichere Webanwendungen ohne Ihr Wissen (und haben nicht das Wissen, um ihre Anwendungen auf dem neuesten Stand zu halten), und Sie verfolgen diese Fehler im Grunde für immer. Wenn Sie sicherstellen, dass der einzige Ort, an dem ein Angreifer Software speichern kann, das Home-Verzeichnis des Kunden und das Verzeichnis / tmp ist, besteht für den Angreifer das Risiko, Ihnen anzuzeigen, wo er einbricht, wenn er das Verzeichnis / tmp nicht verwenden kann. Das machen sie nicht gern.
Dies hat die überwiegende Mehrheit der Sicherheitsprobleme auf unserem Webhosting-Server gelöst.
quelle
"Willkommen an Bord! An Bord unseres neuen Verkehrsflugzeugs können Sie Restaurant, Kino, Fitnessraum, Sauna und Schwimmbad genießen. Jetzt schnallen Sie sich an, unser Kapitän wird versuchen, all diese Scheiße in die Luft zu bringen."
mod_security ist sowohl für Sie als auch für den Server ein Problem. Es ist ressourcenhungrig und seine Regeln müssen ernsthaft eingehalten werden und es wird eine unendliche Aufgabe sein. Und nein, es funktioniert nicht alleine oder mit Nginx. Wenn Sie das Gefühl haben, dass Sie es wirklich brauchen, richten Sie einen separaten Proxyserver ein (Apache, mod_proxy, mod_security). Es funktioniert auch als DMZ, Ihre realen Server können vollständig für die Außenwelt geschlossen werden, und wenn der Proxy verletzt wird, gibt es sowieso nichts.
ClamAV ist auch sehr schwer, wenn es als Daemon ausgeführt wird. Es ist besser, Clamscan regelmäßig während nicht aktiver Stunden von Cron aus auszuführen.
Tripwire ist übertrieben, IMHO. Aber etwas, das in der Lage ist, Rootkits zu finden, wäre nützlich, es gibt viele Skripte (rkhunter, chkrootkit).
Ich glaube, dass mindestens 90% der Rootkits usw. über Uploads von Windows-Entwicklern auf Server gelangen. Es gibt keinen wirklich guten Weg, dies zu verhindern, außer vielleicht Entwickler zu zwingen, niemals Windows zu verwenden. Die meisten Trojaner suchen nach FTP-Anmeldeinformationen. Verwenden Sie daher niemals FTP.
quelle
Wird die Verwendung des Captcha-Formularschutzes in der gängigen CMS-Engine (Wordpress, Jomlaa, Drupal) als Sicherheitspraxis betrachtet? Wenn ja, können Sie diese verwenden:
quelle