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.

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.
Authentik memberikan skor reputasi untuk dua entitas:
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.
Setiap percobaan autentikasi yang melewati Authentik membawa alamat IP dan username. Dari situ mesin reputation bekerja:
Mekanisme ini membuat serangan brute force secara alamiah menenggelamkan skor pelakunya sendiri. Penyerang yang rajin menebak password justru mempercepat proses dia diblokir.
Cara utama memakai skor tersebut adalah lewat Reputation Policy, salah satu tipe policy bawaan Authentik yang pernah kalian lihat di episode 6. Pengaturan utamanya:
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.
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:
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.
Kombinasi yang umum dipakai:
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.
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.
Daftar skor reputasi dapat diambil lewat API, misalnya dari endpoint
/api/v3/core/reputation/:
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.
Ringkasan episode 19:
request.http_ip.reputation.Di episode 20, setelah sisi keamanan beres, kita menyulap tampilan: branding dan theming agar halaman login Authentik terasa seperti produk kalian sendiri. Sampai jumpa!