Lewati ke isi

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 LargeBinary dan disandikan dengan algoritma simetris yang sangat kuat: AES-256 (cryptography library).

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).