Безопасность Jira — это не только правильные пароли и SSL-сертификаты. Это комплексная система мер, которая должна защищать данные от несанкционированного доступа, утечек и атак. За годы работы я проводил аудиты безопасности в десятках инстансов и видел множество уязвимостей, которые администраторы не замечали. В этой статье разберу, как провести комплексный аудит безопасности Jira.
Зачем нужен аудит безопасности
Аудит безопасности помогает выявить проблемы до того, как они станут инцидентами. Регулярные проверки позволяют:
- Обнаружить слабые места в конфигурации
- Выявить небезопасные практики использования
- Обеспечить соответствие требованиям регуляторов (GDPR, требования банков и т.д.)
- Подготовиться к внешним аудитам безопасности
- Защититься от внутренних и внешних угроз
Аудит безопасности — это не разовая акция, а регулярный процесс. Рекомендую проводить полный аудит минимум раз в квартал, а проверки отдельных аспектов — ежемесячно.
Проверка прав доступа
Первое, что нужно проверить — кто и какие права имеет в системе. Неправильная настройка прав доступа — одна из самых частых проблем безопасности.
Системные администраторы
Проверьте список пользователей с правами Jira Administrators. В этой роли должно быть минимальное количество людей (в идеале 2-3 человека для резервирования). Каждый администратор должен иметь отдельную учётную запись (не общий аккаунт) для возможности аудита.
Используйте JQL для проверки:
project = "SYSTEM ADMIN" AND reporter in membersOf("jira-administrators")
Или проверьте через админ-панель: Administration → User management → Groups → jira-administrators.
Проектные права доступа
Проверьте схемы разрешений проектов на наличие избыточных прав. Особое внимание на:
- Проекты, где "Anyone" (логированный пользователь) имеет административные права
- Большие группы с критичными правами (например, все пользователи компании)
- Проекты с открытыми разрешениями на удаление задач
- Права на изменение workflow и схем проекта
Неактивные пользователи
Неактивные пользователи с правами доступа создают риски безопасности. Проверьте список пользователей, которые не логинились более 90 дней, но всё ещё имеют права в проектах.
Это можно сделать через админ-панель или через ScriptRunner Console:
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.user.util.UserManager
def userManager = ComponentAccessor.getUserManager()
def users = userManager.getAllUsers()
users.findAll { user ->
def lastLogin = userManager.getLastLoginTime(user)
lastLogin && (System.currentTimeMillis() - lastLogin.time) > (90 * 24 * 60 * 60 * 1000)
}
Проверка настроек аутентификации
Настройки аутентификации критичны для безопасности. Проверьте следующие аспекты.
Политика паролей
Убедитесь, что включена политика сложности паролей:
- Минимальная длина пароля (рекомендую минимум 12 символов)
- Требование использовать буквы, цифры, специальные символы
- Запрет использования простых паролей (словари, повторяющиеся символы)
- История паролей (запрет повторного использования последних N паролей)
- Срок действия паролей (опционально, но рекомендуется для критичных систем)
Настройки находятся в: Administration → User management → User password policies.
Двухфакторная аутентификация (2FA)
2FA значительно повышает безопасность. Проверьте:
- Требуется ли 2FA для администраторов (должна быть обязательной)
- Требуется ли 2FA для всех пользователей (рекомендуется)
- Какой метод 2FA используется (TOTP, SMS, hardware tokens)
- Процент пользователей, использующих 2FA
Интеграция с LDAP/Active Directory
Если используется LDAP/AD, проверьте:
- Используется ли шифрованное соединение (LDAPS, не LDAP)
- Правильно ли настроены фильтры групп (не синхронизируются ли лишние группы)
- Есть ли резервный способ входа для администраторов (на случай проблем с LDAP)
Проверка сетевой безопасности
Jira должна быть защищена на сетевом уровне. Проверьте конфигурацию.
HTTPS и SSL/TLS
Все соединения должны быть зашифрованы. Проверьте:
- Jira доступна только по HTTPS (HTTP должен быть отключён или редиректить на HTTPS)
- Используется актуальная версия TLS (минимум TLS 1.2, рекомендуется TLS 1.3)
- SSL-сертификат валиден и не истекает скоро
- Отключены устаревшие и небезопасные cipher suites
Проверить SSL можно через онлайн-инструменты (например, SSL Labs SSL Test) или через командную строку:
openssl s_client -connect your-jira-domain.com:443 -showcerts
Firewall и доступ
Проверьте настройки firewall:
- Порт 8080/8443 (Jira) доступен только из внутренней сети или через VPN
- Порт 22 (SSH) доступен только для администраторов
- База данных доступна только с сервера Jira
- Нет открытых портов, которые не используются
Анализ логов безопасности
Логи — это окно в безопасность системы. Регулярный анализ логов помогает выявить подозрительную активность.
Что искать в логах
В логах Jira ищите:
- Неудачные попытки входа — множественные неудачные логины могут указывать на брутфорс-атаку
- Доступ к админ-панели — кто и когда заходил в административный интерфейс
- Изменения настроек — изменения схем, workflow, прав доступа
- Массовые операции — удаление или изменение большого количества задач
- Доступ к необычным проектам — доступ пользователей к проектам, в которых они обычно не работают
Настройка алертинга
Настройте автоматические алерты на подозрительные события:
- Более 5 неудачных попыток входа с одного IP за 15 минут
- Вход администратора в нерабочее время
- Изменения в группах администраторов
- Массовое удаление задач
Алерты можно настроить через логирование и внешние системы мониторинга или через плагины для безопасности.
Проверка плагинов и расширений
Плагины могут создавать уязвимости безопасности. Проверьте установленные плагины:
- Актуальность версий — используйте последние версии, в которых исправлены уязвимости
- Источник плагинов — устанавливайте плагины только из проверенных источников (Atlassian Marketplace)
- Права плагинов — плагины не должны иметь избыточных прав
- Активность плагинов — удалите неиспользуемые плагины
Проверка конфиденциальности данных
Jira часто содержит конфиденциальную информацию. Проверьте защиту данных.
Security Levels
Если в проектах используются Security Levels, проверьте:
- Все конфиденциальные задачи имеют правильный уровень безопасности
- Пользователи не имеют доступа к уровням, которые им не нужны
- Нет задач с конфиденциальными данными без security level
Экспорт данных
Ограничьте возможность экспорта данных:
- Проверьте, кто может экспортировать задачи (через XML, CSV, Excel)
- Ограничьте экспорт для обычных пользователей, если это возможно
- Логируйте операции экспорта для аудита
Соответствие требованиям регуляторов
В зависимости от отрасли могут быть специфические требования (GDPR, требования банков, HIPAA и т.д.). Проверьте соответствие:
- Шифрование данных — как в покое, так и в передаче
- Аудит доступа — логирование всех действий с данными
- Право на забвение — возможность удаления данных пользователей
- Резервное копирование — соответствие политикам хранения бэкапов
Чек-лист аудита безопасности
Вот краткий чек-лист для регулярного аудита:
- □ Минимальное количество администраторов
- □ Все администраторы используют 2FA
- □ Сильная политика паролей
- □ HTTPS включён, HTTP отключён
- □ Актуальные версии Jira и плагинов
- □ Нет неактивных пользователей с правами
- □ Нет проектов с открытыми правами "Anyone"
- □ Логирование включено и анализируется
- □ Алерты на подозрительную активность настроены
- □ Бэкапы настроены и тестируются
- □ Firewall правильно настроен
- □ Конфиденциальные данные защищены
Выводы
Безопасность Jira — это комплексная задача, требующая регулярного внимания. Проводите аудит безопасности регулярно, не дожидаясь инцидентов.
Начинайте с проверки прав доступа и настроек аутентификации — это основа безопасности. Затем проверяйте сетевую безопасность, анализируйте логи, проверяйте плагины. Документируйте найденные проблемы и исправляйте их по приоритету критичности.
Помните: безопасность — это не состояние, а процесс. Регулярные аудиты и улучшения помогают поддерживать высокий уровень защиты.
Если нужна помощь с проведением аудита безопасности — свяжитесь со мной.