O Apache2 pode funcionar sem arquivos conf?

O Apache2 pode funcionar sem arquivos conf?

Aconteceu que os arquivos conf do Apache2 contêm env vars com senhas e outros dados valiosos. Depois que o Apache2 foi iniciado, excluí meus arquivos conf. Eu sei que para reiniciar terei que criar esses arquivos novamente.

Por quanto tempo o apache2 continuará funcionando conforme o esperado (mostrando meus sites)? O Apache2 lê arquivos conf depois de iniciado?

Estou perguntando porque aconteceu que eu não reiniciei os servidores, mas eles mostram a página padrão do Apache ubuntu

ps-aux | grep apache

www-data 27019  0.0  0.0 424372 12780 ?        S    15:52   0:00 /usr/sbin/apache2 -k start
www-data 27963  0.0  0.0 424372 12800 ?        S    16:46   0:00 /usr/sbin/apache2 -k start
www-data 27964  0.0  0.0 423968 12500 ?        S    16:46   0:00 /usr/sbin/apache2 -k start
www-data 28159  0.0  0.0 423968 12424 ?        S    16:59   0:00 /usr/sbin/apache2 -k start
www-data 28607  0.0  0.0 423968 11044 ?        S    17:19   0:00 /usr/sbin/apache2 -k start
ubuntu   28688  0.0  0.0  12948   956 pts/0    R+   17:23   0:00 grep --color=auto apache
root     28766  0.0  0.2 423888 34928 ?        Ss    2018  06:14 /usr/sbin/apache2 -k start

UPD: eu sei que esta é uma maneira ruim de excluir arquivos conf.

Responder1

Como @djsmiley2k disse, o Apache continuará operando sem arquivos de configuração se os arquivos de configuração existissem quando foi iniciado. E não, esta não é uma boa solução, como ele disse e vocês sabem.

Dito isto, em resposta se o apache2 irátrabalharou não... eu diria "não".

A maioria dos sistemas reinicia automaticamente o Apache e/ou recarrega as configurações do Apache por vários motivos. Por exemplo, normalmente o Apache é reiniciado quando seus arquivos de log são girados. Muitas dessas tarefas automatizadas são necessárias para o funcionamento adequado de um servidor web baseado em Apache. Você também teria que automatizar a recriação dos arquivos de configuração... o que significa que você teria que armazenar as senhas em outro lugar, e nesse ponto você teria frustrado o propósito de excluir os arquivos de configuração.

Além disso, há reinicializações não planejadas... como quando o Apache2 falha. Por mais estável que seja, o Apache não é à prova de balas. O SOP deve ter algum método para observar o processo do Apache e reiniciá-lo automaticamente se ele travar ou travar. Muitos sistemas modernos usam o systemd para isso. Novamente, você pode adicionar a reconstrução automática dos arquivos de configuração ao processo de reinicialização... mas isso ainda anula o propósito de excluir os arquivos de configuração para começar.

A verdadeira solução aqui é proteger seus dados confidenciais.As variáveis ​​de ambiente devem ser definidas por qualquer ferramenta que você esteja usando para gerenciar o processo Apache. Systemd (por exemplo)fornece ferramentaspor esta. Senhas usadas paraautenticação localdeve ser criptografado e armazenado em arquivos legíveis/graváveis ​​apenas pelo usuário pelo qual o Apache é executado (ou seja, root) e especialmente não aquele como ele lê os arquivos (ou seja, www-data).

Se você tiver senhas usadas para autenticação remota (ou seja, autenticação do seu servidor web para outro servidor ou serviço... como um banco de dados), considere substituí-las por chaves públicas/privadas pré-compartilhadas, como as usadas para autenticação ssh... sem falar na criptografia entre servidores remotos (sério, túneis ssh, coisas boas)... novamente, armazenados em arquivos acessíveis apenas pelo usuário privilegiado que inicia o Apache. E, honestamente, o próprio Apache não deveria cuidar da tarefa de autenticação para outro serviço...

Responder2

Vocêpodeexclua os arquivos assim que o apache for iniciado e ele continuará em execução até precisar ler os arquivos novamente (por exemplo, se você reiniciou o daemon).

Isto parece ser umX->Yproblema, e você realmente não declarou seu problema, apenas fez uma pergunta sobre o que você acredita ser uma solução. No entanto, não é uma solução aconselhável.

Responder3

Embora eu concorde em não armazenar dados críticos diretamente dentro dos arquivos conf do Apache, aqui está uma ideia diferente. Definitivamente, não são senhas de qualquer tipo.

Você pode criar seus próprios arquivos *.conf dentro da pasta conf.d. O Apache ainda irá carregá-los.

Em seguida, migre todos os dados valiosos para um novo arquivo .conf. Agora você só tem 1 arquivo para excluir e restabelecer.

Assim, o Apache ainda teria alguns dados de configuração disponíveis e não iniciaria como uma instalação em branco do Apache. Obviamente a pasta documentRoot é a mais importante.

informação relacionada