Как стать автором
Поиск
Написать публикацию
Обновить
108.08

Настройка Linux *

Вечный кайф

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

Перехват данных из libpam (аутентификация в OpenSSH, passwd) с помощью Golang и eBPF

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

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

Читать далее

Автоматизация тестирования desktop приложений с помощью Dogtail

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

Всем привет! Меня зовут Вадим Гредасов, я старший системный инженер в отделе автоматизации тестирования IVA Technologies. В этой статье хочу осветить то, как мы в компании организовали автоматизацию тестирования одного из наших продуктов.

Несмотря на то, что значимую роль в автоматизации приложений играет Appium, который тоже используется нами для проверки приложения на ОС Windows и MacOS, рост популярности отечественных систем на базе Linux подтолкнул нас к поиску нового инструмента, так как скорость работы Appium Lunux драйвера нас не устроила. Таким инструментом стал Dogtail.

А теперь немного о нём.

Dogtail — это библиотека для автоматизации тестирования через пользовательский интерфейс (UI) на Linux, которая работает с GTK-приложениями, а также вполне неплохо справляется с Qt-приложениями. Она использует технологии Accessibility (ATK) и DBus для взаимодействия с элементами интерфейса.

Судя по их gitlab репозиторию, проект развивается с 2016 года и неплохо поддерживается авторами, которые охотно отвечают в Issues к проекту.

Читать далее

Устанавливаем Astra Linux на ARM macOS при помощи UTM — полное руководство

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

Не секрет, что macOS хоть и достаточно удобная операционная система, но звезд с неба не хватает, если речь заходит о работе с отечественным ПО.
На самом деле все упирается в архитектуру: нативная установка x86 операционных систем на ARM Mac невозможна, а эмуляция ПО таких архитектур требует определенной экспертизы и довольно много времени, чтобы все не только запустилось, но и корректно заработало.

Если вы используете Mac как основной компьютер и хотите перейти на отечественные IT-решения или администрируете их, вы зашли по адресу.

Я опишу один из способов, как запустить и изучить Astra Linux SE 1.8 на ARM Mac. В результате ОС будет работать полностью автономно и на вашем компьютере.

Читать далее

Строим карту IP коннектов домашних девайсов, без регистрации и смс

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

Вы никогда не задумывались, а куда вообще коннектится все то что у вас дома в сети ? Все эти Windows, MacOS, iOS и прочие проприетарные и умные утюги ? А это не сложно посмотреть. Сегодня в нашем кружке 'Оч.умелые ручки' мы будем следить за теми, кто следит за нами.

Наша цель - построить карту и графики того куда коннектится все то что сидит в сети дома. И не по трафику, понятно что какая-то там условная Амедиатека будет в топе, а именно про то, куда устанавливаются соединения. Готовить будем на Mikrotik, Grafana и Victoria Logs. В результаты мы получим что-то вроде вот этого:

Читать далее

Миграция PostgreSQL под ОС AstraLinux c использованием pgcopydb с PG11 на PG15

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

Как заставить работать pgcopydb для миграции штатного PostgreSQL 11 AstraLinux 1.7 в штатный PostgreSQL 15 AstraLinux 1.8?

Зачем это все понадобилось?

Многие в настоящее время сталкиваются с необходимостью миграции с AstraLinux 1.7 на AstraLinux 1.8.

Для тех, кто пользуется штатной PostgreSQL 11 из поставки AstraLinux 1.7, встает во весь рост вопрос, как перетащить существующие базы на новую версию. Если базы маленькие, особых проблем нет. А вот если базу под 1ТБ, то проблемы встают в полный рост.

Для штатной pg_upgrade требуются обе версии (PostgreSQL-11 и PostgreSQL-15). Но в поставке AstraLinux 1.8 нет PostgreSQL 11. При этом, так как Astra PostgreSQL не совместим бинарно с «Ванилью», то и не получится собрать самому нужную версию для Astra 1.8.

«Вкорячить» его из поставки Astra 1.7 можно, но не гарантирует работоспособность. (Напишу заметку об этом позже).

Штатный pg_dump | pg_restore в одну нитку, для базы 1.1 Тб у нас на стенде работал аж 27 часов. Максимальный размер технологического окна при этом установлен 24 часа.

Поиск решения (помимо логической репликации), навел на утилиту pgcopydb.

Читать далее

Устраняем эффект шумного соседа в PostgreSQL с помощью cgroups

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

Если вы когда-нибудь запускали несколько экземпляров PostgreSQL или другого ПО на одной машине (виртуальной или физической), то наверняка сталкивались с эффектом шумного соседа, когда инстансы мешали друг другу работать. Так как же примирить соседей? У нас есть ответ!

Читать далее

Hibernate в Linux: 0.99 проблемы меньше

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

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

Читать далее

GRUB и параметры ядра в Linux

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

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

Сегодня у нас на повестке тема GRUB в Linux. GRUB — это первый, кого видит твоя система после BIOS/UEFI. Он решает, какое ядро загружать, какие параметры передавать, и вообще, даст ли он тебе шанс на нормальный рабочий день или отправит в режим паники.

Читать далее

Rust в ядре Linux: лекарство или яд? Споры о будущем

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


В мире разработки программного обеспечения, особенно в области системного программирования, языки C и Rust занимают особое место. C, как проверенный временем язык, десятилетиями служил основой для создания операционных систем, включая Linux. Однако с появлением Rust, который позиционируется как более безопасный и современный ЯП, начались жаркие споры о том, стоит ли переписывать части ядра Linux на Rust или оставить всё как есть. Дискуссия вышла на новый уровень, когда разработчики Linux начали активно сопротивляться внедрению Rust. Кристоф Хеллвиг даже сравнил нововведение с «раковой опухолью». Что стоит за этим противостоянием, и почему Rust вызывает такие полярные мнения?
Читать дальше →

Яблочный SMB. Или как подружить Samba с iOS

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

Настраиваю домашний NAS на Ubuntu, сталкиваюсь с проблемами доступа через SMB на iOS, ищу решения и делюсь опытом. Рассказываю, как правильно настроить Samba, исправить несовместимости с Apple-устройствами с помощью VFS-модуля Fruit и избежать распространённых ошибок. В статье есть готовые конфиги, команды для настройки и ссылки на полезную документацию. Если вы тоже запускаете NAS и хотите минимизировать головную боль с правами доступа и совместимостью, этот материал для вас!

Читать далее

Omnia Metria in SAR Collecta — Мониторинг Linux с SAR: обширное описание метрик и как их читать

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

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

Если у человека проблема с сердцем 🩺, врач может сделать ЭКГ прямо сейчас, но если нужны показатели за длительный период, нужен суточный мониторинг ЭКГ по Холтеру, который может показать, например, проблемы ночью. В Linux этим занимается набор инструментов sysstat, в состав которого входит, в том числе, утилита sar, которая помогает визуализировать данные в логах /var/log/sysstat/.

Разделы:

Часть I. Установка и настройка sysstat.

Часть II. Пример использования sar для чтения из логов двух нод Kubernetes — умозрительный пример.

Часть III. Команда sar и диагностика проблем: описание метрик и что они означают, наглядные таблицы. Описание проблем.

Читать далее

Анализ логов Mikrotik в Loki и VictoriaLogs в домашних условиях

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

Со времен поднятия mktxp из взятой там же инструкции поднял на своем домашнем сервере и Loki, и, так как по инструкции оттуда не получилось настроить что бы микротик отсылал логи прям в Loki, еще Promtail. Добавил их деплой через docker compose в свои ансибл плейбуки для домашнего сервера, добавил дефолтную дашборду в графану, потом еще в плейбуки добавил ротацию, потому что в день микротик накидывал 2,5 миллиона строк в 500MB логов и забыл. А дня 3 назад перевел мониторинг на Prometheus на том же сервере на VictoriaMetrics, офигел от того что моя 100 дневная база Prometheus размеров в 47G превратилась в 16G, увидел что есть VictoriaLogs и решил заoдно посмотреть в нее, а так же поиграться c Loki и Promtail, мне там очень не нравилось что логи хранятся и в тексте и в Loki. Итак...

Читать далее

Как regreSSHion открыл новую главу в старых атаках OpenSSH

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

Гайнуллина Екатерина, Security Vision

CVE-2024-6387, известная как regreSSHion, представляет собой критическую уязвимость в OpenSSH, затрагивающую серверную часть (sshd) на системах с использованием glibc. Уязвимость была вызвана гонкой данных (race condition) в обработчике сигналов SIGALRM, который используется для обработки таймаутов во время аутентификации. Проблема возникает из-за вызова небезопасных для сигналов функций, таких как syslog() и malloc() в асинхронной среде обработчика сигналов.

И здесь мы в Security Vision можем с уверенностью сказать: наши клиенты могут спать спокойно. Мы тщательно следим за всеми обновлениями, будь то OpenSSH, библиотеки или другие ключевые элементы инфраструктуры. Более того, наши решения активно адаптируются к новым вызовам, обеспечивая надёжную защиту. Ведь безопасность наших клиентов — это не просто наша работа, это наша миссия.

Читать далее

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

Автоматизированный QoS на VPN-сервере с FireQOS и iftop

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

Если у вас есть VPN-сервер, рано или поздно возникнет проблема: некоторые пользователи потребляют слишком много трафика, замедляя интернет для всех остальных. Это особенно актуально для торрент-пользователей, которые создают сотни соединений и загружают канал.

Вручную отслеживать таких потребителей через iftop и менять настройки QoS – утомительно. Но можно автоматизировать процесс, чтобы FireQOS каждые 5 минут динамически обновлял правила для трафика, снижая приоритет для самых активных пользователей.

Читать далее

Как разбирать логи в Linux: journalctl, grep, awk и sed

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

Каждый админ хотя бы раз сталкивался с ситуацией, когда сервер внезапно начинает тупить: подвисают процессы, появляются странные задержки, что-то перестаёт работать. И первая остановка в таком случае — это журналы событий. В Linux системные логи хранятся в systemd-journald, а его главный инструмент для работы — journalctl. Но просто читать логи — это скучно. Разберем, как фильтровать, искать ошибки, анализировать данные и автоматизировать разбор логов с помощью grep, awk, sed и других утилит.

Читать далее

Полезное для Linux

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

Описываю некоторые вещи, которые могут пригодиться при работе в linux-дистрибутивах. В основном на примере своей предпочитаемой ОС, Manjaro.

Читать далее

Ставим TeamSpeak на домашний сервер Linux

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

Если вам надоело обходить блокировку Discord и вас не устраивает связь в tg или Steam, то предлагаю поднять свой TeamSpeak(TS) сервер. У меня, например, вылезла проблема: CoD отказывается запускаться при включенной службе обхода дискорда. Тем более, что последнее обновление сделало TS неплохим его аналогом.

И так, нам понадобится домашний сервер (например, старый комп) с установленной ОС или же арендованный VPS. Ваш IP должен быть статическим, иначе придётся в конфигурации роутера каждый раз менять внешний IP.

Я расскажу как поставить TS, которым смогут пользоваться и ваши друзья на Ubuntu-server через терминал.

Читать далее

Маршрутизируем трафик с помощью HAProxy, совмещаем сервисы на 443 порту

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

Маршрутизируем трафик с помощью HAProxy, совмещаем сервисы на 443 порту, настраиваем GeoIP, WebSocket и сайты.

Читать далее

Серия «Под капотом»: LVM

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

Серия «Под капотом»: LVM

В наши дни управлять томами в Linux — совершенно тривиальная задача, которая не вызывает в инженере ни чувства азарта, ни жажды исследования. Наборами команд, инструкциями по созданию томов и снэпшотов — ими же кишит весь интернет. Тем не менее, беспокойный инженерный ум требует разобраться, как же это работает под капотом. А происходит это весьма интересно. Но для начала, как обычно, позвольте небольшую историческую справку (на 40 минут). Приятного чтения :-)

Читать далее

Разбираемся с библиотекой libnl для управления трафиком в Linux

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

В статье рассмотрим как реализовать команды утилиты traffic control  с помощью библиотеки libnl на с/c++. У libnl есть неплохая документация так же есть небольшое количество тестов. Которые помогают разобраться как работать с библиотекой.

Читать далее

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