mirror of
https://github.com/deadcxap/init_scripts.git
synced 2026-07-02 05:43:40 +03:00
Доработка безопасности силами кадди,
правка конфигов
This commit is contained in:
@@ -26,6 +26,15 @@
|
|||||||
caddy hash-password --plaintext 'секрет'
|
caddy hash-password --plaintext 'секрет'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Или на python:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
pip install bcrypt
|
||||||
|
```
|
||||||
|
```bash
|
||||||
|
python -c "import bcrypt,sys; print(bcrypt.hashpw(sys.argv[1].encode(), bcrypt.gensalt(rounds=12)).decode())" 'секрет'
|
||||||
|
```
|
||||||
|
|
||||||
После изменения файла нужно перезапустить контейнер `caddy`.
|
После изменения файла нужно перезапустить контейнер `caddy`.
|
||||||
|
|
||||||
## Защита контейнеров
|
## Защита контейнеров
|
||||||
@@ -33,8 +42,20 @@ caddy hash-password --plaintext 'секрет'
|
|||||||
Чтобы ограничить доступ к какому-либо сервису, добавьте к контейнеру метку:
|
Чтобы ограничить доступ к какому-либо сервису, добавьте к контейнеру метку:
|
||||||
|
|
||||||
```
|
```
|
||||||
caddy.import: auth_portal_forwarder
|
caddy.import: auth_forward
|
||||||
```
|
```
|
||||||
|
|
||||||
и обычные метки для виртуального хоста и `reverse_proxy`. Пример для Portainer уже есть в `docker-compose.yml`.
|
и обычные метки для виртуального хоста и `reverse_proxy`. Пример для Portainer уже есть в `docker-compose.yml`.
|
||||||
После авторизации пользователь возвращается к запрошенному сервису.
|
После авторизации пользователь возвращается к запрошенному сервису.
|
||||||
|
|
||||||
|
### Открытие пути для API
|
||||||
|
|
||||||
|
Чтобы открыть некий путь без авторизации, добавить лейблы:
|
||||||
|
|
||||||
|
```
|
||||||
|
caddy.handle_path: /api/*
|
||||||
|
caddy.handle_path.0_reverse_proxy: "{{upstreams 9000}}"
|
||||||
|
```
|
||||||
|
|
||||||
|
и не прописывать им `caddy.import: auth_forward`.
|
||||||
|
И наоборот, аналогично можно закрыть авторизацией только нужный путь.
|
||||||
+3
-1
@@ -33,8 +33,10 @@ services:
|
|||||||
networks: [proxy]
|
networks: [proxy]
|
||||||
labels:
|
labels:
|
||||||
caddy: port.realy.nothing.help
|
caddy: port.realy.nothing.help
|
||||||
|
caddy.handle_path: /api/*
|
||||||
|
caddy.handle_path.0_reverse_proxy: "{{upstreams 9000}}"
|
||||||
caddy.encode: zstd gzip
|
caddy.encode: zstd gzip
|
||||||
caddy.import: auth_portal_forwarder
|
caddy.import: auth_forward
|
||||||
caddy.reverse_proxy: "{{upstreams 9000}}"
|
caddy.reverse_proxy: "{{upstreams 9000}}"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
+5
-3
@@ -3,8 +3,10 @@
|
|||||||
{
|
{
|
||||||
"username": "deadcxap",
|
"username": "deadcxap",
|
||||||
"email": "dead@cxap.space",
|
"email": "dead@cxap.space",
|
||||||
"password": "$2a$10$5x5iG8uDD/A.zxTCr14iUuLS1d8FgEiH8oi1de6pF2Nl/iZNDBEvG",
|
"password": "$2b$12$s5SZcTu0THrdIHmdqTIuS.Hb89nokYfwF5xSDPSJPZsKoYnFkv61i",
|
||||||
"roles": ["admin"]
|
"roles": [
|
||||||
|
"admin"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user