ЧаВО по безопасности в Debian

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

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

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

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: Обычно команда безопасности выпускает рекомендацию со сборками обновлённых пакетов для всех архитектур, поддерживаемых Debian. Тем не менее, некоторые архитектуры более медленны, чем другие, и может так получиться, что сборки для большинства архитектур будут готовы, но для некоторых архитектур они будут отсутствовать. Эти архитектуры представляют собой небольшую часть от общего количества наших пользователей. В зависимости от срочности проблемы мы можем решить выпустить рекомендацию немедленно. Отсутствующие сборки будут установлены сразу же как только они будут доступны, но об их установке в архив не будет сообщено. Конечно, мы никогда не выпустим рекомендацию, если сборки для i386 или amd64 не будут готовы.

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

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

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

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

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

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

Вопрос: В рекомендации сказано, что нестабильная версия исправлена в версии 1.2.3-1, но в нестабильном выпуске находится версия 1.2.5-1, в чём дело?

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

Вопрос: Почему нет официальных зеркал 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 (идентификатор ключа 0x90F8EEC5). Ключи PGP/GPG членов команды безопасности можно найти на сервере ключей keyring.debian.org.

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

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. Команда безопасности проанализирует их и в конце концов загрузит на сервер, внеся изменения или без них.

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

Вопрос: Я исправил ошибку. Могу ли я загрузить пакет в каталог 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. Если вы можете предоставить заплату, это ускорит процесс. Не надо просто пересылать письма из системы отслеживания ошибок Debian, мы и так получаем их, но обязательно сообщайте нам дополнительную информацию о проблемах, освещённых там.

Неплохим способом начать работу над проблемами безопасности будет помощь на трекере безопасности Debian (инструкции).

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

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

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

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

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

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

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

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

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

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

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

Вопрос: Что такое CVE идентификатор?

A: Проект Common Vulnerabilities and Exposures назначает уникальные имена, называемые CVE идентификаторами, конкретным уязвимостям безопасности, чтобы облегчить задачу указания конкретной проблемы. Дополнительная информация может быть найдена в Wikipedia.

Вопрос: Выпускает ли Debian рекомендации безопасности для всякого CVE идентификатора?

A: Команда безопасности Debian отслеживает каждый выпущенный CVE идентификатор, связывает его с релевантным пакетом Debian и оценивает его влияние на контекст Debian — тот факт, что чем-то назначен CVE идентификатор не предполагает с необходимостью, что данная проблема представляет серьёзную угрозу системе Debian. Эта информация отслеживается Системой отслеживания безопасности Debian, проблемы, которые считаются серьёзными, выпускаются рекомендации безопасности Debian.

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

Вопрос: Может ли Debian назначать CVE идентификаторы?

A: Debian имеет статус CVE Numbering Authority и может назначать идентификаторы, но в соответствии с политикой CVE можно назначать идентификаторы только нераскрытым пока проблемам. Если вам известно о нераскрытой уязвимости в безопасности ПО в Debian и вы хотели бы получить для неё идентификатор, свяжитесь с командой безопасности Debian. В случае, когда уязвимость уже известна публично, мы советуем следовать процедуре, описанной в документе CVE OpenSource Request HOWTO.