У меня есть несколько облачных стеков, которые запускают Ubuntu 14.04.2, и я должен устранить CVEs, что я подвергаюсь в zlib
библиотека (конкретно zlib1g
и zlib1g-dev
. В конечном счете я должен переместить эти системы в более позднюю версию Ubuntu, однако пока я не разрешил блокировщики к обновлению, я должен смягчить существующий CVEs.
Что я в настоящее время тестирую, должны добавить источники от более поздних версий Ubuntu (например. artful
):
sudo cp /etc/apt/sources.list /etc/apt/sources.list.d/artful.list
sudo vim /etc/apt/sources.list.d/artful.list # replace "trusty" with "zesty"
sudo apt-get update
Прикрепите все пакеты к trusty
:
$ cat /etc/apt/preferences
Package: *
Pin: release n=trusty
Pin-Priority: 900
Package: *
Pin: release o=Ubuntu
Pin-Priority: -10
Затем обновите определенные пакеты с:
apt-get install --only-upgrade <package> -t zesty
Пакет, который я должен обновить: zlib1g
/ zlib1g-dev
Обновление системных пакетов не получает меня версия zlib1g с разрешенным CVE's. Мне нужна версия> = 1:1.2.8.dfsg-4
самый близкий, вероятно, 1:1.2.11.dfsg-0ubuntu1
от zesty
. См.:
$ dpkg -s zlib1g | grep Version:
Version: 1:1.2.8.dfsg-1ubuntu1
$ sudo apt-get update && apt-get upgrade
$ dpkg -s zlib1g | grep Version:
Version: 1:1.2.8.dfsg-1ubuntu1
Содержание /etc/apt/sources.list
:
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted
## Uncomment the following two lines to add software from the 'universe'
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://archive.ubuntu.com/ubuntu/ trusty universe
deb-src http://archive.ubuntu.com/ubuntu/ trusty universe
deb http://archive.ubuntu.com/ubuntu/ trusty-updates universe
deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates universe
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted
# deb-src http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted
deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted
deb-src http://archive.ubuntu.com/ubuntu/ trusty-security main restricted
deb http://archive.ubuntu.com/ubuntu/ trusty-security universe
deb-src http://archive.ubuntu.com/ubuntu/ trusty-security universe
# deb http://archive.ubuntu.com/ubuntu/ trusty-security multiverse
# deb-src http://archive.ubuntu.com/ubuntu/ trusty-security multiverse
Без большего количества специфических особенностей того, что Вы желаете исправленный, и какой карман репозиториев Ubuntu, что программное обеспечение находится в для данного выпуска, невозможно дать Вам полный ответ, который является достаточно узким.
Но, я попытаюсь дать Вам обзор того, как 'исправить' проблемы безопасности в пакетах Ubuntu.
Пакеты программного обеспечения в Основных, и внесенных сообществом патчах во Вселенной, через $RELEASE-security
репозитории
Для патчей безопасности, отправленных в пакетах пользователями для рассмотрения Службы безопасности в пакетах Вселенной и патчах безопасности самой Службой безопасности в Ubuntu Основные пакеты, когда-то выпустил, они доступны от $RELEASE-security
репозитории (например, xenial-security
) и $RELEASE-updates
репозитории. Таким образом, можно просто сделать a sudo apt-get update && sudo apt-get dist-upgrade
и получите все патчи.
Отслеживание отдельного CVEs в Средстве отслеживания CVE сообщит, выпустили ли CVE's фиксацию в Ubuntu уже, а также определении Службой безопасности приоритетного уровня CVE и как быстро этому нужно обращенный (значение по умолчанию является "Средним" независимо от серьезности CVE).
Пакеты, не обновленные в репозиториях
У нас есть две проблемы здесь. Во-первых, пакеты Вселенной только получают патчи, когда сообщество обеспечивает их, чтобы Служба безопасности посмотрела на и обзор. Во-вторых, большое количество пакетов в результате не обновляются.
У Вас есть два решения для этих проблем: или восстановите пакеты сами с патчами или ожидайте обновления для приземления в Репозиториях (или чтобы кто-то отправил патчи для Службы безопасности).
Для первого решения Вы должны будете следовать Упаковочному Руководству от шага 1 до шага 3.9 и затем ступаете подробные в раздел 6, если Вы хотите отправить их для репозиториев, и создать исправленные пакеты локально в Вашей системе и установить их.
Фактический процесс для этого очень очень сложен в зависимости от пакета, таким образом, невозможно ответить на это здесь.
Пользовательское скомпилированное программное обеспечение
Ваша единственная надежда здесь состоит в том, чтобы применить патчи к программному обеспечению самостоятельно, и перекомпилировать и установить. Это для чего-либо, где программное обеспечение не включено в репозитории, или в случаях Вам установили вещи, которые Вы скомпилировали во-первых. Процесс для этого бесконечно варьируется, таким образом, невозможно ответить здесь.
Если у Вас есть CVE, который необходимо зафиксировать, и он не фиксируется в официальных репозиториях для выпуска, который Вы используете, что Вы не должны делать, загрузить и установить пакеты от произвольного будущего выпуска. Такие пакеты могут установить прекрасный, но нет никакой гарантии, что существующее другое существующее программное обеспечение может взаимодействовать с ними. ABIs или API, возможно, изменились, возможно, значительно, возможно, нет. Тонкие изменения, возможно, достаточно для подбрасывания трудных к отладке ошибок. (если библиотека не загружается как ожидалось, приложение командной строки могло бы бросить file-not-found ошибку, даже при том, что файл команды ясно существует!)
То, что я предложил бы:
quilt
применять патч (см. Debian Wiki или этот Debian hwoto).-
) - конечно, не ударяют часть перед первым :
, число эпохи.Это, намного более вероятно, поддержит совместимость с другими компонентами ОС (в так же, как сама фиксация не повреждает что-то), все еще позволяя Вам обновить, если обновление поражает репозитории Вашего выпуска. Таким образом, можно также гарантировать, что конкретный CVE, который Вы хотите зафиксировать, фиксируется насколько можно сказать, который не может иметь место с пакетом от некоторого произвольного будущего выпуска.
Вот то, как я сделал это для своего первого запуска.
Это - то, как я добрался до соответствующего CVE's. Затем
Мне "неуказанный" и "контекстно-зависимый" средний это - довольно теоретическое нападение. Это означало бы, что плохие парни с большим количеством денег хотели ворваться в Вас - в противоположность постоянным плохим парням, обращающимся к повреждению кто-то. Только Вы знаете то, что является лучшим местом для помещения ресурсов.
Для моего случая был CVE's Chrome (Chrome является основой для Node.js), который не относился к моим вариантам использования, таким образом, я проигнорировал их ожидающий восходящего потока, фиксирует. Иногда были вещи, которые нуждались в фиксации сразу же, таким образом:
Я upvoted некоторые другие ответы здесь - надо надеяться, Вы получите то, что Вы ищете.