man-pages/pt/man8/apt-secure.8.html
2021-03-31 01:06:50 +01:00

338 lines
16 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of APT-SECURE</TITLE>
</HEAD><BODY>
<H1>APT-SECURE</H1>
Section: APT (8)<BR>Updated: 06&nbsp;Agosto&nbsp;2016<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NOME</H2>
apt-secure - Suporte de autentica&ccedil;&atilde;o de arquivos para o APT
<A NAME="lbAC">&nbsp;</A>
<H2>DESCRI&Ccedil;&Atilde;O</H2>
<P>
A partir da vers&atilde;o 0.6, o
<B>APT</B>
cont&eacute;m c&oacute;digo que faz verifica&ccedil;&atilde;o de assinaturas do ficheiro Release para todos os reposit&oacute;rios. Isto assegura que dados como pacotes no arquivo n&atilde;o podem ser modificados por pessoas que n&atilde;o t&ecirc;m acesso &agrave; chave de assinatura do ficheiro Release. A partir da vers&atilde;o 1.1 o
<B>APT</B>
requer reposit&oacute;rios para disponibilizar informa&ccedil;&atilde;o recente de autentica&ccedil;&atilde;o para uma utiliza&ccedil;&atilde;o desimpedida do reposit&oacute;rio. Desde a vers&atilde;o 1.5, as altera&ccedil;&otilde;es na informa&ccedil;&atilde;o contida no ficheiro Release acerca do reposit&oacute;rio precisam de ser confirmadas antes do APT continuar a aplicar actualiza&ccedil;&otilde;es a partir deste reposit&oacute;rio.
<P>
Note: Todos os front-ends de gest&atilde;o de pacotes como o
<B><A HREF="/cgi-bin/man/man2html?8+apt-get">apt-get</A></B>(8),
<B><A HREF="/cgi-bin/man/man2html?8+aptitude">aptitude</A></B>(8)
e
<B><A HREF="/cgi-bin/man/man2html?8+synaptic">synaptic</A></B>(8)
suportam esta funcionalidade de autentica&ccedil;&atilde;o, portanto este manual usa o
APT
para se referir a eles todos apenas para simplificar.
<A NAME="lbAD">&nbsp;</A>
<H2>REPOSIT&Oacute;RIOS N&Atilde;O ASSINADOS</H2>
<P>
Se um arquivo tem um ficheiro Release n&atilde;o assinado ou nem sequer tem um ficheiro Release, por predefini&ccedil;&atilde;o todas as vers&otilde;es actuais do APT ir&atilde;o recusar descarregar dados dele em opera&ccedil;&otilde;es
<B>update</B>
e mesmo que seja for&ccedil;adas a faz&ecirc;-lo, front-ends como o
<B><A HREF="/cgi-bin/man/man2html?8+apt-get">apt-get</A></B>(8)
ir&atilde;o precisar de confirma&ccedil;&atilde;o expl&iacute;cita se um pedido de instala&ccedil;&atilde;o incluir um pacote que venha de um tal arquivo n&atilde;o autenticado.
<P>
Voc&ecirc; pode for&ccedil;ar todos os clientes do APT a elevar apenas avisos ao definir a op&ccedil;&atilde;o de configura&ccedil;&atilde;o
<B>Acquire::AllowInsecureRepositories</B>
para
true. Tamb&eacute;m se consegue permitir que reposit&oacute;rios individuais possam ser inseguros via
<B><A HREF="/cgi-bin/man/man2html?5+sources.list">sources.list</A></B>(5)
op&ccedil;&atilde;o
allow-insecure=yes. Note que reposit&oacute;rios inseguros s&atilde;o fortemente desencorajados e todas as op&ccedil;&otilde;es para for&ccedil;ar o apt a continuar a suport&aacute;-os ser&atilde;o eventualmente removidas. Os utilizadores tamb&eacute;m t&ecirc;m a op&ccedil;&atilde;o
<B>Trusted</B>
dispon&iacute;vel para desactivar at&eacute; os avisos, mas tenha certeza de intender as implica&ccedil;&otilde;es como est&aacute; detalhado em
<B><A HREF="/cgi-bin/man/man2html?5+sources.list">sources.list</A></B>(5).
<P>
Um reposit&oacute;rio que anteriormente era autenticado mas que perdeu este estado numa opera&ccedil;&atilde;o
<B>update</B>
provoca um erro em todos os clientes do APT independentemente da op&ccedil;&atilde;o de permitir ou proibir a utiliza&ccedil;&atilde;o de reposit&oacute;rios n&atilde;o seguros. O erro pode ser superado ao definir adicionalmente
<B>Acquire::AllowDowngradeToInsecureRepositories</B>
para
true
ou para reposit&oacute;rios individuais com a op&ccedil;&atilde;o de
<B><A HREF="/cgi-bin/man/man2html?5+sources.list">sources.list</A></B>(5)
allow-downgrade-to-insecure=yes.
<A NAME="lbAE">&nbsp;</A>
<H2>REPOSIT&Oacute;RIOS ASSINADOS</H2>
<P>
A corrente de confian&ccedil;a desde um arquivo APT at&eacute; ao utilizador final &eacute; feita em diferentes passos. O
<B>apt-secure</B>
&eacute; o &uacute;ltimo passo nesta corrente, confiar num arquivo n&atilde;o quer dizer que os pacotes em que confia n&atilde;o possam conter c&oacute;digo malicioso, mas que dizer que voc&ecirc; confia no respons&aacute;vel do arquivo. &Eacute; da responsabilidade do respons&aacute;vel do arquivo assegurar que a integridade do arquivo est&aacute; correcta.
<P>
O apt-secure n&atilde;o rev&ecirc; as assinaturas ao n&iacute;vel do pacote. Se voc&ecirc; necessita de ferramentas que o fa&ccedil;am deve procurar pelo
<B>debsig-verify</B>
e
<B>debsign</B>
(disponibilizados nos pacotes debsig-verify e devscripts respectivamente).
<P>
A corrente de confian&ccedil;a em Debian come&ccedil;a (por exemplo) quando o respons&aacute;vel faz o upload de um novo pacote ou de uma nova vers&atilde;o de um pacote para o arquivo Debian. De modo a se tornar efectivo, este upload precisa de ser assinado por uma chave contida em um dos chaveiros de respons&aacute;vel de pacotes Debian (dispon&iacute;vel no pacote debian-keyring). As chaves dos respons&aacute;veis s&atilde;o assinadas por outros respons&aacute;veis seguindo procedimentos pr&eacute;-estabelecidos para assegurar a identidade do dono da chave. Existem procedimentos semelhantes em todas as distribui&ccedil;&otilde;es baseadas em Debian.
<P>
Assim que o pacote submetido &eacute; verificado e inclu&iacute;do no arquivo, a assinatura do respons&aacute;vel &eacute; despojada, s&atilde;o computados sum&aacute;rios de verifica&ccedil;&atilde;o do pacote e colocado no ficheiro Packages. Os sum&aacute;rios de verifica&ccedil;&atilde;o de todos os ficheiros Packages s&atilde;o ent&atilde;o computados e colocados no ficheiro Release. O ficheiro Release &eacute; ent&atilde;o assinado pela chave de arquivo para este lan&ccedil;amento de Ubuntu, e distribu&iacute;do juntamente com os pacotes e os ficheiros Packages em mirrors de Ubuntu. As chaves est&atilde;o no chaveiro do arquivo Ubuntu no pacote
ubuntu-keyring.
<P>
Os utilizadores finais podem verificar a assinatura do ficheiro Release, extrair um sumario de verifica&ccedil;&atilde;o de um pacote a partir dele e compar&aacute;-lo com o sumario de verifica&ccedil;&atilde;o do pacote que descarregaram manualmente - ou confiar no APT que faz isto automaticamente.
<P>
Note que isto &eacute; diferente de verificar assinaturas por cada pacote. &Eacute; desenhado para prevenir dois ataques poss&iacute;veis:
<P>
<DL COMPACT><DT id="1"><DD>
&bull;
Ataques de rede &quot;man in the middle&quot;. Sem verifica&ccedil;&atilde;o de assinatura, um agente malicioso pode introduzir-se ele pr&oacute;prio no processo de descarga de pacotes e disponibilizar software malicioso seja ao controlar um elemento de rede (router, switch, etc.) ou ao redireccionar tr&aacute;fego para um servidor impostor (atrav&eacute;s de ataques de fraude de ARP ou DNS).
</DL>
<P>
<DL COMPACT><DT id="2"><DD>
&bull;
Mirror network compromise. Sem verifica&ccedil;&atilde;o de assinatura, um agente malicioso pode comprometer uma m&aacute;quina mirror e modificar os ficheiros dele para propagar software malicioso a todos os utilizadores que descarregam pacotes a partir dessa m&aacute;quina.
</DL>
<P>
No entanto, isto n&atilde;o defende contra um compromisso do pr&oacute;prio servidor mestre (o qual assina os pacotes) ou contra um compromisso da chave usada para assinar os ficheiros Release. Em qualquer caso, este mecanismo pode complementar uma assinatura por-pacote.
<A NAME="lbAF">&nbsp;</A>
<H2>ALTERA&Ccedil;&Otilde;ES NA INFORMA&Ccedil;&Atilde;O</H2>
<P>
Um ficheiro Release cont&eacute;m, para al&eacute;m dos sum&aacute;rios de verifica&ccedil;&atilde;o para os ficheiros no reposit&oacute;rio, tamb&eacute;m informa&ccedil;&atilde;o geral acerca do reposit&oacute;rio como a origem, nome de c&oacute;digo ou n&uacute;mero de vers&atilde;o do lan&ccedil;amento.
<P>
Este informa&ccedil;&atilde;o &eacute; mostrada em diversos lugares para que o dono do reposit&oacute;rio deve sempre assegurar a exactid&atilde;o. Mais ainda, mais configura&ccedil;&atilde;o do utilizador como
<B><A HREF="/cgi-bin/man/man2html?5+apt_preferences">apt_preferences</A></B>(5)
podem depender e fazer uso desta informa&ccedil;&atilde;o. Desde a vers&atilde;o 1.5 que o utilizador tem de confirmar explicitamente as altera&ccedil;&otilde;es para sinalizar que o utilizador est&aacute; suficientemente preparado, por exemplo, para o novo lan&ccedil;amento maior da da distribui&ccedil;&atilde;o enviada para o reposit&oacute;rio (como por exemplo indicada pelo nome de c&oacute;digo).
<A NAME="lbAG">&nbsp;</A>
<H2>CONFIGURA&Ccedil;&Atilde;O DO UTILIZADOR</H2>
<P>
O
<B>apt-key</B>
&eacute; o programa que gere a lista de chaves usada pelo APT para confiar nos reposit&oacute;rios. Pode ser usado para adicionar assim como para listar as chaves confiadas. Limitando quais chave(s) s&atilde;o capazes de assinar qual arquivo &eacute; poss&iacute;vel via
<B>Signed-By</B>
em
<B><A HREF="/cgi-bin/man/man2html?5+sources.list">sources.list</A></B>(5).
<P>
Note que uma instala&ccedil;&atilde;o predefinida j&aacute; cont&eacute;m todas as chaves para adquirir em seguran&ccedil;a pacotes a partir dos reposit&oacute;rios predefinidos, portanto perder tempo com o
<B>apt-key</B>
s&oacute; &eacute; necess&aacute;rio se forem adicionados reposit&oacute;rios de terceiros.
<P>
De modo a adicionar uma chave nova voc&ecirc; precisa primeiro de descarreg&aacute;-la (voc&ecirc; deve certificar-se que est&aacute; a usar um canal de comunica&ccedil;&atilde;o de confian&ccedil;a quando a obt&eacute;m), adicion&aacute;-la com
<B>apt-key</B>
e depois correr
<B>apt-get update</B>
para que o apt possa descarregar e verificar os ficheiros
InRelease
ou
Release.gpg
dos arquivos que voc&ecirc; configurou.
<A NAME="lbAH">&nbsp;</A>
<H2>CONFIGURA&Ccedil;&Atilde;O DO REPOSIT&Oacute;RIO</H2>
<P>
Se voc&ecirc; deseja fornecer assinaturas de arquivo a um arquivo sob sua manuten&ccedil;&atilde;o, voc&ecirc; tem que:
<P>
<DL COMPACT><DT id="3"><DD>
&bull;
<I>Criar um ficheiro Release de n&iacute;vel de topo</I>, se este j&aacute; n&atilde;o existir. Voc&ecirc; pode fazer isto ao correr
<B>apt-ftparchive release</B>
(disponibilizado no apt-utils).
</DL>
<P>
<DL COMPACT><DT id="4"><DD>
&bull;
<I>Assin&aacute;-lo</I>. Voc&ecirc; pode fazer isso ao correr
<B>gpg --clearsign -o InRelease Release</B>
e
<B>gpg -abs -o Release.gpg Release</B>.
</DL>
<P>
<DL COMPACT><DT id="5"><DD>
&bull;
<I>Publicar a impress&atilde;o digital da chave</I>, para que os seus utilizadores ir&atilde;o saber que chave precisam de importar de modo a autenticar os ficheiros no arquivo. &Eacute; melhor enviar a sua chave no seu pr&oacute;prio pacote chaveiro como Ubuntu faz com
ubuntu-keyring
para ser capaz de distribuir actualiza&ccedil;&otilde;es e transi&ccedil;&otilde;es de chave mais tarde automaticamente.
</DL>
<P>
<DL COMPACT><DT id="6"><DD>
&bull;
<I>Disponibilize instru&ccedil;&otilde;es em como adicionar o seu arquivo e chave</I>. Se os seus utilizadores n&atilde;o conseguirem a sua chave seguramente a cadeia de confian&ccedil;a descrita em cima fica comprometida. Como voc&ecirc; pode os utilizadores a adicionar a sua chave depende do seu arquivo e do alcance de audi&ecirc;ncia ao ter o sue pacote de ficheiro inclu&iacute;do num outro arquivo que os utilizadores j&aacute; t&ecirc;m configurado (como os reposit&oacute;rios predefinidos da distribui&ccedil;&atilde;o que usam) para elevar a teia da confian&ccedil;a.
</DL>
<P>
Sempre que o conte&uacute;do do arquivo mude (s&atilde;o adicionados novos pacotes ou removidos), o respons&aacute;vel do arquivo tem que seguir os primeiros dois passos previamente delineados.
<A NAME="lbAI">&nbsp;</A>
<H2>VEJA TAMB&Eacute;M</H2>
<P>
<B><A HREF="/cgi-bin/man/man2html?5+apt.conf">apt.conf</A></B>(5),
<B><A HREF="/cgi-bin/man/man2html?8+apt-get">apt-get</A></B>(8),
<B><A HREF="/cgi-bin/man/man2html?5+sources.list">sources.list</A></B>(5),
<B><A HREF="/cgi-bin/man/man2html?8+apt-key">apt-key</A></B>(8),
<B><A HREF="/cgi-bin/man/man2html?1+apt-ftparchive">apt-ftparchive</A></B>(1),
<B><A HREF="/cgi-bin/man/man2html?1+debsign">debsign</A></B>(1),
<B><A HREF="/cgi-bin/man/man2html?1+debsig-verify">debsig-verify</A></B>(1),
<B><A HREF="/cgi-bin/man/man2html?1+gpg">gpg</A></B>(1)
<P>
Para mais informa&ccedil;&atilde;o de fundo voc&ecirc; deve querer reler a
m[blue]<B>Infraestrutura de Seguran&ccedil;a da Debian</B>m[]<FONT SIZE="-2">[1]</FONT>
no cap&iacute;tulo do Manual Debian de Seguran&ccedil;a (dispon&iacute;vel tamb&eacute;m no pacote harden-doc) e o
m[blue]<B>Strong Distribution HOWTO</B>m[]<FONT SIZE="-2">[2]</FONT>
de V. Alex Brennen.
<A NAME="lbAJ">&nbsp;</A>
<H2>BUGS</H2>
<P>
m[blue]<B>p&aacute;gina de bugs do APT</B>m[]<FONT SIZE="-2">[3]</FONT>. Se deseja reportar um bug no APT, por favor veja
/usr/share/doc/debian/bug-reporting.txt
ou o comando
<B><A HREF="/cgi-bin/man/man2html?1+reportbug">reportbug</A></B>(1).
<A NAME="lbAK">&nbsp;</A>
<H2>AUTOR</H2>
<P>
APT foi escrito pela equipa do APT
&lt;<A HREF="mailto:apt@packages.debian.org">apt@packages.debian.org</A>&gt;.
<A NAME="lbAL">&nbsp;</A>
<H2>AUTORES DO MANUAL</H2>
<P>
Este manual &eacute; baseado no trabalho de Javier Fern&aacute;ndez-Sanguino Pe&ntilde;a, Isaac Jones, Colin Walters, Florian Weimer e Michael Vogt.
<A NAME="lbAM">&nbsp;</A>
<H2>TRADU&Ccedil;&Acirc;O</H2>
<P>
A tradu&ccedil;&atilde;o Portuguesa foi feita por Am&eacute;rico Monteiro
&lt;<A HREF="mailto:a_monteiro@netcabo.pt">a_monteiro@netcabo.pt</A>&gt;
de 2009 a 2012. A tradu&ccedil;&atilde;o foi revista pela equipa de tradu&ccedil;&otilde;es portuguesas da Debian
&lt;<A HREF="mailto:traduz@debianpt.org">traduz@debianpt.org</A>&gt;.
<P>
Note que este documento traduzido pode conter partes n&atilde;o traduzidas. Isto &eacute; feito propositadamente, para evitar perdas de conte&uacute;do quando a tradu&ccedil;&atilde;o est&aacute; atrasada relativamente ao conte&uacute;do original.
<A NAME="lbAN">&nbsp;</A>
<H2>AUTORES</H2>
<P>
<B>Jason Gunthorpe</B>
<DL COMPACT><DT id="7"><DD>
</DL>
<P>
<B>Equipa do APT</B>
<DL COMPACT><DT id="8"><DD>
</DL>
<A NAME="lbAO">&nbsp;</A>
<H2>NOTAS</H2>
<DL COMPACT>
<DT id="9"> 1.<DD>
Infraestrutura de Seguran&ccedil;a da Debian
<DL COMPACT><DT id="10"><DD>
<A HREF="https://www.debian.org/doc/manuals/securing-debian-howto/ch7">https://www.debian.org/doc/manuals/securing-debian-howto/ch7</A>
</DL>
<DT id="11"> 2.<DD>
Strong Distribution HOWTO
<DL COMPACT><DT id="12"><DD>
<A HREF="http://www.cryptnet.net/fdp/crypto/strong_distro.html">http://www.cryptnet.net/fdp/crypto/strong_distro.html</A>
</DL>
<DT id="13"> 3.<DD>
p&aacute;gina de bugs do APT
<DL COMPACT><DT id="14"><DD>
<A HREF="http://bugs.debian.org/src:apt">http://bugs.debian.org/src:apt</A>
</DL>
<P>
</DL>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="15"><A HREF="#lbAB">NOME</A><DD>
<DT id="16"><A HREF="#lbAC">DESCRI&Ccedil;&Atilde;O</A><DD>
<DT id="17"><A HREF="#lbAD">REPOSIT&Oacute;RIOS N&Atilde;O ASSINADOS</A><DD>
<DT id="18"><A HREF="#lbAE">REPOSIT&Oacute;RIOS ASSINADOS</A><DD>
<DT id="19"><A HREF="#lbAF">ALTERA&Ccedil;&Otilde;ES NA INFORMA&Ccedil;&Atilde;O</A><DD>
<DT id="20"><A HREF="#lbAG">CONFIGURA&Ccedil;&Atilde;O DO UTILIZADOR</A><DD>
<DT id="21"><A HREF="#lbAH">CONFIGURA&Ccedil;&Atilde;O DO REPOSIT&Oacute;RIO</A><DD>
<DT id="22"><A HREF="#lbAI">VEJA TAMB&Eacute;M</A><DD>
<DT id="23"><A HREF="#lbAJ">BUGS</A><DD>
<DT id="24"><A HREF="#lbAK">AUTOR</A><DD>
<DT id="25"><A HREF="#lbAL">AUTORES DO MANUAL</A><DD>
<DT id="26"><A HREF="#lbAM">TRADU&Ccedil;&Acirc;O</A><DD>
<DT id="27"><A HREF="#lbAN">AUTORES</A><DD>
<DT id="28"><A HREF="#lbAO">NOTAS</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:06:22 GMT, March 31, 2021
</BODY>
</HTML>