Installasi FreeRadius dengan Authentikasi Menggunakan User LDAP

Posted by

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

6 comments

  1. 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

  2. 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?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.