Come posso impedire ad Apache di funzionare come root?


8

Nuovo sul posto di lavoro, posto piccolo e roba di sicurezza appena atterrato sulla mia scrivania. Sono stato assunto per essere uno sviluppatore front-end. Felice di imparare cose nuove, ma non ho mai dovuto fare cose di amministratore di sistema prima.

Ho iniziato a scavare e sembra che apache, il sito e tutto stiano funzionando su root. Non ci sono altri gruppi o utenti. ACK!

Quali passi devo prendere per cambiarlo? So che questo è un grande no-no ...

Punti bonus se qualcuno può indicarmi un buon tutorial di base 101 sulla sicurezza di apache / php.

Risposte:


12

È insolito trovare Apache in esecuzione come rootin qualsiasi configurazione stock. Come hai stabilito che Apache è in esecuzione come root? Nota che Apache deve avviarsi come root per legarsi a porte privilegiate, ma in genere perde i suoi privilegi in seguito.

Puoi cercare nella tua configurazione di Apache (spesso in /etc/httpdo /etc/apache2, a seconda della tua distribuzione) le direttive Usere Group(documentate qui ). Queste due direttive controllano sotto quale ID utente viene eseguito Apache.

È anche insolito trovare un sistema che non ha "nessun altro gruppo o utente". Cosa fanno getent passwde getent groupmostrano? Non ci sono davvero altri utenti o gruppi diversi da root? La maggior parte delle distribuzioni viene fornita con un apacheo www-datautente o somesuch e una configurazione corrispondente che eseguirà Apache come tale utente.

Esistono diverse guide introduttive sulla configurazione e sulla sicurezza di Apache. Una semplice ricerca su Google produce molti risultati probabili. La Guida alla distribuzione di RedHat / CentOS è un buon punto di partenza (se si utilizza un sistema RedHat / CentOS).


Grazie, sì, non stava scappando da root, ma sembra che tutto il resto sia stato fatto usando root. tutte le cartelle, i file, ecc. Avrò bisogno di capire come cambiarlo.
r00tAcc3ss,

Beh ... non necessariamente. Non si desidera che i file siano di proprietà dello stesso utente del processo Apache in esecuzione. Idealmente, un compromesso nel server Web non comporterà l'attaccante in grado di modificare la configurazione o il contenuto Web di Apache.
Larsks,

0

È possibile eseguire Apache come qualsiasi utente con numeri di porta superiori al numero di porta privilegiato 1024+. Quindi utilizzare il port forwarding per inoltrare il traffico dalle porte 80 e 443 alle porte specifiche.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.