Этот документ является русским переводом версии на English.
PRX-SD предоставляет инструмент командной строки sd для обнаружения угроз и защиты системы.
| Флаг | Описание | По умолчанию |
|---|---|---|
--log-level <LEVEL> |
Уровень подробности логирования: trace, debug, info, warn, error |
warn |
--data-dir <PATH> |
Каталог данных для сигнатур, карантина, конфигурации | ~/.prx-sd/ |
Сканирование файла или каталога на наличие угроз.
sd scan /path/to/file
sd scan /home --recursive
sd scan /tmp --auto-quarantine --remediate
sd scan /path --json
sd scan /path --report report.html| Параметр | Описание | По умолчанию |
|---|---|---|
-r, --recursive <BOOL> |
Рекурсивный обход подкаталогов | true для каталогов |
--json |
Вывод результатов в формате JSON | |
-t, --threads <NUM> |
Количество потоков сканирования | Количество ядер CPU |
--auto-quarantine |
Автоматическое помещение вредоносных файлов в карантин | |
--remediate |
Автоматическое устранение: завершение процессов, карантин, очистка механизмов закрепления | |
-e, --exclude <PATTERN> |
Glob-шаблоны для исключения (можно указывать несколько раз) | |
--report <PATH> |
Экспорт результатов в виде автономного HTML-отчёта |
Сканирование памяти запущенных процессов на наличие угроз (только Linux, требуются права root).
sudo sd scan-memory
sudo sd scan-memory --pid 1234
sudo sd scan-memory --json| Параметр | Описание |
|---|---|
--pid <PID> |
Сканирование конкретного процесса (если не указан, сканируются все) |
--json |
Вывод в формате JSON |
Сканирование USB и съёмных устройств.
sd scan-usb
sd scan-usb /dev/sdb1 --auto-quarantine| Параметр | Описание |
|---|---|
--auto-quarantine |
Автоматическое помещение обнаруженных угроз в карантин |
Проверка на наличие признаков руткитов (только Linux).
sudo sd check-rootkit
sudo sd check-rootkit --jsonПроверяет: скрытые процессы, целостность модулей ядра, перехват LD_PRELOAD, аномалии в /proc.
Мониторинг файловой системы в реальном времени.
sd monitor /home /tmp
sd monitor /home --block
sd monitor /home --daemon| Параметр | Описание |
|---|---|
--block |
Блокировка вредоносных файлов до их открытия (требуются права root + fanotify на Linux) |
--daemon |
Запуск в фоновом режиме |
Запуск в качестве фонового демона с мониторингом в реальном времени и автоматическими обновлениями.
sd daemon
sd daemon /home /tmp --update-hours 2| Параметр | Описание | По умолчанию |
|---|---|---|
--update-hours <NUM> |
Интервал проверки обновлений сигнатур в часах | 4 |
Каталоги, отслеживаемые по умолчанию: /home, /tmp.
Управление зашифрованным карантинным хранилищем (AES-256-GCM).
sd quarantine list
sd quarantine restore <ID>
sd quarantine restore <ID> --to /safe/path
sd quarantine delete <ID>
sd quarantine delete-all --yes
sd quarantine stats| Подкоманда | Описание |
|---|---|
list |
Список всех файлов в карантине |
restore <ID> |
Восстановление файла из карантина (--to <PATH> для альтернативного расположения) |
delete <ID> |
Безвозвратное удаление файла из карантина |
delete-all |
Удаление всех файлов из карантина (--yes для пропуска подтверждения) |
stats |
Статистика карантина |
Проверка и применение обновлений базы сигнатур.
sd update
sd update --check-only
sd update --force
sd update --server-url https://custom-server.example.com| Параметр | Описание |
|---|---|
--check-only |
Только проверить наличие обновления |
--force |
Принудительная повторная загрузка, даже если база актуальна |
--server-url <URL> |
Переопределение URL сервера обновлений |
Импорт хеш-сигнатур из файла блоклиста.
sd import /path/to/blocklist.txtФормат файла: одна запись на строку в виде hex_hash malware_name. Строки, начинающиеся с #, являются комментариями.
# Example blocklist
275a021bbfb6489e54d471899f7db9d1663fc695ec2fe2a2c4538aabf651fd0f EICAR.Test
ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa Ransom.WannaCry
Импорт файлов базы сигнатур ClamAV.
sd import-clamav main.cvd daily.cvd
sd import-clamav custom.hdb custom.hsbПоддерживаемые форматы: .cvd, .cld, .hdb, .hsb.
Отображение версии движка, состояния базы сигнатур и информации о системе.
sd infoПоказывает: версию, количество YARA-правил, количество хеш-сигнатур, статистику карантина, информацию о платформе.
Управление конфигурацией движка.
sd config show
sd config set scan.max_file_size 104857600
sd config set scan.follow_symlinks true
sd config reset| Подкоманда | Описание |
|---|---|
show |
Отображение текущей конфигурации |
set <KEY> <VALUE> |
Установка значения параметра (путь через точку) |
reset |
Сброс к конфигурации по умолчанию |
Значения поддерживают типы JSON: логические (true/false), числа, null, массивы, объекты.
Управление политиками реагирования на угрозы.
sd policy show
sd policy set on_malicious "kill,quarantine,clean"
sd policy set on_suspicious "report,quarantine"
sd policy set kill_processes true
sd policy reset| Действие | Описание |
|---|---|
show |
Отображение текущей политики |
set <KEY> <VALUE> |
Установка значения поля политики |
reset |
Сброс к политике по умолчанию |
Ключи политики:
| Ключ | Описание | Значения |
|---|---|---|
on_malicious |
Действия при обнаружении вредоносных угроз | Через запятую: report, quarantine, block, kill, clean, delete, isolate, blocklist |
on_suspicious |
Действия при обнаружении подозрительных угроз | Те же, что выше |
kill_processes |
Завершение связанных процессов | true / false |
clean_persistence |
Очистка механизмов закрепления | true / false |
network_isolation |
Изоляция сетевых подключений | true / false |
audit_logging |
Запись всех действий в журнал аудита | true / false |
Управление запланированными сканированиями. Использует встроенные планировщики платформы: systemd timers (Linux), cron (Linux/macOS), launchd (macOS), Task Scheduler (Windows).
sd schedule add /home --frequency daily
sd schedule add /tmp --frequency hourly
sd schedule status
sd schedule remove| Подкоманда | Описание |
|---|---|
add <PATH> |
Регистрация периодического запланированного сканирования |
remove |
Удаление запланированного сканирования |
status |
Отображение текущего статуса расписания |
Частота: hourly, 4h, 12h, daily, weekly (по умолчанию: weekly).
Управление конечными точками webhook-оповещений.
sd webhook list
sd webhook add my-slack https://hooks.slack.com/services/... --format slack
sd webhook add my-discord https://discord.com/api/webhooks/... --format discord
sd webhook add custom https://example.com/alert --format generic
sd webhook remove my-slack
sd webhook test| Подкоманда | Описание |
|---|---|
list |
Список настроенных webhook'ов |
add <NAME> <URL> |
Добавление webhook'а (--format: slack, discord, generic) |
remove <NAME> |
Удаление webhook'а по имени |
test |
Отправка тестового оповещения на все webhook'и |
Управление конфигурацией оповещений по электронной почте.
sd email-alert configure
sd email-alert test
sd email-alert send "Trojan.Generic" "high" "/tmp/malware.exe"| Подкоманда | Описание |
|---|---|
configure |
Создание или отображение конфигурации SMTP |
test |
Отправка тестового оповещения по электронной почте |
send <NAME> <LEVEL> <PATH> |
Отправка пользовательского оповещения по электронной почте |
Управление фильтрацией рекламных и вредоносных доменов.
sd adblock enable
sd adblock disable
sd adblock sync
sd adblock stats
sd adblock check https://suspicious-site.example.com
sd adblock log --count 100
sd adblock add custom-list https://example.com/blocklist.txt --category malware
sd adblock remove custom-list| Подкоманда | Описание |
|---|---|
enable |
Загрузка блоклистов и установка DNS-блокировки (/etc/hosts) |
disable |
Удаление записей DNS-блокировки |
sync |
Принудительная повторная загрузка всех списков фильтрации |
stats |
Отображение статистики фильтрации |
check <URL> |
Проверка, заблокирован ли URL/домен |
log |
Отображение последних заблокированных записей (-c, --count <NUM>, по умолчанию: 50) |
add <NAME> <URL> |
Добавление пользовательского списка фильтрации (--category: ads, tracking, malware, social) |
remove <NAME> |
Удаление списка фильтрации |
Запуск локального DNS-прокси с фильтрацией рекламы, IOC и пользовательских блоклистов.
sudo sd dns-proxy
sudo sd dns-proxy --listen 127.0.0.1:5353 --upstream 1.1.1.1:53| Параметр | Описание | По умолчанию |
|---|---|---|
--listen <ADDR> |
Адрес прослушивания | 127.0.0.1:53 |
--upstream <ADDR> |
Вышестоящий DNS-сервер | 8.8.8.8:53 |
--log-path <PATH> |
Путь к JSONL-журналу запросов | /tmp/prx-sd-dns.log |
Генерация автономного HTML-отчёта из результатов сканирования в формате JSON.
sd scan /path --json | sd report report.html
sd report report.html --input results.json| Параметр | Описание | По умолчанию |
|---|---|---|
--input <FILE> |
Входной JSON-файл (- для stdin) |
- (stdin) |
Отображение состояния демона, включая PID, время работы, версию сигнатур и количество заблокированных угроз.
sd statusУстановка интеграции сканирования через контекстное меню файлового менеджера.
sd install-integrationПоддерживаемые файловые менеджеры:
- Linux: Nautilus (GNOME Files), Dolphin (KDE), Nemo (Cinnamon)
- macOS: Finder Quick Action
Проверка и установка обновлений бинарного файла из GitHub Releases.
sd self-update
sd self-update --check-only| Параметр | Описание |
|---|---|
--check-only |
Только проверить наличие обновления |
# Установка
curl -fsSL https://raw.githubusercontent.com/openprx/prx-sd/main/install.sh | bash
# Импорт дополнительных сигнатур
sd import my-custom-hashes.txt
sd import-clamav main.cvd daily.cvd
# Проверка настройки
sd info# Запуск демона (мониторинг /home и /tmp, обновления каждые 4 часа)
sd daemon
# Или ручное сканирование
sd scan /home --recursive --auto-quarantine
# Проверка состояния
sd status# Сканирование с полным устранением угроз
sudo sd scan /tmp --auto-quarantine --remediate
# Проверка памяти на наличие угроз в памяти процессов
sudo sd scan-memory
# Проверка на наличие руткитов
sudo sd check-rootkit
# Просмотр карантина
sd quarantine list
sd quarantine restore <ID> --to /safe/location# Планирование еженедельного сканирования
sd schedule add /home --frequency weekly
# Настройка оповещений
sd webhook add slack https://hooks.slack.com/services/T.../B.../xxx --format slack
sd email-alert configure
# JSON-вывод для скриптов
sd scan /path --json | jq '.threats[] | .name'