How I Discovered Thousands of Open Databases on AWS
https://infosecwriteups.com/how-i-discovered-thousands-of-open-databases-on-aws-764729aa7f32
https://infosecwriteups.com/how-i-discovered-thousands-of-open-databases-on-aws-764729aa7f32
👍4
Forwarded from Человек и машина
#машины_aws
Одно из моих любимых занятий - ковырять нелюбимые инструменты, чтобы не любить их экспертно и за дело. Один из таких инструментов - CodeDeploy - до неприятия муторный, сложный и противный.
Чего только стоит необходимость запускать Shell скрипты из spec-файла. Да, даже если весь скрипт состоит из одной команды.
Предлагаю разделить мою нелюбовь и начать эту неделю с мультирегионального развертывания приложений с помощью CodePipeline и CodeDeploy. Да еще и на виртуальные машины, чтоб жизнь совсем уж медом не казалась.
Одно из моих любимых занятий - ковырять нелюбимые инструменты, чтобы не любить их экспертно и за дело. Один из таких инструментов - CodeDeploy - до неприятия муторный, сложный и противный.
Чего только стоит необходимость запускать Shell скрипты из spec-файла. Да, даже если весь скрипт состоит из одной команды.
Предлагаю разделить мою нелюбовь и начать эту неделю с мультирегионального развертывания приложений с помощью CodePipeline и CodeDeploy. Да еще и на виртуальные машины, чтоб жизнь совсем уж медом не казалась.
Medium
Delivering software across regions with AWS CodePipeline
Reliable software distribution done right
👍1
Forwarded from Infrastructure Engineer🇺🇦
Я сделал
Давайте внимательно разберём все ошибки, что есть в огрызке скрипта выше.
1. set +x совершенно бесполезен
2. Все строковые значения подаются в
3. Нет обработки ошибок
4. АВТОЗАМЕНА ЗЛО
Поехали
1.
"> не понимаешь что происходит? Врубай
Эта штука печатает тебе в консоль по мере выполнения скрипта каждую команду и сразу же подставляет значения всех используемых переменных, регулярно использую её когда пишу/дебажу новые скрипты.
Что я сделал не так ? Зачем-то поставил
Глупая опечатка, но не критичная, идём дальше.
2.
Если по-простому,
https://en.wikipedia.org/wiki/String_interpolation
Пример
Двойные кавычки раскрывают переменные
Но я этого не сделал и я сам себе дурак. Next
3.
Разберём её по пунктам.
С этими параметрами нельзя будет обрабатывать ошибки как
и нужно саму команду заключать в
Если бы этот параметр был указан, то скрипт бы завалился ещё на строчке
4. Чёртова автозамена и глупая невнимательность
Дурацкая ошибка, я сделал автозамену
5. Всё остальное
Переписывать чужой скрипт на ходу, по кусочкам меняя нужные места, приведёт к тому, что ты что-то упустишь.
Запускать
К этому моменту я уже совсем устал и забыл чё надо добавить
rm -rf /* прод сервера, на новом месте работы.Давайте внимательно разберём все ошибки, что есть в огрызке скрипта выше.
1. set +x совершенно бесполезен
2. Все строковые значения подаются в
" " кавычках3. Нет обработки ошибок
4. АВТОЗАМЕНА ЗЛО
Поехали
1.
set +x
set - Set or unset values of shell options and positional parameters.
-x Print commands and their arguments as they are executed.
Using + rather than - causes these flags to be turned off.
set -x очень крутой инструмент для дебага баш скриптов "> не понимаешь что происходит? Врубай
set -x"Эта штука печатает тебе в консоль по мере выполнения скрипта каждую команду и сразу же подставляет значения всех используемых переменных, регулярно использую её когда пишу/дебажу новые скрипты.
Что я сделал не так ? Зачем-то поставил
+x вместо -x тем самым отключив и так нерабочий флаг.Глупая опечатка, но не критичная, идём дальше.
2.
" " вместо ' '
Enclosing characters in single quotes (') preserves the literal value of each character within the quotes. A single quote may not occur between single quotes, even when preceded by a backslash.
Enclosing characters in double quotes (") preserves the literal value of all characters within the quotes, with the exception of $, , \`etc..Если по-простому,
'' - нет интерполяции "" - есть интерполяцияhttps://en.wikipedia.org/wiki/String_interpolation
Пример
Двойные кавычки раскрывают переменные
apples=4Одинарные кавычки ничё не раскрывают
echo "I have ${apples} apples"
#I have 4 apples
apples=4Самая правильная практика которой меня учил мой очень умный начальник на прошлой работе:
echo 'I have ${apples} apples'
#I have ${apples} apples
Строки которые в себе не содержат переменных ВСЕГДА должны быть в ' ' кавычках
Настрой себе линтеры, что бы проверяло постоянно
Используй линтеры!
Если бы я сразу прогнал линтер, что бы он автоматически заменил все кавычки там где нужно, проблемы можно было бы избежать.Но я этого не сделал и я сам себе дурак. Next
3.
set -euo pipefail
Всегда и везде нужно использовать вот эту волшубную строчку.Разберём её по пунктам.
-e Exit immediately if a command exits with a non-zero status.Суммарно получаем падение в любой непонятной ситуации, что очень безопасно, но временами не очень удобно
-u Treat unset variables as an error when substituting.
-o <option-name> pipefail
the return value of a pipeline is the status of
the last command to exit with a non-zero status,
or zero if no command exited with a non-zero status
С этими параметрами нельзя будет обрабатывать ошибки как
if [[ $? != 0 ]]; thenПотому что скрипт закончит выполнение сразу как команда упадёт даже не дойдя до if проверки
и нужно саму команду заключать в
if
if command; thenЯ привык к тому что у меня во всех скриптах этот параметр уже есть и не обратил внимания на его отсутствие.
Если бы этот параметр был указан, то скрипт бы завалился ещё на строчке
maria_dump.sh: line 5: backup_dir: unbound variableИ проблемы можно было бы избежать.
4. Чёртова автозамена и глупая невнимательность
Дурацкая ошибка, я сделал автозамену
/data на ${backup_dir} и тем самым испортил строку, где переменная изначально задавалась. Из-за этой глупости я теперь и переустанавливаю5. Всё остальное
Переписывать чужой скрипт на ходу, по кусочкам меняя нужные места, приведёт к тому, что ты что-то упустишь.
Запускать
rm -rf без проверки опасно, даже если ты уверен, что всё збс.К этому моменту я уже совсем устал и забыл чё надо добавить
Telegram
Infrastructure Engineer🇺🇦
Угадайте кто поломал прод сервер
#!/bin/bash
set +H
set +x
backup_dir="${backup_dir}"
DATE=$(date +%Y%m%d%H%M)
TIME=$(date +%Y-%m-%d-%H)
rm -rf ${backup_dir}/*
{% for item in maria_db_backup %}
message=""
icon_emoji=""
color=""
dump_create=""
mysqldump…
#!/bin/bash
set +H
set +x
backup_dir="${backup_dir}"
DATE=$(date +%Y%m%d%H%M)
TIME=$(date +%Y-%m-%d-%H)
rm -rf ${backup_dir}/*
{% for item in maria_db_backup %}
message=""
icon_emoji=""
color=""
dump_create=""
mysqldump…
👍10
> По своему назначению Rancher Desktop близок к проприетарному продукту Docker Desktop и отличается главным образом использованием CLI-интерфейса nerdctl и runtime containerd для создания и запуска контейнеров, но в будущем в Rancher Desktop планируют добавить поддержку Docker CLI и Moby.
> Rancher Desktop позволяет выбрать определённую версию Kubernetes для использования, протестировать работу своих контейнеров с различными версиями Kubernetes, мгновенно запустить контейнеры без регистрации в сервисах Kubernetes, собрать, получить и разместить образы контейнеров и развернуть разрабатываемое приложение в контейнере на локальной системе (сетевые порты, связанные с контейнерами доступны только с localhost).
Компания SUSE выпустила Rancher Desktop 1.0
https://www.opennet.ru/opennews/art.shtml?num=56599
> Rancher Desktop позволяет выбрать определённую версию Kubernetes для использования, протестировать работу своих контейнеров с различными версиями Kubernetes, мгновенно запустить контейнеры без регистрации в сервисах Kubernetes, собрать, получить и разместить образы контейнеров и развернуть разрабатываемое приложение в контейнере на локальной системе (сетевые порты, связанные с контейнерами доступны только с localhost).
Компания SUSE выпустила Rancher Desktop 1.0
https://www.opennet.ru/opennews/art.shtml?num=56599
👍14
Среда, это маленькая пятница
How To Create An LED Rave Mask Using Arduino, NeoPixels, and C++
https://armaizadenwala.com/blog/how-to-create-a-led-rave-mask-using-arduino/
How To Create An LED Rave Mask Using Arduino, NeoPixels, and C++
https://armaizadenwala.com/blog/how-to-create-a-led-rave-mask-using-arduino/
👎3
Выложены доклады Cloud Native Rejekts NA 2021
https://www.youtube.com/playlist?list=PLnfCaIV4aZe-zfevMfYNGHHdB04ZHTLI-
https://www.youtube.com/playlist?list=PLnfCaIV4aZe-zfevMfYNGHHdB04ZHTLI-
Слава Патрику!
После шести лет затишья вышел Slackware 15.0.
Сам анонс
http://www.slackware.com/announce/15.0.php
Release Notes
http://www.slackware.com/releasenotes/15.0.php
ISO
https://mirrors.slackware.com/slackware/slackware-iso/slackware64-15.0-iso/
Список зеркал
https://mirrors.slackware.com/mirrorlist/
Зачем нужна Слака в современном мире не очень понятно, но уже качаю, буду посмотреть, что там сделали.
После шести лет затишья вышел Slackware 15.0.
Сам анонс
http://www.slackware.com/announce/15.0.php
Release Notes
http://www.slackware.com/releasenotes/15.0.php
ISO
https://mirrors.slackware.com/slackware/slackware-iso/slackware64-15.0-iso/
Список зеркал
https://mirrors.slackware.com/mirrorlist/
Зачем нужна Слака в современном мире не очень понятно, но уже качаю, буду посмотреть, что там сделали.
🔥7
На GitHub есть один увлекательный проект за которым я слежу - https://github.com/uutils/coreutils
В нём занимаются переписыванием GNU Coreutils на Rust.
Оказывается к нему в нагрузку есть ещё https://github.com/uutils/findutils, который "переписывает" GNU Findutils.
Прогресс работ отображают в таблице
https://github.com/uutils/coreutils#utilities
Новость на opennet
https://www.opennet.ru/opennews/art.shtml?num=56609
В нём занимаются переписыванием GNU Coreutils на Rust.
Оказывается к нему в нагрузку есть ещё https://github.com/uutils/findutils, который "переписывает" GNU Findutils.
Прогресс работ отображают в таблице
https://github.com/uutils/coreutils#utilities
Новость на opennet
В качестве причины создания проекта и использования языка Rust называется желание создать кросс-платформенную альтернативную реализацию Coreutils и Findutils, способную работать в том числе на платформах Windows, Redox и Fuchsia. Ещё одним важным отличием uutils является распространение под пермиссивной лицензией MIT, вместо копилефт-лицензии GPL.
. . .
Из последних достижений отмечается оптимизация производительности - в текущем состоянии многие утилиты, такие как head и cut, значительно превосходят по производительности варианты из GNU Coreutils. Охват тестовым набором расширен с 55% до 75% от всего кода (достаточной целью является 80%). Проведён рефакторинг кода для упрощения сопровождения, например, унифицирована обработка ошибок в разных программах, а в chgrp и chown объединён код для работы с правами доступа. Добавлены многочисленные изменения для улучшения совместимости с GNU Coreutils.
https://www.opennet.ru/opennews/art.shtml?num=56609
🔥15👍5😁2👎1
Технологический Болт Генона
Время следующего поста про подкасты, которые я слушаю. 1. "Noise Security Bit" (@N0iSeBit, https://noisebit.podster.fm/) Подкаст посвящённый различным аспектам информационной безопасности. В первой своей реинкарнации назывался "100% Virus Free Podcast" (архив…
Подкасты я люблю, подкасты я слушаю часто и много. Один из таких DevOps Kitchen Talks.
Например, у них есть интереснейший выпуск с ребятами из VictoriaMetrics (@VictoriaMetrics_ru1)
31 - Monitoring vs Observability: VictoriaMetrics в гостях у DevOps Kitchen Talks
https://www.youtube.com/watch?v=5FTcJmJXbqA
А сегодня выложили новый выпуск
DevOps Kitchen Talks 37 - DevOps vs SRE
https://www.youtube.com/watch?v=88SCuXxrwXo
Например, у них есть интереснейший выпуск с ребятами из VictoriaMetrics (@VictoriaMetrics_ru1)
31 - Monitoring vs Observability: VictoriaMetrics в гостях у DevOps Kitchen Talks
https://www.youtube.com/watch?v=5FTcJmJXbqA
А сегодня выложили новый выпуск
DevOps Kitchen Talks 37 - DevOps vs SRE
https://www.youtube.com/watch?v=88SCuXxrwXo
👍6🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Интересный и подробный пост с разбором уязвимости. Не всё понятно, но очень интересно.
Firefox JIT Use-After-Frees | Exploiting CVE-2020-26950
https://www.sentinelone.com/labs/firefox-jit-use-after-frees-exploiting-cve-2020-26950/
+
https://twitter.com/maxpl0it/status/1489283212786475008
За ссылку спасибо @oleg_log
Firefox JIT Use-After-Frees | Exploiting CVE-2020-26950
https://www.sentinelone.com/labs/firefox-jit-use-after-frees-exploiting-cve-2020-26950/
+
https://twitter.com/maxpl0it/status/1489283212786475008
За ссылку спасибо @oleg_log
👍5🔥1
Forwarded from oleg_log (Oleg Kovalov)
можно смотреть на 3 вещи бесконечно: как течёт вода, как бесится в воде лабрадор и как фиксятся баги фаззингом
👍10👎1
Forwarded from DocOps (Nick Volynkin)
Прекрасные ребята из подкаста @newpodcast2 зовут меня сегодня пообщаться в эфире. Начало в 18:00 Мск, трансляция будет на ютубе.
Пока что собираемся обсуждать такие темы:
1. Конференцию KnowledgeConf, которую мы в этом году проводим вместе с TeamLead Conf. Расскажу про свой опыт работы в программном комитете и про доклад, с которым сам буду выступать.
2. Работу в tarantool.io, новую команду Developer Experience, прежнюю команду документации.
3. Можем в целом обсудить мою странную карьеру, путь из разработки в документацию и обратно.
Задавайте вопросы здесь, постараюсь на них ответить :)
Пока что собираемся обсуждать такие темы:
1. Конференцию KnowledgeConf, которую мы в этом году проводим вместе с TeamLead Conf. Расскажу про свой опыт работы в программном комитете и про доклад, с которым сам буду выступать.
2. Работу в tarantool.io, новую команду Developer Experience, прежнюю команду документации.
3. Можем в целом обсудить мою странную карьеру, путь из разработки в документацию и обратно.
Задавайте вопросы здесь, постараюсь на них ответить :)
YouTube
Выпуск 62. Ник Волынкин и передача знаний
Сегодня у нас в гостях Ник Волынкин, с которым мы говорим про
- Knowledge Conf
- Обмен знаниями
- Проблемы обмена знаниями, о которых можно говорить вечно
- Классическую менеджериальную литературу
- И многое другое
- Knowledge Conf
- Обмен знаниями
- Проблемы обмена знаниями, о которых можно говорить вечно
- Классическую менеджериальную литературу
- И многое другое
👍3
> The first erroneous computation example is CVE-2021-39137 which is an interesting go-ethereum bug identified by Guido Vranken. The bug caused a netsplit in the Ethereum network and essentially results from the ability to have a mutable and non-mutable slice referencing the same chunk of memory.
A deeper dive into CVE-2021-39137 – a Golang security bug that Rust would have prevented
https://research.nccgroup.com/2022/02/07/a-deeper-dive-into-cve-2021-39137-a-golang-security-bug-that-rust-would-have-prevented/
И что б два раза не вставать. Интересный пост
> On 2/2/2022, I reported a critical security issue to Optimism—an "L2 scaling solution" for Ethereum—that would allow an attacker to replicate money on any chain using their "OVM 2.0" fork of go-ethereum (which they call l2geth).
Attacking an Ethereum L2 with Unbridled Optimism
https://www.saurik.com/optimism.html
A deeper dive into CVE-2021-39137 – a Golang security bug that Rust would have prevented
https://research.nccgroup.com/2022/02/07/a-deeper-dive-into-cve-2021-39137-a-golang-security-bug-that-rust-would-have-prevented/
И что б два раза не вставать. Интересный пост
> On 2/2/2022, I reported a critical security issue to Optimism—an "L2 scaling solution" for Ethereum—that would allow an attacker to replicate money on any chain using their "OVM 2.0" fork of go-ethereum (which they call l2geth).
Attacking an Ethereum L2 with Unbridled Optimism
https://www.saurik.com/optimism.html
Nccgroup
Cyber Security Research
Cutting-edge cyber security research from NCC Group. Find public reports, technical advisories, analyses, & other novel insights from our global experts.
👍2🔥1
Cloud-native AuthN/AuthZ enforcer to protect your APIs.
https://github.com/kuadrant/authorino
Очень подробный и интересный FAQ на GitHub лежит. Люблю такое.
+
Tech Talk: Authorino (Showcase)
https://www.youtube.com/watch?v=JPxZaa3pxcw
https://github.com/kuadrant/authorino
Очень подробный и интересный FAQ на GitHub лежит. Люблю такое.
+
Tech Talk: Authorino (Showcase)
https://www.youtube.com/watch?v=JPxZaa3pxcw
🔥4
Forwarded from Artem Navoiev
Всем привет, мы релизнули SaaS (хотя внутри мы называем его database as a service)
https://victoriametrics.com/blog/dbaas-announcement/
будем рады любому фидбеку и первым 50 пользователям начисляются кредиты в размере 200$
https://victoriametrics.com/blog/dbaas-announcement/
будем рады любому фидбеку и первым 50 пользователям начисляются кредиты в размере 200$
Разгребал тут архивы свои и наткнулся на "мини-конференцию" от Wrike, которая проходила в апреле 2020. Послушать-посмотреть было интересно, потому делюсь - https://www.youtube.com/watch?v=jDjx5Uk1g94
Добавлю таймкоды сюда, Wrike TechClub чего-то не закинул их.
5:35 - Дмитрий Десятков, Wrike – “Никому не верьте!”
42:30 - Григорий Стрельцов, Wrike – “Автоматизация безопасной разработки”
1:14:00 - Сергей Белов, Mail.ru – Выпускаем безопасные фичи v2
2:01:55 - Олег Масленников, ЦИАН – "Обеспечение безопасности микросервисной архитектуры в Kubernetes"
2:36:35 - Александра Сватикова, Одноклассники – "Безопасность аккаунта пользователя – взгляд изнутри онлайн сервиса"
3:12:47 - Юлия Омельяненко, Wrike – COVID-19: не дай вирусу из воздуха пробраться в вашу сеть
Программа полная тут
https://wriketeam.timepad.ru/event/1290502/
Добавлю таймкоды сюда, Wrike TechClub чего-то не закинул их.
5:35 - Дмитрий Десятков, Wrike – “Никому не верьте!”
Давайте обсудим типы third party components и что можно сделать, чтобы минимизировать риски работы с ними.
42:30 - Григорий Стрельцов, Wrike – “Автоматизация безопасной разработки”
Вместе с другими отделами компании мы придумали процесс автоматизации, основанный на ряде опенсорсных решений и Burp Suite. Burp Suite – это популярный инструмент оценки уязвимостей. Я расскажу, как можно интегрировать его в существующий цикл разработки, покажу, с какими трудностями при этом можно столкнуться
1:14:00 - Сергей Белов, Mail.ru – Выпускаем безопасные фичи v2
Данный доклад продолжит серию вопросов и ответов в современном AppSec. Мы постараемся разобрать сложные кейсы современной разработки и придумать для них оптимальные и безопасные решения.
2:01:55 - Олег Масленников, ЦИАН – "Обеспечение безопасности микросервисной архитектуры в Kubernetes"
Расскажу о том, как Kubernetes работает внутри, чем отличается от простого Docker и какими особенностями в плане обеспечения безопасности обладает в различных конфигурациях.
2:36:35 - Александра Сватикова, Одноклассники – "Безопасность аккаунта пользователя – взгляд изнутри онлайн сервиса"
В докладе я расскажу, откуда берутся взломанные аккаунты и почему отсутствие уязвимостей не гарантирует полную безопасность пользователей социальной сети. Затем попытаемся понять, почему при всей своей простоте и понятности сredential stuffing – самый частый способ атаки на онлайн сервисы. Я поделюсь нашими наблюдениями подобных атак за последние несколько лет и опытом внедрения мер противодействия им, а также расскажу о проблемах, с которыми мы столкнулись на этом пути.
3:12:47 - Юлия Омельяненко, Wrike – COVID-19: не дай вирусу из воздуха пробраться в вашу сеть
Мы расскажем о подходах к соблюдению корпоративных требований безопасности, и как они могут вам помочь.
Программа полная тут
https://wriketeam.timepad.ru/event/1290502/
👍3🔥3👎1😱1
Terraform модуль для создания RBAC-правил
https://habr.com/ru/company/nixys/blog/649663/
+
https://github.com/nixys/k8s-rbac-controller
https://habr.com/ru/company/nixys/blog/649663/
+
https://github.com/nixys/k8s-rbac-controller