awstat und zugriffsrechte für apachelogs

Apache, Lighttpd, nginx, Cherokee
micho
Posts: 12
Joined: 2006-12-28 16:40

awstat und zugriffsrechte für apachelogs

Post by micho » 2008-01-30 12:21

Hallo,

habe gerade AWStat installiert und bekomme beim update via browser die Fehlermeldung
Error: Couldn't open server log file "/var/log/apache/logfile" : Permission denied


nach
chmod o+r /var/log/apache/logfile
klappt es jetzt.

Ist das ein Sicherheitsproblem, das Apache-Logfile für alle lesbar zu machen, wie löst man das Problem sonst?

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: awstat und zugriffsrechte für apachelogs

Post by Roger Wilco » 2008-01-30 14:27

Zunächstmal solltest du das Webinterface von AWStats nicht öffentlich zugänglich machen. Das hatte in der Vergangenheit schon böse Sicherheitslücken und der Quellcode ist nicht gerade ein Vorbild an Codekunst. Benutze statt dessen statische Reports (awstats_buildstaticpages.pl).

Bezüglich der Rechte des Apache-Logs lässt sich nichts ändern, sofern AWStats weiterhin unter der UID des Webservers läuft. Die Logs gehören normalerweise 'root'.

micho
Posts: 12
Joined: 2006-12-28 16:40

Re: awstat und zugriffsrechte für apachelogs

Post by micho » 2008-01-30 18:49

habe das AWStat-Webinterface mit BasicAuth gesichert, haltet Ihr das für ausreichend?

Zum Log hatte ich folgende Idee.
Im cronjob, der die Aktualisierung (bzb. Aufbereitung der statischen Seiten) vornimmt, die apachelogfiles kopieren, an apacheuser verschenken (chown), awstat updaten, kopierte logs löschen.
Was haltet Ihr von der Idee, bringt das nen Sicherheitszuwachs?

User avatar
daemotron
Administrator
Administrator
Posts: 2635
Joined: 2004-01-21 17:44

Re: awstat und zugriffsrechte für apachelogs

Post by daemotron » 2008-01-30 21:15

micho wrote:habe das AWStat-Webinterface mit BasicAuth gesichert, haltet Ihr das für ausreichend?

Besser wären mod_auth_digest und Verbindungen ausschließlich über SSL zuzulassen (siehe http://httpd.apache.org/docs/2.2/howto/auth.html).

Außerdem halte ich es für fahrlässig, mit dem CGIs von Awstats Statistiken on the fly zu generieren (Gründe siehe Post von Roger Wilco). Dafür gibt es das awstats.pl Skript. Zusammen mit einer passenden Konfiguration generiert man damit Statistiken als statisches HTML, was sich wunderbar per Cron-Job erledigen lässt, ohne dass dafür die Logs world-readable sein müssen.

micho
Posts: 12
Joined: 2006-12-28 16:40

Re: awstat und zugriffsrechte für apachelogs

Post by micho » 2008-01-30 22:05

DAnke!

Hatte gar nicht bedacht, dass ich das readable Promlem mit den statischen statistiken gleich miterschlage, wenn der cronjob als root läuft. (das ist OK, oder)

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: awstat und zugriffsrechte für apachelogs

Post by Joe User » 2008-01-30 22:43

micho wrote:Hatte gar nicht bedacht, dass ich das readable Promlem mit den statischen statistiken gleich miterschlage, wenn der cronjob als root läuft. (das ist OK, oder)

Nein, da man beispielsweise per Referrer wunderbar belibiege Befehle in die Logs schreiben kann, um diese von diversen (anfälligen) Tools ausführen zu lassen. Insbesondere bei root tödlich...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

micho
Posts: 12
Joined: 2006-12-28 16:40

Re: awstat und zugriffsrechte für apachelogs

Post by micho » 2008-01-30 23:27

Was macht man dagegen?

sollen die logs nicht root gehören?, wenn ja, wie kann man das änderen?
oder ist es gefährlich den cronjob der die logs auswertet als root laufen zu lassen?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: awstat und zugriffsrechte für apachelogs

Post by Joe User » 2008-01-31 00:04

Logs, wie alle anderen Files auch, sollten immer sowenig Rechte wie möglich besitzen. Daraus ergibt sich für Logs im Allgemeinen maximal root:root/0640, nur selten mehr. Will man Logs automatisiert auswerten, nutzt man dafür einen (stark) eingeschränkten User und lässt ihn eine Kopie (user:group/0600) auswerten.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: awstat und zugriffsrechte für apachelogs

Post by Roger Wilco » 2008-01-31 00:07

Am einfachsten erstellst du eine eigene Gruppe für AWStats und gibst dieser Gruppe dann Leserechte auf die Datei. So muss AWStats nicht als root laufen und die Logdatei ist trotzdem nicht für alle lesbar.

micho
Posts: 12
Joined: 2006-12-28 16:40

Re: awstat und zugriffsrechte für apachelogs

Post by micho » 2008-01-31 00:14

Danke,
ISt das dass so OK

- logs gehören root:root mit rechten /0640
- cronjob als root, der das logfile kopiert und dem wenig-privilegierten user schenkt (chown)
- cronjob als wenig-privilegierten user der die Statistiken erzeugt und das kopierte log löscht.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: awstat und zugriffsrechte für apachelogs

Post by Joe User » 2008-01-31 00:17

IMHO die beste Lösung.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.