Прогоните ldd почти на любом сетевом бинарнике на нашем сервере — и в выдаче окажутся libssl и libcrypto. Это OpenSSL.
Зайдите по SSH и скачайте файл — почти наверняка это curl или прилинкованный libcurl.
Мы предпочли заметить их тихий и иногда незаметный труд и вклад в работоспособность любого сервера. Поэтому теперь is*hosting — спонсор curl и OpenSSL в рамках инициативы Hosting for Good.
curl — это утилита (и библиотека libcurl), которая передает данные по сети. HTTP, HTTPS, FTP и еще пара десятков протоколов. Она есть практически в каждом дистрибутиве Linux, в macOS, Windows, в машинах, телевизорах, роутерах — по оценкам, больше десяти миллиардов установок по миру.
Когда ваше приложение делает исходящий запрос, велик шанс, что работу выполняет именно libcurl. И почти все это с 1998 года поддерживает по большей части один человек — Даниэль Стенберг.
OpenSSL — библиотека, которая отвечает за криптографию под TLS. Каждое рукопожатие по https://, каждое шифрованное соединение между вашим сервером и клиентом с высокой вероятностью проходит через ее код. Замочек в браузере имеет ценность именно благодаря OpenSSL.
К сожалению, до недавнего времени проекты замечали, лишь когда они ломались. А за ними и часть интернета.
В апреле 2014-го исследователи раскрыли баг в механизме TLS heartbeat в OpenSSL. Уязвимость в версиях с 1.0.1 по 1.0.1f позволяла удаленному атакующему читать куски приватной памяти сервера — до 64 КБ за один запрос — без каких-либо привилегий. Хуже того, запрос можно было повторять сколько угодно раз, вытягивая все новые 64-килобайтные срезы памяти. На практике хакер может получать доступ к закрытым ключам, паролям и сессионным файлам cookie.
По одной из оценок под удар попало порядка 17% защищенных веб-серверов, а компании вроде Yahoo, Google и Facebook были вынуждены патчиться немедленно.
На тот момент OpenSSL поддерживала крохотная группа добровольцев с незначительным бюджетом. Разрыв между критичностью кода и поддержкой мейнтейнеров оказался слишком велик.
Ответом индустрии стала Core Infrastructure Initiative — попытка на ходу профинансировать проекты, на которые все опирались и которые никто не содержал.
Мы не хотим ждать внезапных инцидентов и поэтому вкладываемся в поддержку подобных проектов уже сейчас.
Наша логика довольно прагматичная.
Мы сами используем этот код. Провижининг, мониторинг, наши API-эндпоинты — curl и OpenSSL уже давно в графе зависимостей.
Наши клиенты используют этот код. На каждом VPS стоят обе библиотеки. Пока они хорошо поддерживаются, серверы и клиенты по умолчанию в большей безопасности.
На этом коде держится интернет. Системы, с которыми общается ваш бизнес, включая платежные шлюзы, API, сайты, опираются на те же библиотеки.
Для нас это скорее обслуживание инфраструктуры, от которой мы все зависим.
Hosting for Good подкреплена идеей, что инфраструктура не должна быть барьером. Ни для стартапа, который поднимает первую ноду в новом регионе, ни для одиночного мейнтейнера, который держит критичную библиотеку на донатах и упорстве.
Open-source проекты под нами — это та же инфраструктура, которая держится в основном на недофинансированных добровольцах. Для хостинг-провайдеров это аренда, которую стоило платить с самого начала.
Если вы разворачиваете свой хостинг и ставите хоть что-то на нем, то вы зависите от curl, OpenSSL и подобных проектов. Поддержать их дешевле и проще, чем кажется. Условно, это может быть цена одного кофе в месяц.
Два очевидных старта — это два проекта из этого поста:
Загляните в свой requirements.txt, package.json или вывод ldd, выберите проект, которым пользуетесь чаще всего, и поддержите его.