Создаем reverse proxy с mTLS на Ktor

Если вы любите интегрироваться с внешними системами, которые придерживаются высоких стандартов безопасности, то наверняка сталкивались с такой штукой как Mutual TLS (aka взаимная TLS аутентификация или mTLS). Ничего особенно сложного в такой интеграции нет. За исключением двух нюансов:

  1. Интеграцию придется делать в каждом сервисе
  2. В каждый сервис нужно положить клиентские сертификаты для прохожения хэндшейка mTLS

И если с первым нюансом можно как-то жить и мириться, то второй уже вызывает гораздо больше проблем и приводит к грустным лицам вашей команды инфобеза. Чтобы сделать их снова счастливыми, а заодно ликвидировать потребность писать один и тот же код в каждом сервисе — можно сделать умный reverse proxy, который возьмет на себя все тяготы и лишения связанные с хэндшейком и возможно какой-то другой дополнительной логикой, которую накрутили авторы внешней системы. Делать это хозяйство будем на Ktor, потому что почему бы и нет ;)

[Далее]

Kotlin ❤️ Backend

Какое-то время назад я проводил сравнение JVM фреймворков для разработки backend-сервисов. Задача оказалась довольно амбициозной и затратной по времени, поэтому я ее так и не доделал до конца. Но часть вещей все же удалось сравнить из описать. Я решил, что не пропадать же тексту зря и публикую здесь кусок который касается набирающего сейчас популярного фреймворка - Ktor.

[Далее]

Вздулся аккумулятор на IQAir AirVisual Pro

Пару лет назад я загорелся идеей мониторинга качества воздуха и уровня углекислого газа. Решив, что у меня не так много свободного времени, я не стал как обычно колхозить свое ноу-хау и по советам в интернете после тщательного изучения вариантов купил AirVisual Pro.

avp

Выглядело все страшно красиво и имело такую же страшную цену. Гарантию на сей девайс мне дали - 2 года. Хотя за его цену, как мне кажется, они должны давать лет 10 гарантии и пожизненную улыбку.

[Далее]
ifixit 

Что нового я узнал на конференциях от JUG.RU

По роду своей деятельности мне повезло получить FullPass на все конференции, которые организовывают ребята из JUG.RU и хочется написать несколько слов о докладах, которые я послушал, покритиковать их или наборот рассказать о полезности.

Сразу скажу, что я не стремился посмотреть все доклады. Просто выбрал те, что мне показались наиболее интересными по названию/описанию, и посмотрел. Поэтому вся эта подборка лишь отражает круг моих интересов и может вам совершенно не пригодится. Если желание читать все еще осталось, то жмите “далее”.

[Далее]

Старый Drozer MacOS не испортит

Drozer - The Leading Security Assessment Framework for Android.

Обычно я не использую Drozer, а еще реже (никогда) я использую его на MacOS. Обычно это все уже есть в Kali Linux и устанавливать ничего не нужно. Но необходимость появилась, а вместе с ней пришлось знатно покувыркаться и поправить скрипты самого Drozer-а чтобы все заработало. После чего я все удалил, потому что в системе было знатно насрано после всех этих замечательных туторилов и issue на гитхабе. В итоге стало понятно, что есть два нормальных способа установки. Через Docker, и так как показано ниже. Все остальное - зло, ад и слезы по бездарно потраченным часам жизни.

[Далее]

Шифрование данных в Python без херни

Этот пост должен был выйти сильно раньше, но я не смог собрать Tink для Python-а и поэтому остался ждать релиза 1.4.0 где они пообещали добавить уже собранный пакет в PyPI. Наконец-то релиз настал, а с ним появилась возможность нормально покопаться в питонячьих биндингах для Tink и рассказать об этом вам.

[Далее]

Путь программиста

Мне тут дядя из Джанхота новую партию чая прислал, а под чай, как известно, хорошо пишутся всякие разглагольствования на тему будущего, прошлого и настоящего. Говорить сегодня будем о программистах, я же больше ни про кого ничего не знаю. Расскажу, как я вижу путь развития современного программиста и дам в меру безполезные советы о том как идти по этому пути.

[Далее]

Секретные технологии документирования API

Disclamer: Все совпадения случайны. Если вы узнали в этом тексте себя, то это ошибка и ваше больное воображение. Я это все придумал.

Темные времена, когда спецификации API создавались в файлах .txt и .docx прошли и теперь все используют нормальные форматы написания спецификаций. Да-да, моей наивности нет предела. В ходе очередного обсуждения с менеджером выяснилось, что есть заказчик с сервером которого нужно проинтегрироваться.

[Далее]

Как выбрать сервер для web приложения

Привет. Можешь помочь с требованиям к прод серверу ? Какой мощности нам хватит?

Вот такое сообщение я получил от менеджера в конце рабочего дня. Стоит ли говорить, что приложение для которого нужно было подобрать сервер еще не существовало даже в виде требований. Следовательно, посчитать хоть какой-то примерный RPS не представлялось возможным.

[Далее]