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
Rizky Pratama. Tinggal di Bekasi, Jawa Barat. Seorang IT di salah satu perusahaan IT. Pengguna Mac, Linux dan Windows
Selain sebagai penulis di blog ini, saya juga penulis di blog saya yang lain, yaitu https://pratama.biz.id
Saya ingin bertanya, ketika melakukan radtest disitu ada password “passwordrizky” itu password yg di define / ditulis dimana ya? soalnya password yg ada di /etc/freeradius/modules/ldap di step yg dicontohkan itu adanya “passwordldap”.
terima kasih
Halo mas, passwordrizky itu merupakan password dari user rizky yang ada di LDAP
Kalau untuk membatasi jumlah login user hnya untuk 1 orang saja gmn?
terima kasih mas rizky tutorialnya, kalau kita mau bikin radius sama ldap nya di satu server seharusnya tidak masalah ya tinggal isikan alamat ldapnya di localhost, seperti itu?
betul mas, tidak masalah, tinggal masukkan alamat localhost saja