✅ Good
mTLS (Mutual TLS)¶
Mutual TLS (mTLS) — це варіант TLS, де обидві сторони з'єднання (клієнт і сервер) аутентифікуються за допомогою сертифікатів.
Порівняння з звичайним TLS¶
| Аспект | TLS | mTLS |
|---|---|---|
| Сервер аутентифікується | Так | Так |
| Клієнт аутентифікується | Ні | Так |
| Клієнт потребує сертифікат | Ні | Так |
Переваги mTLS¶
- Сильна аутентифікація — обидві сторони підтверджують ідентичність
- Zero Trust — не довіряємо нікому без сертифіката
- Автоматизація — легко інтегрується в CI/CD
- Аудит — кожне з'єднання прив'язане до сертифіката
Створення сертифікатів¶
# CA (Certificate Authority)
openssl req -x509 -newkey rsa:4096 -keyout ca.key -out ca.crt -days 365
# Серверний сертифікат
openssl req -newkey rsa:4096 -keyout server.key -out server.csr
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -out server.crt
# Клієнтський сертифікат
openssl req -newkey rsa:4096 -keyout client.key -out client.csr
openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -out client.crt
В Caddy¶
api.wiki.local {
tls {
client_auth {
mode require_and_verify
trusted_ca_cert_file /etc/caddy/ca.crt
}
}
reverse_proxy localhost:8000
}
В UMTC¶
mTLS використовується для:
- Захисту внутрішніх API
- Комунікації між мікросервісами
- Доступу до адмін-панелей
Увага
Зберігайте приватні ключі безпечно! Компрометація ключа = компрометація ідентичності.
Шлях: glossary/mtls.md