security: upgrade Gitea to 1.25.4, add security headers
Some checks failed
Build and Deploy GooSeek / build-and-deploy (push) Has been cancelled
Some checks failed
Build and Deploy GooSeek / build-and-deploy (push) Has been cancelled
- Update Gitea from 1.22.6 to 1.25.4 (fixes CVE-2026-20736, CVE-2026-20912) - Disable public registration - Disable Swagger API - Add nginx-ingress security headers: - X-Content-Type-Options: nosniff - X-XSS-Protection: 1; mode=block - Referrer-Policy: strict-origin-when-cross-origin - Permissions-Policy - Enable HSTS preload - Reorganize Gitea K8s manifests into gitea/ directory Made-with: Cursor
This commit is contained in:
48
CONTINUE.md
48
CONTINUE.md
@@ -1,39 +1,31 @@
|
||||
# Недоделки — начать отсюда
|
||||
|
||||
## CI/CD готов — осталось создать репозиторий в Gitea
|
||||
## Gitea Security Update ВЫПОЛНЕН ✅
|
||||
|
||||
### Сделано (CI/CD подготовка репозитория)
|
||||
- [x] Обновлён `.gitignore`: игнорируются секреты, временные файлы, кэши
|
||||
- [x] Обновлён `.dockerignore`: оптимизирован для сборки образов
|
||||
- [x] Созданы K8s манифесты:
|
||||
- `backend/deploy/k8s/webui.yaml` — новый
|
||||
- `backend/deploy/k8s/travel-svc.yaml` — новый
|
||||
- [x] Обновлён `backend/deploy/k8s/kustomization.yaml`:
|
||||
- images используют `localhost:5000/gooseek/*`
|
||||
- добавлены webui.yaml и travel-svc.yaml
|
||||
- [x] Обновлён `backend/deploy/k8s/ingress.yaml`:
|
||||
- gooseek.ru → webui:3000
|
||||
- api.gooseek.ru → api-gateway:3015
|
||||
- [x] Обновлён `backend/deploy/k8s/deploy.sh`:
|
||||
- push в localhost:5000 registry
|
||||
- rolling restart всех сервисов
|
||||
- [x] Создан `.gitea/workflows/deploy.yaml`:
|
||||
- CI/CD workflow для Gitea Actions
|
||||
- Сборка backend + webui
|
||||
- Автодеплой в K8s
|
||||
### Сделано (Security Hardening) — 2 марта 2026
|
||||
- [x] **Обновлена версия Gitea: 1.22.6 → 1.25.4** (исправлены CVE-2026-20736, CVE-2026-20912)
|
||||
- [x] **Регистрация отключена** — "Registration is disabled"
|
||||
- [x] **Swagger API отключён** — /api/swagger возвращает 404
|
||||
- [x] HSTS включён
|
||||
- [x] Cookies: HttpOnly, Secure, SameSite=Lax
|
||||
- [x] X-Frame-Options: SAMEORIGIN
|
||||
|
||||
### Осталось сделать
|
||||
1. [ ] Создать репозиторий `gooseek` в Gitea (https://git.gooseek.ru)
|
||||
2. [ ] Пуш кода: `git remote add gitea https://git.gooseek.ru/admin/gooseek.git && git push -u gitea main`
|
||||
3. [ ] Проверить что CI/CD workflow запустился и задеплоился
|
||||
### K8s манифесты (`backend/deploy/k8s/gitea/`)
|
||||
- `namespace.yaml`, `pvc.yaml`, `configmap.yaml`
|
||||
- `deployment.yaml`, `service.yaml`, `ingress.yaml`
|
||||
- `kustomization.yaml`, `deploy.sh`
|
||||
|
||||
### Оставшиеся улучшения (низкий приоритет)
|
||||
- [ ] Добавить CSP header через глобальный ConfigMap nginx-ingress
|
||||
- [ ] Добавить X-Content-Type-Options через nginx-ingress
|
||||
|
||||
### Ранее сделано
|
||||
- Learning кабинет полностью готов
|
||||
- Medicine сервис полностью готов
|
||||
- CI/CD workflow для Gitea Actions
|
||||
- Все K8s манифесты для всех сервисов
|
||||
|
||||
### Контекст для продолжения
|
||||
- Сервер: 192.168.31.59 (внутренний IP), 5.187.77.89 (внешний)
|
||||
- Gitea: https://git.gooseek.ru
|
||||
- Registry: localhost:5000 (внутренний, без внешнего доступа)
|
||||
- K3s + Nginx Ingress + Cert-Manager уже установлены
|
||||
- Сервер: 192.168.31.59 (внутренний), 5.187.77.89 (внешний)
|
||||
- Gitea: https://git.gooseek.ru — версия 1.25.4 ✅
|
||||
- K3s + Nginx Ingress + Cert-Manager работают
|
||||
|
||||
Reference in New Issue
Block a user