it-swarm.com.de

Beste Apache-Protokolldateiberechtigungen auf dem cpanel-Server

Um meine Site vor bösen Bots zu schützen, einschließlich lächerlicher Hacker, die sich auf dem Server anmelden können, möchte ich access_log und error_log so weit wie möglich sichern, ohne Apache oder cpanel zu beschädigen.

Ich glaube, dass jeder Benutzer, der Apache ausführt, Lese- und Schreibzugriff auf die Protokolldatei haben sollte.

Ich bin nicht sicher, ob cpanel spezielle Anforderungen für den Zugriff auf die Protokolldatei hat. und ich bin nicht sicher, ob etwas in cpanel kaputt geht, wenn ich die Berechtigungen der Protokolldatei zu restriktiv mache.

Derzeit habe ich es, wo jeder Lesezugriff auf die Protokolldatei hat und nur root und die Gruppe root in Lese- und Schreibzugriff hat. Ich möchte den Lesezugriff für alle anderen deaktivieren, aber hat dies Auswirkungen auf cpanel oder Apache?

Mein Ziel ist es, die Website-/Webserversicherheit zu verbessern und weiterhin Seiten mit hoher Geschwindigkeit bereitzustellen, ohne die Funktionalität zu beeinträchtigen.

Mein Server ist Linux-basiert.

1
Mike

Wenn sie sich über Ihre Shell anmelden können, ist das Spiel so gut wie vorbei und wie von @ w3d erwähnt, sind Apache-Protokolldateien am wenigsten Ihre Sorgen.

  • Apache schreibt direkt in Protokolldateien. Niemand kann diese Protokolle anzeigen, es sei denn, sie sind im Host-Pfad gespeichert.

Wenn die Sicherheit ein wichtiges Anliegen ist, sollten Sie bestätigen, dass Sie die folgenden Methoden anwenden:

  • Ihr SSH sollte mit SSH-Schlüsseln gesichert sein, nicht mit Benutzernamen oder Passwort, oder noch besser ... deaktiviert sein, wenn Sie es nicht verwenden, und es bei Bedarf starten.
  • Ihr cPanel-Konto sollte im Idealfall ein komplexes Kennwort verwenden. Verwenden Sie mindestens 12 bis 18 Ziffern mit Zahlen, Großbuchstaben und Symbolen. cPanel ist auch dabei, eine bidirektionale Authentifizierung hinzuzufügen. Sobald diese freigegeben wird, sollten Sie sie aktivieren. Dies gilt auch für alle Plattformen außerhalb von cPanel.
  • FTP sollte zu Gunsten von FTPS oder FTP TLS/SSL deaktiviert werden. Der Server sollte Brute Cracking mit fail2ban oder ähnlichem blockieren.
1
Simon Hayter

Ich stimme grundsätzlich der Aussage von Simon Hayters zu, dass ich persönlich anfangen würde, über die Wiederherstellung des Systems aus vertrauenswürdigen Quellen nachzudenken, wenn sie Shell-Zugriff erlangen würden - es sei denn, sie hätten den Shell-Zugriff durch Injection in eine PHP-Anwendung, die Shell_exec verwendet. Aber dann stellt sich die Frage: Wenn Sie nicht wissen, wie sie zu dieser Zeit gekommen sind, wie können Sie sie das nächste Mal aufhalten? - Kompromisslose Protokolleinträge können helfen, den Einbruch zu rekonstruieren.

Aber auf die Frage, hier ist, wie Nginx (und aus dem Speicher Apache ist das gleiche) Log-Dateiberechtigungen auf Ubuntu 14.04 einrichten.

$ls -al /var/log/
... 
drwxr-s---  2 mysql     adm      4096 Nov 22 06:38 mysql
-rw-r-----  1 mysql     adm         0 Nov 20 17:39 mysql.err
-rw-r-----  1 mysql     adm         0 Nov 22 06:38 mysql.log
drwxr-x---  2 www-data  adm      4096 Nov 22 06:38 nginx
-rw-------  1 root      root        0 Nov 22 06:38 php5-fpm.log
-rw-r-----  1 syslog    adm      9734 Nov 23 00:17 syslog
...

Indem Sie "anderen" keine Berechtigungen für nginxVerzeichnis selbst erteilen - normale Benutzer können die Dateien nicht einmal selbst sehen - geschweige denn lesen. Wenn sie Root-Berechtigungen hätten, könnten sie dies tun

$ Sudo ls -al nginx/
total 28
drwxr-x---  2 www-data adm    4096 Nov 22 06:38 .
drwxrwxr-x 13 root     syslog 4096 Nov 22 06:38 ..
-rw-r-----  1 www-data adm    2082 Nov 23 00:30 access.log
-rw-r--r--  1 root     root   9803 Nov 22 06:26 access.log.1
-rw-r-----  1 www-data adm       0 Nov 22 06:38 error.log

Wenn Sie nicht www-data, adm oder root sind, können Sie keine Protokolle lesen. access.log.1, das nicht vom Webserver, sondern vom Protokollarchivierungsdienstprogramm logrotate erstellt wird, hat Leseberechtigungen - aber weil jeder, der nicht root, www-data oder adm ist, gewonnen hat Entlang jedes Segments im Pfad zu /var/log/nginx/access.1.log sind keine Berechtigungen vorhanden, sodass die Datei weiterhin nicht gelesen werden kann (die Berechtigung directory blockiert sie weiterhin).
So können Sie diese Berechtigungsstruktur ausprobieren - es ist ärgerlich, wenn Sie sie verwalten, wenn Sie zu su aufsteigen oder Ihren Benutzer zu www-data oder adm Gruppen hinzufügen müssen, oder Ähnliches gilt - abhängig von Ihrem System - nur, um in die Protokollverzeichnisse zu gelangen und Protokolle zu lesen.
Auch - es ist WICHTIG, dass Sie die Berechtigungen der logrotate -Einrichtung nicht verletzen - es ist das, was Ihre Protokollaufzeichnungen bereinigt (Archivieren und Löschen von Protokolleinträgen über ein bestimmtes Alter - normalerweise ein Jahr).

1
the_velour_fog