Habilitando opcache.restrict_api por motivos de segurança

Habilitando opcache.restrict_api por motivos de segurança

Este artigodiz que tendoopcache_get_status()ativado é um risco à segurança. Para desligá-lo é preciso configurar o opcache.restrict_api, mas não consegui encontrar um exemplo de como.

Esta pessoateve a restrição em vigor quando configurada como opcache.restrict_api=/restricted, o que me dá uma pista de que precisa ser um caminho.

Comecei criando um script de teste com uma opcache_get_status()chamada e obtive uma saída de vários scripts PHP naquele sistema, confirmando que não havia restrição. Então editei meu /etc/php/7.3/fpm/php.inito have opcache.restrict_api=/dev/nulle essa mesma chamada agora retorna bool(false)- presumo que a restrição esteja habilitada.

Meu objetivo é proibir opcache_get_status()completamente e similares, e ao 'permitir' scripts em /dev/null, estou essencialmente tornando impossível o uso, já que você não pode um arquivo lá.

  • Essa lógica está correta?
  • Devo talvez usar algum outro caminho?
  • Existe uma maneira de ativar a restrição diretamente, sem mexer com caminhos falsos?

Obrigado

Responder1

Olhando para o código fonte doext/opcache/zend_accelerator_module.c

Tambémaqui está outra pessoa usandoopcache.restrict_api=1também.

Por favor, corrija-me se eu estiver errado em algum lugar! Até então, sinto que isso praticamente responde à minha pergunta.

informação relacionada