Разработка портала для банка/финансовой организации
Банковский веб-портал — интернет-банк или финансовый личный кабинет. Требования к безопасности максимальные в отрасли: 382-П ЦБ РФ, PCI DSS для платёжных операций, 152-ФЗ для персональных данных, ГОСТ Р 57580. Разработка без глубокой экспертизы в информационной безопасности невозможна.
Архитектура безопасности
Многоуровневая аутентификация:
- Логин + пароль (минимум 8 символов, сложностные требования)
- Обязательный второй фактор: SMS-OTP, TOTP (Google Authenticator), push-уведомление в мобильном приложении
- Сессионный токен с коротким TTL (15–30 минут неактивности)
Fingerprinting устройства: при входе с нового устройства — дополнительная верификация. Параметры: User-Agent, IP, canvas fingerprint, WebGL.
Шифрование на транспортном уровне: TLS 1.2+ обязательно, TLS 1.3 рекомендуется. Certificate Pinning в мобильных клиентах.
Шифрование данных в базе:
- Чувствительные поля (номера счетов, остатки) — column-level encryption (AES-256)
- PostgreSQL Transparent Data Encryption (TDE) для шифрования на уровне файлов
- Ключи шифрования в HSM (Hardware Security Module) или managed-сервисе (AWS CloudHSM, Яндекс.КМС)
Операции и подтверждение
Каждая денежная операция требует явного подтверждения:
1. Пользователь создаёт операцию (перевод, платёж)
2. Система показывает детали для проверки
3. Запрос OTP-кода (SMS или TOTP)
4. Пользователь вводит код → операция исполняется
5. Push-уведомление о выполнении
Дополнительно: подтверждение крупных операций (выше порога) через звонок оператора или биометрию.
Лимиты операций: дневной лимит переводов, лимит на новые получателей в первые 24 часа, заморозка при подозрительной активности.
Противодействие фроду
Антифрод-система анализирует каждую операцию в реальном времени:
- Геолокация операции vs обычное место входа
- Скорость смены геолокации (невозможно физически переместиться за 5 минут)
- Паттерн операций (нетипичные суммы, получатели)
- Velocity checks (N операций за M минут)
Провайдеры антифрода: BI.ZONE, Positive Technologies (PT AF), или собственные ML-модели.
Аудит и журналирование
Неизменяемый audit log каждого действия: вход, смена пароля, создание операции, подтверждение, ошибки аутентификации. Хранение — не менее 3 лет (требование 382-П).
Реализация: отдельная append-only таблица или специализированные системы (Elasticsearch + Kibana для поиска, Apache Kafka для потоковой записи).
Уязвимости и защита
Обязательный OWASP Top 10 mitigation:
-
XSS: Content Security Policy (CSP)
script-src 'self', экранирование всего output - CSRF: Double Submit Cookie Pattern или SameSite=Strict cookies
- SQLi: параметризованные запросы, никакой конкатенации
- IDOR: проверка ownership на каждый ресурс (счёт, операция принадлежит именно этому пользователю)
- Brute force: rate limiting 5 попыток → lockout 15 минут, CAPTCHA
Penetration Testing
Перед запуском обязателен pentest от сертифицированной компании (CISSP/CISA-certified). Результаты — в формате отчёта с CVSS-оценками. Критические находки — исправляются до запуска.
Регулярные повторные пентесты: минимум раз в год или после значительных изменений.
Требования регулятора
- 382-П ЦБ РФ: требования к защите информации при денежных переводах
- 719-П ЦБ РФ: операционные и технологические риски
- ГОСТ Р 57580.1-2017: стандарт информационной безопасности для финансовых организаций (уровни защиты 1–3)
- PCI DSS (если хранение/обработка данных карт)
Технологии
| Компонент | Требования |
|---|---|
| Backend | Statically typed (Java Spring Boot, Go, C# .NET) |
| База данных | PostgreSQL с TDE / Oracle |
| Секреты | HashiCorp Vault / HSM |
| Очереди | Apache Kafka (audit log, events) |
| WAF | PT AF, CloudFlare Enterprise, или on-premise |
| Хостинг | Сертифицированные ЦОД РФ (152-ФЗ) |
Сроки
MVP интернет-банка (просмотр счетов, переводы между своими счетами, история, 2FA): 6–9 месяцев. Полноценный интернет-банк с платёжным функционалом, антифродом, мобильным приложением, прохождением аудита 57580: 12–24 месяца.







