Kamis, 30 Maret 2017

Kiat-Kiat Menciptakan Produk Digital dengan Tingkat Keamanan yang Baik


2COMMENTS
keamanan TI|ilustrasi
Keamanan adalah faktor penting yang tidak boleh diabaikan oleh para developer produk digital. Sebuah perusahaan bisa mengalami kerugian ratusan juta dolar gara-gara kebocoran keamanan dalam sistemnya, seperti dialami oleh Yahoo! beberapa waktu lalu. Tak hanya finansial, tingkat kepercayaan masyarakat pun bisa menurun, berpotensi membuat sebuah produk jadi tak diminati lagi.

Sayangnya, keamanan sering dianggap sebelah mata. Developer produk cenderung lebih sibuk mengembangkan fitur, daripada memperhatikan kemungkinan adanya celah yang bisa dimanfaatkan peretas-peretas “nakal”.
Pada helatan TIA DevTalk yang berlangsung belum lama ini, Wasis Adi Putranto dari OLX dan Vandy Putrandika dari OVO berbagi sejumlah pengalaman terkait kesalahan mendasar dalam penanganan keamanan produk.

Strategi keamanan di infrastruktur lower layer

Devtalk Security | Photo 1
Untuk bisa menciptakan keamanan sistem yang efektif, pertama-tama kita harus memahami dulu lapisan-lapisan atau layer yang ada di dalam infrastruktur sebuah produk. Wasis menjelaskan bahwa arsitektur jaringan umumnya terdiri dari lima layer, mulai dari layer fisik, data linknetworktransport, hingga yang tertinggi yaitu layer aplikasi.
Keamanan harus mendapat perhatian di seluruh layer karena kebocoran bisa datang dari mana saja. Tiap layer memiliki strategi dan tool keamanan yang berbeda-beda, tapi ada dua prinsip mendasar yang bisa dijadikan acuan. Pertama yaitu bersikap selektif dalam menerima benda dari pihak luar, dan yang kedua yaitu bersikap terbuka dalam mengirimkan sesuatu ke pihak luar.
Keamanan di lower layer dapat diterapkan dengan cara mengisolasinya dari pihak luar seketat mungkin. Letakkan server web, database, dan cache di jaringan tertutup, sementara jaringan publik sebaiknya hanya digunakan untuk load balancer dan proxy. Ini supaya andai terjadi kebocoran pun, data-data sensitif bisa tetap aman dari akses yang tak sah.
Devtalk Security | Photo 2
Akses terhadap sistem bisa dibatasi dengan menggunakan bastion host.  Komputer atau server ini telah dirancang khusus untuk menerima akses dari luar, dan dioptimalkan agar tahan terhadap serangan keamanan. Seluruh serviceport, dan protocol yang tidak perlu dinonaktifkan, sehingga bastion host ini benar-benar berfungsi sebagai pintu tunggal akses yang aman.
Jangan lupa, apabila sudah menyangkut akses jaringan di lower layer, penggunaan password adalah haram. Gunakan OpenSSH dengan key pair 2048-bit, dan jangan bolehkan user untuk melakukan login ke root. Dengan praktik ini, kemungkinan adanya akses tak sah bisa jauh lebih diminimalisir.

Strategi keamanan di inftrastruktur upper layer

Strategi keamanan di upper layer sendiri banyak berkisar pada pencegahan adanya jalur yang bisa dieksploitasi. Sebagai contoh, server PHP perlu dikonfigurasi dengan disable_functions untuk menonaktifkan fungsi-fungsi yang tidak aman. Input yang datang juga perlu divalidasi serta dibatasi supaya tidak ada pengguna yang bisa mengirimkan file atau script berbahaya.
Devtalk Security | Photo 3
NGINX masih menjadi salah satu tool populer untuk manajemen keamanan di upper layer. Selain berfungsi sebagai server web, NGINX juga dapat digunakan sebagai reverse proxyload balancerHTTP cache, hingga SSL termination. Untuk lapisan keamanan tambahan dapat menggunakan layanan-layanan third party seperti firewallnext-generation firewall (NGFW), web application firewall (WAF), serta content distribution network (CDN).
Salah satu teknik yang bisa diterapkan untuk mengisolasi sistem adalah penggunaan virtual container seperti Docker. Dengan container seperti ini, akses tidak akan bisa melampaui aplikasi yang diijinkan. Manfaat serupa bisa ditemukan di Linux/Unix dengan fitur chroot jail, tapi Docker memberi isolasi yang lebih baik, juga membatasi terjadinya host-level access.

Tantangan keamanan di dunia fintech

Strategi-strategi di atas dapat diterapkan dalam infrastruktur produk digital secara umum. Tapi untuk produk financial technology (fintech), ada beberapa tantangan khusus. Menurut Vandy, tantangan tersebut terbagi ke dalam empat faktor, yaitu:
  • Risiko (stake). Layanan fintech berurusan langsung dengan harta nasabah. Risiko dan tanggung jawab yang dipikul tentu lebih serius daripada layanan lain pada umumnya.
  • Ancaman (threat). Peretas yang menyerang produk fintech bertujuan untuk meraup untung, sehingga menggunakan cara-cara yang lebih canggih baik untuk membobol sistem atau menutupi jejak mereka.
  • Kepercayaan pelanggan (assurance). Apabila tersebar kabar bahwa suatu produk fintech mengalami kebocoran keamanan, pengguna akan takut untuk menggunakannya kembali. Ini berbeda dengan layanan lain, misalnya layanan email seperti Yahoo! yang masih banyak digunakan walau keamanannya bocor.
  • Peraturan pemerintah (regulation). Penyedia layanan fintech harus patuh terhadap undang-undang seputar transaksi keuangan yang berlaku di negara terkait.
Devtalk Security | Photo 4
Vandy mengungkap empat kiat untuk menciptakan keamanan yang lebih baik secara menyeluruh. Pertama yaitu menciptakan produk yang secure by design. Idealnya, produk harus dirancang agar memiliki infrastruktur yang aman, sehingga ketika terjadi penambahan fitur tidak ada risiko keamanan yang perlu ditambal-sulam. Tapi praktik ini mungkin sulit dilakukan untuk legacy software yang sudah berjalan untuk waktu lama.
Tip kedua yaitu developer hendaknya selalu menerapkan best practice yang sesuai dengan standar ISO 27001. Di samping itu, sistem haruslah diuji coba secara periodik untuk mengetahui kemungkinan adanya celah keamanan baru. Kemudian tip terakhir, keamanan sistem harus terus-menerus ditingkatkan, agar tidak tertinggal oleh perkembangan teknologi yang begitu cepat.

Keamanan adalah isu yang pasti akan dihadapi oleh semua penyedia layanan digital. Berbagai ancaman baru muncul setiap hari, dan praktik keamanan yang saat ini ampuh mungkin bisa jadi rentan di masa depan. Para developer harus terus berkolaborasi dan saling berbagi, supaya kita bisa mendapatkan lingkungan digital yang aman.
Mau tahu lebih banyak tentang praktik keamanan digital? Kamu bisa menyimak presentasinya pada tautan di bawah ini:

Tech in Asia DevTalk merupakan sebuah program dari Tech in Asia Developer Community, sebagai ajang berkumpulnya developer dan siapa pun yang tertarik pada hal-hal teknis untuk meningkatkan wawasan dan kemampuan. Tech in Asia Developer Community terbuka untuk kemungkinan kolaborasi baik secara offline maupun online.
Jika komunitas kamu tertarik untuk berkolaborasi silakan mendaftar di form ini. Daftarkan juga diri kamu ke sini agar mendapatkan informasi acara dan program terbaru dari tim Tech in Asia Developer Community. 
(Diedit oleh Pradipta Nugrahanto)

ABOUT AYYUB

Penggemar game dan musik yang juga senang corat-coret di internet. Lebih suka menulis daripada berbicara, dan bila senggang punya hobi berkontemplasi tentang arti kehidupan.

Tidak ada komentar:

Posting Komentar