Я следовал инструкциям для установки необслуживаемых обновлений для установки автоматических обновлений системы защиты на моем сервере (сервер человечности 13.10).
https://help.ubuntu.com/community/AutomaticSecurityUpdates
Можно ли помочь мне понять, почему этим утром у меня все еще есть heartbleed ошибка на моем сервере?
$ 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
Спасибо
У Вас нет уязвимости 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 день, с тех пор как фиксация вышла (07.04.2014 около 20:00 GMT). Для дерзкого удостоверьтесь, что Вы обновили до libssl1.0.0
версия 1.0.1e-3ubuntu1.2 или больше. (В точном фиксация существовала 1.0.1-4ubuntu5.12 версии.)
Затем, примечание, что это - очень плохая уязвимость: это, возможно, позволило взломщикам получать конфиденциальные данные путем соединения с уязвимым сервером. При выполнении сервера SSL то о любых данных, которые были в памяти сервера с тех пор немного перед уязвимостью, объявили, возможно, был пропущен. Это включает, в частности, закрытый ключ SSL сервера, таким образом, необходимо генерировать новый и отменить старый.
Для получения дополнительной информации, см. , Как исправить ошибку Heartbleed (CVE-2014-0160) в OpenSSL?
Вы не можете доверять строкам внутренней версии. Версия говорит 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. Если я делаю, я просто должен последовать совету Gilles: удалите сервисы, отмените сертификат, генерируйте новые.