Skip to content

Keamanan Sistem

Panduan ini menjelaskan konfigurasi keamanan RetailOS, termasuk jaringan VPN, proteksi web, autentikasi, dan best practices.

Arsitektur Keamanan

Tailscale VPN

RetailOS menggunakan Tailscale untuk koneksi aman antara toko dan kantor pusat.

Keuntungan Tailscale

FiturKeterangan
Zero-configTidak perlu setup port forwarding
WireGuardEnkripsi cepat dan aman
Mesh NetworkSetiap node bisa berkomunikasi langsung
ACLKontrol akses per node/user
MagicDNSDNS otomatis untuk setiap node

Konfigurasi

  1. Install Tailscale di setiap server/komputer:
bash
curl -fsSL https://tailscale.com/install.sh | sh
  1. Daftarkan node:
bash
sudo tailscale up --authkey=tskey-auth-xxxxx
  1. Konfigurasi ACL di Tailscale admin console:
json
{
  "acls": [
    {"action": "accept", "src": ["tag:store"], "dst": ["tag:cloud:8090"]},
    {"action": "accept", "src": ["tag:cloud"], "dst": ["tag:store:8081"]},
    {"action": "accept", "src": ["tag:dc"], "dst": ["tag:cloud:8090"]}
  ]
}

Cloudflare

Portal web dilindungi oleh Cloudflare:

FiturFungsi
WAFBlock serangan web (SQL injection, XSS)
DDoS ProtectionProteksi dari serangan DDoS
SSL/TLSEnkripsi HTTPS otomatis
Rate LimitingBatasi request per IP
Bot ProtectionBlock bot jahat

Autentikasi

JWT Token

  • Token disimpan di HttpOnly cookie (portal web) atau memory (POS)
  • Expire: 1 jam access token, 7 hari refresh token
  • Signing algorithm: HS256 dengan secret key min 32 karakter

WebAuthn (Passwordless)

Untuk POS dan Store Admin:

  • Fingerprint reader
  • Face ID (perangkat yang mendukung)
  • Security key (USB/NFC)

Role-Based Access Control (RBAC)

RoleLevel Akses
adminFull access ke seluruh sistem
ho_financeKeuangan, settlement, laporan
ho_purchasingProcurement, supplier
hr_managerData karyawan, payroll
store_managerOperasional toko (toko sendiri)
cashierPOS dan member (terbatas)
warehouse_staffInventori (toko sendiri)

Best Practices

  1. Password Policy -- Min 8 karakter, kombinasi huruf+angka, ganti setiap 90 hari
  2. Access Control -- Least privilege, review quarterly, revoke saat karyawan keluar
  3. Network Security -- Semua via Tailscale, jangan expose Store Router ke internet
  4. Data Security -- Enkripsi at-rest, backup terenkripsi, audit log

Penting

Jangan pernah membagikan JWT secret, database password, atau Tailscale auth key ke pihak yang tidak berwenang.

Audit Log

EventData yang Dicatat
Login/LogoutUser, waktu, IP, success/fail
Transaksi POSKasir, item, total, metode bayar
Perubahan DataUser, field yang berubah, nilai lama/baru
Admin ActionUser, action, target

Halaman Terkait

RetailOS - Sistem ERP Retail Modern untuk Indonesia