Почему автоматические обновления не исправляют ошибку heartbleed?

20

Я следовал инструкции по установке автоматических обновлений для установки автоматических обновлений безопасности на моем сервере (Ubuntu Server 13.10).

https://help.ubuntu.com/community/AutomaticSecurityUpdates

Можете ли вы помочь мне понять, почему этим утром у меня все еще есть ошибка на моем сервере?

$ openssl version -a
OpenSSL 1.0.1e 11 Feb 2013
built on: Wed Jan  8 20:58:47 UTC 2014
platform: debian-amd64

Дополнительная информация:

$ cat /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

$ cat /var/log/apt/history.log
....
Start-Date: 2014-04-03  15:33:59
Commandline: apt-get install nginx
Install: libxau6:amd64 (1.0.8-1, automatic), libx11-data:amd64 (1.6.1-1ubuntu1, automatic), libxcb1:amd64 (1.9.1-3ubuntu1, automatic), libvpx1:amd64 (1.2.0-2, automatic), libgd3:amd64 (2.1.0-2, automatic), libxdmcp6:amd64 (1.1.1-1, automatic), libxslt1.1:amd64 (1.1.28-2, automatic), nginx-common:amd64 (1.4.1-3ubuntu1.3, automatic), nginx:amd64 (1.4.1-3ubuntu1.3), nginx-full:amd64 (1.4.1-3ubuntu1.3, automatic), libx11-6:amd64 (1.6.1-1ubuntu1, automatic), libxpm4:amd64 (3.5.10-1, automatic)
End-Date: 2014-04-03  15:34:02

Start-Date: 2014-04-04  10:26:38
Commandline: apt-get install unattended-upgrades
Install: unattended-upgrades:amd64 (0.79.3ubuntu8)
End-Date: 2014-04-04  10:26:40

Спасибо

Гийом Винсент
источник
2
Не отвечая на ваш вопрос, но посмотрите на этот ответ, чтобы исправить вашу ОС askubuntu.com/questions/444817/am-i-acted-heartbleed-bug
Кольцо Ø
Я согласен, что у вас должна быть обновленная версия. Мой сервер 12.04 находится на автоматических обновлениях и был обновлен вчера. Вы проверяли /var/log/apt/history.log?
Йос
@jos У меня было содержимое моего /var/log/apt/history.log, больше информации здесь нет
Гийом Винсент

Ответы:

28

У вас нет уязвимости Heartbleed на вашем сервере, OpenSSL был исправлен для исправления этой проблемы (без ее обновления).

Вы пропустили несколько важных строк в выводе версии OpenSSL, поэтому вы знаете, что это исправлено, а не с номером версии:

openssl version -a                                                                ✭
OpenSSL 1.0.1e 11 Feb 2013
built on: Mon Apr  7 20:33:19 UTC 2014
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx) 
compiler: cc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DOPENSSL_NO_TLS1_2_CLIENT -DOPENSSL_MAX_TLS1_2_CIPHER_LENGTH=50 -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/lib/ssl"

Линия «надстройка» - вот что важно здесь, 7 апреля или позже: ты в порядке. В противном случае: у вас проблемы.

Обновление, так как дата сборки не кажется хорошей:

Возможно, автоматическое обновление еще не запущено, на моем сервере сценарии в cron.daily настроены на запуск в 6:25.

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

Также проверьте содержимое /etc/apt/apt.conf.d/10periodic и убедитесь, что установлены обновления безопасности:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "7";
APT::Periodic::Unattended-Upgrade "1";

Источник: https://help.ubuntu.com/lts/serverguide/automatic-updates.html.

Матье Командон
источник
1
Я в беде :(built on: Wed Jan 8 20:58:47 UTC 2014 platform: debian-amd64
Гийом Винсент
просто беги, sudo apt-get update && sudo apt-get dist-upgradeи ты должен быть в курсе.
Эдд Черепаха
Спасибо @EddTurtle, это не мой вопрос! У меня вопрос, почему автоматическое обновление не работает!
Гийом Винсент
Мой /etc/apt/apt.conf.d/10periodic не был хорош, или, возможно, в 5 утра хрон не обнаружил никаких улучшений. Спасибо @ mathieu-comandon
Гийом Винсент
@guillaumevincent Я только что заметил, что unattended-upgrades был последним установленным вами пакетом, поэтому он должен был быть проблемой конфигурации.
Йос
12

Во-первых, вам нужно выполнить обновление. Автоматические обновления запускаются только один раз в день, и с момента выхода исправления прошло менее 1 дня (2014-04-07 около 20:00 по Гринвичу). Для дерзости убедитесь, что вы обновились до libssl1.0.0версии 1.0.1e-3ubuntu1.2 или выше. (Точнее, исправление появилось в версии 1.0.1-4ubuntu5.12.)

Далее, обратите внимание, что это очень серьезная уязвимость: она могла позволить злоумышленникам получить конфиденциальные данные, подключившись к вашему уязвимому серверу. Если вы работаете с сервером SSL, то все данные, которые были в памяти сервера еще до того, как была объявлена ​​уязвимость, могли утечь. Это включает, в частности, закрытый ключ SSL сервера, поэтому вы должны сгенерировать новый и отозвать старый.

Для получения дополнительной информации см. Как исправить ошибку Heartbleed (CVE-2014-0160) в OpenSSL?

Жиль "ТАК - перестать быть злым
источник
Что-то в памяти сервера в течение двух лет могло просочиться не только со времени объявления.
Pieroxy
@pieroxy Все, что долгое время находилось в памяти сервера, с большой вероятностью было перезаписано, так что вам также следует беспокоиться о многих других направлениях атаки. Исключением является то, что если вы беспокоитесь о злоумышленнике, который мог бы знать об ошибке ранее и спокойно ее использовать - злоумышленники на правительственном уровне вполне могли бы знать, что маловероятно, что обычные мошенники узнают об этом.
Жиль "ТАК - перестань быть злым"
7

Вы не можете доверять внутренним строкам версий. Версия говорит, 1.0.1eи ошибка затрагивает от 1.0.0 до 1.0.0f. Достаточно ли этого, чтобы определить, есть ли у вас уязвимая версия openssl? Нет. Внутренняя версия OpenSSL не меняется, даже если применяются некоторые обновления. Единственный способ надежно идентифицировать вашу версию - поиск версии менеджера пакетов с помощью apt-cache policyили другого инструмента:

➜  ~  apt-cache policy openssl
openssl:
  Installed: 1.0.1f-1
  Candidate: 1.0.1f-1
  Version table:
 *** 1.0.1f-1 0
        500 http://http.debian.net/debian/ testing/main i386 Packages
        100 /var/lib/dpkg/status
➜  ~  dpkg -l openssl
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-=================================
ii  openssl        1.0.1f-1     i386         Secure Sockets Layer toolkit - cr
➜  ~  

Как вы можете видеть, моя версия openssl лучше, так как, похоже, она затронута, так как она 1.0.1f, теперь, если я проверю журналы изменений:

➜  ~ apt-get changelog openssl
openssl (1.0.1f-1) unstable; urgency=high

  * New upstream version
    - Fix for TLS record tampering bug CVE-2013-4353
    - Drop the snapshot patch
  * update watch file to check for upstream signature and add upstream pgp key.
  * Drop conflicts against openssh since we now on a released version again.

 -- Kurt Roeckx <kurt@roeckx.be>  Mon, 06 Jan 2014 18:50:54 +0100

Да, я все еще страдаю В журнале изменений нет ссылок на CVE-2014-0160. Но я не использую никакой службы SSL / TSL, поэтому я могу подождать. Мне просто не нужно генерировать SSL-сертификаты, используя эту версию OpenSSL. Если я это сделаю, я просто должен последовать совету Жиля: отменить услуги, отозвать сертификат, создать новые.

Braiam
источник
Примечание: «apt-cache changelog» не является допустимой для меня командой, но «aptitude changelog» - это.
ColinM
1
@ColinM извините, проблема apt-get, а не apt-cache в буфере обмена.
Брайам