Интересная статья про хантинг ИТ специалистов.
Выглядит так, что хантинг в ИТ процесс более трудоёмкий, чем сами ИТ. Результативных рекрутеров немного и они очень ценятся на рынке. И спрос на них падать не планирует - мы вошли в резульаты демографической ямы и в ближайшие 7-10 не выйдем из неё.
Так что если ваши знакомые хотят интерсную высокооплачиваемую работу, но ИТ на дух не переносят, можно присмотреться к сфере рекрутинга
Выглядит так, что хантинг в ИТ процесс более трудоёмкий, чем сами ИТ. Результативных рекрутеров немного и они очень ценятся на рынке. И спрос на них падать не планирует - мы вошли в резульаты демографической ямы и в ближайшие 7-10 не выйдем из неё.
Так что если ваши знакомые хотят интерсную высокооплачиваемую работу, но ИТ на дух не переносят, можно присмотреться к сфере рекрутинга
vc.ru
Аналитика для хантинга и рекомендации по найму ИТ-специалистов — Карьера на vc.ru
В этой статье мы расскажем, сколько сейчас стоит нанять востребованных разработчиков, девопсов, SRE, QA, продакт менеджеров, продуктовых аналитиков. Опишем, какие факторы аффектят сейчас рынок найма в ИТ, и отметим растущие тренды, которые будут определять…
Только Python для инженеров и ничего лишнего
Учебный центр Слёрм приглашает на третий поток курса «Python для инженеров», в котором разбираем админские библиотеки и учим писать автоматизацию.
Это не будет «тот самый курс от Hello World до декораторов с «гарантированным» трудоустройством». Обучение для тех, кто готов совершенствовать уровень программирования и на деле внедрять автоматизацию, сокращая рутину.
Вы не будете решать абстрактные задачки вроде: переверните список, не используя reverse(). В нашей практике только то, что применимо в работе.
Выберите свой формат обучения: от самостоятельного изучения материалов до ревью каждого задания спикером.
Обучение закрепим проектом: ваша рабочая задача ли наш вариант.
Третий поток начинается 31 января и длится 3 месяца. Места на каждом формате обучения ограничены.
Выберите формат и тариф, забронируйте место сейчас, а платите до конца декабря.
Посмотреть программу и оставить заявку: https://slurm.club/3lLs4YR
Учебный центр Слёрм приглашает на третий поток курса «Python для инженеров», в котором разбираем админские библиотеки и учим писать автоматизацию.
Это не будет «тот самый курс от Hello World до декораторов с «гарантированным» трудоустройством». Обучение для тех, кто готов совершенствовать уровень программирования и на деле внедрять автоматизацию, сокращая рутину.
Вы не будете решать абстрактные задачки вроде: переверните список, не используя reverse(). В нашей практике только то, что применимо в работе.
Выберите свой формат обучения: от самостоятельного изучения материалов до ревью каждого задания спикером.
Обучение закрепим проектом: ваша рабочая задача ли наш вариант.
Третий поток начинается 31 января и длится 3 месяца. Места на каждом формате обучения ограничены.
Выберите формат и тариф, забронируйте место сейчас, а платите до конца декабря.
Посмотреть программу и оставить заявку: https://slurm.club/3lLs4YR
Иногда нужно узнать открытые порты в контейнере, но не всегда в нем есть netstat или ss. В /proc/net/tcp можно увидеть все открытые сокеты. Правда, в hex формате. Но bash умеет переводить числа из разных систем счисления
Вот команда, показывающая все открытые порты в системе в десятичном формате
Вот команда, показывающая все открытые порты в системе в десятичном формате
cat /proc/net/tcp | awk '{print $2}' | cut -d : -f 2 | xargs -I % /bin/bash -c 'echo $((16#%))'
Чтобы увидеть порты конкретного процесса, нужно посмотреть открытые этим процессом сокеты ls -la /proc/PID/fd | grep socketа потом найти номер нужного сокета в поле inode в
/proc/net/tcpВсегда старался следовать принципу "Чтобы пацанам было не стыдно показать", правда формулировал его иначе. Но суть остается той же. Статья холиварная, но полезная
Хабр
Чтобы пацанам было не стыдно показать
Я стар и уже глуп, а у вас всё впереди, уважаемый программист. Но позвольте дать вам один совет, который наверняка поможет в вашей карьере – если, конечно, вы планируете остаться программистом. Советы...
Forwarded from Евгений Потапов и ITSumma
Нашел в закладках такую вот статью:
https://gekk.info/articles/dosapps.html
Автор изучил гигантский объем материалов и написал гигантский материал про историю многозадачного запуска DOS-программ.
Сначала объясняются принципы многозадачности, особенности работы DOS-а, историю процессоров (8086-й как первый процессор, 80286 и его защищенный, 80386 и его virtual 8086), а потом автор смотрит каждую винду с Windows 1 до Windows 95 и пробует запускать на них досовые программы
Статья гигантская, я дочитал до второй винды, но как раз удобное чтиво, когда хочется спрятаться под одеялко и ничего не делать.
https://gekk.info/articles/dosapps.html
Автор изучил гигантский объем материалов и написал гигантский материал про историю многозадачного запуска DOS-программ.
Сначала объясняются принципы многозадачности, особенности работы DOS-а, историю процессоров (8086-й как первый процессор, 80286 и его защищенный, 80386 и его virtual 8086), а потом автор смотрит каждую винду с Windows 1 до Windows 95 и пробует запускать на них досовые программы
Статья гигантская, я дочитал до второй винды, но как раз удобное чтиво, когда хочется спрятаться под одеялко и ничего не делать.
gekk.info
Running DOS Apps on Windows
A rough comparison of the experience of running DOS apps under each early release of Windows
Matrix in your terminal
while :;do echo $LINES $COLUMNS $(( $RANDOM % $COLUMNS)) $(printf "\U$(($RANDOM % 500))");sleep 0.05;done|gawk '{a[$3]=0;for (x in a){o=a[x];a[x]=a[x]+1;printf "\033[%s;%sH\033[2;32m%s",o,x,$4;printf "\033[%s;%sH\033[1;37m%s\033[0;0H",a[x],x,$4;if (a[x] >= $1){a[x]=0;} }}'Часто приходится писать bash скрипты. Я далеко не специалист в баше и недавно осознал одну вещь.
Каждый скрипт должен иметь статус выхода. Зачем? Да просто потому что он может использоваться другими скриптами или вызываться из других систем, например CI. Если скрипт выполнился с ошибками, но на выходе мы получили статус 0, что говорит о его успешном выполнении, то, к примеру Gitlab CI, посчитает его успешно выполнившимся и передаст управление следующей задаче. Но ведь наш скрипт может готовить данные для следующих задач, а значит они пройдут некорректно.
ВЫВОД 1: скрипт должен иметь статус выхода: 0 - всё хорошо, !0 - что-то пошло не так
Решить эту задачу достатчно просто: используем
Но иногда команда может выполниться с ошибкой, но для нас это ожидаемо и нужно продолжить выполнение кода. Например, мы хотим проверить существование репозитория в GitHub и, если его нет - создать репозиторий. В CI имеем две джобы - проверка и создание.
Для проверки запускаем
ВЫВОД 2: при ожидании ошибки нужно проверять вывод и, в зависимости от него, выдавать статус выхода
#bash #noscript
Каждый скрипт должен иметь статус выхода. Зачем? Да просто потому что он может использоваться другими скриптами или вызываться из других систем, например CI. Если скрипт выполнился с ошибками, но на выходе мы получили статус 0, что говорит о его успешном выполнении, то, к примеру Gitlab CI, посчитает его успешно выполнившимся и передаст управление следующей задаче. Но ведь наш скрипт может готовить данные для следующих задач, а значит они пройдут некорректно.
ВЫВОД 1: скрипт должен иметь статус выхода: 0 - всё хорошо, !0 - что-то пошло не так
Решить эту задачу достатчно просто: используем
set -euo pipefail
-e заставляет скрипт немедленно остановиться после ошибки в любой команде-u проверяет корректность заданных переменных. Если на вход скрипта не пришла нужная переменная, то он упадет с ошибкой-o pipefail проверяет работу перенаправлений. Например, эта команда выполнится без ошибки без флага -o pipefail : grep some-string /non/existent/file | sort . А с флагом выпадет с ошибкойНо иногда команда может выполниться с ошибкой, но для нас это ожидаемо и нужно продолжить выполнение кода. Например, мы хотим проверить существование репозитория в GitHub и, если его нет - создать репозиторий. В CI имеем две джобы - проверка и создание.
Для проверки запускаем
gh repo view $REPO . Если репозиторий есть, код выхода 0. Если нет - 1. Если мы не смогли получить доступ к GitHub из-за протухшего токена, тоже получим 1. Но ведь в случае ошибки нам нужно запустить следующую джобу, а она не запустится, если проверка выпала с ошибкой. ВЫВОД 2: при ожидании ошибки нужно проверять вывод и, в зависимости от него, выдавать статус выхода
# Получаем сообщение от GitHub. 2>&1 указывает, что в переменную нужно писать не только успешный вывод, но и ошибкуДля многих это очевидно, но я в очередной раз столкнулся с этой проблемой и решил написать об этом, чтобы не забыть на будущее и лучше разобраться в вопросе. Этот пример успешно работает в ArgoWorkflow. Понятное описание флагов тут
RESULT=$(gh repo view $REPO 2>&1)
# Если репа существует - считаем скрипт успешно выполненным и выходим
if [ $? -eq 0 ]; then
echo "0"
exit 0
# Если репы нет - считаем скрипт успешно выполненным и отдаем на выход 1. Следующая джоба по этому коду понимает, что нужно запуститься
elif [ "$RESULT" = "GraphQL error: Could not resolve to a Repository with the name $REPO." ]; then
echo "1"
exit 0
else
# если текст ошибки другой - считаем, что что-то пошло не так и выходим с ошибкой exit 255
echo ERROR: $RESULT
exit 255
fi
#bash #noscript
Gist
set -e, -u, -o, -x pipefail explanation
set -e, -u, -o, -x pipefail explanation. GitHub Gist: instantly share code, notes, and snippets.
Спасибо всем, кто был с нами в этом году!
Оригинальных постов было мало. Буду исправляться в следующем.
Работы и постов про сети было очень мало, так как направление моей работы изменилось в сторону DevOps. В следующем году планирую больше писать про DevOps. Если появятся сетевые проекты, то буду писать и о них.
Планирую изучить сети в публичных облаках и kubernetes и чуть больше программировать.
Желаю всем в новом году продуктивно изучать новое, внедрять классные технологии и чтобы ковид обошел вас и ваших близких стороной.
Вперед - к светлому будущему!
Оригинальных постов было мало. Буду исправляться в следующем.
Работы и постов про сети было очень мало, так как направление моей работы изменилось в сторону DevOps. В следующем году планирую больше писать про DevOps. Если появятся сетевые проекты, то буду писать и о них.
Планирую изучить сети в публичных облаках и kubernetes и чуть больше программировать.
Желаю всем в новом году продуктивно изучать новое, внедрять классные технологии и чтобы ковид обошел вас и ваших близких стороной.
Вперед - к светлому будущему!
Forwarded from DOFH - DevOps from hell
XAKEP
Руткит iLOBleed скрывается в прошивке устройств HP iLO
Специалисты иранской ИБ-компании Amnpardaz заявили, что обнаружили уникальный руткит, который скрывается в прошивках устройств HP iLO и используется в реальных атаках для стирания серверов иранских организаций.
Forwarded from NetDevOps Space
По традиции в первые дни нового года ставим цели и планируем шаги их достижения. Лучше чем книги для этого сложно что-то найти.
Начну с книги "Kafka Up and Running for Network DevOps" Эрика Чоу, о которой я писал в этом посте. Он выложил ее бесплатно для тех у кого Kindle. У вас есть пара дней, чтобы ее заполучить.
Продолжим. Вы можете абсолютно бесплатно скачать книги от Juniper Networks. Нас, как автоматизаторов интересует три самые популярные книги по автоматизации: PyEZ, Salt и Ansible
Ну и на последнее. 460 бесплатных учебников по математике, инженерии, естественным наукам и множества другим от FreeCodeCamp.
Ну и новое в канале, тестирую новые реакции для поста, которое запустил телеграм. Кто еще не знает, чтобы проголосовать попробуйте тапнуть на пост и у вас должны появится реакции.
Спасибо, иду планировать свой 2022! - 🔥
Я еще от 2021 не отошел! - 🎉
Мне нравятся новые реакции! - ❤️
Мне оно не надо! - 👎
Заходим в наш уютный чат - https://news.1rj.ru/str/automate_devnet
Основной канал - https://news.1rj.ru/str/automate_net
#netdevops #free #books
Начну с книги "Kafka Up and Running for Network DevOps" Эрика Чоу, о которой я писал в этом посте. Он выложил ее бесплатно для тех у кого Kindle. У вас есть пара дней, чтобы ее заполучить.
Продолжим. Вы можете абсолютно бесплатно скачать книги от Juniper Networks. Нас, как автоматизаторов интересует три самые популярные книги по автоматизации: PyEZ, Salt и Ansible
Ну и на последнее. 460 бесплатных учебников по математике, инженерии, естественным наукам и множества другим от FreeCodeCamp.
Ну и новое в канале, тестирую новые реакции для поста, которое запустил телеграм. Кто еще не знает, чтобы проголосовать попробуйте тапнуть на пост и у вас должны появится реакции.
Спасибо, иду планировать свой 2022! - 🔥
Я еще от 2021 не отошел! - 🎉
Мне нравятся новые реакции! - ❤️
Мне оно не надо! - 👎
Заходим в наш уютный чат - https://news.1rj.ru/str/automate_devnet
Основной канал - https://news.1rj.ru/str/automate_net
#netdevops #free #books
👍13❤7🔥4😱2😢1🎉1🤩1
Forwarded from RUH8
Эксплоиты, программки, которые превращают уязвимости в софте во что-нибудь полезное (для хакера, не для вас) - отдельный вид современного искусства. Не знаю с чем сравнить. Сборка кораблика в бутылке с помощью трехметровой линейки с завязанными глазами? Поездка на машине, от которой вы по ходу дела отломали тормоза, колесо, и пытаетесь ей управлять с помощью лома, резинки от трусов и набора цветных карандашей? Как-то так.
Гугл распотрошил экслоит израильской NSO https://bit.ly/3mabxOl и это замечательная конструкция. Люди посылают друг другу смешные анимированные гифки (хотел бы я рассказать какие гифки есть в нашем секретном партийном чате, но меня тут же забанят). iMessage хочет, чтобы они крутились вечно. Для этого в заголовке GIF нужно поправить флажок, и чтобы не портить файл iMessage делает его копию. Казалось бы, что могло пойти не так?
По ошибке вместо копирования вызывается рендеринг картинок. А он уже на расширения файлов не смотрит. И NSO под видом гифки подсовывает PDF. А внутри PDF-ки картинка JBIG2 - это такой доисторический формат графики для ксероксов. Чтобы файлы получались маленькими, то он режет картинку на кусочки, и если куски, например буква "а" достаточно похожи между собой, то он использует один глиф для всего, как типографскую литеру.
Из-за этого случались многие беды https://bit.ly/3scwDiQ Кодек мог к примеру подумать что цифра 6 достаточно похожа на цифру 8, и заменить ее везде на картинках, чтобы сэконосить место. Потому в формат добавили маски - разницу между "похожим" глифом и тем, что нужно воспроизвести. И эти исправления накладываются на глиф с помощью операций AND, OR, XOR и XNOR. То есть эта штука тьюринг-полная. Любое мыслимое вычисление можно провести с помощью этих операций.
Дальше NSO использовали целочисленное переполнение, чтобы выйти за границы буфера и эта часть напоминает бутылку и кораблик. В результате они получили два основных примитива чтение и запись в произвольные места памяти. Если бы они хотели взломать одну конкретную версию софта, то этого бы хватило, но они захотели все и сразу. Для этого нужно знать, что и куда записывать.
И из доисторического графического формата они собрали полноценный виртуальный микрокомпьютер из 70 000 вентилей (те самые маски).
Нужно еще раз все перечислить, чтобы оценить проделанную NSO работу. Вам приходит гифка, которая на самом деле пдфка, и ее по ошибке, не копируют, а пытаются прочитать, в ней доисторическая картинка в формате ксероксов, которая в результате целочисленного переполнения может писать в память, и внутри этой "картинки" семьдесят тысяч блоков логических операций, которые эмулируют небольшой компьютер, который уже находит то место в памяти, которое нужно пропатчить, чтобы убежать из песочницы.
NSO продавали эту изящную вещицу негодяям и убийцам, но то как она сделана!..
Гугл распотрошил экслоит израильской NSO https://bit.ly/3mabxOl и это замечательная конструкция. Люди посылают друг другу смешные анимированные гифки (хотел бы я рассказать какие гифки есть в нашем секретном партийном чате, но меня тут же забанят). iMessage хочет, чтобы они крутились вечно. Для этого в заголовке GIF нужно поправить флажок, и чтобы не портить файл iMessage делает его копию. Казалось бы, что могло пойти не так?
По ошибке вместо копирования вызывается рендеринг картинок. А он уже на расширения файлов не смотрит. И NSO под видом гифки подсовывает PDF. А внутри PDF-ки картинка JBIG2 - это такой доисторический формат графики для ксероксов. Чтобы файлы получались маленькими, то он режет картинку на кусочки, и если куски, например буква "а" достаточно похожи между собой, то он использует один глиф для всего, как типографскую литеру.
Из-за этого случались многие беды https://bit.ly/3scwDiQ Кодек мог к примеру подумать что цифра 6 достаточно похожа на цифру 8, и заменить ее везде на картинках, чтобы сэконосить место. Потому в формат добавили маски - разницу между "похожим" глифом и тем, что нужно воспроизвести. И эти исправления накладываются на глиф с помощью операций AND, OR, XOR и XNOR. То есть эта штука тьюринг-полная. Любое мыслимое вычисление можно провести с помощью этих операций.
Дальше NSO использовали целочисленное переполнение, чтобы выйти за границы буфера и эта часть напоминает бутылку и кораблик. В результате они получили два основных примитива чтение и запись в произвольные места памяти. Если бы они хотели взломать одну конкретную версию софта, то этого бы хватило, но они захотели все и сразу. Для этого нужно знать, что и куда записывать.
И из доисторического графического формата они собрали полноценный виртуальный микрокомпьютер из 70 000 вентилей (те самые маски).
Нужно еще раз все перечислить, чтобы оценить проделанную NSO работу. Вам приходит гифка, которая на самом деле пдфка, и ее по ошибке, не копируют, а пытаются прочитать, в ней доисторическая картинка в формате ксероксов, которая в результате целочисленного переполнения может писать в память, и внутри этой "картинки" семьдесят тысяч блоков логических операций, которые эмулируют небольшой компьютер, который уже находит то место в памяти, которое нужно пропатчить, чтобы убежать из песочницы.
NSO продавали эту изящную вещицу негодяям и убийцам, но то как она сделана!..
🔥11👍6
Forwarded from NetDevOps Space
Январь обещает быть щедрым на разные курсы. Вслед за Google о бесплатном доступе к 25 своих курсов объявили и ACloudGuru.
Среди которых бесплатное обучение по AWS, бесплатные курсы по сертификации Microsoft Azure, а также бесплатный контент по Google Cloud (GCP), безопасности, DevOps, Kubernetes, Linux и не только.
Круто, спасибо иду регистрироваться! - 🔥
Уговорил, иду изучать! - ❤️
Мне оно не надо! - 👎
Заходим в наш уютный чат - https://news.1rj.ru/str/automate_devnet
Основной канал - https://news.1rj.ru/str/automate_net
#netdevops #free #course
Среди которых бесплатное обучение по AWS, бесплатные курсы по сертификации Microsoft Azure, а также бесплатный контент по Google Cloud (GCP), безопасности, DevOps, Kubernetes, Linux и не только.
Круто, спасибо иду регистрироваться! - 🔥
Уговорил, иду изучать! - ❤️
Мне оно не надо! - 👎
Заходим в наш уютный чат - https://news.1rj.ru/str/automate_devnet
Основной канал - https://news.1rj.ru/str/automate_net
#netdevops #free #course
❤3🔥3👍1
Ушел из жизни Владимир Безмалый. Безопасник, популяризующий ИБ для обычных людей. Он писал сказки про информационную безопасность, которые можно было дать почитать родителям и детям, чтобы повысить уровень информационой грамотности.
Общались с Владимиром в FB - эрудированный, интеллигентный человек. На днях выпустил юбилейную - тысячную - сказку. Человека нет, а дело его живет. Не дайте памяти о нем кануть в лету - читайте сказки и покажите их близким
https://news.1rj.ru/str/ib_skazki
Общались с Владимиром в FB - эрудированный, интеллигентный человек. На днях выпустил юбилейную - тысячную - сказку. Человека нет, а дело его живет. Не дайте памяти о нем кануть в лету - читайте сказки и покажите их близким
https://news.1rj.ru/str/ib_skazki
👍1
Yandex.Cloud Security Solution Library — это набор примеров и рекомендаций, собранных в публичном репозитории на GitHub. Они помогут компаниям, которые хотят построить безопасную инфруструктуру в Облаке и соответствовать требованиям различных регуляторов и стандартов. Команда Yandex.Cloud проработала самые распространённые задачи, которые возникают при построении безопасности в облаке, протестировала и подробно описала необходимые сценарии.
https://github.com/yandex-cloud/yc-solution-library-for-security?s=09
#yandex #cloud #security
https://github.com/yandex-cloud/yc-solution-library-for-security?s=09
#yandex #cloud #security
GitHub
GitHub - yandex-cloud/yc-solution-library-for-security
Contribute to yandex-cloud/yc-solution-library-for-security development by creating an account on GitHub.
🔥2
В далеком 2015 я писал о сегментации корпоративной сети: с чего начать, как правильно рассчитать подсети и как настроить.
А недавно увидел репозиторий Best-practice-for-network-segmentation. В простой форме и со схемами там описаны четыре уровня сегментации: от самого простого, но эффективного до монструозного для компаний с SOC от 20 человек и двумя рабочими станциями на юзера.
Посмотрите и, если у вас ещё не реализовано, то внедряйте первую схему. Или вторую. Владельцам третьей и четвертой я не завидую
#network #segmentation
А недавно увидел репозиторий Best-practice-for-network-segmentation. В простой форме и со схемами там описаны четыре уровня сегментации: от самого простого, но эффективного до монструозного для компаний с SOC от 20 человек и двумя рабочими станциями на юзера.
Посмотрите и, если у вас ещё не реализовано, то внедряйте первую схему. Или вторую. Владельцам третьей и четвертой я не завидую
#network #segmentation
👍18🎉1