Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
tailsnitch — Инструмент аудита безопасности для конфигураций Tailscale. Сканирует ваш tailnet на наличие неправильных конфигураций, излишне разрешительных политик доступа и нарушений лучших практик безопасности. | Kitploit
Инструменты/GitHubGitHub/adversis/tailsnitch
Сканеры уязвимостейАудит конфигурацииСетевая безопасностьБезопасность облачных средDevSecOpsНеправильная КонфигурацияРеагирование на Инциденты
GitHubadversis/tailsnitch

tailsnitch

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

Репозиторий
1.1k292026 дней назадПроверено Kitploit

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Tailsnitch

Аудитор безопасности конфигураций Tailscale. Tailsnitch сканирует вашу tailnet-сеть на наличие 57 ошибок конфигурации, излишне разрешающих контролей доступа и нарушений лучших практик безопасности.

Быстрый старт

# 1. Укажите свои учётные данные API Tailscale
export TS_API_KEY="tskey-api-..."

# 2. Запустите аудит
tailsnitch

# 3. Покажите только находки высокой степени серьёзности
tailsnitch --severity high

# 4. Исправьте некоторые проблемы  ~интерактивно~ режим yolo
tailsnitch --fix

Установка

Загрузка готового бинарного файла

Загрузите последний релиз из GitHub Releases.

Пользователям macOS: Снимите атрибут quarantine после загрузки:

sudo xattr -rd com.apple.quarantine tailsnitch

Установка через Go

go install github.com/Adversis/tailsnitch@latest

Сборка из исходного кода

git clone https://github.com/Adversis/tailsnitch.git
cd tailsnitch
go build -o tailsnitch .

Аутентификация

Tailsnitch поддерживает два метода аутентификации. OAuth предпочтителен, если настроены оба.

Вариант 1: OAuth-клиент (рекомендуется)

OAuth-клиенты обеспечивают ограниченный, аудируемый доступ, который не истекает при увольнении сотрудников.

export TS_OAUTH_CLIENT_ID="..."
export TS_OAUTH_CLIENT_SECRET="tskey-client-..."

Создайте OAuth-клиент по адресу: https://login.tailscale.com/admin/settings/oauth

Необходимые области для аудита только на чтение:

all:read покрывает всё. Предоставление областей по отдельности:

ОбластьИспользуется для
policy_file:readФайл политики tailnet — ACL-, NET-, SSH-*
devices:core:readСписок устройств — DEV-, NET-, ACL-011
dns:readКонфигурация DNS — DNS-001, DEV-007
auth_keys:readКлючи аутентификации машин — AUTH-*, ACL-011
feature_settings:readНастройки tailnet — DEV-008, DEV-009, DEV-014
logs:network:readНастройка журналирования сетевого трафика — LOG-001
networking_settings:readНастройка сертификатов HTTPS — NET-004
log_streaming:readНазначения потоковой передачи журналов — LOG-002
webhooks:readКонечные точки webhook — LOG-005, LOG-012
oauth_keys:readOAuth-клиенты — LOG-006
users:readРоли и статусы пользователей — USER-001, LOG-006
account_settings:readКонтакт для безопасности — LOG-011
devices:posture_attributes:readИнтеграции posture — DEV-014

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

AUTH-005 и AUTH-006 читают федеративные удостоверения tailnet, которые консоль администратора называет доверенными учётными данными. Они поступают из того же списка ключей, что и ключи аутентификации, поэтому ожидается, что auth_keys:read их покрывает. Это не было подтверждено на живой tailnet-сети. Если список ключей не может быть прочитан, обе проверки сообщают «не оценено», а не «пройдено». Подтверждено ли, что отсутствующая область возвращает ошибку или вместо этого возвращает список с отфильтрованными удостоверениями, не установлено; если она фильтрует молча, AUTH-005 сообщит, что доверенных учётных данных не существует, а AUTH-006 не найдёт, что проверять.

Дополнительные области для режима исправления:

  • devices:core — Удаление устройств, изменение тегов (требуется выбор тега)
  • auth_keys — Удаление ключей аутентификации

Tailnet Lock

DEV-010 и DEV-012 сообщают о Tailnet Lock, который API Tailscale не раскрывает как настройку tailnet. Устройства, заблокированные им, видны через API, но определение того, включён ли lock, требует локального CLI tailscale, который читает демон на машине, где запущен tailsnitch. При аудите другой tailnet-сети с помощью --tailnet учитывайте эту часть результата соответствующим образом. Используйте --tailscale-path, если бинарный файл находится в нестандартном месте.

Вариант 2: API-ключ

API-ключи действуют от имени пользователя, который их создал, и наследуют права этого пользователя.

export TS_API_KEY="tskey-api-..."

Создайте API-ключ по адресу: https://login.tailscale.com/admin/settings/keys

Примеры использования

Базовый аудит

# Запуск полного аудита
tailsnitch

# Показ также проходящих проверок (подробный режим)
tailsnitch --verbose

# Вывод в формате JSON для обработки
tailsnitch --json

# Аудит конкретной tailnet-сети (когда OAuth-клиент имеет доступ к нескольким)
tailsnitch --tailnet mycompany.com

Фильтрация результатов

# Показ только критических проблем и проблем высокой серьёзности
tailsnitch --severity high

# Фильтрация по категории
tailsnitch --category access    # Проблемы ACL
tailsnitch --category auth      # Аутентификация и ключи
tailsnitch --category device    # Безопасность устройств
tailsnitch --category network   # Сетевая доступность
tailsnitch --category ssh       # Правила SSH
tailsnitch --category log       # Журналирование и администрирование

# Запуск только конкретных проверок
tailsnitch --checks ACL-001,AUTH-001,DEV-010
tailsnitch --checks stale-devices,tailnet-lock-not-enabled

# Список всех доступных проверок
tailsnitch --list-checks

Интерактивный режим исправления

Режим исправления позволяет устранять проблемы напрямую через API Tailscale:

# Интерактивный режим исправления
tailsnitch --fix

# Предпросмотр того, что будет исправлено (пробный запуск)
tailsnitch --fix --dry-run

# Автовыбор безопасных исправлений (всё равно требует подтверждения)
tailsnitch --fix --auto

# Отключение журналирования аудита действий по исправлению
tailsnitch --fix --no-audit-log

Элементы, исправляемые через API:

ПроверкаДействие
AUTH-001, AUTH-002, AUTH-003Удаление ключей аутентификации
DEV-002Удаление тегов с пользовательских устройств
DEV-004Удаление устаревших устройств
DEV-005Авторизация ожидающих устройств

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

Экспорт доказательств для SOC 2

Создание отчётов-доказательств для аудитов SOC 2 с сопоставлением общих критериев (CC):

# Экспорт в JSON
tailsnitch --soc2 json > soc2-evidence.json

# Экспорт в CSV (для электронных таблиц)
tailsnitch --soc2 csv > soc2-evidence.csv

Отчёт SOC 2 включает:

  • Результаты тестов по каждому ресурсу (каждое устройство, ключ, правило ACL тестируются индивидуально)
  • Сопоставления кодов CC (CC6.1, CC6.2, CC6.3, CC6.6, CC7.1, CC7.2 и т. д.)
  • Статус Pass/Fail/N/A для каждого контрольного теста
  • Временная метка для цепочки аудита

Пример вывода CSV:

resource_type,resource_id,resource_name,check_id,check_title,cc_codes,status,details,tested_at
device,node123,prod-server,DEV-001,Tagged devices with key expiry disabled,CC6.1;CC6.3,PASS,Tags: [tag:server] key expiry enabled,2025-01-05T10:30:00Z
key,tskey-auth-xxx,tskey-auth-xxx,AUTH-001,Reusable auth keys exist,CC6.1;CC6.2;CC6.3,FAIL,Reusable key expires in 45 days,2025-01-05T10:30:00Z

Игнорирование известных рисков

Создайте файл .tailsnitch-ignore, чтобы скрывать находки для известных принятых рисков:

# .tailsnitch-ignore
# Игнорирование информационных проверок
ACL-008  # Мы намеренно не используем группы
ACL-009  # Устаревшие ACL подходят для нашего случая использования

# Игнорирование конкретных проверок средней серьёзности с обоснованием
DEV-006  # Внешние устройства — одобренные подрядчики
LOG-001  # Журналы потоков требуют тарифного плана Enterprise

# Игнорирование одного элемента в проверке вместо отключения всей проверки
ACL-011:tag:monitoring  # широкий по замыслу; каждый другой тег всё равно проверяется
AUTH-001:tskey-auth-xxxx  # автоматически ротируется через CI, отслеживается в TICKET-123
Скачать инструмент