Pada bagian kali ini saya akan membahas soal bagaimana cara membuat user baru dan menambahkan Peran Administrator pada user tersebut dengan privilege terbatas di EJBCA 6.2.0. Namun sebelumnya kita perlu tahu terlebih dahulu ada berapa macam administrator sih di EJBCA dan apa saja yang bisa dilakukan oleh setiap administrator tersebut.
Peran
Pada saat melakukan instalasi EJBCA, EJBCA membuat peran Super Administrator, secara default ini disebut Superadmin. Peran ini bisa melakukan:
- Memiliki seluruh akses ke dalam EJBCA.
- Dapat mengatur konfigurasi sistem.
- Dapat mengelola CA.
- Dapat mengelola Publishers (LDAP, Active Directory, custom)
- Dapat membuat Administrator CA.
Selain super administrator tersebut, EJBCA juga memiliki 3 peran default yang memang dirancang untuk memenuhi beberapa kebutuhan yang ada pada EJBCA. Jika ketiga peran tersebut juga belum bisa memenuhi kebutuhan user, maka terdapat peran custom yang bisa dikonfigurasi secara manual melalui Advance Mode. Untuk lebih lengkapnya, mari kita lihat ketiga peran tersebut dan apa saja yang bisa mereka lakukan.
- CA Administrator
Mengelola Certificate Profiles.
Mengelola End Entity Profiles.
Mengelola Konfigurasi Log.
Mengelola Publishers.
Dapat membuat RA Administrators.
Dapat memperbarui Sebuah CA dengan sertifikat baru dan Keys baru.
Memiliki full akses untuk membaca Audit Log. - RA Administrator
Dapat membuat End Entities.
Dapat memodifikasi End Entities.
Dapat mencabut End Entities.
Dapat menghapus End Entities.
Dapat melihat End Entites yang sudah ada dan history mereka.
Memiliki full akses untuk membaca audit log. - Supervisor
Dapat melihat End Entities yang sudah berhasil dibuat.
Memiliki full akses untuk membaca audit log
Ada dua cara untuk menambahkan peran pada seorang User. yang pertama adalah lewat GUI (Grapichal User Interface) dan yang kedua adalah lewat CLI (Command Line Interface). Di kesempatan pertama ini kita akan membuat RA Administrator lewat GUI.
Membuat RA Administrator Baru via GUI
Pada contoh kali ini saya akan mengajak kalian untuk menambahkan role yang dimulai dari membuat sertifikat Administrator baru, menambahkan administrator ke sebuah peran dan menguji aksesnya.
Membuat Sertifikat Profile untuk Administrator
Pada bagian ini saya akan menunjukkan cara untuk membuat sebuah sertifikat profil baru untuk administrator. Sertifikat Administrator ini akan dikeluarkan oleh sebuah CA yang bernama RootCA2.
- Pada bagian “CA Functions” pilih “Certificate Profiles”
- Pilih “Clone” pada profile dengan nama “ENDUSER”.

Kloning dari End User - Masukkan “AdministratorProfile” sebagai nama barunya kemudian tekan “Create From Template”.

Create Profile baru - Tekan “Edit” pada profile yang baru kita buat tersebut.

Edit Profile - Pada bagian “validity” masukkan 365d (valid untuk 1 tahun).
- Pada bagian “Available bit Lengths”, pilih “1024”, “2048” dan “4096” bit.

Part 1 - Uncheck “Allow Key Usage Overide”.
- Pada bagian “key Usage”, pilih “Digital Signature” dan “Key Encipherment”
- Pilih “Use Extended Key Usage”.
- Pada bagian “Extended Key Usage”, Pilih “Client Authentication”.

Part 2 - Pada bagian “Available CAs”, pilih “RootCA2″ (CA yang kamu pilih untuk mengeluarkan sertifikat admin”.
- Pilih “Save”.

Part 3
Membuat End Entity Profile untuk Administrator
Pada bagian ini saya akan menunjukkan bagaimana membuat End Entity Profile untuk Administrator. Profil ini akan berhubungan dengan Certificate Profile yang dibuat di atas.
- Pada bagian “RA Functions” pilih “Edit End Entity Profiles”.
- Masukkan nama untuk End Entity Profile “AdministratorProfile”.
- Tekan “Add”.

Part 4 - Pilih “AdministratorProfile” dan tekan “Edit End Entity Profile”.

Part 5 - Pada bagian “Subject DN Fields”, tambahkan beberapa DN FIeld yang kamu inginkan seperti O, UID, atau C.

Part 6 - Pada bagian “Default Certificate Profile”, pilih “AdministratorProfile”.
- Pada bagian “Available Certificate Profiles” pilih “AdministratorProfile”.
- Pada bagian “Default CA” pilih “RootCA2”.
- Pada bagian “Available CAs” pilih “RootCA2”.
- Tekan “Save”.

Part 7
Menambahkan End Entity untuk dijadikan sebagai Administrator
Setelah membuat End Entity Profile dan Certificate Profile, Sekarang adalah waktunya untuk menambahkan End Entity. Pada kesempatan kali ini kita akan membuat End Entity dengan CN=RA Admin1
- Pada bagian “RA Functions” pilih “Add End Entity”.
- Pada bagian “End Entity Profile” pilih “AdministratorProfile”.
- Pada bagian “Certificate Profile” pilih “AdministratorProfile”.
- Pada bagian “CA” pilih “RootCA2”.
- Pada bagian “Token” pilih “P12 File”.
- Tekan “Add”.

Detail penambahan End Entity
Setelah itu kita akan mendownload sertifikat berupa file .p12 dari entitas tersebut. caranya:
- Pada bagian “Enroll” pilih “Create Keystore”.
- masukkan “username” dan “Password” dari End Entity yang baru ditambahkan tadi.
- Tekan “OK”

Download p12 - Pada bagian “Key Length” pilih “2048 bits”.
- Tekan “Enroll”

Download - Sebuah Pop up menu akan muncul dan tekan “OK”.

file siap di download
Membuat Peran RA Admin
RA Admin harus memiliki akses untuk menambah, melihat daftar, mengedit End Entity. Untuk membuat peran tersebut caranya:
- Pada bagian “System Functions” pilih “Administrator Roles”.
- Tekan “Add”.

Penambahan Role - PIlih sebuah nama untuk Grup Administrator yang baru. Sebut saja “RA Administrator”.

Penambahan Grup Baru - Setelah grup berhasil dibuat, pilih “Acces Rules”.
- Pilih “RA Administrator” pada “Role Template”.
- Pada bagian “Authorized CAs”, pilih CA mana saja yang bisa diakses oleh RA Admin ini. Pilih “RootCA2”.
- Pada bagian “Edit End Entity Profiles” pilih saja “All”.
- Pada bagian “End Entity Rules” pilih semua kecuali “Delete End Entities” & “View Hard Token PUK Codes”.
- Press “Save”.

Detail Access Rules untuk RA Administrator
Menambahkan Adminisrator ke dalam peran RA
- Pada bagian “RA Functions” pilih “Search End Entities”.
- Pilih End Entity yang baru saja kita buat (dalam hal ini admin1), pilih “View Certificates”.

View Certificates - Copy nilai dari “Certificate Serial Number”, contoh “5F003A0113F507F9”.

Certificate Serial Number - Pergi Ke “Administrator Roles”, pilih “Administrators” yang ada di bagian “RA Administrator”.

Administrators - Pada bagian “CA” pilih CA yang menjadi tempat bernaung Administrator yaitu “RootCA2”.
- Paste text dari “Certificate Serial Number” pada bagian “Match Value”
- Pada bagian “Match With” pilih “X509: Certificate Serial Number”.
- Pada bagian “Match Type” pilih “Equal, case sens.”.
- Tekan “Add”

sukses
Jadi pada saat penentuan sebuah End Entity untuk dijadikan RA Administrators, ada beberapa parameter pada bagian “Match With” yang bisa dijadikan pilihan. Diantaranya adalah berdasarkan kecocokan negara, UID, CN dan lain-lain. pada kesempatan kali ini kita mencocokkan berdasarkan “Certificate Serial Number”.

Uji Coba Administrator Baru
untuk melakukan uji coba kita akan mengimpor p12 dari admin1 ke dalam browser. Caranya:
- Buka Firefox. Pilih “Hamburger Menu” → Preferences → Advanced → Certificates → View Certificates → Import.

Import Certificates - Pilih File “admin1.p12” kemudian masukkan password untuk membuka file p12 tersebut.

password p12 - Apabila sukses maka akan ada notifikasi seperti berikut

Sukses - dan pastikan Admin1 muncul dalam daftar sertifikat yang berhasil diimpor.

Admin1 berada pada list certificates - Sekarang coba login ke dalam EJBCA dengan menggunakan sertifikat “admin1” dan lihat perbedaan tampilannya.

Sertifikat admin1 yang digunakan untuk login - Ketika tampilan sudah berbeda dari tampilan ketika mengakses EJBCA menggunakan user “Superadmin” maka penambahan peran Administrator pada sebuah End Entity sudah berhasil.

Tampilan sekarang sudah berbeda dan memiliki keterbatasan hak akses
Roles dan Rules
Izin dalam EJBCA tidak pernah diberikan kepada individu, tapi kepada peran (role) tertentu yang berisi daftar aspek dan aturan akses. Ketika Peran (Roles) bisa diberi nama sesuai dengan kebijaksanaan pengguna, Aturan (Rules) mewakili Roles yang diberi nama tadi. Akses menuju resource ini juga berhubungan dengan sebuah AccessRuleState yang mungkin salah satu dari tiga detail berikut:

| Tipe | Deskripsi |
|---|---|
| Unused | Secara eskplisit menjelaskan bahwa sebuah peran tidak punya sebuah aturan untuk resource ini |
| Accept | Akses diizinkan untuk resource ini. Jika diset rekursif, Accept juga akan menjadi pilihan default untuk Rules apapun dari tipe Unused yang diperoleh dari aturan ini |
| Decline | Akses ditolak untuk resource ini. TIpe ini akan mengalahkan Rekursif dari Accept yang sudah di set sebelumnya |
Membuat Administrator Baru via CLI
Selain via GUI, Administrator Role bisa juga dibuat via CLI. Caranya:
Masuk ke terminal lalu masuk ke dalam direktori ejbca/bin. langkah pertama yang akan dilakukan adalah
-
sh ejbca.sh roles addrole
Menambahkan Role Baru Dari gambar di atas didapatkan bahwa kita harus memasukkan nama Role untuk addrole
- Syntax untuk menambahkan role dengan nama role-nya adalah
sh ejbca.sh roles addrole --role <spasi> <nama_role>
menambahkan latihanviacli sebagai nama role - untuk memeriksa apakah penambahan role baru tersebut sudah berhasil, jalankan perintah berikut:
sh ejbca.sh roles listroles
melihat daftar role
Role baru sudah berhasil ditambahkan. Tapi perlu diingat kalau itu baru nama role saja, belum ada entitiy yang ditambahkan ke dalam role tersebut alias belum ada adminnya. Untuk menambahkan admin ke dalam role tersebut kita bisa melakukannya dengan cara:
- jalankan perintah:
sh ejbca.sh roles addadmin --role<spasi><nama_role_yang_dibuat_di_atas> --caname<spasi><Nama_CA> --with<spasi>WITH_SERIALNUMBER --type<spasi>TYPE_EQUALCASE --value<spasi><nilainya>
menambahkan admin Dari gambar di atas dapat dilihat kalau kita sukses menambahkan sebuah entitas dengan nomor serial 275156C*** yang dikeluarkan oleh CA RootCA2 ke dalam peran admin yang bernama latihanviacli. Type Equalcase maksudnya adalah nilai dari Serial number yang dimasukkan bersifat Case Sensitive.
- Untuk melihat detail syntaxnya, anda bisa menjalankan perintah
sh ejbca.sh roles addadmin --helpSemua penjelasan akan muncul disitu mulai dari syntax hingga penjelasan perintah yang ada dalam syntax, mulai yang mandatori hingga yang opsional.

detail perintah addadmin
Kalau tadi sudah membuat role dan menambahkan sebuah entitas ke dalam role tersebut, sekarang adalah saatnya untuk menambahkan rule ke dalam role tersebut. Rule yang akan kita buat persis sama seperti Rules pada Role RA Administrator GUI di atas. Rules berfungsi untuk memberikan batasan-batasan mengenai apa saja yang boleh dan tidak boleh dilakukan oleh user dalam role tersebut. caranya:
- Kita akan mencoba menambahkan Role Based Access Rules dengan resource /administrator pada role latihanviacli. syntaxnya:
sh ejbca.sh roles changerule --name<spasi><nama_role> --rule<spasi><rule_yang_ingin_ditambahkan> --rule /administrator --state<spasi><nama_value>
menambahkan rule pada sebuah role - Sekarang kita akan menambahkan Regular Access Rules dengan resource /ca_functionality/create_certificate pada role latihanviacli. syntaxnya:
sh ejbca.sh roles changerule --name<spasi><nama_role> --rule<spasi><rule_yang_ingin_ditambahkan> --rule /ca_functionality/create_certificate --state<spasi><nama_value>
menambahkan rule lainnya - Tambahkan juga Regular Access Rules dengan resource:
/ca_functionality/store_certificate
/ca_functionality/view_certificate - Masih dalam Regular Access Rules, kini tambahkan resource untuk ra_functionality dengan detail:
/ra_functionality/approve_end_entity
/ra_functionality/create_end_entity
/ra_functionality/delete_end_entity
/ra_functionality/edit_end_entity
/ra_functionality/revoke_end_entity
/ra_functionality/view_end_entity
/ra_functionality/view_end_entity_history - Pada bagian CA Access Rules, kita akan menambahkan untuk salah satu CA. Syntaxnya:
sh ejbca.sh roles changerule --name<spasi><nama_role> --rule<spasi><rule_yang_ingin_ditambahkan> --rule /ca/RootCA2 --state<spasi><nama_value>
Menambahkan CA Access Rules - Yang terakhir adalah menambahkan End Entity Profile Access Rules. Untuk yang satu ini, kita akan melakukannya secara rekursif (ke seluruh file yang ada di dalam folder /endentityprofilerules). Syntaxnya :
sh ejbca.sh roles changerule --name<spasi><nama_role> --rule<spasi><rule_yang_ingin_ditambahkan> --rule /endentityprofilesrules --state<spasi><nama_value> -R
Menambahkan End Entity Profile Access Rules secara rekursif
Lengkap sudah semua proses mulai dari membuat role, menambahkan entitas pada role tersebut dan membuat rules untuk role tersebut. Untuk melihat hasil tersebut kita bisa menjalankan perintah sh ejbca.sh roles listadmins –role latihanviacli untuk melihat detail admin dengan role latihanviacli dan perintah sh ejbca.sh roles listroles untuk melihat role apa saja yang kita punya dan berapa admin yang ada pada role tersebut.

untuk lebih memastikannya maka kita juga bisa memeriksanya lewat GUI. Kalau kita tadi sudah menambahkan role latihanviacli melalui CLI, maka role tersebut akan tampil pada Administrator Roles yang ada di GUI. Cara memeriksanya:
- Administration →System Functions →Administrator Roles dan lihat latihanviacli akan muncul di dalam list tersebut.

latihanviacli sudah muncul juga di GUI
Itu tadi sedikit tutorial mengenai cara menambahkan suatu Role kepada Entitas dan memberikan rules kepada role tersebut. Semoga informasi tersebut dapat membantu kalian.
Sampai jumpa di postingan selanjutnya ya.
🙂

Comments are closed.