Обновить
80.3

Настройка Linux *

Вечный кайф

Сначала показывать
Порог рейтинга
Уровень сложности

Риски перехода на 64-битный time_t

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров2.6K

Один из разделов статьи Overview of cross-architecture portability problems я посвятил проблемам, возникающим из-за использования 32-битного типа time_t. Это архитектурное решение, до сих пор влияющее на использующие glibc системы с Gentoo, приведут к тому, что у 32-битных приложений в 2038 году начнут возникать ужасные сбои: они будут получать ошибку -1 вместо текущего времени и не смогут выполнять stat() файлов. Одним словом, возникнет полный хаос.

Считается, что решением будет переход на 64-битный тип time_t. Musl уже перешёл на него, а glibc поддерживает его как опцию. Многие другие дистрибутивы, например, Debian, совершили этот переход. К сожалению, дистрибутивам на основе исходников, например, Gentoo, сделать это не так просто. Поэтому мы по-прежнему обсуждаем эту проблему и экспериментируем, пытаясь понять, как пользователи максимально безопасно могли бы выполнить апгрейд.

К сожалению, это совершенно нетривиально. Во-первых, мы говорим о переломном изменении ABI — ситуация «всё ли ничего». Если в API библиотеки используется time_t, то всё связанное с ней должно использовать ту же ширину типа. В этом посте я бы хотел подробно рассмотреть этот вопрос: почему это плохо и что мы можем сделать, чтобы повысить безопасность.

Читать далее

Поднимаем AWX Ansible под podman в Debian

Время на прочтение5 мин
Количество просмотров3K

Недавно на работе встала задача адаптировать awx ansible под podman, в процессе установки возникло множество нюансов которые подробно распишу в данной статье.

Читать далее

Можно ли получить рут при помощи одной зажигалки?

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров19K
Спойлер: ДА.

Элитный инструмент для хакинга; от вас скрывают, что он уже у вас есть

Прежде чем писать эксплойт, нам нужен баг. А если багов нет, то приходится быть изобретательными — тут нам на помощь приходит внесение неисправностей. Внесение неисправностей (fault injection) может принимать множество различных форм, в том числе быть управляемым ПО повреждением данных, глитчингом питания, тактовым глитчингом, электромагнитными импульсами, лазером и так далее.

Для внесения аппаратных неисправностей обычно требуется специализированное (и дорогостоящее) оборудование. Его цена связана с высокой точностью времени и места внесения неисправностей. Для снижения цен было совершено множество отважных попыток такими проектами, как PicoEMP на основе RP2040 и вплоть до «Laser Fault Injection for The Masses». (Неожиданная популярность RP2040 связана с его низкой ценой и периферией PIO, обеспечивающей ввод-вывод с чёткими таймингами и задержками.)

Какое-то время назад я прочитал об использовании соединённой с индуктором пьезоэлектрической зажигалки для барбекю в качестве низкобюджетного устройства для внесения электромагнитных неисправностей (electro-magnetic fault injection, EMFI). Меня захватила эта идея. Я задался вопросом, а чего можно добиться при помощи такого примитивного устройства? На тот момент мне пришёл в голову лишь эксплойтинг работающей на Arduino программной реализации AES при помощи DFA. И это сработало!

Но этого мне было мало. Я хотел эксплойтить что-то более «реальное», но на то время у меня закончились идеи.

Перенесёмся в наше время: пару недель назад уже ожидалось объявление о выпуске Nintendo Switch 2. Предполагается, что системное ПО Switch 2 будет практически таким же, как и на Switch 1, а программные баги для изучения у нас закончились. Поэтому у меня возникла мотивация смахнуть пыл с моих навыков взлома оборудования, и я вернулся к мыслям о низкобюджетном EMFI.
Читать дальше →

Дорога от Windows к Linux. KDE 6.2 — путь в правильном направлении. Большая проблема — качество звука под Linux

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров13K

В апреле 2024 года я написал статью про переход а "винды" на "линукс", ибо 11-я "винда" не подходит из-за своих ограничений панели задач, и с какиси подводными камнями лично я встретился: https://habr.com/ru/articles/810829/

Что изменилось с тех пор? Многое!

Я жаловался и как это решилось:

Читать далее

Настройка Anycast-адреса в рамках бюджетного тестового стенда

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.7K

В рамках IPv4 и IPv6 есть понятие Anycast-адресов. Если упрощать, то это IP-адреса выглядящие как обычные «серые» или «белые» адреса, но которые одновременно могут работать как на одном сервере, так и на множестве. Есть мнение, что это сложно настраивается, требует много дополнительных слоев маршрутизирующего оборудования и т.д. Но в данной статье я попробую описать настройку Anycast-адреса где угодно и с минимальными затратами.

Читать далее

Внешняя видеокарта backend-разработчика, или как заставить лучшего друга перестать тупить и начать помогать (часть 2)

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров13K

В первой части статьи я описывал свой опыт использования локальных моделей при разработке кода. В частности, столкнулся с тем, что без видеокарты скорость работы ollama была достаточно низкой. Далее постараюсь рассказать про техническую часть подключения внешней видеокарты к ноутбуку, работающему на Linux.

Читать далее

Моя дуэль с цветами в терминале

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров7.1K

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

Я поспрашивала у людей в Mastodon, какие проблемы у них возникали с цветами в терминале, и получила кучу интересных ответов! Давайте обсудим некоторые из проблем и разные способы их решения.
Читать дальше →

Митап по Linux Kernel: про livepatching, работу с расширениями RISC-V и создание модуля ядра для memory extender

Время на прочтение2 мин
Количество просмотров1.9K

30 октября в 19:00 инженеры из YADRO и локальной Linux User группы откроют серию совместных митапов. Они поделятся опытом точечного обновления ядра Linux с помощью livepatching, расскажут о поддержке архитектуры и расширений RISC-V и про устройство подсистемы DMA.

Регистрируйтесь, чтобы забронировать место на площадке, — количество мест ограничено. Но для тех, кто не успеет, будет доступна трансляция в VK, YouTube или Rutube (также по регистрации) и открыт лист записи на следующие Linux-митапы.

Читать далее

Базовые действия по реагированию на инциденты кибербезопасности в Linux

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.9K

Данная публикация - перевод статьи - Linux Incident Response от Jeenali Kothari. Статья о том, какие действия может выполнить сотрудник кибербезопасности при подозрении на компрометации системы на базе Linux.

Читать далее

Как организовать безопасный доступ к Docker-контейнерам через VNC с использованием noVNC, websockify и SSL/TLS

Время на прочтение6 мин
Количество просмотров4.8K

Как организовать доступ к Docker-контейнерам через VNC с использованием noVNC, websockify и SSL/TLS

В моем проекте было несколько Docker-контейнеров с графическими приложениями, к которым приходилось подключаться удаленно через VNC. До тех пор пока контейнеров было несколько штук и они создавались вручную было не сложно выделить им отдельные порты для экспозиции наружу из контейнеров и прописать их в VNC клиенте. Но с развитием проекта, контейнеры пришлось создавать динамически и в разных количествах, что сделало неудобным доступ к ним по разным портам и началась путаница с уже созданными в VNC клиенте подключениями. Захотелось подобрать более удобный вариант для подключений и вот что получилось.

Читать далее

Спускаясь с облаков в ад: развёртывание Kubernetes на Astra Linux. Часть 1

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров21K

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

Всем привет, на связи Пётр. Сегодня мы рассмотрим автоматическое развёртывание ванильного Kubernetes на Astra Linux через Kubespray + Helm.

Давайте разворачивать

Критическая уязвимость с оценкой CVSS 9,9 обнаружена в GNU/Linux

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров20K

Недавно была обнаружена критическая уязвимость, угрожающая всем системам GNU/Linux, которая позволяет выполнять код  удаленно без аутентификации. Проблема затронула такие компании, как Canonical и Red Hat, и получила оценку 9.9 из 10 по шкале CVSS, что подтверждает её серьёзность. Пока патч не выпущен, разработчики и пользователи находятся в состоянии неопределенности, опасаясь возможных последствий. 

В новом переводе от команды Spring АйО приводятся подробности о сроках раскрытия деталей уязвимости и предлагаются временные меры для защиты систем.

Читать далее

Надоело просто добавлять запись в log-файл. Что еще можно сделать с помощью syslog-ng в Astra Linux SE?

Уровень сложностиПростой
Время на прочтение22 мин
Количество просмотров11K

Всем привет! Меня зовут Михаил, и в своей предыдущей статье я кратко осветил цепочку прохождения логов в ОС Astra Linux SE. Продолжаем!

Любой человек, который регулярно сталкивается с темой логирования, рано или поздно задаётся вопросом: «А что ещё можно сделать с логами, помимо простого добавления записей в некоторый файл?». Поэтому сейчас поговорим о таком мощном инструменте обработки логов, как syslog-ng.

Читать

Ближайшие события

Реагирование на инциденты ИБ в Linux-системах: база

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров8.9K

В мире, где всё чаще происходят кибератаки, важно иметь понимание процесса реагирования на инциденты информационной безопасности. Особенно важно это в контексте Linux-систем, которые являются основой многих критически важных элементов ИТ-инфраструктуры компаний. Под катом вы найдете базовые моменты этого процесса, команды, которые могут быть использованы для анализа, а также точки интереса, на которые стоит обращать внимание. Статья будет полезна в первую очередь начинающим администраторам Linux-систем и отделам ИБ для составления планов по реагированию. 

Читать далее

Сказки цифрового города: часть вторая — Знакомство с Конфигуром

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров787

Помните, я рассказывал, что Пакетик знаком с волшебником Конфигуром? Как они познакомились? Во время прогулки по цифровому городу конечно!

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

«Ты слышала это?» — спросил Пакетик, его цифровые глаза светились любопытством.

«Да, это звучит странно...» — не договорила Серверина, и замерцала интерфейсом от волнения.

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

«Здравствуйте, юные искатели! Я — Волшебник Sysctl, хранитель секретных настроек и магических параметров нашего города. Можете называть меня Конфигур. Чем могу помочь?» — его голос был глубоким и эхом отдавался от стен его скромного жилища.

Пакетик и Серверина вошли внутрь, их глаза расширились от удивления, увидев стены, усыпанные картами сетей, старинными книгами о программировании и множеством мерцающих экранов, показывающих непонятные им данные.

«Мы исследуем наш город и хотели бы узнать больше о его магических параметрах, которые ты хранишь,» — сказал Пакетик с ноткой восхищения в голосе.

«Ах, магические параметры! Они как заклинания для нашего города. Каждый параметр может изменить поведение системы, улучшить производительность или увеличить безопасность. Например, параметр kernel.sysrq позволяет управлять возможностями системы реагировать на определённые запросы клавиатуры, что может быть критически важно в чрезвычайных ситуациях,» — начал своё объяснение Волшебник Sysctl, медленно водя пальцем по воздуху, и перед ними вспыхнули символы и коды.

Читать далее

Релиз ядра Linux 6.11: возможности, обновления и самые заметные изменения

Время на прочтение5 мин
Количество просмотров13K

С момента выхода прошлого релиза прошло всего два месяца, и вуаля — Linux 6.11 уже с нами. Несмотря на то, что времени было относительно немного, разработчики внесли достаточно изменений и нововведений. Всего в новой версии свыше 15 тыс исправлений от 2 078 разработчиков, а размер патча составляет 85 МБ. Изменения внесены в 13 282 файла, добавлено 985 857 строк кода, удалено — 268 915.
Читать дальше →

Резервное копирование в Linux: инструменты и стратегия 3-2-1

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров18K

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

Чек-лист резервного копирования здорового человека

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

Регулярность — чтобы минимизировать потери данных. Частота создания бэкапов зависит от динамики изменений на сайте. Как правило — варьируется от ежедневного до еженедельного.

Надежное хранение. Резервные копии не хранят на основных серверах. Желательно использовать облачные хранилища или отдельные физические носители.

Шифрование. Данные должны быть зашифрованы — это защита конфиденциальных данных от несанкционированного доступа. Критически важно! Обязательно заучиваем пароль шифрования. Проверьте — все хорошо только, если вас разбудили ночью и вы сразу и правильно его вспомнили.

Автоматизация. Автоматизация процессов снижает риск человеческой ошибки.

Тестирование восстановления— чтобы убедиться в работоспособности бэкапов.

Версионность. Хранение нескольких версий бэкапов полезно, если пригодится восстановление данных на определенный момент времени.

Прежде чем углубляться в детали инструментов и методов резервного копирования, расскажу о базовой, но чрезвычайно эффективной стратегии — основе любого плана защиты данных. Это концепция 3–2–1.

Читать далее

Загрузочный 4G-модем, сёрфим в OS-невидимке Tails

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров16K


Здравствуйте, уважаемые друзья!

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

Цель данной статьи — проиллюстрировать возможность использования 4G-модема в двух ипостасях одномоментно: как загрузочное устройство, и как устройство, обеспечивающее интернет-канал данных. В данном случае, операционные системы, установленные на SD-карту, могут быть разными, мы ограничимся Tails и Xubuntu. Будучи фанатом игры DOOM, запустим и её, как пример софта, установленного из репозитория.

Спойлер статьи такой: загружаемся с USB-модема, используя его возможность быть носителем информации, и выходим в интернет, через его же канал связи. Удобно? Решать вам.

Если попытка заинтриговать удалась — добро пожаловать под кат, увидите организованное мной решение. Может кому-нибудь будет полезно. Будут фото и видео-демонстрации.
Читать дальше →

Сказки цифрового города: часть первая — Пакетик TCP

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров3K

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

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

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

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

Затем Пакетик с радостью отправил свое сообщение, уверенный, что Серверина готова его принять. По мере того как он передавал данные, он ожидал подтверждения от Серверины, что она получила каждый кусочек информации. Это было важно, так как дороги в цифровом городе могли быть переполнены, и данные могли потеряться. Но этого оказалось недостаточно. Как только Пакетик начал отправлять данные, Злыдень, который любил вносить хаос в передачу данных, начал мешать передаче, перехватывая и скрывая некоторые из сообщений Пакетика.

Пакетик, заметив, что его подтверждения не приходят вовремя, начал использовать использовал таймауты, о которых ему рассказал волшебник Конфигур (sysctl), настроенные в соответствии с параметрами sysctl.conf (net.ipv4.tcp_retries2 для
количества попыток передачи данных перед считыванием пакета потерянным и net.ipv4.tcp_syn_retries для количества повторных SYN-пакетов). Каждый раз, когда таймаут истекал без получения подтверждения от Серверины, Пакетик повторно отправлял данные, убеждаясь, что каждый бит информации будет доставлен.

Читать далее

Unix на работе. Часть вторая, программная

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров17K

В этой части раскрываю тему программного обеспечения «которого нет» в операционных системах, которые «не нужны». Рассказываю что есть, чего нет, где брать и что со всем этим делать.

Из первых рук и на основе многолетней практики.

Читать далее

Вклад авторов