Keamanan (Secure By-Design)¶
Arsitektur EdigSSO dirancang sejak awal (by-design) untuk mematuhi praktik standar OWASP untuk memitigasi kerentanan keamanan web.
1. Perlindungan Kredensial (Kriptografi)¶
- Auth JWT: Sesi portal menggunakan token JSON Web Token (
HS256) dengan umur kedaluwarsa 24 jam. - Password Hashing: Password portal disimpan di database dalam bentuk hash yang diretas satu arah menggunakan
bcrypt. - Enkripsi AES-256: Kredensial sensitif milik Odoo (Username, Password Login SSO, Odoo API Key) dan Groq API Key disimpan menggunakan
LargeBinarydan disandikan dengan algoritma simetris yang sangat kuat:AES-256(cryptographylibrary).
2. Kontrol Akses Basis Data (Odoo ORM)¶
AI tidak menembak langsung (Text-to-SQL) ke basis data Odoo PostgreSQL. Semua akses dipaksakan melalui antarmuka ORM Odoo (JSON-RPC 2.0), yang berarti: - Akses ke Odoo secara inheren mengikuti hak askses (Access Rights & Record Rules) milik user. - Parameter domain SQL injeksi ditolak secara otomatis oleh ORM. - Isolasi Company (Perusahaan) disuntikkan (injected) secara deterministik dari backend Python, bukan diserahkan pada kehandalan prompt AI.
3. Perlindungan terhadap Serangan Web (SSRF, CSRF, IDOR)¶
- SSRF Guard: Menjaga input URL Odoo (saat menambah instance) agar backend tidak bisa dipaksa menembak ke server lokal internal atau metadata server.
- Anti-IDOR: Endpoint yang memodifikasi budget atau detail Instance dilindungi secara eksplisit dengan pengecekan kepemilikan sesi JWT (
auth_service.py). - Bulk-Delete Guard: Membatasi agar AI tidak dimanipulasi (prompt injection) untuk menghapus seluruh tabel di database.
4. Audit Trail¶
Semua intervensi dan query (baca/tulis) yang dilakukan dari luar (portal/AI) akan selalu tercatat pada tabel audit_logs (action, detail IP Address).