TGViewer
Channel Public Channel
I hate overtime

I hate overtime

@overtimehate

Some DevOps, SRE and IT development stuff
Subscribers
848
Photos
129
Videos
4
Links
961

Showing posts older than #1272 · Back to latest

Older Posts 20 shown
Post #1271 917
I hate overtime #как_это_работает (продолжение) и так, электронные подписи. Как мы с вами выяснили, их бывает 3: простая(ПЭП), усиленная неквалифицированная(УНЭП) и усиленная квалифицированная(УКЭП). Собственно что это такое и почему их 3? Давайте начнем с простого, т.е.…
#как_это_работает
(продолжение)
Итак, мы с вам научились гонять документики по процессам и даже подписывать, давайте теперь подумаем как их хранить. Казалось, можно было бы просто скинуть это в S3 и успокоиться, но тут нас ждет неприятный сюрприз: некоторые документы надо хранить аж десятилетиями (например трудовой договор, внезапно, надо хранить аж 75 лет), а вот подписи, к сожалению, протухают. Дело в том, что подписи, как мы помним, строятся на основе сертификатов, а у сертификатов есть срок действия, поэтому когда протухнет сертификат, то подпись автоматом станет невалидной. Что бы как-то победить это безобразие, нашу подпись надо усилить до специально-обученного формата CAdES-A. Давайте разберемся, что это такое и как это нам поможет. Обычная ЭП(формата CAdES) содержит в себе хеш документа, шифрованный закрытым ключем, архивная чуть сложнее, т.к. в нее добавляется инфа о сертификатах, подписаная меткой доверенного времени. Идея в том, что мы отправляем хеш нашего документа с подписью в некие «часы»(Timestamp Authority aka TSA, например какой-нибудь Jinn Server), которые ставят на подпись отметку доверенного времени. Метка доверенного времени — это, внезапно, тоже подписанный документ и подписываться будет, в простейшем случае, хеш самой подписи + текущее время, а подписывать будут те самые «часы» своим сертификатом. Вот примерно так работает формат CAdES-T. Весь фокус в том, что серт «часов» живет очень долго… но тоже может быть отозван (например в случае компрометации). В этот момент мы делаем ход вальтом и начинаем лепить таймстампы не просто из подписи, а еще и из сертификатов, в том числе и отозванных(CRL), что позволяет нам, на самом деле, просто обоновлять таймстампы в случае протухания любого ключа (в том числе и ключа «часов»). Примерно так и работает CAdES-A.

Ну вот как-то так и победим основной челендж архивного хранения. Останется совсем чуть-чуть: реализовать все хотелки 69 приказа Росархива (сделать карточку документа со всеми метаданными, положить ее в zip рядом с документом, занести в каталог и вот это все), но это уже не проблема, а расходы 🙂
Post #1270 1.15K
#go
Котаны, случайно нашел бриллиант в куче ВК видео: видос трехлетней давности с Гидры про то как Го делает асинхронщину (шедулит горутины).
Спойлер: и тут тоже ивент-луп из семи залуп да еще и не один
VK Видео Dmitry Vyukov — Go scheduler: Implementing language with lightweight concurrency Hydra, info and tickets: https://vk.cc/cc3CSR #hydraconf #IT #jugrugroup #concurrent #distributed
Post #1269 1K
Ну а пока я рожаю очередную часть нашего эпоса про хранение документиков, можно почитать интересное про странные цифровые подписи. Честно скажу, что ни одной из них я ни разу вживую не видел, но для любителей криптографии будет увлекательно
Post #1267 1.1K
I hate overtime #как_это_работает Котаны, у меня тут чутка прибавилось желания жить свободного времени и я решил вдохнуть в этот канальчик вторую жизнь и начну, пожалуй, с теперь (надеюсь) постоянной рубрики «как это работает». Так уж получилось, что я щас работаю в достаточно…
#как_это_работает
(продолжение)
и так, электронные подписи.
Как мы с вами выяснили, их бывает 3: простая(ПЭП), усиленная неквалифицированная(УНЭП) и усиленная квалифицированная(УКЭП). Собственно что это такое и почему их 3? Давайте начнем с простого, т.е. с ПЭП. На самом деле, ПЭП — это просто надпись на заборе «здесь был Вася». Т.е. прямо на документе рисуется некий штамп, который позволяет идентифицировать подписанта. Прям максимально тупой аналог автографа на бумаге. Ну ок, в чем проблема, зачем еще 2 подписи? На самом деле проблемы 2: во-первых, после подписания ПЭПом документ может быть изменен. Т.е. ПЭП по-дефолту никак не контролирует изменения документа после подписания. Ну ок, скажете вы, давайте добавим в ПЭП временную метку, или, еще лучше, хэш документа. Это конечно поможет, но есть еще и вторая проблема — лигитимность подписи. Дело в том, что подписывает ПЭПом сама система документооборота, которая не является СКЗИ и вообще-то не обеспечивает никаких функций безопасности, поэтому и подделать эту подпись абсолютно не проблема. И вот тут-то вот на сцену выходят усиленные подписи (УНЭП и УКЭП). Вот эти подписи уже формируются через взрослую криптографию и происходит это в специально-обученной программе Удостоверяющий Центр (или просто УЦ). Проще всего представить все это безобразие как некую пару ключей ассиметричного шифрования (тем более, что именно так и было в прошлой редакции закона о подписях). Т.е. у нас есть задача: всегда знать, что документ был подписан определенным лицом, ну и мы так-то отлично умеем ее решать. Даем «лицу» секретный ключ, которым он зашифрует(подпишет) документ, а всем остальным дадим публичный ключ, с помощью которого они смогут пойти и проверить подпись и вуаля! На самом деле, документ даже не шифруют, а от него берут хеш и хеш шифруют, формируя как раз ту самую подпись, которую просто кладут рядом с документом или даже встраивают в документ. Примерно так и работают УНЭП и УКЭП. Для того что бы гарантировать, что документ не будет изменен после подписания, в подписи присутствуют таймстампы. Ну кажется все, ща заживем, осталось только разобраться почему усиленных подписей аж целых 2. Тут все дело в этом самом УЦ, он в этой схеме выполняет аж 3 функции: во-первых, он выпускает те самые приватные ключи, которые позволяют подписывать документы, во-вторых, он готов эти ключи у себя хранить, а в-третьих, если очень попросить(и передать хеш документа), то может даже и подписать документ усиленной подписью с меткой времени и прочими крипто-прибаутками. Осталось всего-то ничего, этот УЦ у себя завести и вот тут вот интересное: если для работы с УНЭПами вам достаточно просто купить КриптоПро DSS или что-то похожее, то если вы хотите УКЭПы, то вам придется еще и вызвать товарищ-майора и пройти с ним в отделение 10 кругов ада, что бы ваш УЦ стал квалифицированным. Поэтому, УЦ для УКЭПов крайне мало и подавляющее большинство пользуется каким-нибудь Госключем, а УЦ для УНЭПов хоть и побольше, но тоже не в каждой избушке свой, потому что стоят они как крыло самолета, благо на просторах необъятной хватает SaaSных УЦ.
Ну ок, завели/нашли/украли себе УЦ, подписывать-то как? Вот тут все зависит от УЦ и его фичей, например, часто ваша подпись может лежать в некоем контейнере(читай КриптоПро CSP) прямо у вас на компьютере. Когда вам понадобилось что-то подписать, ваш клиент (читай браузер с КриптоПро плагином) вытаскивает подпись и прилепляет ее на документ. Классно-великолепно…а как быть, если у нас подписывает, например, мобильное приложение? Заставлять всех пользователей мобильный КриптоПро ставить? Что бы не хранить ключи локально в специальных криптоконтейнерах мы можем попросить за нас это делать УЦ. В этом случае, когда мы будем что-то подписывать, мы просто расчитаем хеш документа и отправим его в УЦ. УЦ каким-то образом нас поймет кто мы такие, найдет у себя наш ключ и подпишет им документ. Вуаля, мы великолепны! Теперь мы умеем гонять документы по процессам и даже подписывать их подписями. Теперь осталось всего-ничего: научиться их хранить
Post #1266 841
Внезапно, спустя почти 5 лет собрался что-то попрограмировать на C# и понял, что за эти годы язык и все что вокруг него поменялось… примерно никак :) Такое ощущение, что за пять лет изобрели только рекорд-типы (HKT что бы сделать рекорды полезными и либы для рекордов, кстати, не изобрели) и фреймворк над фреймворком. Котаны, есть сишарперы, расскажите, может чего-то вышло таки полезного?
Post #1265 911
#как_это_работает
Котаны, у меня тут чутка прибавилось желания жить свободного времени и я решил вдохнуть в этот канальчик вторую жизнь и начну, пожалуй, с теперь (надеюсь) постоянной рубрики «как это работает». Так уж получилось, что я щас работаю в достаточно крупном вендоре отечественного ПО, которое вот только чайники не делает и могу чутка посливать вам инсайдерской инфы о том как устроены разные велелые програмки, которыми вы каждый день пользуетесь на рабочих местах)
Начнем, пожалуй, с того, с чем я имею дело каждый день, а именно, с кадрового документооборота (или просто КЭДО).
Вообще КЭДО, если сильно утрировать, это крайне простая штука: берем движок процессов (вполне сойдет всем знакомая Camunda), добавляем умение подписывать электронными подписями и вуаля! Охапка дров и КЭДО готов 🙂 На самом деле, все, конечно, несколько сложнее.
Для начала, подписей бывает 3: простая(ПЭП), неквалифицированная(НЭП) и квалифицированная(КЭП), и если вы хотите (а вы хотите) соблюдать законодательство, то вам придется скорее всего научиться во все 3. Законодательство, кстати, нам подарило всего-то 2 закона: № 63-ФЗ "Об электронной подписи" и № 377-ФЗ «О внесении изменений в Трудовой кодекс Российской Федерации», где первый рассказывает что такое ЭП, а второй какие документы можно подписывать какой ЭП. Внезапно, например, есть доки, которые до сих пор можно подписывать только ручкой в кадрах. Про то что такое ЭП, как ей подписывать и вот это все в следующий раз
Помимо подписей вам в вашем КЭДО еще крайне желательно было бы иметь архив. Дело в том, что ФЗ 377 еще и регламентирует сколько должны жить различные документы в вашем КЭДО и там, внезапно, есть доки со сроком жизни 75 лет (КАРЛ!). Вряд ли вы хотите хранить у себя в живой системе ПДФки 75летней давности, поэтому родина дала нам архив. Про архив тоже, видимо, будет отдельная часть.
Ну а так, накручиваем рюшек и бантиков и вот оно, цифровая трансформация вашего HR 🙂
Post #1264 2.17K
#devops #swarm
Для тех кто, как и я, все еще нежной любовью любит Docker Swarm обнаружил шикарный сайтец с набором гайдов по сворму. Тут желающие найдут инструкции как
- поднять ингрес на traefic без палок шишек и ручного vrrp
- настроить прометеус с нодэкспортерами (а с оверлейной сетью сворма это то еще испытание)
- кучу других вкусностей и полезностей
dockerswarm.rocks Docker Swarm Rocks Docker Swarm mode ideas and tools
Post #1263 3.1K
#postgres
Думаю, что ко всем рано или поздно приходят безопасники и просят пошифровать уютненький кластер постгреса, но, к сожалению, в ванильном постгресе нет ничего для шифрования. Для тех кто долго и мучительно выбирал между pg_crypto/костылем на драйвере в ОРМ/LUKSом, чуваки из arctype сделали обзорный гайд во все это мракобесие.
Их рецепт по TDE в конце статьи не рабочий, но обзор тем не менее все еще годный
Post #1262 3.75K
#k8s
Все кубернетесоводы наверняка всё знают про ингресы, поэтому сегодня я вам принес про темную лошадку сетей k8s. Встречаем egress. Очень советую почитать тем, у кого лютуют безопасники вооруженные файрволами
docs.tigera.io Kubernetes egress | Calico Documentation Learn why you should restrict egress traffic and how to do it.
Post #1261 4.05K
#auth #админство #security
Инструкция по настройке времен жизни токена в ADFS. Есть настройки и на SSO токена самого ADFS и SAML assertion’а. Хозяюшке на заметку так же полный список всех пропертей Relying Party Trust
Jacques Dalbera's IT world ADFS settings WebSSOLifetime and Token Lifetime, NotBeforeSkew This post will try to explain some relevant parameters from the ADFS side. I’m not saying the defaults aren’t good, that’s something you’ve got to decide for yourself. Introduction WS-Fed/SAML prot…
Post #1260 5.06K
#network #proxy
В очередной раз объясняя коллеге как клиенты работают с HTTP-прокси(нет, не просто меняем урл на урл прокси-сервера) понял, что надо найти хорошую статью. Внезапно нашлось с трудом, так что решил поделиться
Ibm Advanced HTTP and TCP proxy configuration The HTTP protocol runs on top of the TCP protocol, but provides extra information about the message destination. For that reason, the two proxies are configured differently.
Post #1259 4.25K
#security
Оказывается CISA(Американский аналог ФСТЭК) выпускает очень годные гайды по защите всего и вся. Вот, например, гайд по защите k8s.
Ради интереса поискал аналогичную инфу у ФСТЭК. Не нашел(
Post #1258 3.86K
Дорогие подписчики, всегда старался держать канал в стороне от политики, но то что сейчас происходит -- это полный п$здец. Украинцы, держитесь! Сил вам и здоровья! #нет_войне
Post #1257 6.34K
Post #1256 5.3K
Всем привет! Котаны, а тут вышли видосы с последней Гидры.
Конфа вышла -- огонь! Бесспорным лидером по количеству докладов стал TLA+, но лично я дико кайфовал с доклада Naama Ben-David. Прям вся боль катастрофоустойчивости за полтора часа. Крайне рекомендую!
Post #1255 4.27K
#arch
Так уж получается, что последнее время на работе чаще рисую картинки в draw.io чем кодец в ide. И проблема обычно в том, как при разрастании картинки, не превратить ее в паутину из стрелочек. Недавно открыл для себя вот такое: https://blogs.mulesoft.com/api-integration/strategy/a-visual-language-for-digital-integration/ и пока что доволен как черт! Тем кто часто рисует data-flow диаграммы и страдает -- очень рекомендую!
Кстати, в блогпосте есть несколько ссылок на крутейшие книги по системной архитектуре. Подарочек тем, кому нечего читать;)
MuleSoft Blog A visual language for digital integration In my last blog, I introduced terminology that can be used to label common concepts and patterns in the realm…
Post #1253 2.94K
ДевОпс Інженер 🇺🇦 Sloth, Pyrra Весной я упоминал спеку OpenSLO и вероятность реализации оператора, или контроллера по этой спецификации для создания дашбордов или алертов. Эта поделка была удачно забыта, но вчера в соседнем чатике нахожу тулу: ✅ https://github.com/slok/sloth…
вот люблю красивые решения для мониторинговых дашбордов с зонтиками, бантиками и интуитивным дрилл-дауном. Но тут нашел просто идеал дашборда.
Даже если выкинуть весь хайповый мусор типа AI и NLP, то оно красивое, удобное и полезное.
Самое интересное, что видосу уже 5 лет)
YouTube Intelligent Dashboard to help total factory optimization Fujitsu Forum 2016: http://journal.jp.fujitsu.com/en/ff2016/
Post #1252 1.66K

Forwarded from ДевОпс Інженер 🇺🇦 (Oleg Mykolaichenko)

Sloth, Pyrra

Весной я упоминал спеку OpenSLO и вероятность реализации оператора, или контроллера по этой спецификации для создания дашбордов или алертов. Эта поделка была удачно забыта, но вчера в соседнем чатике нахожу тулу:

✅ https://github.com/slok/sloth

Суть Sloth - описать SLO, дашборду и алерт как манифест в YAML, в OpenSLO формате. Прикол!

В README по ссылке есть пример, а в репозитории - helm чарт.

Дальше, в комментариях вижу:
✅ https://github.com/pyrra-dev/pyrra

Pyrra - status page на анаболических стероидах и тестостероновых бустерах. Выглядит космически - собираем все сервисы платформы, и генерим одну UI для SLO. Бомба.

В issues спрашивают, будет ли поддержка описания в OpenSLO, ответ - ‘yes, for sure’.

Спонсор поста - @oleg_log, подсмотрел там эти решения.

Наша реализация с grafana-operator и GrafanaDashboard CRD внезапно стала выглядеть как Monitoring Platform 101, но уже отчетливо видно, где следующая итерация. 😅
GitHub GitHub - slok/sloth: 🦥 Easy and simple Prometheus SLO (service level objectives) generator 🦥 Easy and simple Prometheus SLO (service level objectives) generator - slok/sloth
Post #1251 1.43K

Forwarded from dd if=/dev/stuff of=/dev/tg

Я сдул пыль со своего блога, немного его причесал и выложил туда все публичные статьи, которые писал про функциональное программирование, в том числе переведенные на английский статьи из цикла «Введение в fp-ts» с Хабра.
Встречайте: https://ybogomolov.me 🤘🏻

Серия "Intro to fp-ts":
https://ybogomolov.me/01-higher-kinded-types
https://ybogomolov.me/02-type-classes
https://ybogomolov.me/03-nullables-exceptions
https://ybogomolov.me/04-tasks

Серия #MonadicMondays:
https://ybogomolov.me/monadic-monday-compilation-april
https://ybogomolov.me/monadic-monday-compilation-may
https://ybogomolov.me/monadic-monday-compilation-june
https://ybogomolov.me/monadic-monday-compilation-july

Прочее:
Статья про типобезопасный фронт: https://ybogomolov.me/typesafe-typescript
Статья про пакет circuit-breaker-monad: https://ybogomolov.me/circuit-breaker-in-functional-world
Недавняя заметка про комментарии к функциям как образовательный ресурс: https://ybogomolov.me/comments-as-education

В дальнейшем все материалы, которые я буду создавать, будут в первую очередь публиковаться именно в блоге.
ybogomolov.me Intro to fp-ts, part 1: Higher-Kinded Types
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →