Cara Memberikan Administrator Role pada End Entity di EJBCA 6.2.0

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.

  1. 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.
  2. 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.
  3. 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”.

Parameter

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:

Rules dan Roles

TipeDeskripsi
UnusedSecara eskplisit menjelaskan bahwa sebuah peran tidak punya sebuah aturan untuk resource ini
AcceptAkses diizinkan untuk resource ini. Jika diset rekursif, Accept juga akan menjadi pilihan default untuk Rules apapun dari tipe Unused yang diperoleh dari aturan ini
DeclineAkses 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 --help

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

listroles dan listadmins

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.

🙂

Facebook Comments Box

Comments are closed.