Categories: LinuxTips dan Trick

Installasi FreeRadius dengan Authentikasi Menggunakan User LDAP

Instalasi FreeRadius Dengan LDAP – RADIUS adalah sebuah protokol keamanan komputer yang digunakan untuk melakukan autentikasi, otorisasi, dan pendaftaran akun pengguna secara terpusat untuk mengakses jaringan. Radius diterapkan dalam jaringan dengan model client-server. RADIUS ini bertugas menangani AAA (Authentication, Authorization dan Accounting). Salah satu software yang digunakan untuk membuat RADIUS yaitu FreeRadius.

Siapkan 2 buah Server, 1 server FreeRadius dan 1 server LDAP

Berikut ini langkah-langkah setup FreeRadius menggunakan Ubuntu 14.04

Pertama, lakukan instalasi paket freeradius, paket sudah ada pada repository Ubuntu, tinggal jalankan perintah berikut

apt-get update && apt-get upgrade -y
apt-get install freeradius*

perintah diatas yaitu kita akan menginstal seluruh paket freeradius, misal freeradius-mysql, freeradius-ldap dll.

Selanjutnya kita definisikan client yang login dengan menggunakan secret yang ditentukan, silakan edit file /etc/freeradius/clients.conf

Silakan cari bagian ini

client localhost {
                       ipaddr = 127.0.0.1
                       secret = testing123
                      }

Silakan anda ubah pada bagian secret = testing123 dengan secret yang ingin anda pakai nantinya untuk login secret radius, atau jika anda ingin mendifinisikan client dengan network yang berbeda dan secret yang berbeda, bisa ditambahkan baris ini

client 192.168.1.0/24 {
        shortname       = private-network-1
        secret          = password123
}

client 192.168.2.0/24 {
        shortname       = private-network-2
        secret          = password456
}

Setelah mengedit file diatas, selanjutnya kita akan integrasikan freeradius tersebut dengan LDAP Server untuk authentikasi user nya. Disini kita tidak membahas cara installasi LDAP Server, untuk panduan installasi LDAP bisa di searching sendiri yaa hehehe 😀

Edit file berikut untuk mengintegrasikan freeradius dengan LDAP

vi /etc/freeradius/modules/ldap

Kemudian sesuaikan isian nya seperti berikut ini

ldap {
        server = "ldap1.rizkypratama.id"
        port = 389
        identity = "cn=adminldap,dc=rizkypratama,dc=id"
        password = passwordldap
        basedn = "dc=rizkypratama,dc=id"
        filter = "(uid=%{%{Stripped-User-Name}:-%{User-Name}})"
        base_filter = "(objectclass=radiusprofile)"
        ldap_connections_number = 10
        timeout = 4
        timelimit = 5
        net_timeout = 1
        profile_attribute = "radiusProfileDn"
        access_attr = "uid"
        access_attribute = "dialupAccess"
        dictionary_mapping = ${confdir}/ldap.attrmap
        groupmembership_filter = "(|(&(objectClass=GroupOfNames)(member=%{control:Ldap-UserDn}))(&(objectClass=GroupOfUniqueNames)(uniquemember=%{control:Ldap-UserDn})))"
        set_auth_type = yes

Silakan disesuaikan isian file diatas dengan konfigurasi LDAP Server anda, selanjutnya silakan edit file berikut ini

vi /etc/freeradius/ldap.attrmap

Tambahkan baris berikut dipaling bawah jika belum ada

replyItem       Reply-Message                   radiusReplyMessage
replyItem       Tunnel-Type                     radiusTunnelType
replyItem       Tunnel-Medium-Type              radiusTunnelMediumType
replyItem       Tunnel-Private-Group-Id         radiusTunnelPrivateGroupId

Setelah mengedit file diatas, selanjutnya kita enable authentikasi LDAP pada file /etc/freeradius/sites-enabled/default dan /etc/freeradius/sites-enabled/inner-tunnel dengan melakukan uncomment pada baris berikut ini

Auth-Type LDAP {
                ldap
        }

Lalu uncomment juga pada beberapa baris berikut ini di kedua file yang disebutkan diatas

authorize {
        #  
        #  The ldap module will set Auth-Type to LDAP if it has not
        #  already been set
        ldap
}

post-auth {
        #
        #  Un-comment the following if you have set
        #  'edir_account_policy_check = yes' in the ldap module sub-section of
        #  the 'modules' section.
        #
        ldap
}

Jika sudah, sekarang silakan restart service freeradius nya dengan perintah service freeradius restart

Lalu silakan test login menggunakan radtest dan login ke salah 1 user yang sudah terdaftar pada LDAP

radtest rizky passwordrizky localhost 0 password123
Sending Access-Request Id 125 from 0.0.0.0:59639 to 127.0.0.1:1812
	User-Name = 'rizky'
	User-Password = 'passwordrizky'
	NAS-IP-Address = 172.16.8.108
	NAS-Port = 1812
	Message-Authenticator = 0x00
Received Access-Accept Id 125 from 127.0.0.1:1812 to 127.0.0.1:59639 length 20

Jika berhasil, status Access-Accept dan akan muncul log berikut ini pada file /var/log/freeradius/radius.log

Sat Jun 3 13:10:04 2017 : Auth: Login OK: [rizky/passwordrizky] (from client localhost port 0) Login Successfully, You Are Logged Into Network

Namun jika password salah atau user tidak ada pada LDAP, maka pada log akan muncul seperti berikut

Sat Jun 3 13:10:04 2017 : Auth: Login incorrect (  [ldap] Bind as user failed): [rizky/password2] (from client localhost port 0) Incorrect Password, You are Not Authorize, Access Denied

Demikian sedikit tutorial mengenai Authentikasi FreeRadius menggunakan LDAP, apabila ingin lebih kompleks lagi mengenai FreeRadius ini, silakan dicoba ulik sendiri atau menunggu update FreeRadius pada Blog ini hehehe

Wassalamualaikum Wr. Wb

Share
Published by
Rizky Pratama

Recent Posts

Tips Zimbra : Mengatasi Service Cbpolicyd Starting Failed Setelah Migrasi ke Rocky Linux 8

Beberapa waktu lalu, Excellent mendapatkan project migrasi Zimbra dari versi Open Source Ke Zimbra Network…

1 month ago

Mengatasi Error “no matching host key type found. Their offer: ssh-rsa,ssh-dss” Setelah Upgrade MacOS Ventura Saat Melakukan SSH

Bulan Oktober 2022 lalu, Apple resmi release MacOS terbaru mereka, yaitu MacOS Ventura. Beberapa fitur…

1 year ago

Cara Memindahkan Saham ke Sekuritas Lain

Tidak terasa sudah cukup lama saya tidak update tulisan pada blog ini lagi, akhirnya kali…

2 years ago

Tahun Baru, Markas Baru, Tulisan Baru

Tahun baru 2022 telah tiba, tidak terasa waktu berjalan begitu cepat, banyak cerita dan kenangan…

2 years ago

Mengatasi “Error while performing update: Input/output error (5)” Saat Update Tuxera pada MacOS

Kembali lagi bersama saya, setelah beberapa lama tidak update tulisan pada blog ini :D kali…

2 years ago

Konfigurasi PPTP Client pada Container Docker CLI

PPTP adalah kependekan dari Point-toPoint Tunneling Protocol yang merupakan bahasa yang membuat komputer dapat berkomunikasi…

3 years ago