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.

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).


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.