Tacacs+ Server (Ubuntu + Tacacs+)

A. Tacacs+
Tacacs+ adalah suatu program yang berfungsi sebagai server untuk authentifikasi multiuser dalam pengaksesan suatu perangkat.Kelebihan dari software ini yaitu suatu perangkat ( router / switch ) bisa diakses dengan menggunakan username yang berbeda tanpa adanya tambahan config yang memberatkan di perangkat. Dengan kata lain Tacacs+ mempunyai username yang berbeda dengan policy penerapan akses yang berbeda tiap-tiap usernya tanpa memperhatikan level user yang ada. Selain itu kelebihan dengan centralize Tacacs+ disamping setiap ada perubahan password cukup dengan update data di server Tacacs+ nya, program ini juga menawarkan fitur logging yang merekap seluruh aktifitas user yang sedang Online.

B. Instalasi Tacacs+

Sistem operasi yang digunakan untuk instalasi taccas+ ini adalah ubuntu server 10.10. Sebelum melakukan instalasi tacacs+, pastikan ubuntu server terhubung ke internet, karena instalasi tacacs+ dilakukan secara online. Setelah dipastikan ubuntu server tehubung ke internet, hal yang harus kita lakukan adalah meng-update ubuntu server. Hal ini bertujuan untuk memperbaharui alamat repository dari ubuntu server tersebut. Setelah proses update selesai, mulai instalasi tacacs+ dengan perintah sebagai berikut:

UBUNTU# aptitude install tacacs+
Jika sudah selesai dan tidak terdapat pesan error, berarti proses instalasi berhasil dan bisa melanjutkan ke tahap berikutnya. Apabila gagal, ulangi proses instalasi sampai berhasil.
C. Konfigurasi IP Address Tacacs+ Server
Konfigurasi Ip Address bertujuan untuk memberikan alamat IP pada server yang nantinya diakses oleh perangkat lain.  konfigurasi IP Address diletakan pada direktori "/etc/network/interfaces". Untuk melakuakn konfigurasi pada file ini digunakan perintah:
UBUNTU# pico /etc/network/interfaces
Kode konfigurasi IP Address nya adalah sebagai berikut:
auto lo eth0
iface eth0 inet static
address 10.10.10.1
netmask 255.255.255.252
gateway 10.10.10.2
Perintah tersebut berarti memberikan IP Address 10.10.10.1 dengan netmask 255.255.255.252 pada interface eth0 dengan ip gateway 10.10.10.2. Setelah konfigurasi selesai simpan konfigurasi tersebut, dan restart interface dengan perintah:
UBUNTU# /etc/init.d/networking retstart
D. Konfigurasi File tac_plus.conf
File tac_plus.conf berisi konfigurasi user serta privilege yang diberikan kepada tiap-tiap user. Serta berisi secret key yang digunakan untuk pairing antara server dengan client. Konfigurasi file tac_plus.conf adalah sebagai berikut:

#Deklarasi alamat direktori penyimpanan log
accounting file = /var/log/tac_plus_acct.log


#Shared secret key untuk pairing dengan client
key = kung_flu


#Mendeklarasikan suatu perangkat (By IP) yang akan diakses oleh suatu group
#yang jumlah hak akses perangkatnya akan dibatasi
acl = switch01_users_acl {
permit = 10.10.10.10
}


#Membuat group yang hanya dapat mengakses satu perangkat yang telah dideklarasikan diatas
group = switch01_users {
default service = permit
login = file /etc/passwd
enable = file /etc/passwd
service = exec {
priv-lvl = 15
}
cmd = show {
permit "."
}
cmd = ping {
permit "."
}
cmd = exit {
permit "^()?$"
}
cmd = quit {
permit "^()?$"
}
acl = switch01_users_acl
}


# Membuat group tacacs level 3 full acces
group = level3 {
default service = permit
login = file /etc/passwd
enable = file /etc/passwd
service = exec {
priv-lvl = 15
}
}


# Membuat goup tacacs level 2 tanpa configure dan debug
group = level2 {
default service = permit
login = file /etc/passwd
enable = file /etc/passwd
service = exec {
priv-lvl = 15
}
cmd = configure {
deny "."
}
cmd = debug {
deny "."
}
}


# membuat group tacacs level 1
group = level1 {
default service = deny
login = file /etc/passwd
enable = file /etc/passwd
service = exec {
priv-lvl = 15
}
cmd = show {
permit "."
}
cmd = ping {
permit "."
}
cmd = telnet {
permit "."
}
cmd = exit {
permit "^()?$"
}
cmd = quit {
permit "^()?$"
}
}


#Mendefinisikan user dengan groupnya masing-masing
user = andy {
login = cleartext "andy" #Password tanpa enkripsi
name = "andy"
member = level1
}


user = saptono {
login = des "sAN8eaB4p3U6Y" #password dengan enkripsi
name = "saptono"
member = level3
}


#default
user = DEFAULT {
login = PAM
service = ppp protocol = ip {}
}
Ekripsi membuat password ekripsi, dapat dilakukan dengan perintah sebagai berikut:
UBUNTU# tac_pwd
Password to be encrypted: saptono

sAN8eaB4p3U6Y
Hasil eknripsi password "saptono" adalah "sAN8eaB4p3U6Y". Enkripsi password berfungsi untuk merahasiakan password agar tidak bisa dibaca dengan benar.
E. Jalankan Service Tacacs+
Setelah semua konfigurasi dimasukan, jalankan service / restart service dari tacacs+ dengan perintah sebagai berikut:

UBUNTU# /etc/init.d/tac_plus restart
Jika tidak terdapat error pada saat dijalankan, coba stop service tacacs+ dengan perintah:
UBUNTU# /etc/init.d/tac_plus stop
kemudian jalankan lagi dengan perintah:
UBUNTU# /etc/init.d/tac_plus start
jika service masih belum bisa dijalankan, coba pastikan konfigurasi pada point tidak terdapat kesalahan. setelah service berhasil dijalankan, tacacs+ siap untuk digunakan, untuk penggunaan pada tiap-tiap perangkat diperlukan tambahan konfigurasi yang berbeda-beda berdasarkan pabrikannya. Misalkan pada perangkat Extreme SWRouter Alcatel LucentAlcatel Lucent SWHuawei SWRouter JuniperCisco SW dan Router Cisco atau pun perangkat lain yang support dengan tacacs+.