Чому без нагляду оновлення не виправляє помилку із сердечними помилками?


20

Я дотримувався інструкції щодо встановлення без нагляду оновлень для встановлення автоматичних оновлень безпеки на моєму сервері (сервер ubuntu 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-affected-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:00 ранку не знайшли оновлення. Дякую @ mathieu-comandon
Гійом Вінсент

@guillaumevincent Я щойно помітив, що оновлення без нагляду - це останній встановлений вами пакет - тому це мала бути проблема конфігурації.
Джос

12

Спочатку потрібно виконати оновлення. Оновлення без нагляду виконуються лише один раз на день, і з моменту виходу виправлення минуло менше 1 дня (2014-04-07 близько 20:00 GMT). Щодо пікантності, переконайтеся, що ви оновили libssl1.0.0версію 1.0.1e-3ubuntu1.2 або новішу. (Точніше, виправлення надійшло у версії 1.0.1-4ubuntu5.12.)

Далі, зауважте, що це дуже погана вразливість: можливо, вона дозволила зловмисникам отримати конфіденційні дані, підключившись до вашого вразливого сервера. Якщо ви працюєте з сервером SSL, то будь-які дані, які знаходилися в пам'яті сервера ще задовго до оголошення про вразливість, можливо, просочилися. Зокрема, це включає приватний ключ сервера SSL, тому вам слід створити новий і відкликати старий.

Для отримання додаткової інформації див. Як виправити помилку Heartbleed (CVE-2014-0160) у OpenSSL?


Що-небудь у пам’яті сервера протягом приблизно двох років, можливо, просочилося не лише з моменту повідомлення.
п’єрокси

@pieroxy Все, що давно зберігається в пам’яті сервера, є великою ймовірністю, що воно буде перезаписано, до того, що ви також повинні турбуватися про багато інших векторів атаки. Виняток - якщо ви турбуєтесь про супротивника, який, можливо, знав про помилку раніше і спокійно експлуатував її - противники урядового рівня, можливо, знали, що звичайні шахраї малоймовірні.
Жил "ТАК - перестань бути злим"

7

Ви не можете довіряти внутрішнім рядкам версій. Версія говорить, 1.0.1eі помилка впливає від 1.0.0 до 1.0.0f. Чи достатньо цього, щоб визначити, чи є у вас ще вразлива версія Opensl? Ні. Внутрішня версія 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. Якщо я це зробити, я просто повинен дотримуватися порад Жилла: знімати послуги, відкликати сертифікат, генерувати нові.


Примітка: "apt-кеш змін змін" для мене не є дійсною командою, але "журнал змін здатності" є.
ColinM

1
@ColinM вибачте, проблема apt-get, не apt-кеш, буфер обміну.
Брайам
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.