<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/security.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'security.apache.php',
    1 => 'Instalando como m&oacute;dulo do Apache',
    2 => 'Instalando como m&oacute;dulo do Apache',
  ),
  'up' => 
  array (
    0 => 'security.php',
    1 => 'Seguran&ccedil;a',
  ),
  'prev' => 
  array (
    0 => 'security.cgi-bin.shell.php',
    1 => 'Caso 4: Interpretador do PHP fora da &aacute;rvore de diret&oacute;rios do servidor web',
  ),
  'next' => 
  array (
    0 => 'security.sessions.php',
    1 => 'Seguran&ccedil;a da Sess&atilde;o',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'security/apache.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="security.apache" class="chapter">
   <h1 class="title">Instalando como módulo do Apache</h1>

   <p class="simpara">
    Quando o <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> é usado como módulo do Apache, ele herda as permissões
    do usuário do Apache (normalmente as do usuário &quot;nobody&quot;). Isso tem
    vários impactos de segurança e autorização. Por exemplo, se você estiver usando
    o <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> para acessar um banco de dados, a menos que o banco de dados tenha um controle
    de acesso interno, você terá que fazer com que o banco de dados seja acessível ao usuário
    &quot;nobody&quot;. Isso significa que um script malicioso pode acessar e modificar
    o banco de dados, mesmo sem um usuário e senha. É possível que um web spider
    possa passar em uma página web de administração do banco de dados
    e remover todos os bancos de dados. Você pode se proteger contra isso
    usando autorização do Apache, ou você pode desenvolver
    seu modelo de acesso próprio usando LDAP, arquivos <var class="filename">.htaccess</var>, etc. e incluir
    esse código como parte dos seus scripts <abbr title="PHP: Hypertext Preprocessor">PHP</abbr>.
   </p>
   <p class="simpara">
    Normalmente, uma vez que a segurança está estabelecida até esse ponto onde o
    usuário do <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> (no caso, o usuário apache) tem pouco risco atribuído a ele,
    você descobre que o <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> não tem permissão de escrita nos
    diretórios dos usuários. Ou talvez tenha sido proibido de acessar
    ou alterar bancos de dados. Também foi proibido de escrever
    arquivos, bons ou ruins, ou fazer transações de bancos de dados, boas ou ruins.
   </p>
   <p class="simpara">
    Um erro frequente de segurança feito até esse ponto é permitir ao Apache
    permissões de administrador (root), ou aumentar as habilidades do Apache
    de qualquer outra forma.
   </p>
   <p class="simpara">
    Aumentar as permissões do usuário do Apache para a de administrador é
    extremamente perigoso e pode comprometer o sistema inteiro, então executar com sudo,
    com chroot, ou então executar como root não deve ser considerado por
    aqueles que não são profissionais em segurança.
   </p>
   <p class="simpara">
    Existem algumas soluções mais simples. Usando a diretiva
    <a href="ini.core.php#ini.open-basedir" class="link">open_basedir</a> pode-se controlar e restringir quais
    diretórios o <abbr title="PHP: Hypertext Preprocessor">PHP</abbr> tem permissão de usar. Você também pode configurar
    áreas exclusivas para o Apache, restringir todas as atividades web para arquivos
    que não sejam de algum usuário ou do sistema.
   </p>
  </div>
<?php manual_footer($setup); ?>