π ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β Zero Trust Π΄ΠΎΡΡΡΠΏ ΠΊ Π²Π°ΡΠΈΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌ
ΠΡ ΡΠ°Π΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Tuna β ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠΎ Π·Π°ΡΠΈΡΡΠ½Π½ΡΠΉ reverse proxy, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ Π»ΡΠ±ΠΎΠΉ Π²Π°Ρ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ, SSO ΠΈ Π³ΡΠ°Π½ΡΠ»ΡΡΠ½ΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ Π΄ΠΎΡΡΡΠΏΠ° β Π±Π΅Π· Π΅Π΄ΠΈΠ½ΠΎΠΉ ΡΡΡΠΎΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΡΠ°ΠΌΠΎΠΌ ΡΠ΅ΡΠ²ΠΈΡΠ΅.
ΠΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ°Π·Π΄Π΅Π»Ρ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
ΠΠ°ΡΠ΅ΠΌ ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ?β
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅: Ρ Π²Π°Ρ Π΅ΡΡΡ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ β Π°Π΄ΠΌΠΈΠ½ΠΊΠ°, staging-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅, Grafana, Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ API. ΠΡ Ρ ΠΎΡΠΈΡΠ΅ Π΄Π°ΡΡ ΠΊ Π½Π΅ΠΌΡ Π΄ΠΎΡΡΡΠΏ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠΌ Π»ΡΠ΄ΡΠΌ, ΠΈΠ· Π½ΡΠΆΠ½ΡΡ ΡΡΡΠ°Π½, Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΉ SSO. Π Π°Π½ΡΡΠ΅ ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π»ΠΎ Π²ΠΎΠ·Π½Ρ Ρ nginx, oauth2-proxy, ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°ΠΌΠΈ ΠΈ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ Π΄ΠΎΡΡΡΠΏΠ°.
Π‘ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ Tuna ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π·Π°ΠΏΡΠΎΡ: ΠΊΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠ°ΠΊ ΠΎΠ½ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π»ΡΡ, ΠΎΡΠΊΡΠ΄Π° ΠΏΡΠΈΡΡΠ» ΠΈ ΠΈΠΌΠ΅Π΅Ρ Π»ΠΈ ΠΏΡΠ°Π²ΠΎ Π²ΠΈΠ΄Π΅ΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠΉ ΠΏΡΡΡ. ΠΡΡ ΡΡΠΎ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π· Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΠΏΠ°ΡΡ ΠΌΠΈΠ½ΡΡ.
Π§ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ:
- Π·Π°ΠΊΡΡΡΡ Π»ΡΠ±ΠΎΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²ΠΈΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅;
- Π³ΡΠ°Π½ΡΠ»ΡΡΠ½ΠΎ ΡΠ°Π·Π³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
/admin/*ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ² ΠΈΠ· Π ΠΎΡΡΠΈΠΈ, Π°/api/healthΠΎΡΠΊΡΡΡΡ Π±Π΅Π· Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ; - ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΠΉ SSO (Google, Yandex, GitHub, GitLab, VK, Π»ΡΠ±ΠΎΠΉ OIDC-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ);
- ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ MFA ΠΈΠ»ΠΈ ΡΡΡΠ½ΠΎΠ΅ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π΄Π»Ρ ΡΡΠ²ΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ;
- ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ Π±Π΅Π· ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ IP ΡΠ΅ΡΠ΅Π· ΡΡΠ½Π½Π΅Π»Ρ β Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ;
- Π²ΡΠ΄Π°ΡΡ ΠΌΠ°ΡΠΈΠ½Π½ΡΠΉ Π΄ΠΎΡΡΡΠΏ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ ΡΠΎΠΊΠ΅Π½Ρ Π΄Π»Ρ CI/CD, ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ²Π° ΡΠ΅ΠΆΠΈΠΌΠ° Π΄ΠΎΡΡΠ°Π²ΠΊΠΈ ΡΡΠ°ΡΠΈΠΊΠ°β
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Ρ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΠ΅, ΠΊΠ°ΠΊ Tuna Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡ ΠΎΠ΄ΠΈΡΡ Π΄ΠΎ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°.
| Π Π΅ΠΆΠΈΠΌ | ΠΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ |
|---|---|
| ΠΡΠΎΠΊΡΠΈ | Π‘Π΅ΡΠ²ΠΈΡ ΡΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ ΡΠ΅ΡΠΈ β Π² Kubernetes, ΠΎΠ±Π»Π°ΡΠ½ΠΎΠΉ VM ΠΈΠ»ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΠ΅ΡΠΈ, ΡΡΠΎ ΠΈ Π½ΠΎΠ΄Π°. ΠΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ upstream Ρ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΠΏΠΎ Π²Π΅ΡΠ°ΠΌ |
| Π’ΡΠ½Π½Π΅Π»Ρ | Π‘Π΅ΡΠ²ΠΈΡ Π±Π΅Π· ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ IP β Π·Π° NAT, Π½Π° dev-ΠΌΠ°ΡΠΈΠ½Π΅ ΠΈΠ»ΠΈ Π² ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΡΠ΅ΡΠΈ. ΠΡΠΊΠ΅Π½Π΄ ΡΠ°ΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ Tuna ΡΠ΅ΡΠ΅Π· ΠΊΠ»ΠΈΠ΅Π½Ρ-Π°Π³Π΅Π½Ρ |
Π ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΡΠ½Π½Π΅Π»Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΠ΅ Π³ΠΎΡΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
tuna app <ΠΈΠΌΡ> --url=http://127.0.0.1:8080
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ Π΅Ρ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ β ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π½Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠ΅ΡΠ΅Π· Π·Π°ΡΠΈΡΡΠ½Π½ΡΠΉ Π΄ΠΎΠΌΠ΅Π½.
ΠΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ° β ΡΠ΅ΡΠ΄ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡβ
ΠΠ°ΠΆΠ΄ΡΠΉ Π·Π°ΠΏΡΠΎΡ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΠΏΠΎΡΠΊΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊ. ΠΠ΅ΡΠ²Π°Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°, ΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΡΠΈ ΡΠΎΠ²ΠΏΠ°Π», ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠ΄ΡΠ±Ρ Π·Π°ΠΏΡΠΎΡΠ°: ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ, ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ MFA, Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ°Π·Π°ΡΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏ Π·Π°ΠΏΡΠ΅ΡΡΠ½.
ΠΠ°ΠΆΠ΄Π°Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° β ΡΡΠΎ ΠΏΠ°ΡΡΠ΅ΡΠ½ ΠΏΡΡΠΈ (glob-ΡΠ°Π±Π»ΠΎΠ½ Π²ΡΠΎΠ΄Π΅ /admin/*) ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅:
- Π Π°Π·ΡΠ΅ΡΠΈΡΡ β Π΄ΠΎΡΡΡΠΏ ΠΏΡΠΈ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΏΡΠ°Π²ΠΈΠ»;
- Π’ΡΠ΅Π±ΠΎΠ²Π°ΡΡ MFA β ΡΠΎ ΠΆΠ΅ ΠΏΠ»ΡΡ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΠΊΡΠΎΡ (TOTP ΠΈΠ»ΠΈ ΠΊΠΎΠ΄ Π½Π° email);
- ΠΠ°ΠΏΡΠ΅ΡΠΈΡΡ β Π±Π΅Π·ΡΡΠ»ΠΎΠ²Π½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°;
- ΠΡΠΎΠΏΡΡΡΠΈΡΡ β ΠΏΡΡΡ Π±Π΅Π· Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ (health check, webhook-ΡΠ½Π΄ΠΏΠΎΠΈΠ½ΡΡ).
ΠΠ½ΡΡΡΠΈ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° β ΠΊΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡ Π΄ΠΎΡΡΡΠΏ. ΠΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎ ΡΠ΅ΠΆΠΈΠΌΠ°ΠΌ OR / AND / NOT ΠΈ ΡΠΎΠ±ΠΈΡΠ°ΡΡ ΠΈΠ· ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ²:
| Π’ΠΈΠΏ ΠΏΡΠ°Π²ΠΈΠ»Π° | ΠΡΠΈΠΌΠ΅Ρ |
|---|---|
| ΠΠΎΠΌΠ°Π½Π΄Π° / Email / Email RegExp | .*@company\.com$ |
| IP / CIDR | 10.0.0.0/8 |
| Π‘ΡΡΠ°Π½Π° (GeoIP) | RU, US, DE |
| Π‘ΠΏΠΎΡΠΎΠ± Π²Ρ ΠΎΠ΄Π° | oidc, otp, mfa |