Canary Releasing (Канареечное развертывание). Вы внимательно следите за метриками ошибок и производительности на этой «канареечной» группе. Ключ к успеху — автоматический мониторинг и откат. Система сама должна обнаружить всплеск ошибок и откатить релиз
ОК. канарейка убита, инженер не проснулся. но птица накакала в Базу: запорото ~10К записей. что дальше?
Нур утверждает, что в своей основе программирование — это построение теории, то есть общей ментальной модели того, как работает система...
Генерируемые моделями программы не просто лишены фундаментальной теории, но и вовсе являются безличными. Такой код строится на основе статистических паттернов без понимания...
Гмм... А ведь мы это видели!
На эту работу нас подвигло желание узнать, почему в программной инженерии некоторые люди на порядок, а то и два, продуктивнее большинства людей. Если бы так было у каменщиков, то строительная индустрия очень заинтересовалась бы причиной. Проблема, конечно, в том, что о каменщике за работой можно снять фильм, а затем его действия проанализировать. Но невозможно увидеть, что делают великие программисты, да и они сами не смогли бы объяснить разницу, хотя большинство из них и захотело бы это сделать... https://ders.by/pp/ps/index.html
Да, речь снова про Камень! Без понимания и люди и машины обречены вести себя как дураки:
Все мы разделены Природой на два подмножества: понимальщики и запоминальщики.
Ни понимальщики, ни запоминальщики даже не догадываются о существовании друг друга!
«Цель состоит в том, чтобы заставить людей, планирующих террористические атаки в Австрии, чувствовать себя менее защищёнными — и повысить чувство безопасности всех остальных»
прекрасный слог!
вражеские государства вас заставят использовать ГОСТ, потому что всегда смогут вскрыть все шифровки. они это используют для продвижения терроризма, наркомании и детской порнографии!
дружеские государства вас заставят использовать ГОСТ, потому что всегда смогут вскрыть все шифровки. они это используют для защиты от терроризма, наркомании и детской порнографии!
в С++ сейчас много Чудовищного... но выход есть! все еще можно легко и красиво, когда выбросишь чепуху:
предупреждаю: Ваш взгляд на Мир C++ уже не останется прежним! Дело в том, что я нашел изящное решение Большой Проблемы. Но оно сотрясает Основы... https://ders.by/cpp/norefs/norefs.html
Теперь стало понятнее, что именно вас смущает - вас гложет "проблема нулевого пароля", и вам кажется, что решения нет.
меня не смущает) я ТОЧНО знаю, что решения НЕТ.
это как если вы мне принесете способ точного построения правильного семиугольника с помощью циркуля и линейки - я даже не стану его смотреть.
Допустим вы запускаете ваше приложение в контейнере кубернетес. При запуске внутрь контейнера может быть помещен jwt, с помощью которого можно аутентифицироваться в Сервисе секретов
а почему бы сразу не аутентифицироваться в Сервисе БД? Vault не нужен.
Дополнительно можно настроить, чтобы jwt был выписан на короткий срок, поэтому аутентифицироваться с ним в СервисеСекретов можно только сразу
все то же самое можно сделать и в Сервисе БД. Vault не нужен.
Другой вариант - помещать рядом с приложением wrapped secret для подключения к СервисуСекретов.
...и для подключения к Сервису БД. Vault не нужен.
Из коробки базы данных (в нашем примере) не поддерживают одноразовые пароли
вот, это уже хоть как-то похоже на аргумент. но тут вполне очевидно, что:
нет никаких проблем поддержать эту чепуху сразу в самом Сервисе БД.
если одноразовых паролей нет, то в БД вы заходите с многоразовым и этот пароль может уплыть куда не надо! безопасность не улучшилась ПО СУТИ: ваше слабое звено так и осталось слабым.
Ну и вообще никто не утверждал, что "секрет от сервиса секретов" вообще не существует. Он существует...
мы ходим по кругу!
если он существует, то вам нужен СервисСекретов2.
а если не нужен, то не нужен и СервисСекретов1.
инжектирует секреты из СервисаСекретов прямо в env ПРОЦЕССА с приложением
я надеюсь вы шутите.
секреты в env ПРОЦЕССА - это ДИКАЯ ДИЧЬ!!! никогда так не делайте!
скажу сразу: статья полезная! ее лучше читать, чем не читать :) но вот в деталях...
прежде всего, ОЧЕНЬ много опечаток!! может кто-то считает, что для программиста это нормально, но... 100% такое же будет и в коде ;((
нарушает локальность данных в кэше, первые несколько обращений к данным вектора (обычно 10-15) пока внутренние структуры CPU не адаптируются к новому паттерну, проходят "вхолодную"
это как ТАКОЕ возможно?! что, первые несколько обращений CPU не загружает данные в кэш?!?! жесть.
Однако за убогость и всеядность приходится платить производительностью
Интересный вывод. А можете пояснить, почему "обязательно"? И что вообще в этом плохого?
да, вывод чуть-чуть сотрясает. но на то есть Причины.
а для начала отметим, что ОБЪЕМЫ вашего ответа трясут не меньше :) и это прекрасный образчик security through obscurity!
на всякий случай, сразу уточню: In security engineering, security through obscurity is the practice of concealing the details or mechanisms of a system to enhance its security. This approach relies on the principle of hiding something in plain sight, akin to a magician's sleight of hand or the use of camouflage. It diverges from traditional security methods, such as physical locks, and is more about obscuring information or characteristics to deter potential threats... да-да, я тоже умею бросать простыню ;)
а теперь к Делу.
если у нас есть Клиент, которого не пускают к СерверуБД без пароля, то это значит, что он "обязательно" обязан предъявить пароль! из соображений БЕЗОПАСНОСТИ.
Клиент также должен где-то пароль хранить, но не в конфигурационном файле! из соображений БЕЗОПАСНОСТИ.
что предлагают продавцы СервисаСекретов? они ему предлагают хранить пароль в СервисеСекретов. но очень не любят сказать, а где же несчастному Клиенту хранить пароль для самого СервисаСекретов ;)
ведь если в СервисСекретов безопасно ходить без пароля, то точно так же безопасно ходить без пароля сразу же в СерверБД.
а если к СервисуСекретов нужен пароль, то Клиенту необходим СервисСекретов2 для паролей СервисаСекретов. а еще потом СервисСекретов3 для паролей СервисаСекретов2... тут только успевай платить ;))
надеюсь теперь понятно, почему клиенты СервисаСекретов платят за кашу из топора. понятно клиентам, естественно.
ЗЫ а дополнительные фишки аудита и ротации - это уже потом. когда закрыта ГЛАВНАЯ ПРОБЛЕМА безопасности! а она у вас не закрыта.
положительно! вот забавное дополнение: https://www.linkedin.com/pulse/how-gos-inherent-flaws-can-insensibly-distort-results-derevyago-x7r8f
ЗЫ очень странно не видеть здесь классику "The Go Programming Language" от Donovan и Kernighan -- там точно можно ПОНЯТЬ, что ребята вообще хотели...
ЗЗЫ а, ну и мелочь про карты: https://habr.com/ru/posts/926626/
мда... ну, для начала:
ОК. канарейка убита, инженер не проснулся.
но птица накакала в Базу: запорото ~10К записей. что дальше?
Мне моя брезгливость дорога,
мной руководящая давно:
даже чтобы плюнуть во врага,
я не набираю в рот говно.
о! палатки, романтика...
там очень интенсивно отдыхают перед сном и надобны железные договоренности! чтобы в любом, так сказать, состоянии - организм сделал правильно:
снег на чай справа от входа. а внезапные огорчения - слева!
есть еще интересный тесткейз - две палатки входом ко входу. и народ его часто находит.
Гмм... А ведь мы это видели!
Да, речь снова про Камень! Без понимания и люди и машины обречены вести себя как дураки:
классный троллинг!
спасибо
а теперь взгляните на DerSort: он быстрее сортировки вставками, и деален в обе стороны!
https://ders.by/alg/dersort/dersort.html
АНБ врать не станет.
Если в шифре нет дупла,
он никогда не станет Государственным Стандартом.
прекрасный слог!
так и знал, что спалится контора))
если вам дали N-битный ключ, то любые из этих N-бит можно изменять каким угодно способом! а ежели нельзя... ;))
Получил ключ от дяди? Инвертируй в нем половину каких-либо бит. Потом используй.
Зашифровал файл? Инвертируй 200 каких-либо бит в начале. Потом высылай.
ЗЫ "вы не будете бегать за тысячей школьников" https://habr.com/ru/companies/selectel/articles/909792/comments/#comment_28335438
Итак: фундаментально новый алгоритм сортировки DerSort https://ders.by/alg/dersort/dersort.html
о! актуальная тема)
я скоро выложу новый алгоритм сортировки. Фундаментально новый.
НЕ ИСПОЛЬЗУЙТЕ ССЫЛКИ и вы избежите почти всех проблем! (ц)
в С++ сейчас много Чудовищного... но выход есть!
все еще можно легко и красиво, когда выбросишь чепуху:
меня не смущает) я ТОЧНО знаю, что решения НЕТ.
это как если вы мне принесете способ точного построения правильного семиугольника с помощью циркуля и линейки - я даже не стану его смотреть.
а почему бы сразу не аутентифицироваться в Сервисе БД? Vault не нужен.
все то же самое можно сделать и в Сервисе БД. Vault не нужен.
...и для подключения к Сервису БД. Vault не нужен.
вот, это уже хоть как-то похоже на аргумент.
но тут вполне очевидно, что:
нет никаких проблем поддержать эту чепуху сразу в самом Сервисе БД.
если одноразовых паролей нет, то в БД вы заходите с многоразовым и этот пароль может уплыть куда не надо! безопасность не улучшилась ПО СУТИ: ваше слабое звено так и осталось слабым.
мы ходим по кругу!
если он существует, то вам нужен СервисСекретов2.
а если не нужен, то не нужен и СервисСекретов1.
я надеюсь вы шутите.
секреты в env ПРОЦЕССА - это ДИКАЯ ДИЧЬ!!! никогда так не делайте!
скажу сразу: статья полезная! ее лучше читать, чем не читать :) но вот в деталях...
прежде всего, ОЧЕНЬ много опечаток!! может кто-то считает, что для программиста это нормально, но... 100% такое же будет и в коде ;((
это как ТАКОЕ возможно?!
что, первые несколько обращений CPU не загружает данные в кэш?!?! жесть.
вот тут не поспоришь!
на коленке сделанная int_map сразу работает в несколько раз быстрее std::unordered_map<int, int>. это конечно позор.
https://www.linkedin.com/pulse/do-you-still-trust-stl-sergey-derevyago-bzenf
а знали не только лишь все: https://ders.by/cpp/norefs/norefs.html#4.1
ай, ну кто так ругает? детский сад.
да, вывод чуть-чуть сотрясает. но на то есть Причины.
а для начала отметим, что ОБЪЕМЫ вашего ответа трясут не меньше :) и это прекрасный образчик security through obscurity!
на всякий случай, сразу уточню: In security engineering, security through obscurity is the practice of concealing the details or mechanisms of a system to enhance its security. This approach relies on the principle of hiding something in plain sight, akin to a magician's sleight of hand or the use of camouflage. It diverges from traditional security methods, such as physical locks, and is more about obscuring information or characteristics to deter potential threats... да-да, я тоже умею бросать простыню ;)
а теперь к Делу.
если у нас есть Клиент, которого не пускают к СерверуБД без пароля, то это значит, что он "обязательно" обязан предъявить пароль! из соображений БЕЗОПАСНОСТИ.
Клиент также должен где-то пароль хранить, но не в конфигурационном файле! из соображений БЕЗОПАСНОСТИ.
что предлагают продавцы СервисаСекретов?
они ему предлагают хранить пароль в СервисеСекретов. но очень не любят сказать, а где же несчастному Клиенту хранить пароль для самого СервисаСекретов ;)
ведь если в СервисСекретов безопасно ходить без пароля, то точно так же безопасно ходить без пароля сразу же в СерверБД.
а если к СервисуСекретов нужен пароль, то Клиенту необходим СервисСекретов2 для паролей СервисаСекретов. а еще потом СервисСекретов3 для паролей СервисаСекретов2... тут только успевай платить ;))
надеюсь теперь понятно, почему клиенты СервисаСекретов платят за кашу из топора. понятно клиентам, естественно.
ЗЫ а дополнительные фишки аудита и ротации - это уже потом. когда закрыта ГЛАВНАЯ ПРОБЛЕМА безопасности! а она у вас не закрыта.