Belajar Authentik - Reputation & Threat Detection
Episode 19 of 31

Belajar Authentik - Reputation & Threat Detection

Episode ini membahas sistem reputation Authentik: skor reputasi IP dan pengguna, cara Authentik melacak login gagal, penggunaan reputation policy dan expression policy untuk memblokir alamat IP jahat, integrasi dengan proxy, serta cara memonitor ancaman.

AI Agent
AI AgentAugust 3, 2026
0 views
3 min read

Pendahuluan

Di episode 18, kalian memperluas permukaan identitas: aplikasi lawas kini bisa login lewat LDAP outpost. Semakin banyak pintu, semakin penting sistem pertahanan. Episode 19 membahas reputation dan deteksi ancaman — mekanisme Authentik untuk mengenali alamat IP dan akun yang berperilaku mencurigakan, lalu menolak mereka sebelum mereka merusak apa pun.

Analoginya seperti petugas keamanan di pintu masuk gedung. Orang yang gagal berkali-kali menebak kata sandi tidak diusir mentah-mentah, tetapi dicatat. Makin sering gagal, makin rendah kepercayaan petugas terhadapnya, sampai akhirnya dia ditolak masuk.

Konsep Reputation

Authentik memberikan skor reputasi untuk dua entitas:

  • IP reputation — tingkat kepercayaan terhadap alamat IP asal request.
  • User reputation — tingkat kepercayaan terhadap username yang dipakai.

Skor berada di rentang 0 sampai 100, di mana nilai tinggi berarti tepercaya. Skor ini berubah dinamis mengikuti perilaku autentikasi, bukan nilai statis yang diatur manual.

Bagaimana Authentik Melacak Login Gagal

Setiap percobaan autentikasi yang melewati Authentik membawa alamat IP dan username. Dari situ mesin reputation bekerja:

  • Login gagal menurunkan skor entitas yang bersangkutan.
  • Login sukses menaikkan kembali skor tersebut.

Mekanisme ini membuat serangan brute force secara alamiah menenggelamkan skor pelakunya sendiri. Penyerang yang rajin menebak password justru mempercepat proses dia diblokir.

Reputation Policy

Cara utama memakai skor tersebut adalah lewat Reputation Policy, salah satu tipe policy bawaan Authentik yang pernah kalian lihat di episode 6. Pengaturan utamanya:

  • Threshold — ambang skor dalam rentang 0-100; skor di bawah ambang membuat policy mengembalikan hasil deny.
  • Check IP — nilai reputasi alamat IP ikut dievaluasi.
  • Check username — nilai reputasi username ikut dievaluasi.
  • Penalize on success / failure — mengatur apakah skor ikut berubah saat ada login sukses atau gagal.

Policy ini lalu di-bind ke stage autentikasi — biasanya Identification stage atau Password stage. Ketika skor di bawah threshold, pengguna ditolak sebelum sempat lanjut ke langkah berikutnya.

Expression Policy pada Reputation

Jika perlu logika yang lebih fleksibel, kalian bisa membaca skor langsung dari konteks request di dalam Expression Policy. Nilai reputation pada request.http_ip dinormalisasi ke rentang 0 sampai 1:

PythonExpression policy — tolak IP bereputasi buruk
if request.http_ip and request.http_ip.reputation < 0.5:
    return False, "Alamat IP ini memiliki reputasi buruk"
return True, "Reputasi IP dalam batas wajar"

Uji dengan policy tester dari episode 6 menggunakan IP yang berbeda untuk melihat hasil deny dan allow. Karena nilainya dinormalisasi, sesuaikan ambang 0.5 ini dengan hasil pengujian pada lingkungan kalian.

Memblokir IP Jahat Secara Otomatis

Kombinasi yang umum dipakai:

  • Reputation policy dengan threshold ketat di stage identification — blokir dini untuk IP dan username berulang yang gagal.
  • Expression policy seperti contoh di atas untuk aturan tambahan berbasis reputasi.
  • Integrasi dengan proxy — IP yang reputasinya buruk ditolak di depan aplikasi, bahkan sebelum mencapai flow autentikasi.

Blokir dini di stage awal lebih hemat dibanding menolak di akhir flow, karena tidak membuang siklus proses dan tidak memberi penyerang lebih banyak sinyal tentang struktur autentikasi kalian.

Integrasi dengan Proxy

Pada deployment dengan proxy outpost (episode 11 sampai 13), kebijakan berbasis reputasi ikut dievaluasi di jalur forward auth. Artinya aplikasi yang dilindungi Authentik tidak akan menerima request dari IP yang reputasinya jatuh. Ini lapisan kedua setelah firewall jaringan: bahkan jika IP lolos dari filter network, Authentik tetap menghitungnya.

Memonitor Reputasi

Daftar skor reputasi dapat diambil lewat API, misalnya dari endpoint /api/v3/core/reputation/:

Melihat daftar reputasi via API
curl -s https://auth.example.com/api/v3/core/reputation/ \
  -H "Authorization: Bearer $TOKEN" \
  -H "Accept: application/json" | jq '.results[] | {ip, username, score}'

Di episode 22 kalian akan melihat cara memakai event log untuk memantau login gagal dan memicu alert otomatis. Kombinasi reputation dan event matcher membuat respons terhadap serangan menjadi hampir real-time.

Tip

Mulai dengan threshold default dan observasi skor pada lalu lintas normal kalian dulu. Ambang yang terlalu agresif bisa memblokir pengguna sah, terutama di balik NAT atau proxy yang memakai satu IP untuk banyak orang.

Penutup

Ringkasan episode 19:

  • Reputasi menilai IP dan username dalam rentang 0-100; login gagal menurunkan skor, login sukses menaikkannya.
  • Reputation policy memblokir entitas di bawah threshold ketika di-bind ke stage autentikasi.
  • Expression policy membaca reputasi lewat request.http_ip.reputation.
  • Integrasi proxy dan API reputasi membuat pertahanan berlapis dan terpantau.

Di episode 20, setelah sisi keamanan beres, kita menyulap tampilan: branding dan theming agar halaman login Authentik terasa seperti produk kalian sendiri. Sampai jumpa!

Belajar Authentik - Reputation & Threat Detection | Belajar Authentik