Como faço para parar o Apache de ser executado como root?

8

Novo no trabalho, lugar pequeno e as coisas de segurança acabaram de pousar na minha mesa. Fui contratado para ser um desenvolvedor front-end. Feliz em aprender coisas novas, mas nunca tive que fazer coisas de administrador de sistema antes.

Comecei a cavar e parece que o apache, o site e tudo estão rodando na raiz. Não há outros grupos ou usuários. ACK!

Que medidas devo tomar para mudar isso? Eu sei que isso é um grande não-não ...

Pontos de bônus, se alguém puder me indicar um bom tutorial básico sobre segurança apache / php.

r00tAcc3ss
fonte

Respostas:

12

É incomum encontrar o Apache executando como rootem qualquer configuração de estoque. Como você determinou que o Apache está sendo executado como root? Observe que o Apache deve ser iniciado como root para se conectar a portas privilegiadas, mas normalmente perde seus privilégios mais tarde.

Você pode procurar na configuração do Apache (geralmente em /etc/httpdou /etc/apache2, dependendo da sua distribuição) as diretivas Usere Group(documentadas aqui ). Essas duas diretivas controlam sob qual ID de usuário o Apache executa.

Também é incomum encontrar um sistema que "não tenha outros grupos ou usuários". O que fazer getent passwde getent groupmostrar? Realmente não existem outros usuários ou grupos root? A maioria das distribuições navio com um apacheou www-datautilizador ou somesuch e uma configuração correspondente que vai executar o Apache como esse utilizador.

Há uma variedade de guias introdutórios disponíveis para configuração e segurança do Apache. Uma simples pesquisa no Google gera muitos resultados com aparência provável. O RedHat / CentOS Deployment Guide é um bom lugar para começar (se você estiver em um sistema RedHat / CentOS).

larsks
fonte
Obrigado, sim, ele não estava ficando sem root, mas parece que todo o resto foi feito usando root. todas as pastas, arquivos, etc. Precisarei descobrir como mudar isso.
R00tAcc3ss
Bem ... não necessariamente. Você não deseja que os arquivos sejam de propriedade do mesmo usuário que o processo Apache em execução. Idealmente, um comprometimento no servidor da Web não resultará em um invasor capaz de modificar a configuração do Apache ou o conteúdo da Web.
Larsks
0

Você pode executar o Apache como qualquer usuário com números de porta maiores que o número da porta privilegiada 1024+. Em seguida, use o encaminhamento de porta para encaminhar o tráfego das portas 80 e 443 para suas portas específicas.

Chase T.
fonte