Обновить
512K+

Настройка Linux *

Вечный кайф

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

Livepatching: готовим «точечное» обновление ядра Linux на примере реального бага

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели5K

Бывает так, что серверные Linux-системы неделями или даже месяцами работают без перезагрузки. Переносить нагрузку с одного сервера на другие, устанавливать обновления, проверять, что после перезагрузки железо работает верно, запускать заново все необходимое ПО — это далеко не всегда просто, быстро и дешево.

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

Меня зовут Евгений, я работаю в компании YADRO. Задачами, связанными с разработкой и анализом компонентов ядра Linux, я занимаюсь уже около 15 лет.

Я расскажу, что такое livepatching, как такая технология появилась и как она применяется. А также покажу на примере, как можно самому сделать лайвпатч, чтобы исправить реальный баг в ядре Ubuntu 22.04 Server.

У статьи будет продолжение. Там подробно разберем, как именно лайвпатчи заменяют одни функции ядра Linux на другие, а также узнаем, на что нужно обращать внимание, если потребуется использовать все это в продакшене.

В основном речь пойдет о системах с архитектурой x86 и RISC-V (хотя технология работает и для ARM64, PowerPC, s390x).

Читать далее

Регистрация событий в Astra Linux Special Edition

Время на прочтение10 мин
Охват и читатели13K

В статье вы найдете краткий обзор подсистемы регистрации событий - собственной разработки команды ОС Astra Linux.

Всё, что будет описано ниже, актуально для самой новой на момент написания статьи версии Astra Linux Special Edition - 1.8.2.

Поехали!

Читать далее

Пишем простой драйвер Linux для устройства, ничего не зная о драйверах и о USB

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

Пару месяцев назад я купил Nanoleaf Pegboard Desk Dock — последнее слово в технологиях USB-хабов с RGB-светодиодами и крючками для устройств. К сожалению, это чудо инженерной мысли поддерживает только гейминговые операционные системы — Windows и macOS, поэтому возникла необходимость в драйвере для Linux.

В своих постах я уже настраивал Windows VM с пробросом USB и пытался выполнить реверс-инжиниринг официальных драйверов. При этом я задумался, а нельзя ли написать производителю и попросить у него спецификации или документацию его протокола. К моему удивлению, техподдержка Nanoleaf ответила мне всего через четыре часа, предоставив полное описание протокола, используемого Desk Dock, а также полосами RGB-светодиодов. Документация по большей мере подтвердила то, что я обнаружил самостоятельно, но также я нашёл в ней пару других мелких подробностей (например, управление питанием и яркостью), которые были мне неизвестны.

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

Читать далее

Настраиваем роутер и WiFi с VLAN в тоннель

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели8.6K

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

Можно создать в сети несколько VLAN и на точке доступа WiFi на каждую создать свой SSID (имя точки) и иметь несколько "виртуальных" WiFi точек с разными маршрутами и тоннелями.

Здесь мы рассмотрим настройку такой схемы с роутером на pfSense, точкой доступа на OpenWRT и отдельным линуксом для тоннеля в VM на Proxmox. Эти идеи можно использовать и в других комбинациях железа и софта.

Читать далее

VLESS+Reality и Multi-hop: Архитектура VPN-цепочки для нового поколения блокировок

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

Привет, Хабр!

Помните то блаженное время, когда для доступа к любому ресурсу хватало простого WireGuard до сервера в Германии? Я тоже помню. Но эта эпоха закончилась. Недавно я заметил, что мой верный VPN стал лагать, рвать соединение и вести себя так, будто его кто‑то целенаправленно «душит». Это был тот самый момент, когда я понял: игра изменилась. Системы глубокого анализа трафика (DPI) стали умнее, и мой трафик для них был как на ладони.

Это стало моим личным вызовом. Я отправился в путешествие по миру современных средств обхода блокировок, наступил на множество граблей (чего только стоит осознание, что «двойное шифрование» — это миф!), но в итоге нашел свое сокровище — рабочую и относительно устойчивую схему на базе VLESS+Reality и Multi‑hop.

Эта статья — не «серебряная пуля». Это честный, подробный и, надеюсь, полезный гайд по постройке сложной VPN‑цепочки. Мы разберем ее архитектуру, честно поговорим о рисках и соберем все по шагам.

Принять вызов

Крепость под наблюдением: ставим Maltrail и ловим «шпионов» (Часть 2)

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

Привет, Хабр!

В первой части нашего путешествия мы превратили голый VPS в маленькую крепость. Мы создали пользователя с sudo, настроили вход по SSH‑ключам, выставили на стражу файрвол UFW и наняли вышибалу Fail2ban. Теперь лобовые brute‑force атаки и автоматические сканеры разбиваются о наши стены, не доставляя хлопот. Мы победили, верно?

Не совсем. Наша крепость неприступна, но она слепа. Мы отбиваем тех, кто ломится в ворота, но совершенно не видим, что происходит на периметре. Что если уязвимость найдется в нашем веб‑сервере? Что если одна из запущенных нами программ начнет слать странный трафик, став частью ботнета?

Здесь нам нужна «сигнализация». Система, которая станет нашими глазами и ушами, и поднимет тревогу при малейшем подозрительном движении. Сегодня мы установим именно такую — Maltrail.

Читать далее

Сбор событий Linux: есть цель – ищем путь

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

Приветствую всех, кто заглянул на огонек! Меня зовут Роман, и я занимаюсь исследованием безопасности Linux (и всякого другого, связанного с ним) в экспертном центре безопасности в Positive Technologies.

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

Читать далее

Скрипт, который следит за тобой: автоматический аудит действий в Linux

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

Привет, Хабр! В данной статье хочу разобрать auditd - полезный инструмент аудита в Linux, который записывает каждое действие, а скрипт превратит логи в читаемые отчёты и алерты.

Linux-сервер без мониторинга активности пользователей — как дом с открытыми окнами. Проблемы, которые помогает решить auditd:

Несанкционированный доступ (кто и когда использовать, например, sudo)
Подозрительные команды (rm -rf, изменение прав, доступ к каким-либо файлам)
Расследование инцидентов (кто что натыкал перед падением сервера)
Соответствие корпоративным стандартам (возможно, ИБ требует логирования действий или вы любите контроль)

Решение: auditd + Python-скрипт для анализа и алертов.

Читать далее

Как работает DNS в Linux. Часть 2: все уровни DNS-кэширования

Время на прочтение15 мин
Охват и читатели39K

В первой части мы разобрали, как в Linux работает процесс разрешения имен — от вызова getaddrinfo() до получения IP-адреса. Однако если бы каждый вызов требовал нового DNS-запроса, это было бы неэффективно и сильно нагружало как систему, так и сеть. Поэтому используется кэширование.

Кэширование DNS может быть везде — в glibc, в systemd-resolved, в браузерах и даже в приложениях на Go. Кэш помогает увеличить скорость работы, но создает дополнительные сложности при отладке. Например: вы меняете DNS-запись, но сервер продолжает ходить по старому IP-адресу. Или, Dig показывает правильный адрес, а curl всё равно подключается к устаревшему.

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

Читать далее

Нейросети как консультант: как я нашел и заказал ПК без подсветки для локальной работы с ИИ

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

Внимание, знатоки! Если вы профессионально разбираетесь в компьютерном железе, тонкостях сборки или уже давно и активно используете локальные LLM (Large Language Models) эта статья может показаться вам слишком базовой. Мой путь - это взгляд обычного пользователя, который с помощью нейросетей решил для себя задачу найти и договориться о сборке ПК под конкретные нужды в условиях ограниченного бюджета и локации. Прошу не судить строго :)

Предыстория: зачем мне новый компьютер

Мой домашний компьютер - Microsoft Surface Pro 2020 года. Когда-то я даже писал о нём статью, но времена меняются: задачи усложнились, интерес к нейросетям растёт и мощности планшета больше не хватает.

Захотелось попробовать локально работать с нейросетями и у меня были требования к внешнему виду системного блока, чтобы вписать его в интерьер: белый корпус без RGB-подсветки.

Мои основные сценарии - офис, графика, CAD и попробовать локальные ИИ. Бюджет определил для себя 80 тыс. рублей или тысячу долларов. Монитор с 2K и 100 Гц уже был. Оставалась главная задача - найти сборщика в Перми и уложится в бюджет.

Собираем ПК с ИИ

Ходим в Интернет с отключённым IPv4

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели142K

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

В этом посте я расскажу, как на помощь мне пришли Linux, WireGuard и Hetzner, благодаря которым я смог получить доступ ко всему Интернету через одно лишь соединение IPv6.

Читать далее

Устанавливаем свой сервис мониторинга Uptime Kuma в Docker с Nginx и бесплатным SSL-сертификатом

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

Всем привет! Сегодня я хочу поделиться полным руководством по развертыванию на своем сервере замечательного open-source инструмента для мониторинга — Uptime Kuma.

Читать далее

О мягких и жёстких ссылках в Linux

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели36K

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

Читать далее

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

Продолжение повести о трёх мушкетёрах: какие подвиги совершили Bash, Ansible и Astrawizard

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

В землях, где каждый байт имеет значение и где волшебство скриптов и команд оживляет машины, продолжаются славные деяния наших героев — Bash, Ansible и Astrawizard. После первых побед они не сложили свои «мечи», а продолжили путь, полный новых вызовов и открытий.

Сегодня мы расскажем о том, какие ещё подвиги совершили наши мушкетёры в мире Linux. Их умения и опыт помогут нам разобраться в самых сложных задачах и сделать управление системами ещё более эффективным.

Будь как дома путник, Я ни в чём не откажу

Тактовая кнопка для управления питанием Raspberry Pi

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели7.4K

Сказ о том, как я реализовал «взрослое» управление питанием одноплатника на одной тактовой кнопке с потреблением в выключенном состоянии 1,2 мкА.

UPD: В комментариях уважаемый @tklim предложил вариант гораздо проще. По этому данную статью следует рассматривать больше как пример того, что нужно больше думать, прежде чаем браться за макет, и внимательнее читать даташиты. Новый протестированный вариант я облёк в новую статью.

Power On-Off

(BRS) — CLI-набор для сетевой разведки и аудита безопасности

Уровень сложностиСредний
Время на прочтение2 мин
Охват и читатели3.3K

Мы в EasyProTech часто работаем с инфраструктурой, в которой нет места сложным обёрткам, тяжёлым тулзетам и веб-интерфейсам. Нужно просто:

Читать далее

Интерактивный киоск в Astra Linux: откройте дверь в мир интерактивных возможностей

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

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

Подробнее об интерактивном киоске

Ansible, bash и я: три мушкетёра в мире автоматизации управления компьютерами на Linux

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

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

Не стойте на пороге - читайте дальше!

Мой идеальный компьютер

Время на прочтение7 мин
Охват и читатели62K

Я сижу под Linux, но иногда нужна винда. До недавнего времени у меня был обычный dual boot, но сейчас я реализовал свой идеальный сетап:

- основная система - Linux

- Windows - на выделенной SSD

- на нее можно загрузиться как из груба, так и из виртуалки

- с пробросом второго GPU (дисплей на отдельный физический выход)

- с качественным удаленным подключением (как RDP, но быстрое) - можно играть в игры

Ниже опишу что и как сделал.

Читать далее

Я вам заявляю, с Linux мы доигрались: теперь точно знаем, как начать в нём карьеру

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели170K

Привет, Хабр! Меня зовут Евгений Никулин, я – тимлид инженеров эксплуатации в К2 Cloud.

Пару месяцев назад меня позвали на онлайн-митап «Карьера в Линукс» – обсудить, как сейчас всё устроено: какие подходы используют компании, каких специалистов ценят и что помогает соискателям находить общий язык с работодателями.

Решил с вами поделиться самым важным оттуда. Полная запись, если что, есть на канале K2 Cloud Team – там же можно узнать, как мы с 2009 года строим облачную платформу собственной разработки.

Читать далее