CASB Security - это комплексная российская система контроля доступа к облачным сервисам, разработанная для обеспечения безопасности при переходе в облака. Система предоставляет централизованное управление доступом, мониторинг активностей, защиту от утечек данных и управление политиками безопасности.
- 🔐 Многофакторная аутентификация (MFA) - TOTP, SMS, Email
- 📊 Мониторинг в реальном времени - отслеживание всех действий в облаке
- 🛡️ Data Loss Prevention (DLP) - предотвращение утечек конфиденциальных данных
- ⚖️ Гибкая система политик - настраиваемые правила безопасности
- 🌐 Поддержка российских провайдеров - Yandex Cloud, SberCloud, Mail.ru Cloud
- 🔍 Аудит и отчетность - детальные логи и аналитика
- 🎛️ Современный веб-интерфейс - удобная панель управления
┌─────────────────────────────────────────────────────────────┐
│ CASB Security System │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────┐ │
│ │ Web Interface │ │ REST API │ │ MFA Auth │ │
│ └─────────────────┘ └─────────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────┐ │
│ │ CASB Core │ │ Policy Engine │ │ DLP Engine │ │
│ └─────────────────┘ └─────────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────┐ │
│ │ Cloud Monitor │ │ Audit Logger │ │ Database │ │
│ └─────────────────┘ └─────────────────┘ └─────────────┘ │
├─────────────────────────────────────────────────────────────┤
│ Cloud Providers Integration │
│ AWS │ Azure │ Yandex │ Sber │ Mail.ru │ GCP │
└─────────────────────────────────────────────────────────────┘
- Python 3.8+
- SQLite3
- pip (для установки зависимостей)
- Клонирование репозитория:
git clone https://github.com/your-org/casb-security.git
cd casb-security- Установка зависимостей:
pip install -r requirements.txt- Инициализация системы:
python setup.py- Запуск веб-интерфейса:
python web/app.py- Запуск API сервера:
python api/cloud_integration.py- Откройте браузер и перейдите на
http://localhost:5000 - Войдите с учетными данными по умолчанию:
- Логин:
admin - Пароль:
secure_password_123
- Логин:
- Следуйте мастеру первоначальной настройки
Основной модуль системы, отвечающий за:
- Управление пользователями и ролями
- Аутентификацию и авторизацию
- Регистрацию облачных сервисов
- Обработку запросов доступа
- Расчет риск-скоров
Пример использования:
from core.casb import CASBCore, AccessLevel
casb = CASBCore()
# Создание пользователя
user = casb.create_user(
username="john.doe",
email="john@company.ru",
department="IT",
access_level=AccessLevel.ADMIN,
password="secure_password"
)
# Запрос доступа
access_request = casb.request_access(
user_id=user.user_id,
service_id="yandex_storage_01",
action="read_files",
ip_address="192.168.1.100",
user_agent="Mozilla/5.0..."
)Модуль многофакторной аутентификации:
- TOTP (Google Authenticator, Authy)
- SMS коды
- Email коды
- Резервные коды
Пример настройки TOTP:
from auth.mfa_auth import MFAAuthenticator
mfa = MFAAuthenticator("casb.db")
# Настройка TOTP
secret, qr_code = mfa.setup_totp(user_id, username)
# Создание вызова
challenge = mfa.create_challenge(user_id, "totp")
# Проверка кода
verified = mfa.verify_challenge(challenge.challenge_id, "123456")Система мониторинга облачных активностей:
- Отслеживание событий в реальном времени
- Обнаружение аномалий
- Генерация оповещений
- Аналитика угроз
Пример логирования события:
from monitoring.cloud_monitor import CloudActivityMonitor, EventType
monitor = CloudActivityMonitor("casb.db")
event = monitor.log_cloud_event(
service_id="aws_s3_bucket",
user_id="user123",
event_type=EventType.FILE_DOWNLOAD,
source_ip="203.0.113.1",
user_agent="aws-cli/2.0.0",
resource="/sensitive/document.pdf",
action="download_file",
result="success"
)Система предотвращения утечек данных:
- Сканирование контента на конфиденциальность
- Классификация данных
- Автоматическое шифрование
- Карантин подозрительных файлов
Поддерживаемые типы данных:
- Паспортные данные РФ
- ИНН, СНИЛС
- Номера банковских карт
- Медицинские данные
- Финансовая информация
Пример сканирования:
from dlp.data_protection import DataProtectionEngine
dlp = DataProtectionEngine("casb.db")
report = dlp.scan_content(
content="Паспорт: 45 03 123456, ИНН: 123456789012",
file_name="personal_data.txt"
)
print(f"Классификация: {report.classification.value}")
print(f"Риск-скор: {report.risk_score}")Движок политик безопасности:
- Создание и управление политиками
- Оценка условий в реальном времени
- Автоматическое выполнение действий
- Шаблоны политик
Пример создания политики:
from policies.policy_engine import PolicyEngine, PolicyType, PolicyScope
policy_engine = PolicyEngine("casb.db")
# Создание политики блокировки в нерабочее время
policy = policy_engine.create_policy_from_template(
template_id="after_hours_block",
name="Блокировка доступа после 18:00",
target="finance_service"
)http://localhost:5001/api
Все API запросы требуют заголовок:
X-API-Key: your_api_key
GET /api/health# Получение списка поддерживаемых провайдеров
GET /api/providers
# Добавление учетных данных
POST /api/credentials
{
"provider": "yandex",
"name": "Production Environment",
"access_key": "your_access_key",
"secret_key": "your_secret_key",
"region": "ru-central1-a"
}# Запуск синхронизации
POST /api/sync
{
"credential_id": "abc123",
"resource_types": ["compute_instance", "storage_bucket"]
}
# Получение ресурсов
GET /api/resources?credential_id=abc123&use_cache=true# Получение событий аудита
GET /api/audit?credential_id=abc123&start_time=2024-01-01T00:00:00Z&end_time=2024-01-02T00:00:00Z
# Проверка соответствия
POST /api/compliance/check
{
"credential_id": "abc123",
"framework": "152-fz"
}{
"database": "casb.db",
"jwt_secret": "your_jwt_secret_here",
"session_timeout": 3600,
"max_failed_attempts": 5,
"threat_threshold": 0.7,
"monitoring": {
"monitoring_interval": 60,
"retention_days": 90,
"webhook_url": "https://your-webhook.com/alerts"
},
"smtp": {
"enabled": true,
"smtp_server": "smtp.company.ru",
"smtp_port": 587,
"use_tls": true,
"username": "casb@company.ru",
"password": "smtp_password",
"from_email": "casb@company.ru"
},
"sms": {
"enabled": false,
"provider": "sms.ru",
"api_key": "your_sms_api_key"
}
}{
"name": "Блокировка критичных операций",
"description": "Блокирование удаления и изменения критичных ресурсов",
"policy_type": "access_control",
"scope": "global",
"conditions": [
{
"field": "request.action",
"operator": "regex_match",
"value": ".*(delete|remove|destroy).*"
},
{
"field": "service.risk_level",
"operator": "in_list",
"value": ["high", "critical"]
}
],
"actions": [
{
"action_type": "block",
"parameters": {"reason": "Критичная операция заблокирована"}
},
{
"action_type": "alert",
"parameters": {"severity": "high"}
}
]
}- Создание Docker образа:
docker build -t casb-security .- Запуск контейнера:
docker run -d \
--name casb-security \
-p 5000:5000 \
-p 5001:5001 \
-v ./data:/app/data \
-v ./config:/app/config \
casb-security- Создание systemd сервиса:
[Unit]
Description=CASB Security System
After=network.target
[Service]
Type=simple
User=casb
WorkingDirectory=/opt/casb-security
ExecStart=/opt/casb-security/venv/bin/python web/app.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target- Запуск сервиса:
sudo systemctl enable casb-security
sudo systemctl start casb-security-
Смена паролей по умолчанию:
- Измените
jwt_secretв конфигурации - Смените пароль администратора
- Сгенерируйте новые ключи шифрования
- Измените
-
Настройка HTTPS:
- Используйте SSL/TLS сертификаты
- Настройте reverse proxy (nginx/apache)
-
Резервное копирование:
- Регулярно создавайте резервные копии базы данных
- Шифруйте резервные копии
-
Мониторинг:
- Настройте уведомления о критичных событиях
- Регулярно проверяйте логи системы
- Общие запросы доступа - количество обработанных запросов
- Заблокированные запросы - количество отклоненных запросов
- Обнаруженные угрозы - количество выявленных угроз
- DLP сканирования - статистика проверок данных
- Политики безопасности - эффективность применения политик
- Общий дашборд - сводная информация по всей системе
- Мониторинг активности - детальная аналитика событий
- DLP дашборд - статистика защиты данных
- Управление политиками - настройка и мониторинг политик
| Провайдер | Статус | Поддерживаемые сервисы |
|---|---|---|
| Yandex Cloud | ✅ Полная поддержка | Compute, Storage, IAM, Audit Trails |
| SberCloud | ✅ Базовая поддержка | Compute, Storage, Security |
| Mail.ru Cloud | ✅ Базовая поддержка | Compute, Storage |
| AWS | 🔄 В разработке | EC2, S3, IAM, CloudTrail |
| Azure | 🔄 В разработке | Virtual Machines, Storage, Monitor |
| Google Cloud | 📋 Планируется | Compute Engine, Cloud Storage |
import requests
# Добавление учетных данных Yandex Cloud
response = requests.post('http://localhost:5001/api/credentials',
headers={'X-API-Key': 'your_api_key'},
json={
'provider': 'yandex',
'name': 'Production',
'access_key': 'your_access_key',
'secret_key': 'your_secret_key',
'region': 'ru-central1-a'
}
)
credential_id = response.json()['data']['credential_id']
# Синхронизация ресурсов
requests.post('http://localhost:5001/api/sync',
headers={'X-API-Key': 'your_api_key'},
json={'credential_id': credential_id}
)# Настройка политики доступа для отдела
policy = create_department_access_policy(
department="Finance",
allowed_services=["storage", "analytics"],
time_restrictions={"hours": [9, 18]},
require_mfa=True
)# Сканирование файла перед загрузкой в облако
scan_result = dlp_engine.scan_file("/path/to/document.pdf")
if scan_result.classification == DataClassification.CONFIDENTIAL:
# Автоматическое шифрование
dlp_engine.encrypt_file("/path/to/document.pdf")# Создание правила обнаружения аномалий
alert_rule = monitor.create_alert_rule(
name="Массовое скачивание данных",
conditions={
"event_type": "file_download",
"count_threshold": 100,
"time_window_minutes": 60
},
severity=Severity.WARNING
)-
Персональные данные:
- Номера паспортов РФ
- ИНН физических лиц
- СНИЛС
- Номера телефонов
-
Финансовые данные:
- Номера банковских карт
- Реквизиты счетов
- Финансовые документы
-
Медицинские данные:
- Медицинские заключения
- Результаты анализов
- Персональная медицинская информация
-
Корпоративные данные:
- API ключи и токены
- Конфиденциальные документы
- Внутренняя переписка
- Блокировка - запрет операции
- Карантин - изоляция файла
- Шифрование - автоматическая защита
- Оповещение - уведомление администраторов
- Логирование - запись в журнал аудита
- Контроль доступа - управление правами пользователей
- Защита данных - правила обработки конфиденциальной информации
- Аутентификация - требования к входу в систему
- Сетевая безопасность - контроль сетевого доступа
- Соответствие требованиям - выполнение регуляторных требований
{
"name": "After Hours Access Block",
"conditions": [
{"field": "request.timestamp", "operator": "time_range", "value": {"hours": [18, 8]}},
{"field": "service.risk_level", "operator": "equals", "value": "critical"}
],
"actions": [
{"action_type": "block", "parameters": {"reason": "Доступ запрещен в нерабочее время"}}
]
}{
"name": "Admin MFA Requirement",
"conditions": [
{"field": "user.access_level", "operator": "equals", "value": "admin"},
{"field": "request.action", "operator": "regex_match", "value": ".*(delete|config).*"}
],
"actions": [
{"action_type": "require_mfa", "parameters": {"methods": ["totp", "sms"]}}
]
}- Отчет активности пользователей - детальная статистика по пользователям
- Отчет соответствия - проверка выполнения требований безопасности
- Отчет DLP - статистика обнаружения конфиденциальных данных
- Отчет инцидентов - анализ нарушений безопасности
# Экспорт аудита за период
audit_report = casb.export_audit_report(
start_date=datetime(2024, 1, 1),
end_date=datetime(2024, 1, 31)
)
# Экспорт DLP отчета
dlp_report = dlp_engine.export_dlp_report(
start_date=datetime(2024, 1, 1),
end_date=datetime(2024, 1, 31)
)- 152-ФЗ "О персональных данных"
- GDPR (General Data Protection Regulation)
- ISO 27001 - Управление информационной безопасностью
- SOC 2 - Security, Availability, and Confidentiality
- Автоматическая классификация данных
- Контроль доступа к персональным данным
- Журналирование всех операций
- Уведомления о нарушениях
- Регулярные проверки безопасности
-
Ошибка подключения к базе данных:
# Проверка файла базы данных ls -la casb.db # Восстановление из резервной копии cp casb.db.backup casb.db
-
Проблемы с MFA:
# Сброс MFA для пользователя python -c "from auth.mfa_auth import MFAAuthenticator; mfa = MFAAuthenticator('casb.db'); mfa.disable_mfa_method('user_id', 'method_id')"
-
Высокое потребление ресурсов:
# Очистка старых данных python maintenance/cleanup.py --days 30
Основные файлы логов:
casb.log- основные логи системыweb.log- логи веб-интерфейсаapi.log- логи REST APIdlp.log- логи DLP сканирования
- Email: reliablesecurity@protonmail.com
- Telegram: @reliablesecurity
- GitHub: https://github.com/ReliableSecurity/cloud-security-broker
- Fork репозитория
- Создайте feature branch
- Внесите изменения
- Создайте Pull Request
Система распространяется под лицензией MIT. См. файл LICENSE для подробностей.
- ✅ Базовая функциональность CASB
- ✅ Веб-интерфейс администратора
- ✅ API для интеграции
- ✅ Поддержка российских облачных провайдеров
- 🔄 Расширенная интеграция с AWS и Azure
- 🔄 Машинное обучение для обнаружения аномалий
- 🔄 Мобильное приложение для администраторов
- 🔄 Интеграция с SIEM системами
- 📋 Микросервисная архитектура
- 📋 Поддержка Kubernetes
- 📋 Расширенная аналитика
- 📋 Интеграция с блокчейн для аудита
Разработано в России для российского рынка 🇷🇺
CASB Security - надежная защита ваших облачных ресурсов