La habilidad de apt
de acceder a múltiples fuentes de paquetes conduce a
una potencial vulnerabilidad de seguridad. Supongamos que intenta añadir un
archivo de paquetes de José Hacker Aleatorio a su fichero
sources.list
para poder instalar el paquete
gargleblast
de Pepe. Por otro lado, es posible que
(fuera de su conocimiento) el archivo de Pepe contenga versiones de paquetes
como libc6
y
ssh
...¡versiones que roban su información privada o
que abren puertas traseras en el sistema! Si estos paquetes tuviesen unos
números de versión más elevados que los que se encuentran el archivo de
Debian, apt
los instalaría sin dudar en la siguiente actualización,
permitiendo a Pepe realizar su sucia labor sin ser detectado. Pepe podría
incluso entrar en los servidores réplica de Debian y reemplazar el software
legítimo con su versión medicada.
Afortunadamente, las versiones más recientes de apt
y de aptitude, tales
como la versión documentada en este manual, tienen defensas incorporadas
para repeler este tipo de ataques. apt
utiliza unos fuertes mecanismos de
seguridad basados en el conocido software de cifrado GPG para verificar que los paquetes
distribuidos por los servidores réplica de Debian son los mismos que los que
subieron desarrolladores de Debian. De esta manera, aptitude le avisará si
intenta instalar un paquete desde una fuente que no pertenece a Debian, o si
intenta actualizar un paquete de Debian a una versión que viene de una
fuente que no es de Debian.
Aviso | |
---|---|
Los mecanismos de seguridad de Asegurando que solo pueda instalar desde una fuente firmada le dará un alto grado de protección frente a los paquetes maliciosos, pero no puede eliminar todos los riesgos inherentes a instalar software. |
apt
permite al administrador de un archivo dotar de una
firma al índice del archivo. Esta firma, que (por
razones prácticas) no se puede falsificar, indica que los ficheros de
paquete listados en el índice son los mismos que el administrador puso en el
archivo en primer lugar: p. ej., que los contenidos de un paquete no se han
manipulado desde su creación.[9] La firma
se puede validar cerciorándose de que se corresponde con la llave
pública del administrador. La llave pública del archivo de
Debian se distribuye con apt
, generalmente a través de su CD de Debian.
Cuando aptitude descarga el índice de un archivo, comprobará si el índice está apropiadamente firmado. Si no está firmado aptitude no confiara en los paquetes provenientes de ese archivo (más adelante se explicará lo que esto significa). Si tiene una firma pero es incorrecta o no se puede verificar, verá un aviso y aptitude se negará a confiar en paquetes procedentes de ese archivo.
Más adelante, cuando lleve a cabo un proceso de instalación, aptitude revisara si los paquetes son de una fuente firmada. Entonces verá un mensaje de aviso si se va a instalar un paquete sin firmar, o si un paquete se actualizará de una versión firmada a otra que no lo es, dándole la oportunidad de interrumpir la instalación.
Puede encontrar útil que apt
confié en archivos externos aparte de los
ficheros de Debian. Para cada paquete en el que quiera confiar, tendrá que
adquirir la llave pública que se utiliza para firmar el índice del archivo
de paquetes. Éste es por lo general un fichero de texto cuyo nombre finaliza
en .asc
; puede ser suministrado por el administrador
del sitio web o descargado desde un servidor de llaves públicas. Para más
información acerca de llaves públicas y de como conseguirlas, consulte la
página web de GPG.
La lista de llaves en las que apt
confía se guarda en el
fichero del anillo de llaves
/etc/apt/trusted.gpg
. Una vez que tenga la llave GPG,
puede añadirla a este archivo ejecutando esta orden, gpg
--no-default-keyring --keyring /etc/apt/trusted.gpg --import
nueva_llave.asc
. aptitude confiará
entonces en cualquier archivo firmado con la llave contenida en
nueva_llave.asc
.
Aviso | |
---|---|
Una vez que se añade un archivo de una llave al anillo de llaves de APT, !se le otorgara la misma confianza que a los propios servidores réplica de Debian¡ Haga esto sólo si está muy seguro de que la llave que está añadiendo es la correcta y si la persona que posee la llave es competente y de toda confianza. |
[9] Como se ha mencionado antes, esto no índica que los paquetes del archivo sean seguros, o incluso no maliciosos; simplemente muestra que son genuinos.