Verificando o usuário que está executando o servidor apache

1
root@ip-172-31-38-0:/var/www# ps aux | egrep '(apache|httpd)'
root      1086  0.0  0.3  88480  3160 ?        Ss   Mar08   0:09 /usr/sbin/apache2 -k start
www-data  1089  0.0  0.8 445500  8840 ?        Sl   Mar08   0:56 /usr/sbin/apache2 -k start
www-data  1090  0.0  0.8 445564  8832 ?        Sl   Mar08   0:56 /usr/sbin/apache2 -k start
root     12072  0.0  0.0   8160   932 pts/0    S+   19:20   0:00 egrep --color=auto (apache|httpd)

pode sum1 por favor informar sobre o processo 1083 apache executado pela raiz. Isso é um problema de segurança?

    
por Abhishek Bhatia 12.03.2016 / 23:30

2 respostas

2

Não, isso é normal. Nos sistemas baseados em Debian, o apache2 é iniciado como root. Em seguida, ele se bifurca e é executado em um usuário não privilegiado (geralmente www-data ). O trabalho real é feito por esses processos.

Somente um processo privilegiado pode ligar-se a portas abaixo de 1024. Assim, pelo menos para a ligação às portas padrão 80 e 443, ele terá que ser executado como root.

E, entre outras coisas, o processo original lê chaves privadas de certificado SSL, que geralmente são lidas apenas por raiz. De /usr/share/doc/apache2/README.Debian.gz :

The SSL key file should only be readable by root; the certificate file may be
globally readable. These files are read by the Apache parent process which runs
as root, and it is therefore not necessary to make the files readable by the
www-data user.

Então, isso é um comportamento documentado.

    
por muru 12.03.2016 / 23:48
1

Não. O Apache é sempre iniciado como "root" e, em seguida, usa "setuid" para gerar filhos que realmente processam solicitações para o usuário do apache.

Se você deseja criar um soquete de escuta em uma porta privilegiada (portanto, um abaixo da porta 1024), você deve fazer isso como root (ou, para ser mais preciso: com o ID de usuário 0). Porta 80 e 443 para SSL.

Então ... se você não confia no Apache para ligar a um socket, você não deve executar um servidor web no seu servidor.

Veja, por exemplo, o link

    
por Rinzwind 12.03.2016 / 23:48