Sophie

Sophie

distrib > Mandriva > 2008.1 > i586 > by-pkgid > 703d980c580707c382b4e43e25965bc5 > files > 12136

php-manual-pt_BR-5.2.4-1mdv2008.1.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>Instalando como binário CGI</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"><LINK
REL="HOME"
TITLE="Manual do PHP"
HREF="index.html"><LINK
REL="UP"
TITLE="Segurança"
HREF="security.html"><LINK
REL="PREVIOUS"
TITLE="Considerações Gerais"
HREF="security.general.html"><LINK
REL="NEXT"
TITLE="Caso 1: apenas arquivos públicos são disponibilizados"
HREF="security.cgi-bin.default.html"><META
HTTP-EQUIV="Content-type"
CONTENT="text/html; charset=UTF-8"></HEAD
><BODY
CLASS="chapter"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Manual do PHP</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="security.general.html"
ACCESSKEY="P"
>Anterior</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="security.cgi-bin.default.html"
ACCESSKEY="N"
>Próxima</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="chapter"
><H1
><A
NAME="security.cgi-bin"
>Capítulo 24. Instalando como binário CGI</A
></H1
><DIV
CLASS="TOC"
><DL
><DT
><B
>Índice</B
></DT
><DT
><A
HREF="security.cgi-bin.html#security.cgi-bin.attacks"
>Ataque Possível</A
></DT
><DT
><A
HREF="security.cgi-bin.default.html"
>Caso 1: apenas arquivos públicos são disponibilizados</A
></DT
><DT
><A
HREF="security.cgi-bin.force-redirect.html"
>Caso 2: usando --enable-force-cgi-redirect</A
></DT
><DT
><A
HREF="security.cgi-bin.doc-root.html"
>Caso 3: configurando doc_root ou user_dir</A
></DT
><DT
><A
HREF="security.cgi-bin.shell.html"
>Caso 4: Interpretador do PHP fora da árvore de diretórios do servidor web</A
></DT
></DL
></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="security.cgi-bin.attacks"
>Ataque Possível</A
></H1
><P
>&#13;     Usando o PHP como binário <ACRONYM
CLASS="acronym"
>CGI</ACRONYM
> é uma opção de
     instalação que por alguma razão não deseja integrar o PHP como um
     módulo no servidor (como o Apache), ou usará o PHP com
     tipos diferentes de CGI wrappers para criar ambientes chroot e
     setuid seguros para os scripts. Esse tipo de instalação normalmente involve
     copiar o binário executável para o diretório cgi-bin do servidor web. CERT
     advisory <A
HREF="http://www.cert.org/advisories/CA-1996-11.html"
TARGET="_top"
>CA-96.11</A
> recomenda não
     colocar qualquer interpretador nesse diretório. Mesmo se o binário do
     PHP pode ser usado como um interpretador autônomo, o PHP foi desenhado
     para previnir os ataques que essa forma de instalação torna possível:
    </P
><P
></P
><UL
><LI
><P
>&#13;       Acessar arquivos de sistema: <TT
CLASS="filename"
>http://my.host/cgi-bin/php?/etc/passwd</TT
>
      </P
><P
>&#13;       A informação de consulta em uma URML depois da interrogração (?) é
       passada como argumentos de linha de comando para o interpretador pea
       interface CGI. Normalmente os interpretadores abrem e executam o arquivo
       especificado como primeiro argumento na linha de comando.
      </P
><P
>&#13;       Quando invocado como binárgio CGI, o PHP se recusa a interpretar os
       argumentos de linha de comando.
      </P
></LI
><LI
><P
>&#13;       Acessar qualquer domento web no servidor: <TT
CLASS="filename"
>http://my.host/cgi-bin/php/secret/doc.html</TT
>
      </P
><P
>&#13;       A parte de informação de caminho da URL depois do nome do binário do PHP,
       <TT
CLASS="filename"
>/secret/doc.html</TT
> é
       convencionalmente usada para especificar o nome do arquivo a ser
       aberto e interpretado pelo programa <ACRONYM
CLASS="acronym"
>CGI</ACRONYM
>
       Normalmente algumas diretivas de configuração do servidor web (Apache:
       Action) são usadas para redirecionar requisições para documentos como
       <TT
CLASS="filename"
>http://my.host/secret/script.php</TT
> para o
       interpretados do PHP.  Dessa maneira, o servidor web primeiro checa
       as permissões de acesso ao diretório <TT
CLASS="filename"
>/secret</TT
>, e depois cria a
       requisição redirecionada <TT
CLASS="filename"
>http://my.host/cgi-bin/php/secret/script.php</TT
>.
       Infelizmente, se a requisição é dada originalmente nessa forma,
       a checagem de permissão não é feita para o arquivo <TT
CLASS="filename"
>/secret/script.php</TT
>, mas apenas para o arquivo
       <TT
CLASS="filename"
>/cgi-bin/php</TT
>.  Dessa maneira
       qualquer usuário que pode acessar <TT
CLASS="filename"
>/cgi-bin/php</TT
> pode acessar quaisquer
       documentos protegidos no servidor web.
      </P
><P
>&#13;       No PHP, a opção de configuração em tempo de compilação <A
HREF="configure.html#configure.enable-force-cgi-redirect"
>--enable-force-cgi-redirect</A
>
       e as diretivas de configuração de tempo de execução <A
HREF="ini.core.html#ini.doc-root"
>doc_root</A
> e <A
HREF="ini.core.html#ini.user-dir"
>user_dir</A
> podem ser usadas para previnir
       esse ataque, se a árvore de documentos do servidor tiver qualquer diretório
       com restrições de acesso. Veja abaixo para uma explicação completa
       de combinações diferentes.
      </P
></LI
></UL
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="security.general.html"
ACCESSKEY="P"
>Anterior</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Principal</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="security.cgi-bin.default.html"
ACCESSKEY="N"
>Próxima</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Considerações Gerais</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="security.html"
ACCESSKEY="U"
>Acima</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Caso 1: apenas arquivos públicos são disponibilizados</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>