dil: (Default)
Sunday, April 14th, 2019 04:20 pm

Утром посмотрел на свой предыдущий пост в LJ, опубликованный вчера, а там почему-то картинка пропала. Зашёл в Edit, там url картинки не поменялся. А когда попробовал посмотреть саму эту картинку, firefox сказал, что небезопасно.. Оказалось, что SSLный сертификат на моём веб-сайте сегодня рано утром закончился.

Хотя у меня там в cron приделана команда “certbot-auto renew” для обновления сертификата, выданного Let’s Encrypt, и раньше она успешно работала, а сегодня почему-то нет.
Попробовал запустить эту команду вручную, но она ругнулась на ошибочный код возврата команды “python -m pip –version”, и до обновления сертификата так и не дошла.
Типа, питон не может запустить модуль pip, потому оно и не работает.
Скачал этот скрипт certbot-auto заново с certbot.eff.org, но он точно такой же, ничего не менялось.

Погуглил, оказалось, в нём стОит заменить “python -m pip –version” на “pip –version”, и далее “python -m pip install –no-index –no-deps -U” заменить на “pip install –no-index –no-deps -U”.
Заменил, и тогда “certbot-auto renew” сработал, успешно обновив сертификат на очередные 3 месяца.

Но отчего такое могло случиться – не понимаю, раньше же этот скрипт успешно обновлял сертификат. А в старом Debian 7 (wheezy) уже давно ничего не обновляется, так что и питон не мог поменяться.

Потом ещё посмотрел на свой домашний сервер, где всё ещё использую тот же Debian 7, и оказалось, что и там сертификат не обновляется из-за такой же ошибки. Подправил и там certbot-auto точно так же, и он тоже стал работать.

Оригинал этой записи в личном блоге.

dil: (Default)
Monday, March 19th, 2018 06:23 pm

Теперь модно всё только по HTTPS. Даже когда ни на сервер, ни с него ничего секретного не передаётся.

Но для HTTPS нужен сертификат, причём лучше подписанный каким-нибудь официальным удостоверяющим центром, сертификат которого присутствует в большинстве браузеров. Потому что если у браузера нету сертификата этого Certificate Authority, он будет ругаться о небезопасном соединении.

Раньше за сертификаты приходилось немало платить. А теперь у Let’s Encrypt можно получить за бесплатно, только надо кое-что подстроить в веб-сервере, чтоб они могли проверить, что запрос на сертификат идёт действительно с этого самого сервера, и тогда выдадут сертификат. Я сначала попробовал настроить некоторые свои публичные сайты, и довольно быстро получил сертификат, вполне успешно воспринимаемый Firefox’ом и Chrome’ом. Кому интересно, можете посмотреть на https://dil.pp.ru/.

А потом я у них ещё и для домашнего веб-сервера тоже получил нормальный сертификат. Естественно, к этому серверу есть доступ снаружи. И хотя IP-адрес у него динамический, интернет-провайдером по DHCP выдаётся, и потому иногда меняется, но я в своём DNS-сервере сделал для него публичный hostname, привязанный к этому меняющемуся IP.

Оригинал этой записи в личном блоге.

dil: (Default)
Monday, January 29th, 2018 09:38 pm

Хоть и самоподписанный, то есть, запрос никому посылать не надо, всё своими руками делается, но вот оказалось, что если в имени хоста больше 64 символов, то openssl ругается на слишком длинную строку для CommonName, и сертификат не получается.

Я задал этот вопрос в ru_root, и там мне посоветовали для длинных имён использовать в сертификате не CN, а SAN (SubjectAltName) – дополнительное поле, которое существует в сертификатах 3 версии. Это оказалось не сильно просто, целый день потратил, многократно гуглив. Поэтому запишу подробности себе на память, ну и если ещё кому такое понадобится:

Read the rest of this entry » )

Оригинал этой записи в личном блоге.

dil: (Default)
Tuesday, August 15th, 2017 10:22 am

Глянешь на такое, и сразу хочется пойти на Startssl или Letsencrypt:

Оригинал этой записи в личном блоге.

dil: (Default)
Wednesday, November 30th, 2016 01:35 pm

Юзеры стали жаловаться, что не могут подключиться к одному OpenVPN-серверу. Ко всем остальным нормально, а к этому никак не получается. Проверял их конфиги, вроде всё правильно, посмотрел на сервер (он под pfSense работает), вроде тоже всё нормально. В логи посмотрел — никаких ошибок нету.

Попробовал сам подключиться — да, в натуре, не работает.. А раньше работало. Посмотрел в свой лог, сервер вполне себе отвечает, соединение устанавливается, аутентификация по SSL проходит, но потом соединение мгновенно рвётся. Клиент ещё три раза пытается соединиться — всё то же самое, соединение устанавливается и мгновенно рвётся Ну и потом клиент выключается.

Пошёл сравнивать настройки с другими серверами, где работает. Вроде как всё примерно одинаково, но там работает, а тут нет. Потом случайно нашёл на том же pfSense ещё один OpenVPN, на другом порту, типа, для служебного пользования, а не для юзеров. Попробовал подключиться к нему — работает! Начал внимательно сравнивать конфигурации, разница оказалась в том, что у неработающего сервера в конфиге был указан Certificate Revocation List, а у работающего — нет. Ясное дело, надо проверить, нет ли там лишних сертификатов. Хотя непонятно, кто и зачем мог бы их туда добавить. Скопировал CRL к себе в файлик, запустил openssl crl -in a.crl -text, а он, блин, ругнулся:
unable to load CRL
140046118483600:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: X509 CRL

Погуглил, как должен выглядеть этот файл в PEM-формате, посмотрел в файл, там в первой строчке ------BEGIN X509 CRL-----, в последней -----END X509 CRL-----, посредине что-то закодированное в base64, вроде всё как надо, а openssl’ю что-то не нравится..

Ну, высококвалифицированные сисадмины, кто понял, что тут не так??
Отгадка, как обычно, под катом.

Read the rest of this entry » )

Оригинал этой записи в личном блоге.

dil: (Default)
Wednesday, October 22nd, 2014 10:17 am

А как вам вот такое?

Это вовсе не Россия. И даже не Германия. Это wifi в IKEA в Ирландии.
Пока не авторизуешься, они перекидывают на свою страницу авторизации, это как обычно. Но какого хрена они при этом вместо своего сертификата подсовывают поддельный от того домена, который я набрал в браузере?

Read the rest of this entry » )

Оригинал этой записи в личном блоге.

dil: (Default)
Thursday, August 22nd, 2013 07:18 am

Впервые в жизни встретил в дикой природе отозванный SSL сертификат.
И где бы вы думали? На сайте британской пограничной службы:

Upd: как обычно, я одним из первых наступил на заботливо разложенные грабли. Посмотрел в revocation list, оказалось, что сертификат был отозван буквально сегодня ночью:

    Serial Number: 709187B1FBBE3A9CAAE55D2D44FBB61D
        Revocation Date: Aug 22 01:04:13 2013 GMT

Оригинал этой записи в личном блоге.

dil: (Default)
Wednesday, July 17th, 2013 01:39 pm

При этом у них сертификат не только самоподписанный, но и от другого сайта:

Оригинал этой записи в личном блоге.

dil: (Default)
Saturday, May 25th, 2013 12:40 pm

Пару дней назад pidgin внезапно ругнулся на сертификат от гугловского джаббер-сервера. В настройках у меня стоит talk.google.com в соответствии с рекомендациями Гугла, а сертификат почему-то от gmail.com:

Хуже того, через несколько минут он опять ругнулся, и оказалось, что сертификаты для gmail.com бывают разные:

Увидеть сертификат целиком мне не удалось, поэтому я не знаю, бардак ли это в самом Гугле, или это кто-то играет в MITM.
Ни у кого такого в последнее время не наблюдалось?

Оригинал этой записи в личном блоге.

dil: (Default)
Thursday, March 1st, 2012 02:15 pm

При обследовании одного сервера на предмет используемой версии OpenSSL обнаружилось, что… никакой:

# ldd apache/modules/mod_ssl.so |grep libssl
	libssl.so.1.0.0 => not found

Апач был собран афроадминистраторами из исходников. Но при сборке маршрут к библиотеке явно не указали, и в ld.so.conf тоже не написали, вот она и не находится. Тем не менее, апач таки успешно запускается, и SSL в нём каким-то чудом работает.

Дальнейшее препрарирование показало ещё более прекрасное:

# ldd apache/modules/libphp5.so |grep libssl
	libssl.so.1.0.0 => /opt/openssl/lib/libssl.so.1.0.0 (0x00002ad00e36d000)
	libssl.so.6 => /lib64/libssl.so.6 (0x00002ad0101b3000)

PHP, понятное дело, тоже был собран афроадминистраторами из исходников.

А теперь вопросы:
Вопрос 1, достаточно простой: КАК они умудрились собрать PHP с двумя разными версиями одной библиотеки одновременно?
Вопрос 2, посложнее: а нафига они это сделали?
Вопрос 3: а всё-таки как апач находит библиотеку при загрузке mod_ssl? Никаких LD_PRELOAD и LD_LIBRARY_PATH в запускающем скрипте апача нет, я проверял и в самом скрипте, и в environment’е запущенного апача.
Вопрос 4: и что надо с такими администраторами после всего этого сделать?

Оригинал этой записи в личном блоге.

dil: (Default)
Friday, September 2nd, 2011 06:04 pm

Changelog пакета ca-certificates:
ca-certificates (20090814+nmu3) squeeze-security; urgency=high

* Non-maintainer upload by the Security Team.
* Blacklist "DigiNotar Root CA" (Closes: #639744)

-- Raphael Geissert <geissert @ debian.org>  Tue, 30 Aug 2011 21:37:34 -0500

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

Ссылки по теме:
Fraudulent Google credential found in the wild
Did Google certificate forgers hit hundreds more sites?
World ostracizes firm that issued bogus Google credential
Mozilla addons site targeted in same attack that hit Google

Товарищам, в общем, уже не отмыться.

Оригинал этой записи в личном блоге.

Tags:
dil: (Default)
Friday, March 5th, 2010 11:00 pm

Сами мы не местные, поможите, кто чем может..

Вот если есть сертификат в PEM, подписанный честным CA, и отдельный от него приватный ключ, то каков кошерный Microsoft One Way приделать их к IIS 6?

В локальное хранилище сертификат замечательно импортируется, но без ключа. IIS, соответственно, его видит, но пользоваться им не может.

Рекомендация из MSDN — запустить certutil -repairstore my “SerialNumber“, после чего ключ волшебным образом найдётся и проассоциируется с сертификатом — попахивает мистикой относится, вероятно, к случаю, когда CSR генерировался на этой же машине. А если нет?

Нет, мы, конечно, с помощью openssl и такой-то матери засунули сертификат с ключом в один файл pkcs12 и повторили процедуру импорта, после чего IIS увидел сертификат вместе с ключом, но мне что-то не кажется, что это и есть рекомендуемый майкрософтом способ..

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

dil: (Default)
Friday, November 6th, 2009 04:06 pm

позволяет man-in-the-middle вставлять в защищенную сессию собственные данные.

Дыра в дизайне протокола, от реализации не зависит.

Ссылки по теме: http://www.phonefactor.com/sslgap/ http://extendedsubset.com/?p=8

Для плохо понимающих по-английски: http://www.opennet.ru/opennews/art.shtml?num=24132

via [ljuser]sem_lj[/ljuser]

Оригинал этой записи в личном блоге.

Tags:
dil: (Default)
Thursday, July 30th, 2009 04:01 pm

Некорректная обработка нулевого символа в CN позволяет получить честно заверенный сертификат, который будет приниматься за сертификат от чужого домена. Какая лепота..

Подробности

via [ljuser]motto[/ljuser]

Оригинал этой записи в личном блоге.
Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме.

dil: (Default)
Wednesday, March 25th, 2009 07:41 am
Безопасный Слой Гнезд, закодированная ведьмой сессия, имена файла мешанины, убейте шифр от списка полностью и другие перлы

via [livejournal.com profile] b_a_t

Upd: ух ты! они всё перевели.
"удалить сердцевину Apacheских особенностей Сервера HTTP, которые являются всегда доступными"
"непереплетенный, предразветвляющийся сервер сети"
"довольный тайник работал ключом к URIs"
"настройка HTTP просит и удары головой ответа"
"динамически формируемое массовое действительное оказание гостеприимства"

что ни фраза - то перл.
dil: (Default)
Tuesday, February 26th, 2008 04:06 pm
Попробуйте определить, чем подписан этот сертификат. В смысле, каким конкретно доверенным корневым сертификатом.

-----BEGIN CERTIFICATE-----
MIIFQjCCBCqgAwIBAgIRAO7B3AK2COUftYePLPg/lu8wDQYJKoZIhvcNAQEFBQAw
gdwxCzAJBgNVBAYTAkdCMRcwFQYDVQQKEw5Db21vZG8gTGltaXRlZDEdMBsGA1UE
CxMUQ29tb2RvIFRydXN0IE5ldHdvcmsxRjBEBgNVBAsTPVRlcm1zIGFuZCBDb25k
aXRpb25zIG9mIHVzZTogaHR0cDovL3d3dy5jb21vZG8ubmV0L3JlcG9zaXRvcnkx
HzAdBgNVBAsTFihjKTIwMDIgQ29tb2RvIExpbWl0ZWQxLDAqBgNVBAMTI0NvbW9k
byBDbGFzcyAzIFNlY3VyaXR5IFNlcnZpY2VzIENBMB4XDTA2MDgzMTAwMDAwMFoX
DTA4MDgzMDIzNTk1OVowgcwxCzAJBgNVBAYTAlJVMQ8wDQYDVQQREwYxMTEwMzMx
GzAZBgNVBAgTElJ1c3NpYW4gRmVkZXJhdGlvbjEPMA0GA1UEBxMGTW9zY293MQ8w
DQYDVQQJEwZNT1NDT1cxHjAcBgNVBAkTFVNhbW9rYXRuYXlhIDEgYmxkZyAyMTET
MBEGA1UEChMKT09PIFlhbmRleDEMMAoGA1UECxMDTk9DMREwDwYDVQQLEwhFbGl0
ZVNTTDEXMBUGA1UEAxMOc210cC55YW5kZXgucnUwgZ8wDQYJKoZIhvcNAQEBBQAD
gY0AMIGJAoGBAMIjtOLBSxqW5y7x0XcGkNbfNNuHtOiGKYOCBsDx5RaqQ4EuyyIf
LSp/m0GU0eZlb/O+mc77OUKJA1ls0yT0Ndms1XNhf1FHtuGi9sH1lHuOGumc9EwU
kOomIntjV+oFkO50glUsrJseXzFfmoNikZwnCy+QeDPvhy4pVvPFHE6FAgMBAAGj
ggGPMIIBizAfBgNVHSMEGDAWgBQ24Oh8bZ1Fke6Z5UJ2TXCzUDCsXjAdBgNVHQ4E
FgQUs0TRS5Wxg8GYoTyENrsXntFSkhwwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB
/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBEGCWCGSAGG+EIB
AQQEAwIGwDBGBgNVHSAEPzA9MDsGDCsGAQQBsjEBAgEDBDArMCkGCCsGAQUFBwIB
Fh1odHRwczovL3NlY3VyZS5jb21vZG8ubmV0L0NQUzCBsAYDVR0fBIGoMIGlMDig
NqA0hjJodHRwOi8vY3JsLmNvbW9kby5uZXQvQ2xhc3MzU2VjdXJpdHlTZXJ2aWNl
c18zLmNybDA6oDigNoY0aHR0cDovL2NybC5jb21vZG9jYS5jb20vQ2xhc3MzU2Vj
dXJpdHlTZXJ2aWNlc18zLmNybDAtoCugKYEnQ2xhc3MzU2VjdXJpdHlTZXJ2aWNl
c18zQGNybC5jb21vZG8ubmV0MA0GCSqGSIb3DQEBBQUAA4IBAQAe0qOi/VaXrTEP
Pwe3iuy/8gK5u5G1ViNJEfa+nrBDSyN9RHmqbPUPkBrryExENrwSabd2Ib13PpX4
Yo/nNz2lt63YM64Qk3HYxQyDf0fKHabIlQXl84gjs7hDlx6Z5dy016LkApov6nee
wAF5QA140NVpPZgAO+01iAIe3SmH59MywWLLuoL8cQ0wSE/abUSJHGFLSKo9c3Oj
NGEaWXaVAaamvlYdRplccldFPeo2vIVLEgV8x4CxkMAiJnpjT549WInUp3q0T/Tf
zpkUs5x5wuNywXQQkMjLGLbGjFS8pwgHbS9LHnnXIrqkBTDKZETJvQ5kMAOGk9Hb
TkpE3YIL
-----END CERTIFICATE-----


Желающие получить его самостоятельно, могут запустить несложную команду
openssl s_client -connect smtp.yandex.ru:25 -starttls smtp

TWIMC: тикет 200802199007965. От 19 февраля.
dil: (Default)
Wednesday, January 30th, 2008 05:36 pm
"Для того, чтобы воспользоваться «Интернет-Помощником», убедитесь, что:

* Ваш браузер поддерживает протокол безопасности SSL с длиной ключа шифрования не менее 128 бит, сертификат на который выписан Thawte Server CA (например, Microsoft Internet Explorer версии не ниже 5.5 или Mozilla версии не ниже 1.0);"


Я что-то никак не проникнусь смыслом выделенной фразы.
Клиентский сертификат для доступа к этому сайту не нужен.
Сертификат сайта действительно выписан Thawte, но публичный ключ в нём ключ 1024-битовый.
Сессия лично у меня шифруется 128-битовым ключом RC4, но сертификат к нему никакого отношения не имеет.

Так о чём это они?
dil: (Default)
Monday, January 16th, 2006 10:34 am
что на https://www.google-analytics.com/ используется очень честный сертификат, но.. от другого сайта. От www.google.com.

P.S. На морде там ничего нет, зато https://support.google.com/enterprise/ дергает оттуда скрипт https://www.google-analytics.com/urchin.js
Tags: