Tuesday, June 14, 2016

Membuat Filter "IP Address" dan "Throttling" di Oracle API Gateway (OAG)


Oracle API Gateway (OAG) adalah sebuah platform yang komprehensif untuk mengelola dan mengamankan web API. Dengan menggunakan OAG semua policy untuk web API dapat di pusatkan di OAG, sehingga security dari web API tidak perlu di definisikan di tiap-tiap web API.

 OAG mempunyai banyak fitur security seperti misalnya:
  1. Threat Protection
    Fitur threat protection berfungsi untuk memproteksi service dari berbagai ancaman seperti virus, bomb XML hingga SQL injection.
  2. OAG dapat melakukan authentikasi ke third-party aplikasi seperti LDAP, Oracle Access Manager, IBM Tivoli dsb.
  3. Transformation and Routing
    OAG dapat melakukan transformasi service dari REST ke SOAP atau dari format XML ke JSON. Fitur ini sangat membantu jika nantinya ada aplikasi yang membutuhkan suatu balikan berupa JSON sedangkan by-default balikan dari web service adalah XML.
  4. Monitoring dan Reporting
    Semua service atau web API dapat di kontrol dan di analisis secara real-time baik itu berupa request status sukses atau gagal.
     
Pada kesempatan kali ini kita akan coba membuat filter IP Filtering dan Throttling pada service healthcheck.
  • Dengan menggunakan IP Filtering, kita dapat melakukan batasan IP mana saja yang diperbolehkan mengakses OAG dan mana saja yang tidak.
  • Sedangkan Throttling adalah filter yang kita gunakan untuk membatasi total hit service dalam hitungan detik, menit, jam atau hari.
Untuk lebih jelasnya berikut langkah-langkah implementasinya.
  1. Pastikan nodemanager dan gateway yang ada di OAG dalam keadaan Active.
  2. Check service healthcheck, pastikan mendapatkan status OK 
  3. Buka policy studio kemudian pilih Policies --> Policy Library --> Health Check
  4. Search filter IP Address yang ada di list filter, kemudian drag ke kanvas policy.
     
  5. Double klik filter IP Address untuk melakukan konfigurasi IP Address dan Net Mask, pilih Deny Access untuk mencegah request datang dari IP tertentu dan kemudian finish.

  6.  Klik kanan IP Address kemudian pilih Set as Start agar filter tersebut dieksekusi pertama kali.
  7. Drag Success Path dari filter IP Address ke Set Message
  8. Deploy konfigurasi tersebut dengan memencet tombol deploy yang ada di pojok kanan atas atau tekan F6, kemudian finish.
  9. Test kembali service healthcheck (lihat langkah no 2)
  10. Buka web nodemanager https://ip:port atau dalam contoh disini adalah https://192.168.1.156:8090/ kemudian akan terlihat grafik orange pada kolom message failed.
  11. Klik grafik tersebut untuk melihat detail error nya. 
  12. scroll kebawah untuk melihat trace error

  13. Ulangi proses no 5 kemudian pilih Allow Access, dan test kembali service healthcheck.
  14. Setelah berhasil membuat filter IP Address sekarang kita akan menambahkan filter berikutnya yaitu throttling, kita akan coba batasi total hit per menit dari service healthcheck sebanyak 3x.

  15. Drag filter Throttling, kemudian lakukan konfigurasi filter throttling dengan mengisikan
    Allow : 3
    messages every : 1 minute(s)
    kemudian klik finish.

  16. Sisipkan filter Throttling di antara filter IP Address dan Set Message
  17. Deploy kembali policy tersebut (lihat langkah no 8)
  18. Hit service healthcheck lebih dari 3x kemudian liat kembali hasil nya di web nodemanager
  19. Terlihat dari gambar diatas bahwa service healthcheck di hit sebanyak 4x dimana 3 request pertama sukses kemudian request ke 4 ditolak oleh OAG karena adanya filter Throttling. 


Sekarang kita sudah berhasil membuat filter IP Address dan Throttling di OAG, semoga informasi ini dapat bermanfaat :)

Terimakasih.

No comments:

Post a Comment