Showing posts with label IP filter. Show all posts
Showing posts with label IP filter. Show all posts

Tuesday, June 14, 2016

Register WSDL SOAP API via Policy Studio di OAG

Setelah sebelumnya kita sudah berhasil membuat filter "IP Address" dan "Throttling" menggunakan policy healthcheck, sekarang kita akan coba mendaftarkan SOAP web service ke OAG dengan menggunakan policy studio.

Untuk lebih jelasnya simak dan ikuti langkah-langkah berikut:
  1. Buka console policy studio, secara default akan seperti gambar di bawah
  2. Persiapkan wsdl yang akan kita daftarkan ke dalam OAG. Kita bisa menggunakan global weather wsdl atau bisa menggunakan wsdl yang kita pernah miliki sendiri. Untuk global weather dapat dilihat di url berikut http://www.webservicex.com/globalweather.asmx?wsdl
  3. Kembali ke policy studio, plih Business Services --> Web Service Repository --> Web Services --> Register Web Service
  4. Akan muncul halaman Load WSDL, kemudian inputkan WSDL URL sesuai dengan url yang ada di langkah no 2, kemudian pilih Next
  5. Klik button Select All untuk memilih semua WSDL operations
  6. Klik Next pada langkah WS-Policy Options
  7. Pada langkah Deploy Policy, kita akan menentukan policy wsdl global weather akan di deploy ke path yang mana, pilih Default Services agar wsdl tersebut nanti diakses dari port 8080 
  8. Akan muncul halaman summary dari hasil deploy wsdl yang sudah kita lakukan sebelumnya
  9. Setelah proses deploy berhasil maka secara otomatis OAG akan men-generate beberapa komponen seperti berikut:
    • path policy location yang ada di Listener --> Oracle API Gateway --> Default Services --> path
    • Global weather Web Services yang ada di Business Service --> Web Service Repository --> Web Services --> GlobalWeather
    • Global weather policy yang ada di Policies --> Generated Policies --> Web Services.GlobalWeather --> /globalweather.asmx
  10. Langkah terakhir adalah deploy dengan cara klik F6 atau klik tombol pojok kanan atas
  11. Test untuk melihat hasil nya dengan cara http://ip:port/globalweather.asmx?wsdl
Akhirnya kita telah berhasil untuk mendaftarkan wsdl SOAP ke OAG, wsdl global weather juga sudah dapat diakses melalui OAG. Kita dapat menambahkan beberapa filter untuk memproteksi service tersebut sesui dengan kebutuhan. Contoh proteksi service sudah pernah kita bahas sebelumnya di link blog berikut http://blog.nostratech.com/2016/06/membuat-filter-ip-address-dan.html

Semoga informasi ini dapat bermanfaat :)

Terimakasih.

Referensi : https://www.youtube.com/watch?v=-lRIB9iV_ac

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.