Domanda di log di Apache 2.4

2

La documentazione per Apache 2.4 afferma che:

Anyone who can write to the directory where Apache httpd is writing a log file can almost certainly gain access to the uid that the server is started as, which is normally root.

Da "la directory in cui Apache httpd sta scrivendo un file di log" presumo che intendano la directory / var / log / httpd. Sulla mia macchina questa directory può essere raggiunta solo dall'utente root (devo "sudo su" per entrare in quella directory).

Questo significa che si verificherebbe un problema di sicurezza se dovessi chmod / var / log / httpd a 777? Osservo dalla documentazione che la risposta è sì. Ma mi piacerebbe capire meglio perché sia così.

In che modo concedere l'accesso alla directory del registro di Apache a un utente non root consente all'utente di ottenere l'accesso come root?

Modifica: Sfogliando un po 'di più sulla pagina dei "consigli di sicurezza" di Apache ho trovato questa ulteriore spiegazione:

If the logs directory is writeable (by a non-root user), someone could replace a log file with a symlink to some other system file, and then root might overwrite that file with arbitrary data. If the log files themselves are writeable (by a non-root user), then someone may be able to overwrite the log itself with bogus data.

Questo spiega un po 'perché non si vorrebbe la directory scrivibile oi file nella directory scrivibili dall'utente arbitrario. Ancora non penso che questo indirizzi esattamente come:

Anyone who can write to the directory where Apache httpd is writing a log file can almost certainly gain access to [root]

    
posta hft 16.10.2017 - 17:55
fonte

1 risposta

3

How can granting access to the Apache log directory to a non-root user allow that user to gain root access?

Non è detto che l'utente non root possa eseguire qualsiasi tipo di escalation di privilegi diretti come conseguenza di ciò, ciò che sta dicendo è che la directory di log dovrebbe essere ristretta in quanto è possibile eseguire un PE.

Apache viene generato dal processo di root (necessario per collegarsi alla porta 80) in modo che la directory di registrazione sia di proprietà di root. In teoria, è possibile utilizzare un file di registro di proprietà pubblica o non root come una potenziale via per l'escalation dei privilegi, ad esempio i file di scrittura utente non root che la root potrebbe utilizzare, ma sono necessari alcuni passaggi per eseguire questa operazione.

I log di Apache, come ogni altro tipo di log, contengono tutti i tipi di informazioni succose che sicuramente non vuoi essere pubbliche.

Does this mean that a security issue would result if I were to chmod /var/log/httpd to 777?

Sì. Per le ragioni sopra menzionate.

Non ho idea di quale tipo di registri tu stia creando, le loro sono opzioni attorno a tutto questo (directory di registri personalizzate, nuovi utenti / gruppi ecc.) ma tutto dipende dal contesto.

Sicuramente non renderli pubblici.

    
risposta data 16.10.2017 - 18:15
fonte

Leggi altre domande sui tag