Pull to refresh
  • by relevance
  • by date
  • by rating

30 сентября: Let's Encrypt и конец срока действия IdenTrust DST Root CA X3

Information Security *Server Administration *

30 сентября 2021 14:01:15 GMT оканчивается срок действия корневого сертификата IdenTrust DST Root CA X3.

Это событие достойно вашего внимания по той причине, что после наступления этого момента ряд устаревших систем перестанут доверять сертификатам, выпущенным центром сертификации Let’s Encrypt. С учётом того, что на текущий момент Let's Encrypt предоставляет бесплатные криптографические сертификаты примерно для 250 миллионов доменных имен, а "устаревшие системы" - это порой системы возрастом всего 5-6 лет, вряд ли окончание срока действия сертификата DST Root CA X3 пройдёт для всех гладко и незаметно. В чём причина, кого конкретно это затронет, и что можно сделать?

Читать далее
Total votes 52: ↑52 and ↓0 +52
Views 20K
Comments 96

Вышла OpenSSL 3.0.0

Cryptography *Open source *GitHub


7 сентября 2021 года вышла OpenSSL 3.0.0. Библиотека поддерживает новые алгоритмы шифрования и работы с ключами, работает с протоколами SSL/TLS на уровне ядра Linux клиента, имеет новый модуль FIPS и получила интеграцию с протоколом управления сертификатами CMP.
Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Views 2.8K
Comments 1

использование очень длинных ассиметричных ключей в ssh

Lumber room
Привет, $username. Если вы примерно такой же криптоманьяк, что и я, то наверняка не ограничитесь регенерацией /etc/ssh/moduli, и вам захочется большего. Например, использовать для авторизации dsa-ключи длиннее 1024iB. Но проблема в том, что ssh-keygen из пакета OpenSSH, которым вооружено большинство UNIX'оидов, не хочет генерировать такие ключи. Причина такого поведения непонятна, man'ы отыслают на документ FIPS 186-2, в котором ничего толком не сказано, и ссылок на толковые объяснение сего ограничения нет. Поэтому, причин не попробовать понаступать на всякие криптограбли с длинными dsa-ключами нет. Осталось только сгенерировать такой ключ. Сделать это просто, но если не хочется тратить время на всякие ковырялки, то с методом можно ознакомиться под hubracut'ом

Читать дальше →
Total votes 8: ↑8 and ↓0 +8
Views 560
Comments 17

Установка сервера Google Wave (FedOne) на локальной машине под Windows

IT-companies
imageЗахотелось мне попробовать Google Wave Federation Prototype Server (FedOne) и решил я установить его на свой ноутбук под управлением Windows XP SP2.

Зачем? Ну, у меня уже был опыт комфортной разработки сайтов на своем «локальном интернете» (пакет Denwer включает Apache, PHP, MySQl и т.д.). Почему бы не поработать таким же образом с локальным волновым сервером, подумал я?
Сказано-сделано и вот, что у меня получилось. На все про все ушло часа три, причем большую часть этого времени занимала возня с установкой дополнительного программного обеспечения.

Процедура установки волнового сервера подробно и с картинками описана по-английски. Есть также русский перевод этой инструкции (сделал Иво Димитров aka Darwin).
Но установка под Windows имеет некоторые особенности, о которых я и хочу написать.

Подробности — под катом.

p.s. Если интересует Волна — заходите к нам в группу «Google Wave Россия».
Читать дальше →
Total votes 65: ↑52 and ↓13 +39
Views 1.8K
Comments 23

Мой защищённый контейнер

C++ *
При разработке проекта на C++ возникла необходимость создать защищённый контейнер. Вернее, кросс-платформенные на уровне исходного кода классы, поддерживающие защищённое хранение информации от нескольких байт до гигабайтов, что делает необходимым поддержку потокового шифрования/дешифрования.
Не имея альтернативы нанять на данном этапе профессионального криптографа, приступил к созданию велосипеда.
Данная статья написана для открытого обсуждения предлагаемых решений людьми, близкими к криптографии, а также для тех, кто будет проходить этот путь с нуля, как экономия их времени и сил.
Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Views 2.5K
Comments 8

Вариант простой backup-системы на Python, Bash и Git

Lumber room
Недавно появилось некоторое чувство дискомфорта когда я приступаю к работе. Чувство было не то чтобы сильным, но сосредоточиться мешало. Думал, лень. Оказалось, что все чуть сложнее :) Ноуту, за которым я работаю, уже почти 3 года; стоит на нем Mac OS X 10.6.1, но яблок на нем нигде не нарисовано, и система периодического резервного копирования на нем отсутствует как класс. В общем, не было ощущения стабильности и надежности, так что я занялся этим вопросом вплотную. Собственно, далее я опишу результат, который мое подсознание удовлетворил :) Может быть, кому-то что-нибудь будет полезно.

Резервное копирование кое-чего кое-куда с кое-какими фичами
Total votes 9: ↑6 and ↓3 +3
Views 2.1K
Comments 7

IMAP и POP Gmail через telnet или читать почту это просто

Lumber room
Я решил написать эту статью после того, как мне потребовалось написать простенький почтовик, который будет обслуживать почту из Gmail. Надеюсь, что кому-то стало проще жить — хоть в целом это выглядит как пособие от Капитана Очевидность :) Всю необходимую для написания клиента информацию я нашёл в гугле минут за 10 — но считаю, что простенький мануал типа такого — хорошая шпаргалка на будущее :)

В этом нет ничего сложного — правда! Фактически — написать свой почтовик — проще простого. Так же просто как и читать почту через консоль.

Далее — две маленькие статьи на живых примерах — как пользоваться POP3 и IMAP без почтового клиента.

Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Views 2.9K
Comments 9

Релиз OpenSSL 1.0.0 с поддержкой ГОСТ

Cryptography *
После 11 лет разработки организация OpenSSL выпустила первую официальную версию этого криптографического пакета с открытым исходным кодом для работы с SSL/TLS. См. официальное сообщение.

OpenSSL позволяет создавать ключи RSA, DH, DSA и сертификаты X.509, подписывать их, формировать CSR и CRT. Также имеется возможность шифрования данных и тестирования SSL/TLS соединений. В новой версии исправлено множество недостатков 0.9.8n, а также добавлены новые фичи (например, поддержка BeOS и российских алгоритмов шифрования, закреплённых в ГОСТах). Полный список изменений см. здесь.

Пакет OpenSSL основан на технологии SSLeay, написанной Эриком Янгом (Eric A. Young) и Тимом Хадсоном (Tim Hudson), которые неофициально закончили работать над ней в декабре 1998 года, после чего перешли в RSA Security.
Total votes 42: ↑36 and ↓6 +30
Views 13K
Comments 25

DIY SSL-certificate monitoring script для ленивых

Configuring Linux *
Продолжаю эпопею самодельных велосипедов.

Чуть-чуть истории. На работе срочно понадобился скрипт для мониторинга SSL-сертификатов наших веб-серверов. Мнения разделились, я предлагал вжиться в роль злоумышленника и просканировать все подсети компании, оппоненты — составить список и мониторить его.

Так как админчики зачастую ленивые и, бывает, не документируют свою работу, а так же любят что-то сделать и забыть(про существование сервера), я решил что мой способ лучше(и универсальней) и приступил к написанию скрипта.

Итак, что понадобится:
  • OpenSSL
  • Nmap
  • Bash
  • bc
  • awk

Скрипт сканирует заданные подсети на наличие открытого 443-го порта и, с помощью openssl, проверяет сертификат. Потом выводит сертификаты, которые истекают в ближайший месяц. Так же проверяет в днсе обратные зоны и, если не находит (запись в обратной зоне), радостно об этом сообщает. Результаты складываются в отдельные файлы(«хорошие сертификаты», истекающие/просроченные, ошибка соединения, айпи-адреса без обратной зоны) и в один общий файл.

Скрипт под катом.
Читать дальше →
Total votes 39: ↑31 and ↓8 +23
Views 3.2K
Comments 18

Некоторые аспекты разработки платежных систем. Часть II. One time passwords и ECDSA

Payment systems *
Доброго здравия, %username%!

В первой части я рассказал как можно минимальными усилиями защитить БД нашей платежной системы. Но, как заметил один из комментирующих, при компрометации web сервера появляется возможность подсмотреть все логины и пароли пользователей. Тут нам на помощь приходят One time passwords (OTP).
Под катом моя вольная интерпритация данного термина с использованием криптографии эллиптических кривых (ECC). Кстати говоря, платежные системы далеко не единственная сфера применения этой технологии.
Upd:
Ахтунг! При взломе веб сервера все таки есть вероятность подмены платежных реквизитов, так что все таки подписывать лучше не случайную строку (хоть это и защитит от полной компрометации системы, но не защитит от случаев, когда подменяются реквизиты прямо во время платежа), а хэш платежного документа, показывая юзеру при этом все реквизиты платежа в программе.
З.Ы. Генерировать ключ лучше тоже на стороне клиента
Читать дальше →
Total votes 21: ↑17 and ↓4 +13
Views 3K
Comments 57

Генерируем цепочку сертификатов с эллиптическими кривыми при помощи OpenSSL

Cryptography *
график функции y^2 = x^3-x+1Думаю многие слышали о криптографии эллиптических кривых, о том
что работает она во много раз быстрее RSA и при несоизмеримо меньшей длине ключа обеспечивает несоизмеримо большую стойкость ко взлому. Если не слышали, то можно глянуть на wiki или почитать в книгах А.А. Болотова.
К сожалению, данный вид шифрования слабо распространен. Я постараюсь объяснить как им пользоваться и поможет мне в этом OpenSSL.

Чтобы не быть голословным приведу сравнение необходимых длин ключей для обеспечения сравнимой стойкости ко взлому для различных алгоритмов. Нам интересна правая часть.
Сравнение алгоритмов
Видно, что популярным сегодня ключам RSA длиной 1024-2048 бит соответствует всего навсего 160-224битный ключ ECC (Elliptic Curve Cryptography)

Ну а чтобы понять какой RSA тормоз достаточно попробовать сгенерировать самый длинный из предложенных в таблице ключей (и пойти вздремнуть):

openssl genrsa 15360

Желающих прикоснуться к «next gen» криптографии, придуманной аж в 1985 году, прошу под кат.
Читать дальше →
Total votes 77: ↑75 and ↓2 +73
Views 20K
Comments 27

Настраиваем в IIS авторизацию по клиентским сертификатам при помощи OpenSSL

Server optimization *

Доброго времени суток, %username%!
Ранее я рассказывал о генерации сертификатов с эллиптическими кривыми.
Сегодня я расскажу о том как можно без особых усилий настроить в IIS авторизацию по обычным RSAшным клиентским сертификатам, сгенерировать сертификаты для сервера и клиента. И поможет мне в этом как всегда OpenSSL.
Для того чтобы все работало нам понадобятся минимум 3 сертификата:
  1. Корневой сертификат (Certificate Authority или CA). Им будем подписывать все остальные.
  2. Сертификат домена (сервера). Им IIS будет проверять клиентов. И наоборот, клиенты смогут проверить подлинность сервера.
  3. Сертификат(ы) клиента(ов)

image
Читать дальше →
Total votes 37: ↑25 and ↓12 +13
Views 47K
Comments 12

Восполняя пробелы Qt — Генерация ключа SSL

Qt *
Sandbox
К сожалению библиотека Qt, имея все необходимые компоненты для работы с openSSL не включает в себя кода для генерации ключей. Посему попытаемся исправить ситуацию.
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Views 6.6K
Comments 0

Удостоверяющий центр на основе OpenSSL

Information Security *
Sandbox
Когда работал системным администратором, возникла у меня необходимость реализовать VPN на несколько десятков филиалов компании, интранет и почту на серверах в Москве с суровой защитой и доступом через VPN вообще отовсюду. При этом придумать всю систему и организовать её развёртывание предстояло в одно лицо. Бюджет был в тысячи полторы долларов, было это 4 года назад, некоторое время честно пытался найти более-менее приемлемое по цене ПО, потом нечестно пытался найти что-то на торрентах – пусто. В итоге – OpenSSL и OpenVPN. В этом вводном тексте хотелось бы поговорить об OpenSSL.

В конечном итоге были развёрнуты:
  • центр выдачи сертификатов (CA – Certificate Authority, он-же УЦ – Удостоверяющий Центр, в отечественной терминологии организация, уполномоченная выпускать сертификаты),
  • интранет-сайт с авторизацией доступа по клиентским сертификатам,
  • VPN с взаимной аутентификацией серверов, клиентов и динамической маршрутизацией,
  • Авторизация клиентов на корпоративном IM сервере с помощью тех-же сертификатов.
Читать дальше →
Total votes 2: ↑2 and ↓0 +2
Views 26K
Comments 1

ActionMailer_X509: подписываем и шифруем письма прямо в Ruby On Rails

Ruby on Rails *
В одном из последних проектов понадобилось подписывать и шифровать с помощью сертификатов X.509 письма, отправляемые приложением на Ruby on Rails 3. Беглый поиск привёл к плагину actionmailer_x509, а вот дальше начались проблемы.

Выяснилось, что он не обновлялся с 2008 года, скорее всего не работает с Rails 3 (в частности, смущал комментарий автора: «It has been tested with Rails 2.0.1») и умеет только подписывать, но не шифровать письма. Поиск альтернативных решений ничего не дал, и пришлось знакомиться с плагином поближе.

Как я знакомился с плагином и писал новый gem
Total votes 32: ↑31 and ↓1 +30
Views 1.1K
Comments 6

Удаленный доступ из Windows на FreeBSD для начинающих

*nix *
Sandbox
Однажды надо было наладить удаленный ssh-доступ на рабочей машине под Win ХР к удаленному компьютеру под управлением FreeBSD.
Отдельных мануалов работе во Фрюшке, генерации ключей в OpenSSL и т.д очень много, но подходящего для данной ситуации не нашлось, поэтому я решила свести отдельные инструкции воедино.
Далее — описание всего процесса от подготовки платцдарма до проверки работоспособности.
Читать дальше →
Total votes 22: ↑11 and ↓11 0
Views 35K
Comments 22

Пишем ГОСТ криптопровайдер

Cryptography *
рис.1
Секреты создания CSP для Windows раскрыты в статье Ю.С.Зырянова.

Российские криптоалгоритмы ГОСТ реализованы в OpenSSL Gost.

Удивлен, что на просторах Интернета не удалось найти подтверждения, что кем-то был создан интерфейс криптопровайдера ГОСТ под Windows с использованием вышеприведенных инструментов.

Можно подумать, что эта задача под силу только крупным коммерческим компаниям, имеющим большой опыт в сфере информационной безопасности, к примеру, таким как:Опровергнуть, хотя бы частично, это утверждение и будет задачей данной статьи.
Читать дальше →
Total votes 71: ↑66 and ↓5 +61
Views 36K
Comments 41

Подключаем Рутокен ЭЦП к OpenSSL

Information Security *
Sandbox
UPDATE. Готовое решение для электронной подписи в браузере — Рутокен Плагин

Как известно, OpenSSL версии 1.0.0 и старше поддерживает российские криптоалгоритмы ГОСТ, причем поддержка этих алгоритмов полнофункциональна: реализованы подпись и шифрование в форматах PKCS#7, CMS, S/MIME в соответствии с российскими стандартами и RFC; протокол TLS с поддержкой российских шифрсьютов и т.п.

Таким образом, OpenSSL полностью совместим с проприетарными средствами криптозащиты российских производителей.

Для поддержки ГОСТов в него добавлен специальный «плагин» — engine gost. Вместе с тем существуют криптографические USB-токены с аппартной реализацией российских криптоалгоритмов на «борту». Примером такого токена является Рутокен ЭЦП, который, кстати сказать, сертифицирован как СКЗИ по классу КС2. Рутокен ЭЦП можно подключить к OpenSSL таким образом, что криптографические операции будут делаться на «борту» токена.

Для Рутокен ЭЦП имеется специальный кроссплатформенный плагин к OpenSSL — engine pkcs11_gost, который позволяет использовать аппаратную релизацию ГОСТов через стандартный интерфейс OpenSSL.

Читать дальше →
Total votes 23: ↑21 and ↓2 +19
Views 17K
Comments 8

Электронная подпись в браузере с помощью OpenSSL и СКЗИ Рутокен ЭЦП

«Актив» corporate blog Information Security *
UPDATE. Готовое решение для электронной подписи в браузере — Рутокен Плагин

Потребность в решениях, помогающих реализовать электронную подпись в «браузере», возрастает. Главные требования к таким решениям — поддержка российких криптоалгоритмов, обеспечение безопасности ключа и нормальное usability. В данном топике мы напишем браузерный криптографический java-апплет, в который интегрирован OpenSSL ГОСТ c модулем поддержки Рутокен ЭЦП. Этот апплет не требует установки какого-либо клиентского софта (кроме java-машины, конечно) и позволяет подписывать файлы через браузер в формате PKCS#7 с ипользованием аппаратной реализации российских криптографических стандартов на «борту» USB-токена Рутокен ЭЦП. Для демонстрации в топике будет дан пример HTML-страницы, использующей данный апплет. На странице можно сгенерить ключ внутри токена, создать заявку PKCS#10 на сертификат для этого ключа, получить тестовый сертификат, записать его на токен, подписать файл.

Архитектура решения представлена на рисунке:

image
Читать дальше →
Total votes 43: ↑36 and ↓7 +29
Views 21K
Comments 29