FAQ de segurança Debian

  1. Eu recebi um DSA pela lista debian-security-announce, como eu posso atualizar o pacote vulnerável?
  2. A assinatura em seus alertas não foi verificada corretamente!
  3. Como o Debian lida com a segurança?
  4. Por que vocês insistem em uma versão antiga de determinado pacote?
  5. O número de versão de um pacote indica que eu ainda estou executando uma versão vulnerável!
  6. Eu recebi um alerta, mas parece que está faltando a construção do pacote para uma arquitetura de processamento .
  7. Como a segurança é feita na instável (unstable)?
  8. Como a segurança é feita na teste (testing)?
  9. Como a segurança é feita para 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 versão 1.2.5-1, o que aconteceu?
  11. Por que não há espelhos oficiais do 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. 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 'arquivo não encontrado'.
  17. Eu tenho uma correção de bug. Posso enviar diretamente para security.debian.org?
  18. Eu tenho uma correção de bug, posso então enviar para o proposed-updates?
  19. 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?
  26. O que é um identificador CVE?
  27. O Debian lança um DSA para cada identificador CVE?
  28. O Debian pode definir identificadores CVE?
  29. O Debian possui uma política de revelação de vulnerabilidades?
  30. O que significa local (remote)?

P: Eu recebi um DSA pela lista debian-security-announce, como eu posso atualizar o pacote vulnerável?

R: Como está no DSA do e-mail, você deve atualizar os pacotes afetados por tal vulnerabilidade. Para fazê-lo, basta realizar as atualizações update e depois upgrade. Isto é, atualize (update) a lista de pacotes disponíveis com apt-get update e depois atualize (upgrade) cada pacote do seu sistema com apt-get upgrade, ou atualize somente um determinado pacote com apt-get install package.

O e-mail de alerta menciona o pacote-fonte no qual a vulnerabilidade está presente. Desse modo, você deve atualizar todos os pacotes binários daquele pacote-fonte. Para verificar qual pacote binário deve ser atualizado, visite https://packages.debian.org/src:nome-do-pacote-fonte e clique em [mostrar ... pacotes binários] para a distribuição na qual você está atualizando.

Também pode ser necessário reiniciar um serviço ou um processo que esteja rodando. O comando checkrestart incluído no pacote debian-goodies pode ajudar a encontrar tais serviços e processos.

P: A assinatura em seus alertas não foi verificada corretamente!

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

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, e não faça 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 (stable) 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(A) mantenedor(a) do pacote é contatado(a) também, se ele(a) já não contatou o Time de Segurança antes. Finalmente, a correção é testada e novos pacotes são preparados, compilados em todas as arquiteturas da versão estável e feito o upload. 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(as) usuários(as) e desenvolvedores(as) confiam 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 Interface de Programação de Aplicação (API - Application Programming Interface) ou a Interface Binária de Aplicação (ABI - Application Binary Interface), não importa quão pequena seja essa alteração.

Isso significa que mudar para a nova versão do(a) autor(a) do software (upstream) não é uma boa solução, em vez disso as alterações relevantes devem ser adaptadas à versão antiga. Geralmente os(as) autores(as) do software dessas novas versões se dispõem a ajudar se for preciso; caso contrário, o Time de Segurança do Debian está 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 reescrita. Se isto acontecer pode ser necessário mudar para a nova versão do(a) autor(a) do software, mas isso deve ser coordenado antecipadamente com o Time de Segurança.

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

R: Em vez 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 versão estável (stable). A razão para que façamos isto é certificar-nos de que uma versã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: Eu recebi um alerta, mas parece que está faltando a construção do pacote para uma arquitetura de processamento .

R: Geralmente, o Time de Segurança lança alertas com construções dos pacotes atualizados para todas as arquiteturas que o Debian suporta. Entretanto, algumas arquiteturas são mais lentas que outras e isso pode levar a que construções estejam prontas para grande parte das arquiteturas, enquanto outras ainda estejam faltando. Estas pequenas arquiteturas representam uma pequena fração da nossa base de usuários(as). Dependendo da urgência do problema, podemos decidir por lançar um alerta imediatamente. As arquiteturas ausentes serão instaladas tão logo estejam prontas, mas nenhuma notícia será divulgada além disso. Claro que nós nunca faremos uso de alertas quando construções para i386 ou amd64 não estejam presentes.

P: Como a segurança é feita na instável (unstable)?

R: A segurança na instável (unstable) é principalmente gerenciada por mantenedores(as) de pacote, não pelo Time de Segurança do Debian. Embora o Time de Segurança possa fazer o upload de correções muito urgentes e exclusivamente relacionadas à segurança quando sabe que os(as) mantenedores(as) estão inativos(as), o suporte à estável (stable) será sempre a prioridade. Se você deseja um servidor seguro (e estável), nós fortemente encorajamos que fique com a estável (stable).

P: Como a segurança é feita na teste (testing)?

R: A segurança para a teste (testing) se beneficia dos esforços de segurança de todo o projeto para a instável (unstable). Contudo, há um atraso de migração de no mínimo dois dias, e às vezes as correções de segurança podem ser adiadas pelas transições. O Time de Segurança ajuda a lidar com essas transições que seguram importantes uploads de segurança, mas isto não é sempre possível e atrasos podem ocorrer. Especialmente nos meses que sucedem uma nova versão estável (stable), quando muitas versões novas são enviadas para a instável (unstable) e correções de segurança para a teste (testing) podem atrasar. Se você deseja um servidor seguro (e estável), nós fortemente encorajamos que fique com a estável (stable)

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

R: 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(a) mantenedor(a) do pacote ou 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 versão 1.2.5-1, o que aconteceu?

R: Nós tentamos listar a primeira versão na instável (unstable) que corrigiu o problema. Algumas vezes o(a) mantenedor(a) 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ê estará seguro(a) com relação a esta vulnerabilidade. Se quiser ter certeza, você pode verificar o registro de mudanças do pacote com apt-get changelog package-name e procurar pela entrada que mostra a correção.

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

R: Na verdade, eles existem. Há vários espelhos oficiais, implementados através de aliases DNS. O propósito do security.debian.org é tornar as 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 causaria tanto uma complexidade extra desnecessária, quanto frustração ao 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 que passar os pacotes por longos testes de controle de qualidade, ou suporta diversas arquiteturas ou distribuições binárias). Nosso próprio Time de Segurança também prepara alertas com antecedência. Dependendo da situação, outros problemas de segurança têm de ser trabalhados antes do aviso que está "parado" 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, o e-mail pode ser criptografado com a chave do Contato de Segurança Debian (o ID da chave é 0x0D59D2B15144766A14D241C66BAF400B05C3E651). Para as chaves PGP/GPG de cada um(a) dos membros do time, por favor, consulte o servidor de chaves keyring.debian.org.

P: 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 outra pessoa, por favor, sempre 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(as) geralmente contatam estes outros distribuidores. Se a vulnerabilidade ainda não é pública, eles(as) tentam coordenar os alertas de segurança com os alertas 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(a) mantenedor(a) 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, sempre entre em contato com o Time de Segurança através do e-mail team@security.debian.org. Eles(as) mantêm um registro do andamento dos problemas de segurança, podem ajudar mantenedores(as) com problemas de segurança ou até mesmo consertar eles(as) mesmos(as) estes problemas, são responsáveis por mandar os alertas de segurança e mantêm o security.debian.org.

O documento referência para desenvolvedores(as) tem instruções completas do que fazer.

É particularmente importante que você não faça o upload para nenhuma outra versão além da instável (unstable) sem antes entrar em acordo com o Time de Segurança, pois ignorar o Time de Segurança 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 'arquivo não encontrado'.

R: Quando algum pacote que leva uma correção de bug substitui um pacote antigo em security.debian.org, são grandes as chances de que o pacote antigo seja removido assim que o outro entrar. 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 diretamente para security.debian.org?

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 correções (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.

O documento referências para desenvolvedores(as) tem instruções completas do que fazer.

P: Eu tenho uma correção de bug, posso então enviar para o proposed-updates?

R: Tecnicamente falando, você pode. No entanto, você não deve fazê-lo, uma vez que isso interfere demais no trabalho do Time de Segurança. Os 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 maior já se encontra no repositório, a atualização de segurança será rejeitada pelo sistema de arquivamento. Dessa forma, a versão estável (stable) ficará sem uma atualização de segurança para este pacote, a menos que o pacote errado do repositó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-fonte (por exemplo, diff.gz e arquivos dsc) em seu e-mail.

O manual referências para desenvolvedores(as) tem instruções completas do que fazer.

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

R: Se você tem absoluta certeza que seus pacotes não quebrarão alguma coisa; que a versão está correta (exemplo: maior do que a versão na estável (stable) e menor do que a versão na teste/instável (testing/unstable)); que você não alterou o comportamento do pacote apesar do problema de segurança em questão; que você o compilou para a versão correta (que é a oldstable-security ou stable-security); que o pacote contém o código-fonte original se for novo no security.debian.org; que você pode confirmar que a correção (patch) da versão mais recente está correta e somente a parte relacionada com o problema de segurança em questão foi modificada (verifique com interdiff -z e ambos arquivos .diff.gz); que você tenha revisado a correção (patch) pelo menos três vezes; e que o debdiff não tenha mostrado nenhuma mudança, você pode enviar os arquivos diretamente para o repositório de entrada (incoming) ftp://ftp.security.upload.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 correções (patches), isto aumentará a velocidade do processo. Não encaminhe simplesmente e-mails do bugtraq, 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 no trabalho de segurança é ajudando com o rastreador de segurança Debian (Debian Security Tracker) (instruções).

P: Qual é o escopo do proposed-updates?

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

Note que pacotes com uploads feitos por mantenedores(as) (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(as) oficiais e secretários(as). 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 (stable) por mais ou menos um ano depois que uma próxima versão estável é lançada, exceto quando uma outra versão estável é lançada neste período. É impossível dar suporte a três versõ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 contra a chave pública usada no repositório. O arquivo Release contém os checksums dos arquivos Packages e Sources, e estes 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(a) gerente da versão estável (stable) 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 consegue descobrir o que está dando errado, mas tem uma correção, fale com o Time de Segurança também. É possível que você seja redirecionado ao(à) gerente da verão estável.

P: O que é um identificador CVE?

R: O projeto Common Vulnerabilities and Exposures (Vulnerabilidades e Exposições Comuns) determina nomes exclusivos, chamados identificadores CVE, para especificar vulnerabilidades de segurança, de modo que seja mais fácil fazer referências a um determinado problema. Mais informações podem ser encontradas na Wikipedia.

P: O Debian lança um DSA para cada identificador CVE?

R: O Time de Segurança do Debian acompanha cada identificador CVE lançado, o conecta a cada pacote Debian relevante e avalia seu impacto no contexto do Debian - o fato de que algo foi identificado como CVE não implica necessariamente que é uma ameaça séria para o sistema Debian. Esta informação é monitorada no Debian Security Tracker (Rastreador de Segurança Debian) e, para casos que são considerados sérios, será lançado um Alerta de Segurança Debian.

Casos de baixo impacto que não se qualificam como DSA podem ser corrigidos na próxima versão do Debian, em uma versão pontual das atuais distribuições estável (stable) ou antiga (oldstable), ou incluídos num DSA quando referirem-se à vulnerabilidades mais sérias.

P: O Debian pode definir identificadores CVE?

R: O Debian é uma CVE Numbering Authority (Autoridade de Numeração CVE) e pode definir identificadores, mas seguindo a política CVE, somente para casos ainda desconhecidos. Se você possui uma vulnerabilidade de segurança desconhecida para softwares do Debian e gostaria de definir um identificador para ela, contate o Time de Segurança. Para casos em que a vulnerabilidade já é pública, sugerimos que você siga o procedimento detalhado no documento como fazer uma requisição de CVE para código aberto (CVE OpenSource Request).

P: O Debian possui uma política de revelação de vulnerabilidades?

R: O Debian publicou uma política de revelação de vulnerabilidades como parte de sua participação no programa CVE.

FAQ de segurança Debian descontinuado

P: O que significa local (remote)?

O campo Problem type (tipo de problema) nos e-mails DSA não são mais usados desde abril de 2014.
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 remotas, e muitas vezes dizem respeito a arquivos que poderiam ser disponibilizados através da rede, como um anexo de e-mail ou por uma página de download.