Alerta! Esta tradução está muito desatualizada, por favor leia o original.

FAQ de Segurança Debian

Nós recebemos as seguintes perguntas frequentemente, então suas respostas estão resumidas aqui.

  1. Não consegui verificar corretamente a assinatura em seus alertas!
  2. Como o Debian lida com a segurança?
  3. Por que vocês insistem em uma versão antiga de determinado pacote?
  4. Qual é a política usada para que pacotes corrigidos apareçam no security.debian.org?
  5. O que significa local (remote)?
  6. O número de versão de um pacote indica que eu ainda estou executando uma versão vulnerável!
  7. Como a segurança é feita na unstable?
  8. Como a segurança é feita na testing?
  9. Como a segurança é feita para o contrib e non-free?
  10. O alerta diz que a instável (unstable) foi corrigida na versão 1.2.3-1, mas a instável (unstable) contém a 1.2.5-1, o que aconteceu?
  11. Por que não há espelhos oficiais de security.debian.org?
  12. Vi o DSA 100 e o DSA 102, agora, onde está o DSA 101?
  13. Como posso entrar em contato com o Time de Segurança?
  14. Eu acho que encontrei um problema de segurança, o que devo fazer?
  15. O que eu devo fazer com um problema de segurança em um dos meus pacotes?
  16. Eu tentei baixar um pacote listado em um dos alertas de segurança, mas recebo um erro do tipo 'arquivo não encontrado'.
  17. Eu tenho uma correção de bug. Posso enviar para security.debian.org diretamente?
  18. Eu tenho uma correção de bug. Posso enviar para o proposed-updates diretamente?
  19. Eu tenho certeza que meus pacotes estão corretos, como posso enviá-los?
  20. Como posso ajudar com a segurança?
  21. Qual é o escopo do proposed-updates?
  22. Como o Time de Segurança é composto?
  23. Por quanto tempo as atualizações de segurança são fornecidas?
  24. Como verifico a integridade de um pacote?
  25. O que fazer quando um pacote aleatório quebra após uma atualização de segurança?

P: Não consegui verificar corretamente a assinatura em seus alertas!

R: Provavelmente você está fazendo algo errado. A lista debian-security-announce possui um filtro que só permite que mensagens com a assinatura correta de um dos membros do time de segurança sejam postadas.

Provavelmente, seu software de e-mail está alterando sutilmente a mensagem, o que invalida a assinatura. Certifique-se de que seu programa não faça codificação ou decodificação MIME, assim como conversões de tabulação/espaços.

Alguns softwares que fazem isso são o fetchmail (com a opção mimedecode habilitada), o formail (do procmail versão 3.14) e o evolution.

P: Como o Debian lida com a segurança?

R: Assim que o Time de Segurança recebe uma notificação sobre um incidente, um ou mais membros revisam e avaliam seu impacto sobre a versão estável do Debian (ou seja, se ela é vulnerável ou não). Se nosso sistema é vulnerável, nós trabalhamos em uma correção para o problema. O mantenedor do pacote é contatado também, se ele já não contatou o Time de Segurança. Finalmente, a correção é testada e novos pacotes são preparados, compilados em todas as arquiteturas da versão estável e é feito o envio dos mesmos. Depois de tudo isso, um alerta é publicado.

P: Por que vocês insistem em uma versão antiga de determinado pacote?

R: A regra mais importante quando está se fazendo um novo pacote que corrige problemas de segurança é fazer o menor número possível de alterações. Nossos usuários e desenvolvedores estão confiando no comportamento correto de uma versão, uma vez que ela é lançada, então qualquer mudança que fazemos tem o potencial de quebrar o sistema de alguém. Isso é verdade especialmente no caso de bibliotecas: certifique-se de nunca modificar a Application Program Interface (API) ou Application Binary Interface (ABI), não importa quão pequena seja essa alteração.

Isso significa que mudar para a nova versão do autor não é uma boa solução, em vez disso, as alterações relevantes devem ser adaptadas à versão antiga. Geralmente os autores dessas novas versões se dispõem a ajudar se for preciso, se não, o Time de Segurança do Debian pode estar disponível para ajudar.

Em alguns casos não é possível adaptar a versão antiga a uma correção de segurança, por exemplo quando uma grande quantidade de código fonte precisa ser modificada ou rescrita. Se isto acontecer pode ser necessário mudar para a nova versão do autor, mas isso deve ser coordenado antecipadamente com o Time de Segurança.

P: Qual é a política usada para que pacotes corrigidos apareçam no security.debian.org?

R: Erros de segurança na distribuição estável garantem a aparição de um pacote no security.debian.org. Nada mais. O tamanho do erro não é o problema real aqui. Normalmente, o Time de Segurança irá preparar pacotes juntamente com o mantenedor do pacote. Desde que alguém (confiável) investigue o problema e construa os pacotes necessários e os envie ao Time de Segurança, mesmo problemas de segurança triviais irão entrar no security.debian.org. Por favor, veja abaixo.

Atualizações de segurança têm um único propósito: fornecer uma correção para uma vulnerabilidade relacionada à segurança. Elas não são um método para enviar mudanças adicionais à versão estável sem realizar o procedimento de lançamento normal.

P: O que significa local (remote)?

R: Alguns alertas tratam de vulnerabilidades que não podem ser identificadas usando o esquema clássico de explorações locais ou remotas. Algumas vulnerabilidades não podem ser exploradas remotamente, ou seja, não correspondem a um daemon associado a uma porta de rede. Nos casos em que é possível explorá-las através de arquivos especiais que possam estar disponíveis via rede enquanto o serviço vulnerável não se encontra conectado permanentemente com a rede, nós utilizamos local (remote).

Essas vulnerabilidades estão entre as vulnerabilidades locais e as remotas, e muitas vezes dizem respeito a arquivos que poderiam ser disponibilizados através da rede, como um anexo de correio eletrônico ou por uma página de download.

P: O número de versão de um pacote indica que eu ainda estou executando uma versão vulnerável!

R: Ao invés de atualizar para uma versão nova nós adaptamos correções de segurança das versões mais novas para a versão lançada com a distribuição estável. A razão para que façamos isto é certificar-nos de que uma distribuição mude o mínimo possível, de forma que nada quebre ou mude inesperadamente, como consequência de uma correção de segurança. Você pode checar se está executando uma versão segura de um pacote verificando o seu registro de mudanças, ou comparando o número exato da versão com a versão indicada no Alerta de Segurança Debian.

P: Como a segurança é feita na unstable?

R: A resposta curta é: não é feita. A unstable é uma alvo móvel rápido e o time de segurança não tem os recursos necessários para suportá-la apropriadamente. Se você quer ter um servidor seguro (e estável) você é fortemente encorajado a fica com a stable.

P: Como a segurança é feita na testing?

R: Se você quer ter um servidor seguro (e estável) você é fortemente encorajado a ficar com a stable. No entanto, há suporte de segurança para a testing: O time de segurança da testing do Debian lida com problemas para a testing. Eles vão assegurar que os pacotes corrigidos entrem na testing na forma usual através da migração a partir da unstable (com tempo de quarentena reduzido), ou, se isto levar muito tempo, torná-los disponível através da infra-estrutura normal em http://security.debian.org. Para usá-la, tenha certeza de ter a seguinte linha em seu /etc/apt/sources.list:

deb http://security.debian.org testing/updates main

e execute apt-get update && apt-get upgrade como de costume.

Note que isso não garante que todos os bugs de segurança conhecidos são corrigidos na testing! Alguns pacotes atualizados podem estar aguardando a transição para a testing. Mais informação sobre a infraestrutura de segurança para a testing pode ser encontrada em http://secure-testing-master.debian.net/.

P: Como a segurança é feita para o contrib e non-free?

A: A resposta curta é: não é feita. A contrib e non-free não fazem parte oficialmente da Distribuição Debian e não são lançadas, por isso não são suportadas pelo Time de Segurança. Alguns pacotes non-free são distribuídos sem o código fonte ou com uma licença que não permite a distribuição de versões modificadas. Nesses casos, nenhuma correção de segurança pode ser feita. Se for possível corrigir o problema, e o mantenedor do pacote ou alguma outra pessoa fornecer pacotes corrigidos, o Time de Segurança geralmente irá processá-los e publicar um alerta.

P: O alerta diz que a instável (unstable) foi corrigida na versão 1.2.3-1, mas a instável (unstable) contém a 1.2.5-1, o que aconteceu?

A: Nós tentamos listas a primeira versão na instável (unstable) que corrigiu o problemas. Algumas vezes o mantenedor enviou versões mais novas neste meio tempo. Compare a versão na instável (unstable) com a versão que nós indicamos. Se for a mesma ou maior, você deverá estar seguro com relação a esta vulnerabilidade.

P: Por que não há espelhos oficiais de security.debian.org?

R: Na verdade, há. Há vários espelhos oficiais, implementados através de apelidos DNS (DNS aliases). O propósito de security.debian.org é tornar atualizações de segurança disponíveis da maneira mais rápida e fácil possível.

Encorajar o uso de espelhos não-oficiais poderá causar uma complexidade extra desnecessária e a frustração de encontrar um desses espelhos desatualizados.

P: Vi o DSA 100 e o DSA 102, agora, onde está o DSA 101?

R: Vários distribuidores (a maioria deles de GNU/Linux, mas também de variações do BSD) coordenam alertas de segurança para alguns incidentes e concordam com uma determinada linha de tempo para que todos os distribuidores possam lançar um aviso ao mesmo tempo. Isso foi decidido para que não haja discriminação com alguns distribuidores que precisam de mais tempo (por exemplo, quando o distribuidor tem de passar os pacotes por longos testes de controle de qualidade ou suporta diversas arquiteturas ou distribuições binárias). Nosso Time de Segurança também prepara avisos com antecedência. Dependendo da situação, outros problemas de segurança têm de ser trabalhados antes do aviso "estacionado" ser lançado, e isso causa a lacuna na numeração dos avisos.

P: Como posso entrar em contato com o Time de Segurança?

R: Informações de segurança podem ser enviadas para security@debian.org ou team@security.debian.org, ambos são lidos pelos membros do Time de Segurança.

Caso deseje, a mensagem pode ser criptografada com a chave do Contato de Segurança Debian (o ID da chave é 0x90F8EEC5). Para as chaves PGP/GPG de cada um dos membros do time, por favor, consulte o servidor de chaves keyring.debian.org.

P: Eu acho que encontrei um problema de segurança, o que devo fazer?

R: Se você descobrir um problema de segurança, tanto em um dos seus pacotes ou de outro desenvolvedor, por favor, entre em contato com o Time de Segurança. Se o Time de Segurança do Debian confirmar a vulnerabilidade e outros distribuidores também estiverem vulneráveis, eles geralmente contatam estes outros distribuidores. Se a vulnerabilidade ainda não é pública eles tentam coordenar os alertas de segurança com os dos outros distribuidores para que todas as principais distribuições fiquem sincronizadas.

Se a vulnerabilidade já tiver sido divulgada publicamente, certifique-se de preencher um relatório de bug no Debian BTS e marcá-lo como security.

Se você é um mantenedor Debian, veja abaixo.

P: O que eu devo fazer com um problema de segurança em um dos meus pacotes?

R: Se você souber de algum problema de segurança, seja no seu pacote ou no de outra pessoa, por favor, não deixe de entrar em contato com o Time de Segurança. Você pode se comunicar com eles através do e-mail team@security.debian.org. Eles mantêm um relatório do andamento dos problemas de segurança, podem ajudar mantenedores com problemas de segurança ou até mesmo consertar eles mesmos estes problemas, são responsáveis por mandar os alertas de segurança e mantêm o security.debian.org.

O documento Developer's Reference (Referência para Desenvolvedores) tem instruções completas do que fazer.

É particularmente importante que você não faça o upload para nenhuma outra distribuição além da instável (unstable) sem antes conversar com o Time de Segurança, pois isso pode causar confusão e mais trabalho.

P: Eu tentei baixar um pacote listado em um dos alertas de segurança, mas recebo um erro do tipo 'arquivo não encontrado'.

R: Quando algum pacote que leva uma correção de bug substitui um pacote antigo em security.debian.org, as chances de que o antigo seja removido assim que o outro entrar são altas. Portanto, você irá receber o erro 'arquivo não encontrado'. Nós não queremos distribuir pacotes com erros de segurança conhecidos por um período de tempo maior do que o estritamente necessário.

Por favor use os pacotes dos últimos alertas de segurança, que são distribuídos através da lista de discussão debian-security-announce. É melhor simplesmente executar apt-get update antes de atualizar o pacote.

P: Eu tenho uma correção de bug. Posso enviar para security.debian.org diretamente?

R: Não, você não pode. O repositório em security.debian.org é mantido pelo Time de Segurança, que deve aprovar todos os pacotes. Em vez disso, você pode enviar patches ou pacotes-fonte apropriados para o Time de Segurança pelo e-mail team@security.debian.org. Eles serão revisados pelo Time de Segurança e eventualmente enviados ao repositório, com ou sem modificações.

Se você não está acostumado com uploads de segurança e não tem 100% de certeza que seu pacote está correto, por favor use esta maneira e não envie para o diretório incoming. O Time de Segurança não tem muitas opções para lidar com pacotes quebrados, especialmente se eles não usam uma versão correta. Os pacotes atualmente não podem ser rejeitados e o buildd poderia ficar confuso se isto fosse possível. Então, por favor use o e-mail e ajude evitando colocar mais peso para o Time de Segurança.

O manual Developer's Reference (Referências para Desenvolvedores) tem instruções completas do que fazer.

P: Eu tenho uma correção de bug. Posso enviar para o proposed-updates diretamente?

A: Tecnicamente falando, você pode. No entanto, você não deve fazê-lo, uma vez que isso interfere no trabalho do Time de Segurança. Pacotes do security.debian.org serão copiados para o diretório proposed-updates automaticamente. Se um pacote com o mesmo número de versão ou com um número mais alto já se encontra no arquivo, a atualização de segurança será rejeitada pelo sistema de arquivamento. Dessa forma, a distribuição estável ficará sem uma atualização de segurança para este pacote, a menos que o pacote errado do diretório proposed-updates seja rejeitado. Por favor, em vez disso, contate o Time de Segurança, inclua todos os detalhes da vulnerabilidade e anexe os arquivos fontes (por exemplo, diff.gz e arquivos dsc) em seu e-mail.

O manual Developer's Reference (Referências para Desenvolvedores) tem instruções completas do que fazer.

P: Eu tenho certeza que meus pacotes estão corretos, como posso enviá-los?

R: Se você tem absoluta certeza que seus pacotes não irão quebrar alguma coisa, que a versão está correta (exemplo: maior do que a versão na stable e menor do que a versão na testing/unstable), que você não alterou o comportamento do pacote, apesar do problema de segurança correspondente, que você compilou ele para a distribuição correta (que é a oldstable-security ou stable-security), que contém o código fonte original se o pacote for novo no security.debian.org, que você pode confirmar que o patch da versão mais recente é claro e somente foi modificada a parte relacionada com o problema de segurança correspondente (verifique com interdiff -z e ambos arquivos .diff.gz), que você tenha revisado o patch pelo menos três vezes, e que o debdiff não tenha mostrado nenhuma mudança, você pode enviar diretamente os arquivos para o diretório incoming ftp://security-master.debian.org/pub/SecurityUploadQueue em security.debian.org. Por favor, envie também uma notificação com todos os detalhes e links para o e-mail team@security.debian.org.

P: Como posso ajudar com a segurança?

R: Por favor, reveja cada problema antes de informá-lo ao security@debian.org. Se você for capaz de fornecer patches, isto aumentaria a velocidade do processo. Não encaminhe e-mails do bugtraq, simplesmente, porque nós já os recebemos — mas nos forneça informações adicionais sobre o que foi relatado no bugtraq.

Uma boa forma de começar com o trabalho de segurança é ajudando com o Rastreador de Segurança Debian (instruções).

P: Qual é o escopo do proposed-updates?

R: Este diretório contém pacotes que são sugeridos para entrar na próxima versão estável do Debian. Sempre que pacotes são enviados por um mantenedor para a distribuição estável, eles acabam no diretório proposed-updates. Já que a estável é feita para ser estável, atualizações automáticas não são realizadas. O Time de Segurança irá enviar pacotes corrigidos mencionados em alertas para a estável, no entanto, eles serão colocados no proposed-updates antes. A cada dois meses, o Gerente da Distribuição Estável confere a lista de pacotes do proposed-updates e discute se um pacote serve ou não para a estável. Então, os escolhidos são compilados em uma nova versão da estável (e.x. 2.2r3 ou 2.2r4). Pacotes que não se encaixam na versão estável provavelmente serão rejeitados e também descartados do proposed-updates.

Note que pacotes com uploads feitos pelos mantenedores (não pelo time de segurança) no diretório proposed-updates/ não são suportados pelo time de segurança.

P: Como o Time de Segurança é composto?

R: O Time de Segurança do Debian consiste em alguns oficiais e secretários. O próprio Time de Segurança designa pessoas para se juntar ao grupo.

P: Por quanto tempo as atualizações de segurança são fornecidas?

R: O time de segurança tenta dar suporte à distribuição estável por mais ou menos um ano depois que uma próxima distribuição estável é lançada, exceto quando uma outra distribuição estável é lançada neste período. É impossível dar suporte a três distribuições; dar suporte a duas simultaneamente já é difícil o bastante.

P: Como verifico a integridade de um pacote?

R: É preciso verificar a assinatura do arquivo Release com a chave pública usada para armazenamento. O arquivo Release contém os checksums os arquivos Packages e Sources, que contêm os checksums dos pacotes binários e fontes. Mais informações de como verificar a integridade dos pacotes podem ser encontradas no Manual de Segurança do Debian.

P: O que fazer quando um pacote aleatório quebra após uma atualização de segurança?

R: Antes de mais nada, você deve descobrir por que o pacote quebrou e como isto está conectado à atualização de segurança, então contate o time de segurança se isto for sério ou o gerente da distribuição estável se for menos sério. Nós estamos falando de pacotes aleatórios que quebram após uma atualização de segurança de um pacote diferente. Se você não pode descobrir o que deu errado mas tem uma correção, fale com o time de segurança também. É possível que você seja redirecionado ao gerente da distribuição estável.