Introdução
A configuração do arquivo php.ini
é um dos primeiros passos para garantir a segurança de uma aplicação PHP. Pequenos ajustes podem evitar a exposição de erros, a execução de códigos perigosos e reduzir a superfície de ataque.
1. Ocultando erros no ambiente de produção
Nunca exiba erros diretamente ao usuário, pois isso pode revelar detalhes internos da aplicação:
display_errors = Off
log_errors = On
error_log = /var/log/php_errors.log
Isso garante que erros sejam registrados em logs em vez de mostrados na tela.
2. Restringindo execução de funções perigosas
Algumas funções podem permitir execução remota de comandos e comprometer a segurança. Desative funções perigosas no php.ini
:
disable_functions = exec, system, shell_exec, passthru, eval, popen, proc_open
Isso impede que código malicioso execute comandos no servidor.
3. Protegendo uploads de arquivos
Evite ataques via upload de arquivos restringindo tipos e tamanhos:
file_uploads = On
upload_max_filesize = 2M
post_max_size = 3M
Isso impede que arquivos muito grandes sejam enviados para o servidor.
4. Restringindo inclusão de arquivos remotos
Para evitar ataques de Remote File Inclusion (RFI), desative a inclusão de arquivos remotos:
allow_url_fopen = Off
allow_url_include = Off
Isso impede que arquivos externos sejam carregados de forma insegura.
5. Reforçando segurança das sessões
Para evitar ataques de sequestro de sessão, configure os cookies de sessão corretamente:
session.cookie_httponly = 1
session.cookie_secure = 1
session.use_strict_mode = 1
Isso protege os cookies de sessão contra acessos indevidos e uso indevido por atacantes.
Conclusão
A configuração do php.ini
é essencial para reforçar a segurança de uma aplicação PHP. Desativar funções perigosas, ocultar erros, proteger uploads e configurar corretamente as sessões são medidas fundamentais para evitar vulnerabilidades e garantir a integridade do sistema.
Por que configurar o PHP.ini corretamente melhora a segurança da aplicação?
O arquivo php.ini
contém diversas configurações que podem impactar diretamente a segurança de uma aplicação PHP. Uma configuração inadequada pode expor erros sensíveis, permitir a execução de códigos maliciosos e comprometer a integridade do servidor.
Para garantir uma aplicação mais segura, é essencial revisar e ajustar as configurações do php.ini
, restringindo funções potencialmente perigosas, protegendo sessões e evitando exposição desnecessária de informações. Além disso, manter o PHP atualizado garante que novas vulnerabilidades sejam corrigidas e exploradas por atacantes.
Com essas práticas, é possível reduzir significativamente os riscos de ataques e aumentar a segurança geral do ambiente PHP.
Algumas aplicações:
- Evitar exposição de erros e informações sensíveis.
- Impedir execução de comandos perigosos no servidor.
- Restringir uploads de arquivos potencialmente maliciosos.
- Garantir que sessões de usuários sejam protegidas contra ataques.
Dicas para quem está começando
- Sempre desative
display_errors
em ambientes de produção. - Utilize
disable_functions
para bloquear funções que podem comprometer a segurança. - Defina um limite de tamanho para uploads de arquivos no servidor.
- Desative
allow_url_include
para evitar execução de arquivos remotos. - Ative
session.cookie_httponly
para proteger cookies contra roubo via JavaScript.
Contribuições de Renata Oliveira