Skip to content

Autentikasi Mendalam ​

Praktik Keamanan Lanjutan untuk Agensi ​

Video ini melanjutkan pembahasan autentikasi dengan fokus pada best practices, kesalahan kritis, dan strategi keamanan tingkat profesional.


1. Ubah Password Default Admin ​

Langkah pertama yang wajib dilakukan setelah setup n8n:

AturanDetail
Panjang minimum12-16 karakter
KomposisiUppercase + lowercase + angka + simbol
PenyimpananPassword manager (Bitwarden gratis, atau 1Password)
SharingJANGAN PERNAH share ke klien

Bitwarden adalah password manager gratis yang direkomendasikan instruktur dan digunakan secara pribadi.


2. Enkripsi Kredensial n8n ​

Semua credential yang disimpan di n8n terenkripsi menggunakan encryption key:

┌───────────────────────────────────────┐
│  Credential di n8n                    │
├───────────────────────────────────────┤
│                                       │
│  OpenAI Key ──▶ [TERENKRIPSI] ──▶ DB │
│  Dropbox    ──▶ [TERENKRIPSI] ──▶ DB │
│  Gmail      ──▶ [TERENKRIPSI] ──▶ DB │
│                                       │
│  🔑 Master Encryption Key            │
│  = Kunci untuk decrypt semua          │
│                                       │
│  ⚠️ Jika key ini sama saat restore,  │
│     credentials akan langsung bekerja │
└───────────────────────────────────────┘

3. Isolasi Kredensial Per Klien ​

Naming Convention yang Direkomendasikan ​

Format: [Nama Klien] - [Layanan] - [Environment]

Contoh:
  ✅ "KlienA - HubSpot - Prod"
  ✅ "KlienB - Airtable - Prod"  
  ✅ "KlienC - OpenAI - Dev"
  
  ❌ "My Dropbox"
  ❌ "New credential"
  ❌ "test123"

Mengapa Ini Penting? ​

Saat menambahkan node baru (misal Dropbox), n8n sering auto-select credential terakhir yang digunakan. Tanpa naming convention:

Skenario Bahaya:
  
  Workflow Klien A ──▶ Dropbox Node ──▶ [Auto-select: Klien B credential]
                                              ⚠️ DATA BOCOR!
  
  Workflow Klien B ──▶ OpenAI Node ──▶ [Auto-select: ANDA punya key]
                                              ⚠️ BIAYA ANDA!

Pengalaman Instruktur ​

"Saya pernah menggunakan API key OpenAI pribadi untuk semua workflow klien karena key saya ter-select otomatis. Baru sadar setelah biaya membengkak."


4. Batasan Akses Klien ​

Yang Klien BOLEH Dapat ​

AksesContoh
Performance reportDashboard hasil automasi
Execution logsLog workflow milik klien
Dashboard view (opsional)Custom dashboard sederhana
Output & hasil automasiHasil kerja workflow

Yang Klien TIDAK BOLEH Dapat ​

DilarangRisiko
Admin loginEkspos semua klien lain
Credential vaultAkses semua API key
Akses edit workflowBisa merusak/menghapus
Hosting panelBisa shutdown server

5. Kesalahan Kritis yang Harus Dihindari ​

1. Sharing Admin Login ke Klien ​

Membuka seluruh infrastruktur automasi dan data semua klien.

2. Kirim API Key via WhatsApp/Email ​

Kasus nyata dari Reddit: seseorang kena tagihan $555K setelah Gemini API key bocor di GitHub!

3. Reuse Credential Antar Klien ​

Buat app terpisah untuk setiap klien. Contoh di Dropbox Developer:

  • Buat app dengan App Folder access (bukan Full Dropbox)
  • Nama unik per klien
  • Permission minimal yang dibutuhkan

4. Password Sama di Semua Layanan ​

Jika klien tahu password satu layanan, bisa coba login ke semua layanan lain.

5. Simpan Key di Plain Text ​

Selalu gunakan credential manager atau password manager terenkripsi.


6. Konfigurasi Permission/Scope ​

Selalu atur scope minimum yang diperlukan:

Permission API yang Benar:
  
  Kalau hanya perlu BACA file:
    ✅ files.content.read
    ❌ files.content.write    ← JANGAN!
    ❌ files.content.delete   ← JANGAN!
  
  Prinsip: Least Privilege
  = Berikan akses SEMINIMAL mungkin

7. Lifecycle Management Kredensial ​

AktivitasFrekuensi
Rotasi API keySesuai expiry (7 hari/custom)
Audit credential usageBulanan
Catat di spreadsheet/logSetiap buat/rotasi
Test revocation processSebelum dibutuhkan
Update container n8nSaat ada security patch

Security Checklist Lengkap ​

╔═══════════════════════════════════════════════╗
║        SECURITY CHECKLIST AGENSI              ║
╠═══════════════════════════════════════════════╣
║  □ Password admin sudah diganti (12+ char)    ║
║  □ Password manager aktif (Bitwarden)         ║
║  □ Credential terpisah per klien              ║
║  □ Naming convention diterapkan               ║
║  □ Tidak ada hard-coded key di workflow       ║
║  □ JSON di-review sebelum share               ║
║  □ Scope/permission diminimalkan              ║
║  □ HTTPS aktif di hosting                     ║
║  □ Container/n8n di-update berkala            ║
║  □ Intern punya akses Member (bukan Admin)    ║
║  □ Rotasi key terjadwal                       ║
║  □ Proses revocation terdokumentasi           ║
╚═══════════════════════════════════════════════╝

Rangkuman kursus Udemy — AI Builder + Build, Deploy & Sell n8n Automations