HarianBernas.com – Keamanan merupakan suatu faktor yang penting dan tidak boleh diabaikan bagi para developer produk digital. Sebuah perusahaan digital bisa saja mengalami kerugian ratusan dolar karena mengalami kebocoran keamanan dalam sistemnya, seperti kasus yang dialami Yahoo beberapa waktu lalu. Tidak hanya mengalami kerugian finansial saja, tetapi tingkat kepercayaan masyarakat juga ikut menurun dan berpotensi membuah produk tersebut tidak diminati lagi.
Namun sayangnya, keamanan seringkali dianggap sebelah mata. Kebanyakan dari developer produk sibuk mengembangkan fitur daripada memperhatikan keamanan yang kemungkinan jika terdapat celah dapat dimanfaatkan oleh peretas-peretas ?nakal?.
Wasis Adi seorang perwakilan dari OLX dan Vandi Putrandika dari OVO membagikan sejumlah pengalamannya terkait dengan kesalahan mendasar dalam penanganan keamanan produk berbagi pengalamannya dalam helatan TIA DevTalk yang telah berlangsung Rabu (29/3/2017) malam.
Strategi keamanan di infrastruktur lower layer
Supaya dapat menciptakan sistem keamanan yang efektif, hal yang harus dilakukan terlebih dahulu adalah memahami lapisan-lapisan atau layer yang terdapat dalam infrastruktur sebuah produk.
?Arsitektur jaringan pada umumnya terdiri dari lima layer yaitu mulai dari layer fisik, data link, network, transport, sampai yang tertinggi yaitu layer aplikasi?, jelas Wasis.
Seluruh layer harus mendapatkan keamanan karena kebocoran sistem keamanan dapat bocor dari mana saja. Setiap layer memiliki strategi dan tool keamanan yang berbeda-beda, tetapi ada dua prinsip mendasar yang dapat dijadikan sebagai acuan.
Prinsip mendasar yang pertama, yaitu berssikap selektif dalam menerima benda dari pihak luar dan prinsip yang kedua adalah bersikap terbuka dalam mengirimkan sesuatu ke pihak luar.
Untuk menjaga keamanan di lower layer dapat dilakukan dengan cara mengasosilasinya dari pihak luar seketat mungkin. Letakkan server web, database, dan cache pada jaringan tertutup, sedangkan untuk jaringan publik sebaiknya hanya digunakan untuk load balancer dan proxy. Hal ini bertujuan supaya jika terjadi kebocoran, data-data sensitif bisa tetap aman dari akses yang tidak sah.
Dengan menggunakan bastion host, Anda dapat membatasi sistem akses. Komputer atau server tersebut telah dirancang secara khusus untuk menerima akses dari luar, serta dioptimalkan supaya tahan terhadap serangan keamanan. Anda dapat menonaktifkan seluruh server port, dan protocol, sehingga bastion host ini dapat benar-benar berfungsi sebagai pintu tunggal akses yang aman.
Perlu diingat jika sudah berhubungan dengan jaringan di lower layer maka jangan menerapkan penggunaan password. Gunakanlah OpenSSH dengan key pair 2048-bit, dan jaangan membolehkan user untuk melakukan login ke root. Melalui praktik ini, kemungkinan dari adanya akses tidak sah jauh lebih diminimalisisr.
Strategi keamanan di infrastruktur upper layer
Strategi keamanan yang terdapat dalam upper layer ini banyak berkisar pada pencegahan adanya jalur yang dapat dieksploitasi, misalnya, server PHP perlu dikonfigurasi dengan disable functions yang berguna untuk menonaktifkan fungsi-fungsi yang tidak aman. Anda juga perlakukan validasi terhadap input yang datang serta membatasi input yang datang supaya tidak ada pengguna yang dapat mengirimkan file atau script bebarhaya.
Salah satu tool yang populer untuk manajemen keamanan di upper layer adalah NGINX. Tool NGINX selain berfungsi sebagai server web, NGINX juga dapat digunakan sebagai server proxy, load balancer, HTTP cache, hingga SSL termination. Untuk lapisan tambahan dapat menggunakan layanan-layanan third party seperti firewall, next-generation firewall (NGFW), web application firewall (WAF), dan content distribution network (CDN).
Salah satu teknik yang dapat digunakan untuk mengisolaso sistem adalah dengan menggunakan virtual container seperti Docker. Dengan menggunakan container tersebut maka tidak akan bisa melalukan akses yang melampaui aplikasi yang diijinkan. Manfaat serupa juga dapat ditemukan dalam Linux/Unix dengan fitur chroot jail, tetapi Docker ini mampu memberikan isolasi yang lebih baik, dan juga mampu membatasi terjadinya host-level access.
Tentangan keamanan di dunia fintech
Strategi yang telah dijelaskan tadi dapat diterapkan dalam infrastruktur produk digital secara umum. Namun, jika ingin menarapkan dalam produk financial technology (fintech), ada beberapa tentangan khusus yang dihadapi. Berikut ini, Vandy menjelaskan mengenai tantangan khusus yang terbagi dalam empat faktor:
- Resiko (stake). Layanan fintech ini secara langsung berurusan dengan harta nasabah. Tentu saja memiliki resiko dan tanggung jawab yang lebih serius daripada dengan layanan umum lainnya.
- Ancaman (threat). Peretas yang menyerang pada layanan fintech ini tentu ingin meraup keuntungan, sehingga para peretas menggunakan cara-cara yang lebih canggih, baik dalam membobol sistem maupun cara untuk menutupi indentitasnya.
- Kepercayaan pelanggan (assurance). Apabila layanan fintech ini tersebar kabar bahwa telah mengalami kebocoran keamanan, kemungkinan besar para pengguna akan takut untuk menggunakan kembali produk tersebut. Hal tersebut berbeda dengan layanan lain, seperti layanan email pada Yahoo! Yang masih banyak digunakan meskipun telah mengalami kebooran keamanan.
- Peraturan pemerintah (regulation). Bagi Anda yang ingin menyediakan layanan fintech maka Anda harus patuh terhadap peraturan undang-undang yang berhubungan dengan transaksi keuangan yang berlaku di negara terkait.
Vandy menyimpulkan empat kiat yang dapat dilakukan untuk menciptakan keamanan yang lebih baik secara menyeluruh, yaitu:
Pertama, menciptakan produk yang secure by design. Secara ideal, produk harus dirancang dengan memiliki infrastruktur yang aman sehingga ketika terjadi penambahan fitur tidak terdapat resiko keamanan yang perlu ditambal-sulam. Namun, tampaknya praktik ini munkin saja akan sulit dilakukan untuk legacy software yang sudah berjalan dalam waktu yang lama.
Kedua, sebaiknya para developer menggunakan best practice yang sesuai dengan standar ISO 27001. Selain itu, para developer juga harus melakukan uji sistem secara periodik untuk mengetahui kemungkinan adanya celah keamanan baru.
Ketiga, meningkatkan sistem keamanan secara terus-menerus supaya tidak tertinggal oleh prkembangan teknologi yang begitu cepat.
Bagi semua penyedia layanan digital pasti akan mengalami isu keamanan. Berbagai ancaman akan muncul pada setiap harinya dan praktik keamanan yang saat ini ada mungkin saja bisa rentan pada masa yang akan datang. Oleh karena itu, para developer harus selalu melakukan kolaborasi dan saling berbagi supaya bisa mendapatkan lingkungan digital yang aman.
Tech in Asia DEVTalk merupakan sebuah program dari Tech in Asia Developer Comunity. Program tersebut merupakan suatu program yang digunakan sebagai ajang berkumpulnya para developer dan untuk siapa saja yang tertarik dengan hal-hal teknis yang dapat bermanfaat untuk meningkatkan kemampuan dan wawasan. Developer Comunity ini terbuka untuk kemungkinan kolaborasi, baik secara online maupun offline.
