Persyaratan dan Pedoman Pengembangan Menggunakan RavenEye API

Terakhir diperbarui : 26 April 2021

1. Komunikasi yang aman

Segala komunikasi inter-layanan harus dilakukan menggunakan SSL (Secure Sockets Layer). SSL menyediakan komunikasi yang aman antara klien dan server. Anda dapat menemukan daftar yang harus dilakukan dibawah ini:

  • Protocols TLS 1.0 atau versi yang lebih tinggi
  • Sertifikat yang ditandatangani dengan with SHA 256
  • Forward secrecy menggunakan DH protocol dengan 2048 bit keys dan lebih tinggi
  • Firewall pada seluruh server dalam mode restrictive

Di sisi lain, Anda juga harus menghindari penggunaan cipher yang tidak aman seperti RC4, MD5, berbagai EDH, KPRB5.

SSL versi 3.0 dan sebelumnya juga dilarang akibat kerawanannya.

Selain hal-hal yang “jangan” dilakukan di atas, ada beberapa rekomendasi yang mungkin Anda ingin ikuti. Akan sangat baik apabila Anda menggunakan:

  • TLS 1.2
  • RSA private key size of 2048 bits dan lebih tinggi
  • Teknologi HSTS
  • OCSP stapling
  • HTTP Public Key Pinning

Jangan pernah mempercayai saluran komunikasi terbuka, termasuk provider LAN meskipun dengan perangkat keras khusus.  

Sebagai sebuah aturan, gunakan VPN dengan cipher dan otentikasi yang layak ketika mengakses sensitive environment.

Anda dapat menemukan rekomendasi HTTPS lainnya dengan mengunjungi link ini: https://wiki.mozilla.org/Security/Server_Side_TLS

 

2. Perlindungan Data

Perlindungan data adalah salah satu aspek keamanan terpenting, dan hal itu dimulai dengan kebijakan password. Berikut adalah aturan dasar penyimpanan password:

  • Jangan pernah menyimpan data dalam bentuk teks biasa.
  • Hanya pemilik password yang boleh memiliki akses ke password.
  • Jangan pernah mengirimkan password via saluran terbuka seperti Skype, messenger, email, dll.
  • Gunakan password managers untuk membuat dan menyimpan password yang aman, contoh: KeePass, 1password, dll.
  • Ubah password setidaknya 3 bulan sekali.

Terlebih, user role yang berbeda-beda adalah salah satu poin penting yang harus diperhatikan. Ketika mendaftarkan seorang klien baru dengan Salt Edge, ia secara otomatis mendapatkan izin administrator akun dan akses ke berbagai tindakan. Itulah alasan mengapa sangat direkomendasikan untuk mengikuti aturan penyimpanan password yang disebutkan diatas. Selanjutnya, ketika Anda menambahkan pengguna baru, Anda dapat mengatur “role” mereka dan mendistribusikan izinnya. Dengan mengklik link ini, Anda akan menemukan seluruh role yang dapat Anda tentukan beserta deskripsinya.  
https://docs.finfini.com/guides/clients_dashboard/

Keamanan layanan disediakan dalam beberapa tahap:

  1. Anda harus menyimpan public key Anda dalam RavenEye API untuk mengamankan komunikasi Anda. Public key tersebut ditambahkan disini:
    https://www.finfini.com/clients/security/edit
  2. Service_secret digunakan untuk autentikasi ke RavenEye API dan sebab itu hal tersebut juga harus disimpan dengan benar. Mohon diingat bahwa service_secret hanya digunakan untuk proyek yang sepenuhnya dikontrol oleh Anda dan sedang berjalan pada hardware Anda. Dalam kasus mobile applications, Anda sebaiknya menggunakan app_secret yang dijelaskan dibawah ini. Service_secret dapat diregenerasi sebanyak mungkin.   
    https://www.finfini.com/clients/profile/secrets
  3. Terakhir, apabila Anda menggunakan RavenEye API sebagai sebuah layanan, jelas bahwa seluruh permintaan Anda harus ditandatangani. Mohon kunjungi dokumentasi resmi kami untuk informasi rinci terkait penandatanganan.   
    https://docs.finfini.com/guides/signature/

Keamanan aplikasi dijamin dengan menggunakan otentikasi app_secret. Hal tersebut menjamin bahwa apabila seorang pengguna mendapatkan akses ke kode sumber aplikasi, ia hanya akan mendapatkan datanya sendiri.

3. Uji Coba/Live Environment

Kami merekomendasikan Anda untuk melakukan uji coba akun, yang dapat Anda gunakan untuk keperluan yang berbeda-beda, seperti mengetahui fungsi dan bagaimana cara kerjanya, atau mencoba fitur baru sebelum menggunakannya. Anda dapat memiliki beberapa akun, akan tetapi, persyaratan utama kami adalah Anda hanya dapat memiliki satu akun live per proyek. Informasi selengkapnya terkait status akun dapat ditemukan disini: https://docs.finfini.com/guides/your_account/

Kami sangat menganjurkan Anda untuk mengetes semuanya sebelum live atau upgrade ke versi API selanjutnya. Artikel-artikel di bawah menjelaskan langkah-langkah yang harus Anda ambil sebelum live:
https://docs.finfini.com/guides/before_going_live/

4. Penyimpanan Data

Salah satu aturan penting adalah untuk tidak menyimpan kredensial end user apapun. Hal ini adalah data yang sangat sensitif dan Anda harus bertanggungjawab dengan menyediakan keamanan absolut kepada pengguna Anda. Data seperti informasi pengguna, akun, transaksi, dan lainnya, harus disimpan secara terenkripsi untuk berjaga jaga apabila data tersebut tersimpan dalam perangkat end user. Untuk perlindungan data, Anda dapat menggunakan PCI DSS certification atau yang sepadan.

Akses ke data semacam itu juga harus dibatasi. Contohnya, apabila Anda menggunakan admin panel Anda, menetapkan role dan memberikan level akses yang berbeda-beda. Juga merupakan sebuah pilihan untuk memberikan akses atas permintaan; akses seperti ini dapat diberikan kepada pegawai dengan peran yang spesifik dan akan bergantung dengan tujuan dari permintaan tersebut.  

Juga merupakan hal yang sangat penting untuk memiliki password database yang kuat yang harus disimpan dengan aman. Demikian juga dengan backup Anda, harus tetap terenkripsi.  

 

5. Pelaporan insiden

Apabila Anda merasa bahwa ada percobaan akses yang tidak terotorisasi, Anda sebaiknya mengubah password, token, dan public key Anda. Mohon untuk selalu melaporkan insiden seperti ini kepada kami. Jangan ragu untuk menghubungi kami via kontak https://www.finfini.com/pages/contact atau email dukungan di support@finfini.com