✨ Курс «Быстрый старт в DevOps» бесплатно. Как забрать?
Меня зовут Марсель Ибраев, и на своем канале я делюсь фишками, которые помогут вам начать путь в DevOps.
2 апреля стартовал курс, созданный на основе ваших пожеланий. Мы с командой учебного центра Слёрм ответили на самые актуальные вопросы начинающих девопсеров:
⚡️ что такое DevOps, и как выстроить работу команды в рамках этой методологии;
⚡️ Kubernetes, Docker и т.д.: как базовые инструменты выстраивают работу в DevOps;
⚡️ DevOps и компания: как состыковать критерии успеха.
1 неделя = 1 открытый модуль. В первом модуле разберем как быстро и эффективно освоить профессию с высокой зарплатой, с каких инструментов начинать, и какую роль в девопсе играют софт-скиллы.
🔗 ЗАБРАТЬ КУРС
erid: 2Vtzqv8A2ek
Меня зовут Марсель Ибраев, и на своем канале я делюсь фишками, которые помогут вам начать путь в DevOps.
2 апреля стартовал курс, созданный на основе ваших пожеланий. Мы с командой учебного центра Слёрм ответили на самые актуальные вопросы начинающих девопсеров:
⚡️ что такое DevOps, и как выстроить работу команды в рамках этой методологии;
⚡️ Kubernetes, Docker и т.д.: как базовые инструменты выстраивают работу в DevOps;
⚡️ DevOps и компания: как состыковать критерии успеха.
1 неделя = 1 открытый модуль. В первом модуле разберем как быстро и эффективно освоить профессию с высокой зарплатой, с каких инструментов начинать, и какую роль в девопсе играют софт-скиллы.
🔗 ЗАБРАТЬ КУРС
erid: 2Vtzqv8A2ek
Привет. Сегодня шифруем пиксели!
Если кратко, берем png картинку и шифруем ее с помощью парольной фразы.
Но самое главное, картинка останется в png формате и не превратится в какой-то бесполезный бинарник. А дальше её можно будет открыть и визуально посмотреть через любой просмотрщик файлов.
А поможет нам в этом старый и добрый ImageMagic
Для начала мне понадобится изображение, в котором я буду шифровать пиксели. Давай его сгенерим:
Эта команда создаст изображение bashdays.png с волшебником, который хуячит живопись. Выглядит это так: bashdays.png
Хорошо. Теперь нужно зашифровать это изображение. Выполняем команду:
Получаем файл hidden.png с пикселями. Файл прекрасно открывается, но волшебника мы уже не видим. Лишь какой-то цветной шум. Выглядит это так.
Шифрование делаем через опцию encipher, в качестве аргумента эта опция принимает имя файла с парольной фразой. Дефис после encipher означает - стандартный ввод, который в данном случае указывает на канал «|».
Ну и дешифровка:
Если проебал пароль или ввел неправильно, получишь тот же набор цветных пикселей. Пароль восстановить увы не получится. Так что запиши на бумажку и повесь на монитор, как в лучших практиках ИБ.
Еще есть прикол, что изображение можно зашифровать с помощью ключа, например другого изображения.
В этом примере, key.gif это ключ для шифрования. Без этого файла расшифровать изображение уже не получится. Заебись? Заебись!
✔️ А какие нюансы?
Да, они есть. Некоторые форматы изображений, не поддерживают зашифрованные пиксели, например jpeg или gif. Поэтому прежде чем что-то шифровать, проверь что это получится расшифровать.
ImageMagick зашифровывает только пиксели, метаданные изображения остаются нетронутыми и читабельными для любых пользователей. Поэтому если что-то скрываешь, подчищай метаданные.
Шифрование идет через AES в режиме счетчика. Первая половина парольной фразы это одноразовый номер, вторая половина это ключ шифрования.
Где можно применить?
Каждый сам решает зачем ему это нужно. Но знаю реальный случай, когда блекхэты публиковали в twitter подобные изображения.
Эти изображения можно было найти в поиске по-специальному тэгу. С помощью этих картинок, осуществлялась координация кибер-атак по всему миру.
По мне так, данный способ уматно использовать в каких-нибудь онлайн квестах, где нужно найти парольную фразу, а потом расшифровать изображение. Больше на ум (из легального) ничего и не приходит.
Изучай!
tags: #security
@ВАSНDАYS | BАSHDАYS.CОM
Если кратко, берем png картинку и шифруем ее с помощью парольной фразы.
Но самое главное, картинка останется в png формате и не превратится в какой-то бесполезный бинарник. А дальше её можно будет открыть и визуально посмотреть через любой просмотрщик файлов.
Правда в зашифрованном виде, но это не проблема если у тебя есть парольная фраза или файл-ключ.
А поможет нам в этом старый и добрый ImageMagic
Для начала мне понадобится изображение, в котором я буду шифровать пиксели. Давай его сгенерим:
convert wizard: bashdays.png
Эта команда создаст изображение bashdays.png с волшебником, который хуячит живопись. Выглядит это так: bashdays.png
Хорошо. Теперь нужно зашифровать это изображение. Выполняем команду:
echo 'пароль' | convert bashdays.png -encipher - -depth 8 png24:hidden.png
Получаем файл hidden.png с пикселями. Файл прекрасно открывается, но волшебника мы уже не видим. Лишь какой-то цветной шум. Выглядит это так.
Шифрование делаем через опцию encipher, в качестве аргумента эта опция принимает имя файла с парольной фразой. Дефис после encipher означает - стандартный ввод, который в данном случае указывает на канал «|».
Ну и дешифровка:
echo 'пароль' | convert hidden.png -decipher - restored.png
Если проебал пароль или ввел неправильно, получишь тот же набор цветных пикселей. Пароль восстановить увы не получится. Так что запиши на бумажку и повесь на монитор, как в лучших практиках ИБ.
Еще есть прикол, что изображение можно зашифровать с помощью ключа, например другого изображения.
convert bashdays.png -encipher key.gif result.png
В этом примере, key.gif это ключ для шифрования. Без этого файла расшифровать изображение уже не получится. Заебись? Заебись!
✔️ А какие нюансы?
Да, они есть. Некоторые форматы изображений, не поддерживают зашифрованные пиксели, например jpeg или gif. Поэтому прежде чем что-то шифровать, проверь что это получится расшифровать.
ImageMagick зашифровывает только пиксели, метаданные изображения остаются нетронутыми и читабельными для любых пользователей. Поэтому если что-то скрываешь, подчищай метаданные.
Шифрование идет через AES в режиме счетчика. Первая половина парольной фразы это одноразовый номер, вторая половина это ключ шифрования.
Если далёк от криптографии, то забей хуй, работает да и ладно.
Где можно применить?
Каждый сам решает зачем ему это нужно. Но знаю реальный случай, когда блекхэты публиковали в twitter подобные изображения.
Эти изображения можно было найти в поиске по-специальному тэгу. С помощью этих картинок, осуществлялась координация кибер-атак по всему миру.
По мне так, данный способ уматно использовать в каких-нибудь онлайн квестах, где нужно найти парольную фразу, а потом расшифровать изображение. Больше на ум (из легального) ничего и не приходит.
Изучай!
tags: #security
@ВАSНDАYS | BАSHDАYS.CОM
Сегодня про RANDOM и револьвер
В бородатые 2000е была такая консольная игруля «Русская рулетка», состояла она из одной строчки:
Для начала давай сделаем её более безопасной:
Суть такая: Если деление по модулю псевдослучайного числа переменной RANDOM вернёт - 0, значит тебе песда и пистолет выстрелил. Соответственно если > 0, то ты пока еще жив и тебе повезло.
А теперь давай посмотрим на условия, при которых «пистолет выстрелит» сразу.
Число отличное от 0, указанное в качестве переменной RANDOM используется как seed (семя) для генератора псевдослучайных чисел.
Если посеять число 2, то при первом обращении к переменной RANDOM получим значение, которое делится на 6 без остатка.
Этот посев даст нужное в разных версиях интерпретатора. Все дело в том, что в версии bash 5.1 были внесены изменения связанные с этим. Короче если у тебя версия баша > 5.0, то можно изменить поведение генератора с помощью переменной BASH_COMPAT.
Так, давай теперь это проверим:
Получаем значение: 20814
А тут уже другое: 20034
Если мы задаем 0 в переменную RANDOM, тогда семя (seed) инициализируется жестко заданным значением. При котором генерируется требуемое число, то есть делится на 6 без остатка.
Тут пистолет гарантированно выстрелит. Аналогично предыдущему примеру, если начало строки не число:
Снова получим 100% выстрел.
✔️ Как работает генератор:
- Начальное значение seed, оболочка получает совершая манипуляции над значениями pid, ppid, uid + текущие время (секунды, микросекунды).
- Далее полученное значение пропускается через алгоритм, а результат сохраняется. При следующих обращениях также пропускается через алгоритм.
- Потом полученное число усекается. В документации указано максимальное возможное значение 32367.
Как я писал выше, руки у нас развязаны и мы можем влиять на начальное значение генератора через переменную RANDOM.
Такие дела, исследуйте!
tags: #bash #linux
@ВАSНDАYS | BАSHDАYS.CОM
В бородатые 2000е была такая консольная игруля «Русская рулетка», состояла она из одной строчки:
[ $[ $RANDOM % 6 ] == 0 ] && rm -rf / || echo "You live"
Для начала давай сделаем её более безопасной:
[ $[ $RANDOM % 6 ] == 0 ] && echo 'You died' || echo 'You live'
Суть такая: Если деление по модулю псевдослучайного числа переменной RANDOM вернёт - 0, значит тебе песда и пистолет выстрелил. Соответственно если > 0, то ты пока еще жив и тебе повезло.
А теперь давай посмотрим на условия, при которых «пистолет выстрелит» сразу.
Число отличное от 0, указанное в качестве переменной RANDOM используется как seed (семя) для генератора псевдослучайных чисел.
Если посеять число 2, то при первом обращении к переменной RANDOM получим значение, которое делится на 6 без остатка.
RANDOM=2
[ $[ $RANDOM % 6 ] == 0 ] && echo 'You died' || echo 'You live'
Этот посев даст нужное в разных версиях интерпретатора. Все дело в том, что в версии bash 5.1 были внесены изменения связанные с этим. Короче если у тебя версия баша > 5.0, то можно изменить поведение генератора с помощью переменной BASH_COMPAT.
Переменная BASH_COMPAT в оболочке Bash используется для указания совместимости с предыдущими версиями Bash. Если установить ее на определенное значение, это может изменить поведение Bash так, чтобы оно соответствовало определенной версии.
Например, если вы установите BASH_COMPAT=3.2, то это означает, что текущая оболочка Bash будет работать совместимо с версией 3.2. Это может быть полезно, если у вас есть скрипты, которые были написаны для старых версий Bash и вы хотите, чтобы они продолжали работать в новых версиях без изменений поведения.
Так, давай теперь это проверим:
( BASH_COMPAT=51 ; RANDOM=0 ; echo $RANDOM )
Получаем значение: 20814
( BASH_COMPAT=50 ; RANDOM=0 ; echo $RANDOM )
А тут уже другое: 20034
Если мы задаем 0 в переменную RANDOM, тогда семя (seed) инициализируется жестко заданным значением. При котором генерируется требуемое число, то есть делится на 6 без остатка.
RANDOM=0
[ $[ $RANDOM % 6 ] == 0 ] && echo 'You died' || echo 'You live'
Тут пистолет гарантированно выстрелит. Аналогично предыдущему примеру, если начало строки не число:
RANDOM='bashdays'
[ $[ $RANDOM % 6 ] == 0 ] && echo 'You died' || echo 'You live'
Снова получим 100% выстрел.
✔️ Как работает генератор:
- Начальное значение seed, оболочка получает совершая манипуляции над значениями pid, ppid, uid + текущие время (секунды, микросекунды).
- Далее полученное значение пропускается через алгоритм, а результат сохраняется. При следующих обращениях также пропускается через алгоритм.
- Потом полученное число усекается. В документации указано максимальное возможное значение 32367.
Как я писал выше, руки у нас развязаны и мы можем влиять на начальное значение генератора через переменную RANDOM.
Такие дела, исследуйте!
tags: #bash #linux
@ВАSНDАYS | BАSHDАYS.CОM
Хотели в детстве сыграть в «Самый умный»?💡
Реализуйте мечту в IT-квизе
Активируйте Telegram-бота и проверьте свои знания сразу в восьми темах:
▫️ Дата-центры и железо
▫️ Разработка и soft skills
▫️ ИБ и сети
▫️ Kubernetes и ML
Отвечайте на технические вопросы каждый день и побеждайте в мини-играх — за каждый верный ответ начислим баллы. Игроки с самым высоким рейтингом получат крутые подарки от Selectel. Старт с 22 апреля.
Перейти в бота → https://slc.tl/6evat
Реклама ООО «Селектел» erid 2VtzqvpmxJc
Реализуйте мечту в IT-квизе
Активируйте Telegram-бота и проверьте свои знания сразу в восьми темах:
▫️ Дата-центры и железо
▫️ Разработка и soft skills
▫️ ИБ и сети
▫️ Kubernetes и ML
Отвечайте на технические вопросы каждый день и побеждайте в мини-играх — за каждый верный ответ начислим баллы. Игроки с самым высоким рейтингом получат крутые подарки от Selectel. Старт с 22 апреля.
Перейти в бота → https://slc.tl/6evat
Реклама ООО «Селектел» erid 2VtzqvpmxJc
🔤🔤🔤🔤🔤🔤🔤🔤🔤
tags: #bash
@ВАSНDАYS | BАSHDАYS.CОM
shopt -s extglob; : "${PS1}"; : "${_//$'\x01'+([^$'\x02'])$'\x02'}"; : "${#_}"; printf '%b' "\e#8\e[$(((LINES-1)/2));$(((COLUMNS-_)/2))H"
tags: #bash
@ВАSНDАYS | BАSHDАYS.CОM
⚡️ Появление технологической базы ПО отечественных вендоров и рост приложений, использующих алгоритмы на основе ИИ, — одни из главных трендов 2023 года. А что еще?
Мы опросили 800+ ИТ-специалистов, включая топ-менеджеров компаний, чтобы понять, как за год трансформировался отечественный рынок DevOps. Упаковали все это в отчет, который сейчас можно бесплатно скачать по ссылке.
📊 Из отчета вы узнаете:
- как российские компании преодолевают технологические и кадровые вызовы;
- планы и прогнозы развития рынка DevOps в ближайшем будущем;
- актуальные вопросы безопасной разработки (DevSecOps);
- в каком состоянии кадровый рынок DevOps.
Наши партнеры: МТС, IBS, Яндекс, Лаборатория Касперского, а также НИУ ВШЭ, ИСП РАН и ЭКОПСИ Консалтинг.
Забирайте ежегодный отчет по ссылке.
Реклама. Информация о рекламодателе
Мы опросили 800+ ИТ-специалистов, включая топ-менеджеров компаний, чтобы понять, как за год трансформировался отечественный рынок DevOps. Упаковали все это в отчет, который сейчас можно бесплатно скачать по ссылке.
📊 Из отчета вы узнаете:
- как российские компании преодолевают технологические и кадровые вызовы;
- планы и прогнозы развития рынка DevOps в ближайшем будущем;
- актуальные вопросы безопасной разработки (DevSecOps);
- в каком состоянии кадровый рынок DevOps.
Наши партнеры: МТС, IBS, Яндекс, Лаборатория Касперского, а также НИУ ВШЭ, ИСП РАН и ЭКОПСИ Консалтинг.
Забирайте ежегодный отчет по ссылке.
Реклама. Информация о рекламодателе
Всем привет. Записал сегодня пилотный выпуск на ютубину, изредка буду заходить с подобным контентом. Над звуком еще поработаем, есть нюансы. Завтра отдельным постом продолжу эту тему, так сказать вывернем наизнанку.
Поддержи подпиской и лайком! Спасибо!👇
https://youtu.be/gTwpoAaB_dY
Поддержи подпиской и лайком! Спасибо!👇
https://youtu.be/gTwpoAaB_dY
YouTube
Как получить root на любом Linux сервере
Сегодня расскажу как пентестеры и черношляпы повышают привелегии на Linux машинах и получают root доступ. Без уязвимостей и эксплоитов.
Привет, это Девопс фабрика! Мы обучаем желающих перейти в DevOps.
Приглашаем на МОК интервью по DevOps! Сделаем бесплатно для первых десяти человек.
МОК интервью - это отличный способ подготовиться к реальным собеседованиям и проверить свои знания в дружелюбной обстановке.
Что вас ждет?
- Реальные вопросы от лидов, проводивших сотни собеседований по DevOps.
- Подробная обратная связь по вашему собеседованию и рекомендации по улучшению.
- Опыт, который поможет вам стать увереннее и легче пройти реальное собеседование.
- Внимательное и дружелюбное отношение, все проводится спокойно и без стресса :)
Посмотреть видео предыдущих интервью и записаться можно по ссылке в канале
Реклама. ООО «Байкалтим», ИНН: 3851008933, erid: 2Vtzqx3bUA5
Приглашаем на МОК интервью по DevOps! Сделаем бесплатно для первых десяти человек.
МОК интервью - это отличный способ подготовиться к реальным собеседованиям и проверить свои знания в дружелюбной обстановке.
Что вас ждет?
- Реальные вопросы от лидов, проводивших сотни собеседований по DevOps.
- Подробная обратная связь по вашему собеседованию и рекомендации по улучшению.
- Опыт, который поможет вам стать увереннее и легче пройти реальное собеседование.
- Внимательное и дружелюбное отношение, все проводится спокойно и без стресса :)
Посмотреть видео предыдущих интервью и записаться можно по ссылке в канале
Реклама. ООО «Байкалтим», ИНН: 3851008933, erid: 2Vtzqx3bUA5
Официальные тренинги по Zabbix на русском языке от Галс Софтвэр
Мы запустили официальные тренинги Zabbix с возможностью получения сертификатов вендора. Все тренинги и сертификации будут проводиться на русском языке. Анонсы ближайших тренингов и полезную информацию по Zabbix также публикуем в нашем канале , посвященный Zabbix и ничему кроме Zabbix.
Предлагаем ознакомиться с расписанием ближайших публичных тренингов:
Zabbix Certified Specialist (ZCS) 3-7 июня 2024 года (оффлайн + онлайн)
Zabbix Certified Professional (ZCP) 1-3 июля 2024 года (оффлайн + онлайн)
Оплата в рублях для юридических и и физических лиц по договору, счету или карте. Возможно проведение приватных тренингов.
Задать вопросы и получить дополнительную информацию вы можете у или по запросу на welcome.com.
Мы запустили официальные тренинги Zabbix с возможностью получения сертификатов вендора. Все тренинги и сертификации будут проводиться на русском языке. Анонсы ближайших тренингов и полезную информацию по Zabbix также публикуем в нашем канале , посвященный Zabbix и ничему кроме Zabbix.
Предлагаем ознакомиться с расписанием ближайших публичных тренингов:
Zabbix Certified Specialist (ZCS) 3-7 июня 2024 года (оффлайн + онлайн)
Zabbix Certified Professional (ZCP) 1-3 июля 2024 года (оффлайн + онлайн)
Оплата в рублях для юридических и и физических лиц по договору, счету или карте. Возможно проведение приватных тренингов.
Задать вопросы и получить дополнительную информацию вы можете у или по запросу на welcome.com.
Тут у безопасников жопы сгорели после предыдущего поста.
Нужно ли на приватный ssh ключ устанавливать пароль?
Давай сравним с ключом от квартиры. Поставил ты к примеру пиздатый замок на свою входную дверь и у тебя есть связка ключей.
А дальше? А дальше ты берешь эту связку ключей и помещаешь в сейф, ставишь код и радуешься. Радуешься до того момента, когда тебе нужно выйти из дома.
Приходится брать сейф с собой и везде с ним таскаться. Потому что это безопасно! Код от сейфа же никто не знает, поэтому не получит доступ к ключу, который открывает твою пиздатую дверь.
Удобно? Охуенно удобно! Главное практично.
Я всегда считал и считаю, что ssh ключи нужны, чтобы заходить на сервера без пароля. Нахуя ты тогда отключаешь возможность логина по паролю и оставляешь ключ к которому нужно вводить пароль?
Добавь тогда уж туда еще один фактор авторизации через QR код и Яндекс.Ключ. Лишним не будет 😲
✔️ Пароль на ключ тебе нужен — если ты рукожопая обезьяна, сосёшься в засос с ослами, качаешь сомнительный со...
Нужно ли на приватный ssh ключ устанавливать пароль?
Давай сравним с ключом от квартиры. Поставил ты к примеру пиздатый замок на свою входную дверь и у тебя есть связка ключей.
А дальше? А дальше ты берешь эту связку ключей и помещаешь в сейф, ставишь код и радуешься. Радуешься до того момента, когда тебе нужно выйти из дома.
Приходится брать сейф с собой и везде с ним таскаться. Потому что это безопасно! Код от сейфа же никто не знает, поэтому не получит доступ к ключу, который открывает твою пиздатую дверь.
Удобно? Охуенно удобно! Главное практично.
Я всегда считал и считаю, что ssh ключи нужны, чтобы заходить на сервера без пароля. Нахуя ты тогда отключаешь возможность логина по паролю и оставляешь ключ к которому нужно вводить пароль?
Добавь тогда уж туда еще один фактор авторизации через QR код и Яндекс.Ключ. Лишним не будет 😲
✔️ Пароль на ключ тебе нужен — если ты рукожопая обезьяна, сосёшься в засос с ослами, качаешь сомнительный со...
Если команда разработки расширяется, DevOps-инженеров становится меньше, а инфраструктура активно развивается и растет, поддерживать сразу несколько архитектурных решений становится сложно и невыгодно.
На встрече Алексей Подольский, инженер внутренней разработки в Cloud․ru, расскажет, как безболезненно объединить кластеры Kubernetes, оптимизировать инфраструктуру и повысить безопасность трафика внутри кластера.
На вебинаре вы узнаете:
▪️ как сделать процесс объединения более простым и комфортным — 4 основных условия;
▪️ какие этапы объединения кластеров Kubernetes можно выделить;
▪️ как не только объединить несколько архитектурных решений, но и оптимизировать инфраструктуру и снизить стоимость ее обслуживания;
▪️ как усилить безопасность периметра с помощью тонкой фильтрации трафика;
▪️с какими проблемами можно столкнуться на этапе миграции и как их лучше решать.
Также на встрече покажем готовое решение — поделимся результатом слияния нескольких кластеров и создания целостной инфраструктуры.
Веб...
На встрече Алексей Подольский, инженер внутренней разработки в Cloud․ru, расскажет, как безболезненно объединить кластеры Kubernetes, оптимизировать инфраструктуру и повысить безопасность трафика внутри кластера.
На вебинаре вы узнаете:
▪️ как сделать процесс объединения более простым и комфортным — 4 основных условия;
▪️ какие этапы объединения кластеров Kubernetes можно выделить;
▪️ как не только объединить несколько архитектурных решений, но и оптимизировать инфраструктуру и снизить стоимость ее обслуживания;
▪️ как усилить безопасность периметра с помощью тонкой фильтрации трафика;
▪️с какими проблемами можно столкнуться на этапе миграции и как их лучше решать.
Также на встрече покажем готовое решение — поделимся результатом слияния нескольких кластеров и создания целостной инфраструктуры.
Веб...
Привет, сегодня коротко, очередная внеплановая пятница. Короче в продолжение к постам про повышение привилегий.
Если звезды сошлись (suid/guid и прочая хуйня), то через vim ты можешь получить интерактивный root shell.
Делается так:
Или так:
На выходе тебе выплюнет доллар ($) ну и там уже бесоёбишь.
Это применимо не только к пентесту, но и к ситуации когда админ порезал оболочку, ограничив тебя белым списком.
И если в этом списке есть vi/vim, то ты ничем не ограничен. Запускаешь полноценный shell через vim и развлекаешься. А порой можно дотянутся и до папки /root и всего остального. Было бы желание 🥳
Вектор этот очень распространён, добавил в бэклог. Сниму как-нибудь видос на ютубину, покажу так сказать всю подноготную выхода из клетки средствами vim.
Давай, хороших выходных! Я пожалуй тоже устрою себе внеплановый отпуск на пару дней. Увидимся!
Там еще ребята с какого-то облака пришли. Устроим с ними конкурс в ближайшее время с вкусными призами, обещают подвезти вам облачных плюшек на халяву, а я в свою очередь денежный бонус задоначу, приобретете себе чтонибудь пиздатое, например как Дима тут ))
tags: #linux #security #utils
@ВАSНDАYS | BАSHDАYS.CОM
Если звезды сошлись (suid/guid и прочая хуйня), то через vim ты можешь получить интерактивный root shell.
Делается так:
vim -c ':!/bin/sh'
Или так:
vim --cmd ':set shell=/bin/sh|:shell'
На выходе тебе выплюнет доллар ($) ну и там уже бесоёбишь.
Это применимо не только к пентесту, но и к ситуации когда админ порезал оболочку, ограничив тебя белым списком.
И если в этом списке есть vi/vim, то ты ничем не ограничен. Запускаешь полноценный shell через vim и развлекаешься. А порой можно дотянутся и до папки /root и всего остального. Было бы желание 🥳
Вектор этот очень распространён, добавил в бэклог. Сниму как-нибудь видос на ютубину, покажу так сказать всю подноготную выхода из клетки средствами vim.
Давай, хороших выходных! Я пожалуй тоже устрою себе внеплановый отпуск на пару дней. Увидимся!
Там еще ребята с какого-то облака пришли. Устроим с ними конкурс в ближайшее время с вкусными призами, обещают подвезти вам облачных плюшек на халяву, а я в свою очередь денежный бонус задоначу, приобретете себе чтонибудь пиздатое, например как Дима тут ))
tags: #linux #security #utils
@ВАSНDАYS | BАSHDАYS.CОM
This media is not supported in your browser
VIEW IN TELEGRAM
Майские праздники равносильны новогодним, уже на третий день начинаешь деградировать и превращаться в обезьяну. После таких затяжных выходных, нужно еще пару недель, чтобы вернуться к нормальной жизни.
Привет. Сегодня расскажу про штуку, которой одно время пользовался на локальной машине и снова к ней вернулся.
✔️ Называется Atuin — Magical shell history.
Если коротко, эта тулза заменяет стандартный поиск в командной строке по ctrl+r на красивенький и достаточно удобный.
Но помимо красивых пейзажей, вся история команд синхронизируется с облачным сервером. Используется база данных sqlite.
По сути у тебя одна общая история на нескольких машинах. Очень удобно если бегаешь между ноутом и стационарным компом.
Ты скажешь — фи, это же не безопасно! Согласен, поэтому есть варик поднять свой сервачок и синхронизировать через него.
Все в лучших традициях selfhosted. Мануал по установке сервера. Через docker-compose за пару минут все расчехляется.
Привет. Сегодня расскажу про штуку, которой одно время пользовался на локальной машине и снова к ней вернулся.
✔️ Называется Atuin — Magical shell history.
Если коротко, эта тулза заменяет стандартный поиск в командной строке по ctrl+r на красивенький и достаточно удобный.
Но помимо красивых пейзажей, вся история команд синхронизируется с облачным сервером. Используется база данных sqlite.
По сути у тебя одна общая история на нескольких машинах. Очень удобно если бегаешь между ноутом и стационарным компом.
Ты скажешь — фи, это же не безопасно! Согласен, поэтому есть варик поднять свой сервачок и синхронизировать через него.
Все в лучших традициях selfhosted. Мануал по установке сервера. Через docker-compose за пару минут все расчехляется.
Кстати если нажать стрелочку вверх, сработает триггер и откр...
Сегодня за девопс, gitlab и как сделать комфортный pipeline с выпадающими списками Variables + Бонусы.
Из коробки, когда ты жмешь кнопку Run Pipeline, тебе нужно руками вбивать нужные Variables, например, чтобы указать окружение, в которое будет раскатан релиз.
Каждый раз вбивать руками
Хочется чтобы был выпадающий список со всеми параметрами. Накликал мышкой и в продакшен.
Выпадающие списки можно делать не только с окружениями, но и добавить банальные вопросы YES/NO и прочее. А затем в секции rules уже все это разруливать и обрабатывать.
✔️Ниже базовая болванка
Создаем файл
В первой секции variables, описываем выпадающий список. Из него будем выбирать мышкой, куда деплоить.
N/A (выбран по умолчанию) добавлено для дураков, которые ничего не выбирают и сразу тыкают Run Pipeline. В таком случае пайплайн зафейлится и ничего не пострадает.
Дальше идут две секции, которые описывают окружения stage и production, там указываем айпишинки и вообще всё, что захотим для каждого окружения. Можно флагов навтыкать и прочего говна.
Ну и основная секция deploy, у меня указан раннер с тэгом common-runner, а потом полезная нагрузка которая будет выполнена.
В секции rules зашита логика. В зависимости от того, какое окружение было выбрано из выпадающего списка, применяются настройки либо от stage, либо от production. Короче инклудится нужное.
Собственно всё. Если нужно добавить еще каких-то выпадающих списков, добавляем в первую секцию всё необходимое, аналогично ENVIRONMENT. Ну и потом в rules все это обрабатываем. Например, так:
В общем всё элементарно. По итогу получаем незамысловатый пайплайн, всё в одном месте и ничего не раскидано по самому gitlab.
Бонусы. Да, если нужен общий пайплайн для нескольких проектов, делаем так:
Создаем репу dev/pipelines, кидаем туда файл .gitlab-ci.yml, настраиваем в нем всё под свои реалии.
Дальше в нужных проектах добавляем файл .gitlab-ci.yml с таким содержимым:
Всё, теперь не надо плодить кучу .gitlab-ci.yml с одинаковым содержимым, все инклудится из одного места. Ну и если нужно что-то поменять, меняем один раз и все проекты автоматически это подхватывают.
Максимально попытался упростить и сделать наглядно, а дальше уже включай фантазию и твори.
Хорошего тебе дня, увидимся!
tags: #devops
@ВАSНDАYS | BАSHDАYS.CОM
Из коробки, когда ты жмешь кнопку Run Pipeline, тебе нужно руками вбивать нужные Variables, например, чтобы указать окружение, в которое будет раскатан релиз.
Каждый раз вбивать руками
Variable ENVIRONMENT=stage / production
ну пиздец тяжко и неудобно. А если таких переменных овердохуя, то всё желание пропадает что-то делать.Хочется чтобы был выпадающий список со всеми параметрами. Накликал мышкой и в продакшен.
Выпадающие списки можно делать не только с окружениями, но и добавить банальные вопросы YES/NO и прочее. А затем в секции rules уже все это разруливать и обрабатывать.
✔️Ниже базовая болванка
Создаем файл
.gitlab-ci.yml
в корне проекта и добавляем в него:variables:
ENVIRONMENT:
value: "N/A"
options:
- "N/A"
- "STAGE"
- "PRODUCTION"
description: "Deployment environment"
.stage_server:
&stage_server
WEB_NODE: "xx.xx.xx.xx"
DB_NODE: "xx.xx.xx.xx"
.production_server:
&production_server
WEB_NODE: "xx.xx.xx.xx"
DB_NODE: "xx.xx.xx.xx"
deploy:
tags:
- common-runner
script:
- echo $ENVIRONMENT
- echo "build & deploy here"
rules:
- if: '$ENVIRONMENT == "STAGE"'
variables:
<<: *stage_server
- if: '$ENVIRONMENT == "PRODUCTION"'
variables:
<<: *production_server
В первой секции variables, описываем выпадающий список. Из него будем выбирать мышкой, куда деплоить.
N/A (выбран по умолчанию) добавлено для дураков, которые ничего не выбирают и сразу тыкают Run Pipeline. В таком случае пайплайн зафейлится и ничего не пострадает.
Дальше идут две секции, которые описывают окружения stage и production, там указываем айпишинки и вообще всё, что захотим для каждого окружения. Можно флагов навтыкать и прочего говна.
Ну и основная секция deploy, у меня указан раннер с тэгом common-runner, а потом полезная нагрузка которая будет выполнена.
В секции rules зашита логика. В зависимости от того, какое окружение было выбрано из выпадающего списка, применяются настройки либо от stage, либо от production. Короче инклудится нужное.
Собственно всё. Если нужно добавить еще каких-то выпадающих списков, добавляем в первую секцию всё необходимое, аналогично ENVIRONMENT. Ну и потом в rules все это обрабатываем. Например, так:
- if: '$JOB == "YES" && $ENVIRONMENT == "STAGE"'
В общем всё элементарно. По итогу получаем незамысловатый пайплайн, всё в одном месте и ничего не раскидано по самому gitlab.
Бонусы. Да, если нужен общий пайплайн для нескольких проектов, делаем так:
Создаем репу dev/pipelines, кидаем туда файл .gitlab-ci.yml, настраиваем в нем всё под свои реалии.
Дальше в нужных проектах добавляем файл .gitlab-ci.yml с таким содержимым:
include:
- project: "dev/pipelines"
file: ".gitlab-ci.yml"
Всё, теперь не надо плодить кучу .gitlab-ci.yml с одинаковым содержимым, все инклудится из одного места. Ну и если нужно что-то поменять, меняем один раз и все проекты автоматически это подхватывают.
Максимально попытался упростить и сделать наглядно, а дальше уже включай фантазию и твори.
Хорошего тебе дня, увидимся!
tags: #devops
@ВАSНDАYS | BАSHDАYS.CОM
Java — один из самых популярных языков программирования, который используют разработчики для создания игр и приложений. Если вы давно мечтаете попробовать себя в этой сфере, скорее записывайтесь на мини-курс по Java-разработке. Подойдёт новичкам разного возраста, а ещё это полностью бесплатно!
Регистрируйтесь: https://epic.st/0gaPiE?erid=2VtzqvfS5WZ
🎉 И получите первый подарок — гайд по профессии Java-разработчика.
Что будем делать на мини-курсе:
🔹 Обсудим, почему Java — один из самых востребованных языков
🔹 Познакомимся с кодом Java и рассмотрим ключевые элементы приложений на этом языке
🔹 Определим навыки для трудоустройства
🔹 Сравним Java и Python
🔹 Сделаем Java-приложения по инструкции
Формат мини-курса отлично подойдёт для обучения из любой точки мира: смотрите видео в удобное время и закрепляйте навыки на практике.
Успейте записаться бесплатно!
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
Регистрируйтесь: https://epic.st/0gaPiE?erid=2VtzqvfS5WZ
🎉 И получите первый подарок — гайд по профессии Java-разработчика.
Что будем делать на мини-курсе:
🔹 Обсудим, почему Java — один из самых востребованных языков
🔹 Познакомимся с кодом Java и рассмотрим ключевые элементы приложений на этом языке
🔹 Определим навыки для трудоустройства
🔹 Сравним Java и Python
🔹 Сделаем Java-приложения по инструкции
Формат мини-курса отлично подойдёт для обучения из любой точки мира: смотрите видео в удобное время и закрепляйте навыки на практике.
Успейте записаться бесплатно!
Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880
Люди любят жаловаться на жизнь, а когда предлагаешь обратиться к психологу — это «дорого», «некогда», «я им не доверяю».
Кому действительно важно разобраться в себе и изменить жизнь, видит возможности, а не препятствия
Первый шаг к решению проблемы — этоеё осознание . В этом может помочь канал доказательного врача-психиатра и психотерапевта , через терапевтические тексты которого можно поработать над:
✅ погружением в себя и определением причины своих непростых состояний
✅ понижением градуса тревожности
✅ повышением самооценки
✅ способностью эффективно контактировать с людьми
Реклама. Ковалев К.И. ИНН: 325502816794
Кому действительно важно разобраться в себе и изменить жизнь, видит возможности, а не препятствия
Первый шаг к решению проблемы — это
✅ погружением в себя и определением причины своих непростых состояний
✅ понижением градуса тревожности
✅ повышением самооценки
✅ способностью эффективно контактировать с людьми
Реклама. Ковалев К.И. ИНН: 325502816794
Чипи-чипи, чапа-чапа. Привет, на скрине 🚫некий Linux бедолага очень обрадовался, когда нашел пасхалку в команде date. Этакий нигде недокументированный аргумент.
Ну да, если запросить help либо глянуть в гуглах, такая конструкция нигде не упоминается.
Молодец чо. НО, если бы он знал про функцию getopt_long, то вряд ли сделал открытие. Ща расскажу в чем прикол.
Короче, куча программ и утилит используют функцию getopt_long для перебора командной строки. И эта функция распознает сокращения в длинных аргументах и опциях.
Собственно вот оригинальная команда:
Но если пропустить её через getopt_long, получим ту самую «пасхалку»:
✔️ Еще примеры для понимания:
Понял в чем прикол? Но это еще не всё!
Утил...
date --iso=seconds
Ну да, если запросить help либо глянуть в гуглах, такая конструкция нигде не упоминается.
Молодец чо. НО, если бы он знал про функцию getopt_long, то вряд ли сделал открытие. Ща расскажу в чем прикол.
Короче, куча программ и утилит используют функцию getopt_long для перебора командной строки. И эта функция распознает сокращения в длинных аргументах и опциях.
Функция getopt_long входит в состав пакета GNU C (glibc)
Собственно вот оригинальная команда:
date --iso-8601=seconds
Но если пропустить её через getopt_long, получим ту самую «пасхалку»:
date --iso=seconds
✔️ Еще примеры для понимания:
1. nano --smart --book
2. ls --hyper --show
3. du --one --human --sum
1. --smarthome --bookstyle
2. --hyperlink --show-control-chars
3. --one-file-system --human-readable --summarize
Понял в чем прикол? Но это еще не всё!
Утил...
⚡ Скидка 20% на комплект сервисов: Managed Kubernetes, объектное хранилище S3 и облачные базы данных
Запускайте и развивайте веб-проекты любой сложности с помощью отказоустойчивых и масштабируемых сервисов Selectel. До 30 июня подключите три сервиса и пользуйтесь ими со скидкой 20%. Скидка не ограничена по времени и действует, пока вы используете все три сервиса.
Преимущества PaaS-сервисов в Selectel:
◽️ Быстрый запуск, отказоустойчивость и легкое масштабирование.
◽️Вы можете размещать и хранить персональные данные пользователей по закону, ведь сервисы соответствуют 152-ФЗ.
◽️Для того, чтобы развернуть проект в удобной панели my.selectel достаточно несколько кликов.
Переходите по ссылке, что зарегистрироваться и подключить сервисы со скидкой: https://slc.tl/ycean
Реклама ООО «Селектел» erid 2VtzquePgc2
Запускайте и развивайте веб-проекты любой сложности с помощью отказоустойчивых и масштабируемых сервисов Selectel. До 30 июня подключите три сервиса и пользуйтесь ими со скидкой 20%. Скидка не ограничена по времени и действует, пока вы используете все три сервиса.
Преимущества PaaS-сервисов в Selectel:
◽️ Быстрый запуск, отказоустойчивость и легкое масштабирование.
◽️Вы можете размещать и хранить персональные данные пользователей по закону, ведь сервисы соответствуют 152-ФЗ.
◽️Для того, чтобы развернуть проект в удобной панели my.selectel достаточно несколько кликов.
Переходите по ссылке, что зарегистрироваться и подключить сервисы со скидкой: https://slc.tl/ycean
Реклама ООО «Селектел» erid 2VtzquePgc2
Упоримся? А давай!
Открывай терминал с башем и запускай команду:
По идее тут что-то вроде бесконечного цикла, который будет cat’ить на экран файл hosts, предварительно грепнув содержимое по символу «a».
Запустил? И всё зависло! По крайней мере у меня вывелась только одна строчка вида:
Но почему оно зависло? А потому, что утилита cat при попытке записать данные в сломанный канал, завершается сигналом.
✔️ Давай убедимся:
Получаем цифру 13. Откуда она взялась? Смотри! Если команда завершается сигналом, тогда статус ошибки ($?) == 128 + Номер сигнала.
А дальше вычитаем, делим, умножаем, корень квадратный вычисляем, заводим в дискриминант по синусу. Пеню. Короче получили цифру 13.
Более подробно про сигналы мы с тобой разбирали в этом посте.
Давай посмотрим, что такое 13:
Вывелось PIPE, что равносильно SIGPIPE (Broken Pipe). Ага!
Получается что наш бесконечный цикл постоянно запускает утилиту cat, которая тут же завершается.
Раньше эта ситуация была очевидна и на экран выводилась ошибка. А вот с версии Bash 3.1-alpha1 это пофиксили, вот выжимка из спеков:
Нахуй так сделали, непонятно, скорее всего ушли в сторону set pipefail, типа кому надо тот включит, чтобы лишнее гавно на экран не сыпалось.
Ладно. После запуска этого бесконечного цикла, можешь запустить htop и визуально глянуть как порождается бесконечное количество процессов, растет счетчик PID. А как только выработан лимит PID, пиды начинают использоваться повторно. В общем это хорошо видно.
Ну либо так можно глянуть:
Увидишь большую разницу между значениями PID.
Теперь как это пофиксить. Если уж захотелось упороться, нужно упарываться правильно.
Вот несколько вариантов:
Если присмотреться, может возникнуть вопрос — а откуда выходит exit? Цикл выполняется в подоболочке, потому что является участником канала.
Давай проверим:
Запускаем конвейер в фоне. Команда cat без указания аргументов будет читать стандартный ввод, который в данной ситуации ассоциирован с терминалом и ждет ввода данных.
А такое не позволительно фоновым процессам, поэтому такие задания будут приостановлены.
Проверяем, что оно действительно приостановлено:
Ну и теперь смотрим, кто есть кто:
Процесс 251913/251893 и есть подоболочка, в котором крутится наш цикл. Вот с этой подоболочки и выходит exit.
Сложно? Да не… азы с некоторыми нюансами. Изучай!
tags: #linux #bash
—
🔔
Открывай терминал с башем и запускай команду:
while :; do cat /etc/hosts ; done | grep -m1 'a'
По идее тут что-то вроде бесконечного цикла, который будет cat’ить на экран файл hosts, предварительно грепнув содержимое по символу «a».
Аргумент -m1 = выход после первого вхождения искомой подстроки. После этого, конец канала закрывается для чтения.
Запустил? И всё зависло! По крайней мере у меня вывелась только одна строчка вида:
127.0.0.1 localhost bashdays
Но почему оно зависло? А потому, что утилита cat при попытке записать данные в сломанный канал, завершается сигналом.
✔️ Давай убедимся:
set -o pipefail
cat /etc/hosts | exit 0
echo $(( $? > 128 ? $? - 128 : $? ))
Получаем цифру 13. Откуда она взялась? Смотри! Если команда завершается сигналом, тогда статус ошибки ($?) == 128 + Номер сигнала.
А дальше вычитаем, делим, умножаем, корень квадратный вычисляем, заводим в дискриминант по синусу. Пеню. Короче получили цифру 13.
Более подробно про сигналы мы с тобой разбирали в этом посте.
Давай посмотрим, что такое 13:
kill -l 13
Вывелось PIPE, что равносильно SIGPIPE (Broken Pipe). Ага!
Получается что наш бесконечный цикл постоянно запускает утилиту cat, которая тут же завершается.
Раньше эта ситуация была очевидна и на экран выводилась ошибка. А вот с версии Bash 3.1-alpha1 это пофиксили, вот выжимка из спеков:
This document details the changes between this version, bash-3.1-alpha1,
and the previous version, bash-3.0-release.
By default, the shell no longer reports processes dying from SIGPIPE.
Нахуй так сделали, непонятно, скорее всего ушли в сторону set pipefail, типа кому надо тот включит, чтобы лишнее гавно на экран не сыпалось.
Ладно. После запуска этого бесконечного цикла, можешь запустить htop и визуально глянуть как порождается бесконечное количество процессов, растет счетчик PID. А как только выработан лимит PID, пиды начинают использоваться повторно. В общем это хорошо видно.
Ну либо так можно глянуть:
ps --no-headers --sort=pid -eo pid
Увидишь большую разницу между значениями PID.
Теперь как это пофиксить. Если уж захотелось упороться, нужно упарываться правильно.
Вот несколько вариантов:
while : ; do cat /etc/hosts || { echo $? >&2 ; exit; } ;done | grep -m1 'a'
while : ; do cat /etc/hosts || break ; done | grep -m1 'a'
while : ; do cat /etc/hosts || exit ; done | grep -m1 'a'
Если присмотреться, может возникнуть вопрос — а откуда выходит exit? Цикл выполняется в подоболочке, потому что является участником канала.
Давай проверим:
while : ; do cat ; done | grep -m1 'a' &
Запускаем конвейер в фоне. Команда cat без указания аргументов будет читать стандартный ввод, который в данной ситуации ассоциирован с терминалом и ждет ввода данных.
А такое не позволительно фоновым процессам, поэтому такие задания будут приостановлены.
Проверяем, что оно действительно приостановлено:
jobs -l
[1]+251913 Stopped (tty input) while :; do
cat;
done
251921 | grep --color=auto -m1 'a'
Ну и теперь смотрим, кто есть кто:
ps --forest -o pid,ppid,stat,comm
PID PPID STAT COMMAND
251893 251854 Ss bash
251913 251893 T \_bash
251924 251913 T | \_cat
251921 251893 T \_grep
251962 251893 R+ \_ps
Процесс 251913/251893 и есть подоболочка, в котором крутится наш цикл. Вот с этой подоболочки и выходит exit.
Сложно? Да не… азы с некоторыми нюансами. Изучай!
tags: #linux #bash
—
🔔
Привет. В Linux есть утилита basenc, которая входит в состав пакета coreutils. С помощью неё можно конвертировать данные в двоичный формат. Это который
Видел на днях как люди упарывались и писали свои велосипеды, банально не зная о существовании этой утилиты и её возможностях.
А всё просто, давай закодируем название деревни:
По итогу получаем набор 0 и 1. Ключ -w16 я указываю, чтобы выводить по 16 символов в строке. Для удобства. Так как русские символы кодируются двумя байтами.
✔️ Вывод получился таким:
А почему в последней строке какой-то обрубок?
Это не обрубок, это 8 бит! И эти 8 бит == символу новой строки, который закодирован одним байтом, о чем нам говорит левый бит первого и единственного октета (00001010).
А декодируется всё это безобразие так:
Просто указываем ключ -d и вуаля!
Если тема интересна, можешь почитать более подробно про кодирование UTF-8 здесь.
⚡ Вага-вага!
Сегодня чуть позже (16:00 МСК) залетит еще один партнерский пост, но это будет не просто рекламная интеграция.
Ниже я сделаю кнопку (в 16:02 МСК). Нажав на нее ты сможешь выиграть 1 бесплатный купон на неплохую онлайн конфу. Всего будет 3 таких купона. Всю эту кухню контролирую лично я, поэтому наёба тут нет.
А на следующей неделе будет еще одна движуха, но там уже более интересная и интерактивная, с денежными призами и облачными серверами, вчера в чатике подробности озвучивал.
Короче если интересно, не пропусти. Давай, хорошего дня!
tags: #linux #bash
—
🔔
00110010
.Видел на днях как люди упарывались и писали свои велосипеды, банально не зная о существовании этой утилиты и её возможностях.
А всё просто, давай закодируем название деревни:
echo 'пиздачосово' | basenc -w16 --base2msbf
По итогу получаем набор 0 и 1. Ключ -w16 я указываю, чтобы выводить по 16 символов в строке. Для удобства. Так как русские символы кодируются двумя байтами.
✔️ Вывод получился таким:
1101000010111111
1101000010111000
1101000010110111
1101000010110100
1101000010110000
1101000110000111
1101000010111110
1101000110000001
1101000010111110
1101000010110010
1101000010111110
00001010
А почему в последней строке какой-то обрубок?
Это не обрубок, это 8 бит! И эти 8 бит == символу новой строки, который закодирован одним байтом, о чем нам говорит левый бит первого и единственного октета (00001010).
А декодируется всё это безобразие так:
str="1101000010111111110100001011100011010000101101111101000010110100110100001011000011010001100001111101000010111110110100011000000111010000101111101101000010110010110100001011111000001010"
echo $str | basenc -d --base2msbf
Просто указываем ключ -d и вуаля!
Если тема интересна, можешь почитать более подробно про кодирование UTF-8 здесь.
⚡ Вага-вага!
Сегодня чуть позже (16:00 МСК) залетит еще один партнерский пост, но это будет не просто рекламная интеграция.
Ниже я сделаю кнопку (в 16:02 МСК). Нажав на нее ты сможешь выиграть 1 бесплатный купон на неплохую онлайн конфу. Всего будет 3 таких купона. Всю эту кухню контролирую лично я, поэтому наёба тут нет.
А на следующей неделе будет еще одна движуха, но там уже более интересная и интерактивная, с денежными призами и облачными серверами, вчера в чатике подробности озвучивал.
Короче если интересно, не пропусти. Давай, хорошего дня!
tags: #linux #bash
—
🔔
Масштабирование задач и высокая производительность с Immers.cloud
Друзья, мы являемся одними из ведущих поставщиков IaaS услуг в России, специализирующийся на использовании GPU. На нашем сайте представлен широкий выбор видеокарт для обучения и инференса нейронных сетей, включая в свой арсенал такие мощные модели, как Н100 и А100 на 80 Gb с NVlink.
Мы закрепляем физические ядра процессора и графические адаптеры только за одним клиентом.
Это значит, что:
🌳 Ядра процессора будут доступны на 100% процессорного времени;
🌳 Выбранный графический ускоритель будет зарезервирован только за вашим сервером;
🌳 Вы получите высокую производительность при работе с системой хранения.
Тестирование виртуальных серверов с сетевыми загрузочными дисками показывает до 70 000 IOPS на случайные операции чтения и до 60 000 IOPS на случайные операции записи.
Вы можете быть уверены, что арендуемые CPU и GPU используются только вашим виртуальным сервером.
Заинтересованы? Давайте обсудим, как наш сервис может стать решением ваши...
Друзья, мы являемся одними из ведущих поставщиков IaaS услуг в России, специализирующийся на использовании GPU. На нашем сайте представлен широкий выбор видеокарт для обучения и инференса нейронных сетей, включая в свой арсенал такие мощные модели, как Н100 и А100 на 80 Gb с NVlink.
Мы закрепляем физические ядра процессора и графические адаптеры только за одним клиентом.
Это значит, что:
🌳 Ядра процессора будут доступны на 100% процессорного времени;
🌳 Выбранный графический ускоритель будет зарезервирован только за вашим сервером;
🌳 Вы получите высокую производительность при работе с системой хранения.
Тестирование виртуальных серверов с сетевыми загрузочными дисками показывает до 70 000 IOPS на случайные операции чтения и до 60 000 IOPS на случайные операции записи.
Вы можете быть уверены, что арендуемые CPU и GPU используются только вашим виртуальным сервером.
Заинтересованы? Давайте обсудим, как наш сервис может стать решением ваши...