Persyaratan dan Pedoman Pengembangan Menggunakan RavenEye API

Update terakhir : 6 Oktober 2017

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 seperi RC4, MD5, berbagai EDH, KPRB5.
    SSL versi 3.0 dan sebelumnya juga dilarang akibat kerawanannya.
    Selain hal-hal yang “jangan” dilakukan diatas, 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 FINFINI, 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.
    Keamanan layanan disediakan dalam beberapa tahap:

    i. Anda harus menyimpan API key Anda dalam RavenEye API untuk mengamankan komunikasi Anda. API key tersebut diganti disini: https://www.finfini.com/account
    ii. access_secret digunakan untuk otentikasi ke RavenEye API dan sebab itu hal tersebut juga harus disimpan dengan benar. Mohon diingat bahwa access_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. access_secret dapat diregenerasi sebanyak mungkin. https://finfini.com/account
    iii. Terakhir, apabila Anda menggunakan RavenEye API sebagai sebuah layanan, jelas bahwa seluruh permintaan Anda harus mengunakan signature. Mohon kunjungi dokumentasi resmi kami untuk informasi rinci terkait signature. https://finfini.com/documentation#signature

    Keamanan aplikasi dijamin dengan menggunakan otentikasi api_key. 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.

    Kami sangat menganjurkan Anda untuk mengetes semuanya sebelum live atau upgrade ke versi API selanjutnya. Artikel-artikel dibawah menjelaskan langkah-langkah yang harus Anda ambil sebelum live: https://finfini.com/documentation#environment

    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/contact atau email dukungan di support@finfini.com