Розробка порталу для банку/фінансової організації
Банківський веб-портал — інтернет-банк або фінансовий особистий кабінет. Вимоги до безпеки максимальні в галузі: 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 години, заморозка при підозрілій активності.
Запобігання шахрайству
Антифрод-система аналізує кожну операцію в реальному часі:
- Геолокація операції порівняно з звичайним місцем входу
- Швидкість зміни геолокації (неможливо фізично переміститися за 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 мітigation:
-
XSS: Content Security Policy (CSP)
script-src 'self', екранування всього output - CSRF: Double Submit Cookie Pattern або SameSite=Strict cookies
- SQLi: параметризовані запити, ніякої конкатенації
- IDOR: перевірка власництва на кожен ресурс (рахунок, операція належить саме цьому користувачеві)
- 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 місяці.







