Güvenlik Raporu
Uygulanan kontroller
| Kontrol | Durum | Kaynak |
|---|---|---|
| Güvenlik başlıkları | helmet() etkin |
app.ts |
| Sunucu parmak izi | x-powered-by kapalı |
app.ts |
| CORS allowlist | Yalnızca CORS_ORIGIN |
app.ts |
| Wildcard CORS | Kullanılmıyor | app.ts |
| IP taklidi | trust proxy varsayılan false |
app.ts |
| Gövde sınırı | 100 kb (yükleme hariç) | app.ts |
| Giriş hız sınırı | loginRateLimiter |
auth.routes.ts |
| Parola saklama | bcryptjs |
auth.controller.ts |
| JWT gizli anahtarı | Zorunlu, gömülü varsayılan yok | env.util.ts |
| Hata sızıntısı | Jenerik 500, yapılandırma sızdırmaz | error.middleware.ts |
| Sağlık ucu sızıntısı | Adres/kimlik/sürüm döndürmez | health.controller.ts |
| Denetim kaydı | Allowlist, ham gövde yazılmaz | audit.util.ts |
| Sentry PII | sendDefaultPii: false |
instrument.ts |
| İstek kimliği taklidi | Gelen X-Request-Id yok sayılır |
request-id.middleware.ts |
Bilinen riskler / izlenenler
- Kimlik doğrulamasız uçlar (12 adet). Node-RED akışından davranışı
korunarak taşınmıştır. Uzun vadede
authenticatearkasına alınması değerlendirilmelidir. - Rol bazlı yetkilendirme uygulanmıyor.
authorizeRolestanımlı ancak router'larda kullanılmıyor. - Legacy alias
POST /fileAddd. Geriye uyumluluk için duruyor; yeni kodda kullanılmıyor. VITE_REQRES_API_KEYtarayıcıya iner — gerçek gizli değer konmamalıdır.
Bu ortamda yapılmayanlar
npm audit, bağımlılık CVE taraması, sızma testi ve statik güvenlik analizi
bu dokümantasyon hazırlanırken çalıştırılmamıştır. Bu bir güvenlik
denetimi raporu değil, kaynak kod üzerinden çıkarılmış bir kontrol
envanteridir.