Замечание: Оригинал этого документа новее, чем перевод.

FAQ по безопасности в Debian

Нижеприведённые вопросы нам задают слишком часто, поэтому мы приводим здесь ответы на них.

  1. Подпись вашего предложения определяется как некорректная!
  2. Каким образом ведётся работа над безопасностью Debian?
  3. Почему вы возитесь со старыми версиями пакетов?
  4. Какова политика появления на security.debian.org исправленных пакетов?
  5. Что означает (local (remote)) ("локальный (удалённый)")?
  6. Номер версии установленного у меня пакета показывает, что пакет всё ещё содержит уязвимость!
  7. Каким образом ведётся работа над безопасностью нестабильного дистрибутива?
  8. Каким образом ведётся работа над безопасностью тестируемого дистрибутива?
  9. Как обновления безопасности попадают в тестируемый дистрибутив?
  10. Каким образом ведётся работа над безопасностью секций contrib и non-free?
  11. Почему нет официальных зеркал security.debian.org?
  12. Я вижу DSA 100 и DSA 102, но где DSA 101?
  13. Как я могу связаться с командой безопасности?
  14. Мне кажется, что я нашёл проблему, связанную с безопасностью. Что мне делать?
  15. Что я должен делать, если проблема, связанная с безопасностью, обнаружилась в одном из моих пакетов?
  16. Я пытаюсь загрузить пакет, указанный в одном из предложений по безопасности, но происходит ошибка файл не найден.
  17. Я исправил ошибку. Могу ли я загрузить пакет непосредственно на security.debian.org?
  18. Я исправил ошибку. Могу ли я загрузить пакет в каталог proposed-updates?
  19. Я абсолютно уверен, что мой пакет работает правильно, как я могу загрузить его?
  20. Как я могу помочь в обеспечении безопасности?
  21. Каков статус каталога proposed-updates?
  22. Из кого состоит команда безопасности?
  23. Как долго будут предоставляться обновления, связанные с безопасностью?
  24. Как проверить целостность пакетов?
  25. Что делать, если после установки обновления какой-либо пакет перестал работать?

Вопрос: Подпись вашего предложения определяется как некорректная!

A: Скорее всего, проблема с вашей стороны. Список рассылки debian-security-announce защищён фильтром, пропускающим только сообщения с правильной подписью кого-нибудь из членов команды безопасности.

Наиболее вероятно, что программы обработки почты на каком-то этапе несколько изменяют сообщение, что нарушает целостность подписи. Проверьте, что ваше программное обеспечение не производит кодирования или декодирования MIME или преобразования символов табуляции в пробелы или наоборот.

Известные возможные виновники проблем, это fetchmail (с включенным параметром mimedecode), formail (начиная с procmail версии 3.14) и evolution.

Вопрос: Каким образом ведётся работа над безопасностью Debian?

A: После того, как команда безопасности получает уведомление о проблеме, один или несколько её членов анализируют его, и проверяют, затронут ли стабильный дистрибутив Debian (т.е., уязвим он или нет). Если наша система уязвима, мы стараемся исправить ошибку. Также мы связываемся с сопровождающим пакета, если он ещё не вышел на связь сам. Наконец, обновление тестируется и подготавливаются новые пакеты, которые затем компилируются на всех архитектурах стабильного выпуска и загружаются на сервер. После того, как всё это проделано, публикуется предложение.

Вопрос: Почему вы возитесь со старыми версиями пакетов?

Самое главное, что необходимо помнить при создании нового пакета, где исправлена проблема, связанная с безопасностью, это то, что нужно вносить так мало изменений, насколько это возможно. Наши пользователи и разработчики рассчитывают на неизменное поведение одного выпуска системы, поэтому любые сделанные нами изменения, возможно, обвалят чью-то систему. Особенно это относится к библиотекам: удостоверьтесь, что вы не меняете ни программный интерфейс приложений (Application Program Interface, API), ни двоичный интерфейс приложений (Application Binary Interface, ABI), как бы малы ни были эти изменения.

Это означает, что переход к новой версии пакета — не лучшее решение. Вместо этого нужно перенести на старую версию необходимые изменения. В основном, если команда безопасности Debian не в состоянии справиться с проблемой, разработчики исходных текстов обычно готовы помочь.

В некоторых случаях внедрить исправления в старую версию, например, когда нужно модифицировать или переписать очень большие куски кода. В этом случае переход к новой версии может оказаться вынужденным, но это нужно заранее согласовать с командой безопасности.

Вопрос: Какова политика появления на security.debian.org исправленных пакетов?

A: При обнаружении дыры в безопасности стабильного дистрибутива новый пакет на security.debian.org появится гарантированно. В любом другом случае — нет. Размер дыры особого значения не имеет. Обычно, команда безопасности готовит пакеты вместе с сопровождающим. Если кто-то (кому мы доверяем) отследил проблему, скомпилировал все необходимые пакеты и предоставил их команде безопасности, даже тривиальные решения проблем, связанных с безопасностью, появятся на security.debian.org. См. ниже.

Обновления, связанные с безопасностью, служат одной цели: предоставить исправления уязвимого места в безопасности системы. Это не возможность втихомолку внести дополнительные изменения в стабильный выпуск, не проходя обычную процедуру создания редакций выпусков.

Вопрос: Что означает (local (remote)) ("локальный (удалённый)")?

A: Некоторые предупреждения безопасности содержат уязвимости, которые не могут быть классифицированы по классической схеме локальной и удалённой возможности использования. Некоторые уязвимости не могут быть использованы удалённо, то есть не направлены на демона, открывшего сетевой порт. Если они могут быть использованы специальными файлами, которые могут быть предоставлены через сеть, тогда как уязвимый сервис не соединён напрямую с сетью, в таком случае мы пишем local (remote).

Подобные уязвимости что-то среднее между локальной и удалённой уязвимостями, и часто содержат архивы, которые могут быть предоставлены по сети, то есть как почтовое вложение или со страницы загрузки.

Вопрос: Номер версии установленного у меня пакета показывает, что пакет всё ещё содержит уязвимость!

A: Вместо того, чтобы предлагать обновить пакет до нового выпуска, мы переносим исправления, связанные с безопасностью, в версию, включенную в стабильный выпуск. Мы делаем это, чтобы убедиться в том, что выпуск меняется так мало, насколько это возможно, чтобы система в результате обновления не изменила своё поведение и не обрушилась. Вы можете проверить, установлена ли у вас безопасная версия пакета, прочитав журнал изменений в нём или сравнив точный номер его версии с версией, указанной в предложении Debian по безопасности.

Вопрос: Каким образом ведётся работа над безопасностью нестабильного дистрибутива?

A: Если коротко, никак. Нестабильный дистрибутив быстро изменяется, и у команды безопасности нет ресурсов, необходимых для его нормальной поддержки. Если вы хотите иметь безопасный (и стабильный) сервер, мы настоятельно рекомендуем оставить стабильный дистрибутив.

Вопрос: Каким образом ведётся работа над безопасностью тестируемого дистрибутива?

A: Если вы хотите иметь безопасный (и стабильный) сервер, мы настоятельно рекомендуем оставить стабильный дистрибутив. Тем не менее, для тестируемого дистрибутива есть ограниченная поддержка безопасности: команда безопасности Debian обрабатывает в нём проблемы без запретов. Это даёт уверенность в том, что исправленные пакеты войдут в тестируемый дистрибутив обычным путём или, если это занимает слишком много времени, будут доступны через http://security.debian.org. Если вы хотите их использовать, удостоверьтесь, что следующая строка присутствует в /etc/apt/sources.list:

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

и запустите apt-get update && apt-get upgrade.

Имейте ввиду, что это не гарантирует вам исправления всех известных проблем безопасности в тестируемом дистрибутиве! Некоторые обновлённые пакеты могут ожидать перемещения в тестируемый дистрибутив, и некоторые ошибки могут быть не известны публично, так что команда безопасности тестируемого дистрибутива может о них не знать. Подробнее об инфраструктуре безопасности для тестируемого дистрибутива вы можете найти на http://secure-testing-master.debian.net/.

Вопрос: Как обновления безопасности попадают в тестируемый дистрибутив?

A: Обновления безопасности переходят в тестируемый дистрибутив через нестабильный. Обычно они загружаются с высоким установленным приоритетом, что сокращает время их пребывания в карантине до двух дней. После этого периода пакеты переходят в тестируемый дистрибутив автоматически, это означает их сборку для всех архитектур, а также всех зависимостей, входящих в тестируемый дистрибутив.

The команда безопасности тестируемого дистрибутива также делает доступными исправления безопасности в http://security.debian.org, если обычный процесс миграции недостаточно быстр.

Вопрос: Каким образом ведётся работа над безопасностью секций contrib и non-free?

A: Если коротко, никак. Contrib и non-free не являются официальными частями дистрибутива Debian, не входят в выпуски, и потому не поддерживаются командой безопасности. Некоторые несвободные пакеты распространяются без исходного кода, или их лицензия не позволяет распространение модифицированных версий. В этих случаях исправление дыр в их безопасности вообще невозможно. Если решить проблему всё же возможно, и если сопровождающий пакета либо кто-то ещё предоставил корректную новую версию пакета, команда безопасности, в общем случае, возьмёт её в обработку и выпустит рекомендацию.

Вопрос: Почему нет официальных зеркал security.debian.org?

A: На самом деле, есть. Это несколько официальных зеркал, организованных через псевдонимы DNS. Целью security.debian.org является предоставление обновлений, связанных с безопасностью, так быстро и легко, насколько это возможно.

Использование неофициальных зеркал усложнило бы процесс, что обычно не нужно, и может вызвать затруднения, если зеркало не будет обновлено. Тем не менее, в будущем планируется создать официальные зеркала.

Вопрос: Я вижу DSA 100 и DSA 102, но где DSA 101?

A: Некоторые поставщики (в основном GNU/Linux, но также и BSD производных) в некоторых случаях координируют между собой предложения по безопасности и соглашаются на определённую задержку, так чтобы все поставщики могли выпустить предложения одновременно. Так сделано, чтобы не дискриминировать поставщиков, которым нужно больше времени (например, когда пакеты должны пройти длительные тесты контроля качества или поставщик поддерживает несколько архитектур или двоичных дистрибутивов). Наша команда безопасности также подготавливает предложения заранее. Время от времени получается так, что нужно выпустить новое предложение по безопасности, а другое ещё не опубликовано. Таким образом один или несколько номеров могут быть пропущены.

Вопрос: Как я могу связаться с командой безопасности?

A: Информацию, касающуюся безопасности, можно отправлять по адресу security@debian.org или team@security.debian.org. Письма на оба адреса читают все члены команды безопасности Debian.

Если нужно, сообщение можно зашифровать ключом для контактов с командой безопасности Debian (Debian Security Contact key, идентификатор ключа 0xF2E861A3). См. также PGP/GPG-ключи команды безопасности.

Вопрос: Мне кажется, что я нашёл проблему, связанную с безопасностью. Что мне делать?

A: Если вы обнаружили программу, связанную с безопасностью, в вашем пакете или в чьём-либо ещё, пожалуйста, непременно свяжитесь с командой безопасности. Если команда безопасности Debian подтвердит наличие уязвимости, и вероятно, что проблемой затронуты и другие поставщики, команда безопасности, скорее всего, свяжется с ними. Если о наличии уязвимости ещё не известно широкой публике, они попытаются скоординировать действия с другими поставщиками, так что все основные дистрибутивы будут синхронизированы.

Если уязвимость уже публично известна, обязательно отправьте отчёт об ошибке в Debian BTS, и присвойте ему тэг security.

Если вы сопровождающий Debian, см. ниже.

Вопрос: Что я должен делать, если проблема, связанная с безопасностью, обнаружилась в одном из моих пакетов?

A: Если вы обнаружили программу, связанную с безопасностью, в вашем пакете или в чьём-либо ещё, пожалуйста, непременно свяжитесь с командой безопасности. Это можно сделать, отправив сообщение по адресу team@security.debian.org. Они отслеживают ещё не исправленные проблемы в безопасности, могут помочь сопровождающим в их исправлении, отвечают за отправку предложений по безопасности и сопровождают security.debian.org.

Справочник разработчика содержит подробные инструкции.

В частности, очень важно то, что вы не должны загружать пакеты в какой-то другой дистрибутив, помимо нестабильного, без предварительного согласования с командой безопасности. В противном случае вы создадите путаницу и лишнюю работу.

Вопрос: Я пытаюсь загрузить пакет, указанный в одном из предложений по безопасности, но происходит ошибка файл не найден.

A: Если появился более новый пакет, заменивший старый на security.debian.org, весьма вероятно, что старый через некоторое время будет удалён. Поэтому вы получите сообщение файл не найден. Мы не хотим распространять пакеты, о наличии ошибок, связанных с безопасностью, в которых мы знаем, дольше, чем это абсолютно необходимо.

Пожалуйста, используйте пакеты, указанные в последних предложениях по безопасности, распространяемых через список рассылки debian-security-announce. Лучше всего перед обновлением пакета просто запустить apt-get update.

Вопрос: Я исправил ошибку. Могу ли я загрузить пакет непосредственно на security.debian.org?

A: Нет. Архив на security.debian.org сопровождается командой безопасности, которая должна одобрить загрузку любого пакета. Вместо этого следует отправлять заплаты или исправленные пакеты с исходными текстами команде безопасности по адресу team@security.debian.org. Команда безопасности проанализирует их и в конце концов загрузит на сервер, внеся изменения или без них.

Если вы не загружаете обновления, связанные с безопасностью, постоянно или не уверены на 100%, что ваш пакет не содержит ошибок, пожалуйста, используйте этот способ и не загружайте его в каталог поступлений. Команда безопасности мало что может сделать с пакетами, содержащими ошибки, особенно, если они используют неправильный номер версии. На данный момент пакеты нельзя отвергнуть, а если это будет возможно, это запутает работу buildd. Поэтому отправляйте свои исправления по почте, и помогите работе команды безопасности, не создавая лишних препятствий.

Справочник разработчика содержит полные инструкции.

Вопрос: Я исправил ошибку. Могу ли я загрузить пакет в каталог proposed-updates?

A: Да. Технически. Тем не менее, вам не следует делать этого, поскольку это плохо пересекается с работой команды безопасности. Пакеты с security.debian.org будут скопированы в proposed-updates автоматически. Если пакет с тем же или более высоким номером версии в архиве уже есть, обновление от команды безопасности будет отвергнуто системой поддержки архива. Таким образом, стабильный дистрибутив останется без обновления, связанного с безопасностью, этого пакета, если только неправильные пакеты в каталоге proposed-updates не будут отвергнуты. Пожалуйста, свяжитесь вместо этого с командой безопасности, сообщите все подробности об обнаруженной уязвимости, и вложите в письмо файлы исходного кода (diff.gz и dsc).

Справочник разработчика содержит полные инструкции.

Вопрос: Я абсолютно уверен, что мой пакет работает правильно, как я могу загрузить его?

A: Если вы полностью уверены, что ваш пакет не нарушит работу каких-либо программ, что номер версии правилен (т.е. выше, чем номер версии в стабильном дистрибутиве, но ниже, чем в тестируемом/нестабильном), что вы не изменили поведение пакета, несмотря на соответствующую проблему безопасности, что вы скомпилировали пакет для правильного дистрибутива (oldstable-security или stable-security), что в случае, если пакета ещё нет на security.debian.org, пакет содержит первоначальный исходный код, что вы можете подтвердить, что изменения по сравнению с последней версией касаются только соответствующей проблемы безопасности (проверьте это с помощью interdiff -z и обоих файлов .diff.gz), что вы прочитали изменения кода по меньшей мере трижды и что debdiff не показывает никаких изменений, вы можете загрузить файлы в каталог последних поступлений ftp://security-master.debian.org/pub/SecurityUploadQueue непосредственно на security.debian.org. Пожалуйста, пришлите также уведомление об этом с изложением всех подробностей и ссылками по адресу team@security.debian.org.

Вопрос: Как я могу помочь в обеспечении безопасности?

A: Пожалуйста, проверяйте каждую проблему перед тем, как сообщить о ней по адресу security@debian.org. Если вы можете предоставить заплату, это ускорит процесс. Не надо просто пересылать письма с bugtraq, мы и так получаем их, но обязательно сообщайте нам дополнительную информацию о проблемах, там освещённых.

Вопрос: Каков статус каталога proposed-updates?

A: Этот каталог содержит пакеты, которые предлагается включить в следующую редакцию стабильного дистрибутива Debian. Всегда, когда сопровождающий загружает пакет для стабильного дистрибутива, он попадает в каталог proposed-updates. Поскольку стабильный дистрибутив предполагается стабильным, автоматического обновления не производится. Команда безопасности загружает исправленные пакеты, указанные в её предложениях, в стабильный дистрибутив, однако сначала они помещаются в proposed-updates. Раз в несколько месяцев менеджер стабильного выпуска проверяет список пакетов в proposed-updates и решает, должен ли пакет быть включён в стабильный дистрибутив. Так формируется новая редакция стабильного выпуска (например, 2.2r3 или 2.2r4). Пакеты, которые не подходят для включения в стабильный дистрибутив, вероятно, будут отвергнуты и удалены из каталога proposed-updates.

Имейте в виду, что пакеты, загруженные в каталог proposed-updates/ сопровождающими (а не командой безопасности), командой безопасности не поддерживаются.

Вопрос: Из кого состоит команда безопасности?

A: Команда безопасности Debian состоит из нескольких ответственных лиц проекта. Команда безопасности сама подбирает новых членов.

Вопрос: Как долго будут предоставляться обновления, связанные с безопасностью?

A: Команда безопасности поддерживает (или, по крайней мере, пытается) стабильный дистрибутив в течение одного года после выхода следующего выпуска, за исключением случаев, когда в течение этого года выходит ещё один стабильный выпуск. Поддерживать одновременно три дистрибутива невозможно — даже параллельная поддержка двух выпусков достаточно сложна.

Вопрос: Как проверить целостность пакетов?

A: Этот процесс включает в себя проверку подписи файла Release по открытому ключу, который использовался для данного архива. Файл Release содержит контрольные суммы по MD5 файлов Packages и Sources, которые, в свою очередь, содержат контрольные суммы по MD5 для пакетов с исходными текстами и бинарных пакетов. Подробные инструкции по проверке целостности пакетов вы можете найти в документе Руководство по защите Debian.

Вопрос: Что делать, если после установки обновления какой-либо пакет перестал работать?

A: Во-первых, следует определить, почему пакет не работает и как это связано с обновлением. После этого свяжитесь с командой безопасности, если это серьёзная проблема или с менеджером стабильного выпуска, если не слишком. Мы говорим о ситуации, когда пакет перестал работать после обновления другого пакета. Если вы не можете определить, что именно работает неправильно, но у вас есть предположения, как можно исправить ситуацию, также свяжитесь с командой безопасности. При необходимости вас перенаправят к менеджеру стабильного выпуска.