oleg_log
1.73K subscribers
1.88K photos
131 videos
9 files
2.82K links
Shelter for antisocial programmers "Oleg"

halp: @olegkovalov
web: https://olegk.dev
fov: @oleg_fov
chat: @oleg_log_blabla
podcast: @generictalks
Download Telegram
Forwarded from ДевОпс Інженер 🇺🇦 (Oleg Mykolaichenko)
Grafana 8.0+ 0 Day LFI

Прикривайте Grafana фаерволами и меняйте все секреты, потому что если у вас есть grafana-clock-panel - вы подвержены 0day уязвимости. Простой GET запрос такого типа будет работать:

`GET /public/plugins/grafana-clock-panel/../../../../../../../etc/passwd`

Уязвимый кусок кода:
https://github.com/grafana/grafana/blob/main/pkg/api/plugins.go#L300-L303

Пример работы уязвимости:
https://github.com/Vulnmachines/grafana-unauth-file-read

BugBounty в Twitter:
https://twitter.com/naglinagli/status/1468155313182416899

За новость спасибо Pavel Dmytrenko 🙏

UPD1: В clickhouse-grafana такая же беда - Serhii Mikhno
UPD2: Уязвимые плагины: https://github.com/projectdiscovery/nuclei-templates/blob/master/vulnerabilities/grafana/grafana-file-read.yaml
Дед, а дед, а давай ПРы меньше делать?)

Еще по точке (.) врубается github.dev https://twitter.com/felixge/status/1468155086648061952

thx @golang_for_two
Среди вас есть те умельцы, которые pg_partman использовали?

Мне тут сказали, что оно не поддерживается и лучше брать Citus, что звучит логично, но из коробке как-то так хорошо выглядит и по крону делает партиции, что я большего и видеть не хочу.

В догонку - если вы партицируете Postgres таблицу по колонке timestamp, то как у вас индексы/пк/констрейнты выглядят? (если стеснительные/NDA-шные, лс открыто)
Официальный поиск по коду на Github. В плане адекватный поиск. Я оч рад, последние полгода я живу на странице поиска Github.

https://cs.github.com/

И тут видосик, дада, на Rust https://www.youtube.com/watch?v=UOIPBfPXkus (спасибо Алексею за ссыль)
Forwarded from Инжиниринг Данных (Dmitry Anoshin)
Оказывается у AWS есть альтернативная (честная) версия их AWS Service Health Dashboard. Потому что, как мне сказали оригинальный продукт - bullshit. Поэтому, если у вас AWS то вам бует полезно добавить в закладки https://stop.lying.cloud/
Проверь свои знания на NIX Online Edu Testing

NIX приглашает тебя поучаствовать в онлайн-тестировании по одной из 17-ти программ обучения. Выполни тест и узнай уровень своей подготовки.

Когда:
с 3 по 24 декабря
Где: онлайн с любого удобного тебе гаджета

В Корпоративном центре обучения NIX есть 17 учебных программ.

В зависимости от направления ты будешь учиться офлайн в Харькове или онлайн. Ты получишь базовые знания по фронтенд и бэкенд-разработке, по бизнес-анализу и в сфере облачных технологий. После обучения ты сможешь уверенно начать карьеру в IT и попробовать себя на позиции Junior-специалиста в команде NIX.

Переходи по ссылке, выбирай понравившуюся программу обучения и проходи онлайн-тестирование ✅
Ващета есть новости поважнее: Go 1.17.5 and 1.16.12

net/http: limit growth of header canonicalization cache

Люблю хттп.

https://groups.google.com/g/golang-announce/c/hcmEScgc00k
Вот ради таких чтив хочется открывать ноут утром.

Весь сок начинается 2 дня назад, когда были новые падение билда, а потом начинается мясо.

Вообще Расс ворвался сильно https://github.com/golang/go/issues/46272
Камешек в сторону интерполяции и неявности, хах.

Log4j though, doesn't treat strings as black boxes. It inspects its contents and checks if it contains any "variables" that need to be resolved before spitting out.

Now there's a bunch of ways to interpolate "variables" into log content. For example something like "Logging from ${java:vm}" will print "Logging from Oracle JVM". I'm not sure but you get the idea.

https://www.lunasec.io/docs/blog/log4j-zero-day/
Интересно, сколько людей после этого эксплоита задумаются о перемудренных решениях и сколько людей что-то таки изменят (хотя бы в своем коде) ? 🤔
> сами сервисы не падали, но невозможно было внести изменения

На самом деле это многое меняет, я думал там падение прям падение было.
Forwarded from AWS Notes
Подробный постмортем падения AWS на несколько часов 7 декабря 2021:

https://aws.amazon.com/message/12721/

Кому нужна выжимка:

• Проблема была во внутренней сети AWS, где крутятся мониторинг и control plain некоторых сервисов. Поэтому сами сервисы не падали, но невозможно было внести изменения, что для некоторых сервисов, например, API Gateway оказалось равным проблемам его работоспособности (делается фикс такого поведения).

• Задержка с отображением проблем на странице статуса в том числе связана с недоступностью мониторинга в результате падения внутренней сети. Так как инженеры AWS долгое время не могли узнать (без мониторинга), что на самом деле происходит.

• Интересно отметить, что причиной послужил код, который уже несколько лет успешно крутится в проде, просто его поведение, когда он масштабируется, не было оттестировано (теперь протестировали – нет, не работает). Автоскелинг выключили, мощности хватает, как дотестируют, включат автоскелинг обратно (может быть).

Дополнительно отмечу для себя интересный факт, что S3 и DynamoDB ресурсы, которые, как и другие, не страдали во время инцидента, однако вот те, что подключены через VPC Endpoint – были недоступны. Причём, как понимаю (чего нет в постмортеме) – речь именно о (бесплатных) Gateway VPC Endpoints, в то время как (платные) Interface endpoints – не пострадали.

Итого: приятно читать столь детальный отчёт, проливающий свет на внутреннюю кухню AWS.

We want to apologize for the impact this event caused for our customers. While we are proud of our track record of availability, we know how critical our services are to our customers, their applications and end users, and their businesses. We know this event impacted many customers in significant ways. We will do everything we can to learn from this event and use it to improve our availability even further.

#postmortem
Там в твиторах и блогах пошел чёс о том как тяжело живется мейнтейнерам, да даже пост выше, что в большинстве случаев правда, но есть некоторое но.

А какого вообще хрена так было сделано?

Я конечно все понимаю, 1я версия либы делалась 20 лет назад (https://github.com/apache/log4j/search?q=jndi&type=commits) и многое было непонятно как писать код...шо? не, ну кроме как СиндромаПоискаАбстракций я не вижу причин, зачем в логгер был впихнут резолвер. Извините меня, деды-жависты.

И тут же второе "но", моё любимое, брать такие зависимости, в которых ты как бы не уверен. Может быть лучше сказать - ты не можешь их прочитать/понять за разумное время, по отношению к их технической сложности. Во как сказанул.

Пример: нереально прочитать за раз 300К строк логгера (половина это core module, мде), а вот pgx на 17к который все же протокол, а не запись стрингов на диск - как-то можно.

(думаю найдутся те, кто скажут, что языки и разные проекты сравнивать неправильно, и будут правы, а может и нет, мою идею вы уловили и мне хватит)

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

Но зато бенчмарки с картинками, красивое https://logging.apache.org/log4j/2.x/performance.html