Page 1 of 1
Muss apache (ssl) als root laufen?
Posted: 2003-04-07 21:44
by marlies
Hi,
ich kämpfe noch mit der Rechtevergabe und möchte nichts falsch machen, wäre nett wenn mir mal jemand weiterhilft:
Bei mir läuft apache und apache-ssl als root - ist das nötig? Kann das nicht ein Risiko sein? (Ich dachte NICHTS soll als root laufen ...)
Und falls ich es ändern soll: was für Rechte muss/sollte der Besitzer haben?
Und weil ich gerade dabei bin (ist aber evtl. ne dumme Frage): Wenn Debian bootet - unter welchem User läuft es dann bzw. unter welchem sollte es laufen?
Da ich das mit den Rechten (wie ihr seht) noch nicht so recht verstanden habe, freue ich mich besonders über jede Antwort.
MarLies
Re: Muss apache (ssl) als root laufen?
Posted: 2003-04-07 21:54
by captaincrunch
Bei mir läuft apache und apache-ssl als root - ist das nötig? Kann das nicht ein Risiko sein?
Kurz und bündig :
a) Nötig : Jein. Ein Apache-Prozess (der Vaterprozess) läuft als Root, damit er sich an den privilegeierten Port (80) binden kann. Sämtliche Kindprozesse, die durch ihn gestartet werden, sollten aber tunlichst
nicht unter root laufen.
b) Mögliches Risiko : (im o.g. zweiten Fall) auf jeden Fall.
Und falls ich es ändern soll: was für Rechte muss/sollte der Besitzer haben?
Unter Debian ist der Apache-User
www-data, bei SuSE müsste er
wwwrun heißen.
Re: Muss apache (ssl) als root laufen?
Posted: 2003-04-07 23:09
by marlies
Wow, schnelle Antwort, danke!
Aber ich muss noch weiter fragen:
Dann richte ich jetzt also einen User www-data ein, ordne ihn in die Gruppe root und übereigne ihm apache und apache-ssl?
Kriegt www-data noch mehr?
Und was sind das für Kindprozesse? Ist PHP (als Modul) einer? MySQL? ein Mailprogramm? (weiss noch nicht welches ich nehme)
Und was für Rechte bekommt der Besitzer der Kindprozesse?
Vielen Dank, gute Nacht und bis morgen!
MarLies
Re: Muss apache (ssl) als root laufen?
Posted: 2003-04-07 23:46
by floschi
STOP!
Wie hast du den Apache installiert, evtl. gibt es diese Gruppe und diesen User ja bereits... dann muss er nur noch in den angesprochenen Direktiven in der httpd.conf eingetragen werden.
Re: Muss apache (ssl) als root laufen?
Posted: 2003-04-08 10:21
by marlies
Hi,
habe mal ps aux gemacht - und siehe da, Debian hat schon alles korrekt installiert (aux kannte ich noch nicht ...):
debbi:/# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.2 0.3 1272 484 ? S 10:43 0:05 init [2]
root 2 0.0 0.0 0 0 ? SW 10:43 0:00 [kflushd]
root 3 0.0 0.0 0 0 ? SW 10:43 0:00 [kupdate]
root 4 0.0 0.0 0 0 ? SW 10:43 0:00 [kswapd]
root 5 0.0 0.0 0 0 ? SW 10:43 0:00 [keventd]
daemon 103 0.0 0.3 1384 428 ? S 10:43 0:00 /sbin/portmap
root 159 0.0 0.6 2036 784 ? S 10:43 0:00 /sbin/syslogd
root 162 0.0 0.6 1660 820 ? S 10:43 0:00 /sbin/klogd
root 166 0.0 1.6 10172 2156 ? S 10:43 0:00 /usr/sbin/named
root 167 0.0 1.6 10172 2156 ? S 10:43 0:00 /usr/sbin/named
root 168 0.0 1.6 10172 2156 ? S 10:43 0:00 /usr/sbin/named
root 169 0.0 1.6 10172 2156 ? S 10:43 0:00 /usr/sbin/named
root 170 0.0 1.6 10172 2156 ? S 10:43 0:00 /usr/sbin/named
root 173 0.0 1.7 10252 2204 ? S 10:43 0:00 /usr/sbin/lwresd
root 175 0.0 1.7 10252 2204 ? S 10:43 0:00 /usr/sbin/lwresd
root 176 0.0 1.7 10252 2204 ? S 10:43 0:00 /usr/sbin/lwresd
root 177 0.0 1.7 10252 2204 ? S 10:43 0:00 /usr/sbin/lwresd
root 178 0.0 1.7 10252 2204 ? S 10:43 0:00 /usr/sbin/lwresd
root 183 0.0 0.5 1444 692 ? S 10:43 0:00 /sbin/rpc.statd
root 191 0.0 0.5 1992 704 ? S 10:43 0:00 /usr/sbin/inetd
root 195 0.0 0.5 2044 744 ? S 10:43 0:00 /usr/sbin/lpd
root 202 0.0 0.8 2180 1084 ? S 10:43 0:00 sh /usr/bin/safe_mysqld
mysql 237 0.0 3.9 36896 4996 ? S 10:43 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql
mysql 242 0.0 3.9 36896 4996 ? S 10:43 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql
mysql 243 0.0 3.9 36896 4996 ? S 10:43 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql
mysql 246 0.0 3.9 36896 4996 ? S 10:43 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql
root 258 0.0 0.9 2788 1212 ? S 10:43 0:00 /usr/sbin/sshd
daemon 261 0.0 0.4 1388 584 ? S 10:43 0:00 /usr/sbin/atd
root 264 0.0 0.5 1652 684 ? S 10:43 0:00 /usr/sbin/cron
root 268 0.0 2.8 74368 3660 ? S 10:43 0:00 /usr/sbin/apache
www-data 272 0.0 2.8 74380 3676 ? S 10:43 0:00 /usr/sbin/apache
www-data 273 0.0 2.8 74380 3676 ? S 10:43 0:00 /usr/sbin/apache
www-data 274 0.0 2.8 74380 3676 ? S 10:43 0:00 /usr/sbin/apache
www-data 275 0.0 2.8 74380 3676 ? S 10:43 0:00 /usr/sbin/apache
www-data 276 0.0 3.1 74460 3984 ? S 10:43 0:00 /usr/sbin/apache
root 278 0.0 3.3 75440 4324 ? S 10:43 0:00 /usr/sbin/apache-ssl
root 281 0.0 0.3 1256 468 tty1 S 10:43 0:00 /sbin/getty 38400 tty1
root 282 0.0 0.3 1256 468 tty2 S 10:43 0:00 /sbin/getty 38400 tty2
root 283 0.0 0.3 1256 468 tty3 S 10:43 0:00 /sbin/getty 38400 tty3
root 284 0.0 0.3 1256 468 tty4 S 10:43 0:00 /sbin/getty 38400 tty4
root 285 0.0 0.3 1256 468 tty5 S 10:43 0:00 /sbin/getty 38400 tty5
root 286 0.0 0.3 1256 468 tty6 S 10:43 0:00 /sbin/getty 38400 tty6
www-data 287 0.0 0.6 2992 812 ? S 10:43 0:00 /usr/lib/apache-ssl/gcache 33 /var/run/gcache_port
www-data 288 0.0 3.3 75452 4344 ? S 10:43 0:00 /usr/sbin/apache-ssl
www-data 289 0.1 4.6 76352 5912 ? S 10:43 0:02 /usr/sbin/apache-ssl
www-data 290 0.0 3.3 75452 4344 ? S 10:43 0:00 /usr/sbin/apache-ssl
www-data 291 0.0 3.3 75452 4344 ? S 10:43 0:00 /usr/sbin/apache-ssl
www-data 292 0.0 3.3 75452 4344 ? S 10:43 0:00 /usr/sbin/apache-ssl
root 293 0.2 1.5 6420 1972 ? S 10:47 0:04 /usr/sbin/sshd
root 295 0.0 0.9 2224 1256 pts/0 S 10:47 0:00 -bash
www-data 366 0.0 2.8 74380 3676 ? S 11:03 0:00 /usr/sbin/apache
www-data 367 0.1 4.6 76360 5932 ? S 11:03 0:01 /usr/sbin/apache-ssl
mysql 368 3.5 3.9 36896 4996 ? S 11:03 0:26 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql
mysql 369 0.0 3.9 36896 4996 ? S 11:03 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql
root 375 0.0 0.8 2952 1108 pts/0 R 11:16 0:00 ps aux
Aber wieso tauchen die Prozesse so oft auf?
Und welche Direktiven in der httpd.conf waren angesprochen?
MarLies
Re: Muss apache (ssl) als root laufen?
Posted: 2003-04-08 10:28
by captaincrunch
Sieht alles OK aus. Der Vaterprozess läuft (so wie er soll) als root, die Kindprozesse als www-data
-> www-data 288 0.0 3.3 75452 4344 ? S 10:43 0:00 /usr/sbin/apache-ssl
Aber wieso tauchen die Prozesse so oft auf?
Ist vollkommen normal, da der Vaterprozess die Kindprozesse erzeugt, die ihrerseits die Anfragen beantworten.
Re: Muss apache (ssl) als root laufen?
Posted: 2003-04-08 10:43
by floschi
marlies wrote:Debian hat schon alles korrekt installiert
Debian macht immer alles korrekt :P
Weitere Debianhilfe siehe auch
http://www.rootforum.org/howto - mehr nach Osern ;)
Re: Muss apache (ssl) als root laufen?
Posted: 2003-04-08 13:00
by marlies
OK, vielen Dank, bin beruhigt und erwarte Ostern jetzt noch sehnsüchtiger!
MarLies