/usr/bin
4.35K subscribers
51 photos
724 links
Канал для пользователей и администраторов Linux-систем: управление, инфраструктура, технические детали, новости и прочее. Для связи: @antoniusfirst

@monitorim_it — канал о мониторинге ИТ
Download Telegram
Эскалация привилегий в Kubernetes

Когда кто-то говорит о безопасности, в первую очередь имеет ввиду авторизацию и аутентификацию, но в контексте Kubernetes эти две составляющие являются лишь маленькими кусочками большого пазла.

В этой статье вы увидите, как пользователь с ограниченными правами, может повысить свои привилегии и стать админом кластера. Читать дальше.
Checkov: Security and Compliance for Infrastructure as Code

Checkov — это инструмент статического анализа кода для сканирования файлов IaC на наличие неправильных конфигураций, которые могут привести к проблемам с безопасностью или соответствию требованиям. Checkov включает более 750 предопределенных политик для проверки распространенных проблем с неправильной настройкой. Checkov также поддерживает создание и добавление пользовательских политик. Читать дальше.

Репыч на Гитхабе.
Exploring the Linux proc file system

Представление каждого объекта операционной системы в виде файла означает, что вы можете найти в файловой системе всевозможные вещи, такие как, например, процессы операционной системы. Запущенные процессы находятся в каталоге /proc, и сегодня мы поговорим о том, что мы можем там найти. Читать дальше.
A curated list of “Top” based monitoring tools for use in Linux and Unix terminals.

В этой статье ссылки на репозитории инструментов для мониторинга Linux.

Для мониторинга статуса процессов: htop, bpytop, btop, bashtop, atop, vtop, gtop, gotop, ytop, treetop, tiptop, pytop, mintop, ntop, below, hegemon, glances, nmon.

Для мониторинга GPU: nvtop, intel_gpu_top, radeontop, gltop.

Для мониторинга сети: iftop, sntop, jnettop, dnstop, nats-top, nettop, pingtop, iptraf-ng.

Для мониторинга дисковой подсистемы: iotop, drbdtop, nfstop, hdtop, viotop.

Для мониторинга контейнеров: ctop, ktop, kube-top.

И много других.
Debugging Distributed Trace Gaps

Ранее
в этом году мы заметили странные пробелы примерно в 0,5% трассировок наших распределенных приложений. Эти перерывы длились до нескольких секунд и приводили к ухудшению обслуживания пользователей и почти ежедневным оповещениям в течение нескольких недель. Мы подозревали, что причина этих пробелов лежит вне кода приложения, где-то в сети или еще в слоях программного обеспечения, поверх которых работают наши приложения.

В этом цикле из 3 статей команда Teachers Pay Teachers разбирается с трассировкой вызовов внутри операционной системы.

Debugging Distributed Trace Gaps with tcpdump

Debugging Distributed Trace Gaps with ftrace

Monitoring Linux Audit
How to monitor IP changes using cron or a systemd timer

Я использую Raspberry PI в качестве NAS для своей домашней сети, а также использую WireGuard для подключения к своей домашней сети из любого места. Поэтому мне важно знать IP-адрес моей домашней сети. К сожалению, мой домашний общедоступный IP-адрес время от времени меняется. Динамический DNS — это решение, но я предпочитаю не привлекать третьих лиц, поэтому мне остается вручную проверять свой IP-адрес, смотреть, меняется ли он, и обновлять конфигурацию WireGuard на своем телефоне.

Я хотел автоматизировать ту часть, где я всегда знаю свой текущий IP-адрес, поэтому я запустил свой терминал и вот что у меня получилось. Читать дальше.
Usage notes for nc command

Несколько рекомендаций по использованию утилиты nc для диагностики проблем с сетью. Читать далее.
Structured Logging in a Shell Script with jq

Доработка скриптов для структурированного ведения логов означает, что вы можете себе помочь сократить среднее время решения проблем. Мы напишем простую функцию-оболочку вокруг jq, чтобы улучшить сообщения в логе. Читать дальше.
:(){ :|: & }; :

Это простой Bash-скрипт, который сделает всё, что нужно. Или не нужно. По сути, это создание процессов, которые ничего не делают, кроме как снова создают себя. В этой статье метод борьбы с таким типом атаки при помощи конфигурации limits.conf.

Вот описание того, что происходит:

:() — This is a simple function definition, '<function-name>()'. In this case, the function name is ':'. As defined, this function accepts no parameters.

{ — Begin Function Definition.

:|: — Call the function & pipe it to the same function. Simple recursion technique.

& — Send the process to background so it cannot be killed with simple Ctrl+C.

}; — Terminate Function Definition.

: — Call the Function ':'.
Resource Limits in Linux | limits.conf

Продолжение вчерашней статьи о безопасности Linux. Вы узнаете какие ещё есть настройки в limits.conf. Читать дальше.
Курс для тех, кто отвечает «Jenkins»

Специально для тех, у кого Jenkins падает при каждом деплое, в Слёрм есть курс от Кирилла Борисова, Infrastructure Engineer технологического центра Deutsche Bank. В курсе будет много кейсов и примеров из практики спикера, которые помогут научиться работать с инструментом так, чтобы все работало стабильно и предсказуемо 😎

Старт — 6 сентября.

Здесь можно ознакомиться с подробной программой и подобрать удобный формат обучения 👉 https://slurm.club/3Pzjfx8
Пособие по программированию модулей ядра Linux. Ч.1

Перед
вами последняя версия пособия по программированию модулей ядра Linux, вышедшего 2 июля 2022 года. Пособие большое, поэтому материал будет разбит на серию статей. В первой части мы разберём, что такое модули ядра, рассмотрим необходимые подготовительные этапы для их создания и в завершении по традиции напишем первый простейший модуль «Hello world», попутно разобрав лицензирование, передачу аргументов командной строки и прочие нюансы. Читать дальше.
Эскалация привилегий при помощи polkit: как заполучить root-доступ в Linux, воспользовавшись семилетним багом

polkit — это системный сервис, по умолчанию устанавливаемый во многих дистрибутивах Linux. Он используется демоном systemd, поэтому в любом дистрибутиве Linux, где применяется system, также используется polkit. Автор этой статьи, входя в состав GitHub Security Lab, работает над улучшением безопасности опенсорсного софта; он ищет уязвимости и докладывает о них. Именно он однажды нашел уязвимость в polkit, позволяющую злоумышленнику увеличить его привилегии. Читать дальше.
Большое количество курсов и полезного материала для системных администраторов и безопасников:

https://t.me/Social_engineering/2002

Самая редкая и актуальная литература для специалистов в области информационной безопасности:

https://t.me/S_E_Book/2664

#реклама
Разработка драйвера сетевого адаптера для Linux. Часть 1

В этой статье рассмотрим общую структуру сетевого адаптера, узнаем какие компоненты входят в его состав, что такое MAC и PHY, разберемся как подготовить адаптер к работе, сконфигурировать, и как в итоге получать сетевые пакеты.

Хотя при разработке драйверов необходимо использовать стандартные ядерные фреймворки, такие как clock, reset, libphy и пр., поначалу мы будем работать с адаптером напрямую через регистры состояния и управления. Это позволит нам детально разобраться с аппаратной частью. Читать дальше.
Linux: How to rsync between two remote servers that do not communicate each other

rsync широко используется системными администраторами для синхронизации файлов между серверами. Сценарии, с которыми я сталкивался до сих пор, были простыми: «синхронизировать файлы с удаленного хоста на локальный» или «синхронизировать файлы с локального на удаленный хост».

Но сценарий, с которым мне недавно приходилось иметь дело, заключался в синхронизации файлов между двумя удаленными серверами с использованием третьего сервера между этими двумя удаленными серверами. Причиной этого было то, что между двумя удаленными серверами не было связи из-за ограничений брандмауэра, и это не могло измениться быстро или легко из-за корпоративной политики. rsync не поддерживает синхронизацию двух удаленных серверов, поэтому я начал думать об альтернативах. Читать душещипательную историю.
Linux: How to compress data in a remote server and save them locally in one command!

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

⚡️ Удаленный сервер мог исчерпать место на диске во время сжатия

⚡️ Требуются дополнительные команды для загрузки и удаления сжатого файла.

Читать дальше.
Python для инженеров — курс, где не будем отвлекаться на абстрактные задачи, а займёмся тем, что действительно нужно в работе, например:

— Написать модуль управления правами для ansible,

— Внедрить commit conventions и генерировать ченджлоги из коммитов при слиянии dev-бранча с релизным.

Смотреть программу курса

В конце напишем итоговый проект, для которого можно взять рабочую задачу и получить на неё ревью.

Занять место можно со скидкой 16,99%, если подписаться на вот этот канал
Как превратить пишущую машинку в терминал Linux

Пятничное. Кто не любит звук старой пишущей машинки? Я точно люблю! Вот почему я работаю над превращением своей пишущей машинки Brother AX-25 в терминал Linux.

Клавиатура машинки подключена по матрице 8x11 с помощью кабелей на 8 пинов и на 11 пинов. Когда один из пинов строки соединяется с пином столбца после нажатия клавиши, пишущая машинка обнаруживает это и печатает соответствующий символ.

Матрица клавиатуры пишущей машинки управляется двумя мультиплексорами Arduino Uno. Я использовал мультиплексоры от Amazon, но для этого подойдёт любой цифровой или аналоговый мультиплексор, если он имеет более 11 каналов. Arduino может обмануть пишущую машинку и заставить её думать, что была нажата клавиша. Для этого нужно выбрать канал на каждом мультиплексоре и соединить контакты. Читать дальше.
Memory Management in Linux

Управление памятью в Linux состоит из двух основных компонентов:

а). Первый касается совместного использования и освобождения блоков физической памяти, групп страниц и небольших блоков памяти.

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

Читать дальше.