Living life and Make it Better

life, learn, contribute

Endy Muhardin

Software Developer berdomisili di Jabodetabek, berkutat di lingkungan open source, terutama Java dan Linux.

Upgrade Major Version Gitlab

Buat yang ingin menginstal repository Git di server sendiri, Gitlab adalah aplikasi yang populer dan banyak digunakan karena open source, gratis, dan lengkap fiturnya. Gitlab juga sampai sekarang sangat aktif dikembangkan oleh para maintainernya, sehingga fitur-fitur baru terus bermunculan.

Hal ini tentu menggembirakan bagi para penggunanya, tapi juga relatif merepotkan bagi yang bertugas mengurus servernya. Ya apa lagi kalau bukan urusan upgrade versi. Begitu kita lupa upgrade beberapa bulan saja, maka kita akan ketinggalan rilis major version, sehingga urusan upgrade tidak lagi sesederhana apt update && apt upgrade -y.

Nah pada artikel ini saya akan mencatat langkah-langkah yang perlu dilakukan untuk mengupgrade Gitlab agar bisa kembali menyusul versi terbaru.

Lanjut membaca ...


Persiapan Coding Flutter

Flutter adalah framework pengembangan aplikasi untuk membuat aplikasi Android dan iOS sekaligus. Jadi dengan coding satu kali saja, kita bisa menghasilkan dua versi aplikasi, Android dan iOS. Sebetulnya framework multiplatform seperti ini bukanlah hal yang baru. Di jaman dahulu, kita mengenal PhoneGap (yang sekarang disebut Apache Cordova) dan Sencha Touch. Kemudian yang agak modern ada Ionic dan ReactNative.

Yang membuat Flutter relatif cepat naik daun adalah karena disponsori Google. Iming-iming Google sebagai sponsor utama Android membuat banyak developer yakin dengan adopsi Flutter, minimal di platform Android. Walaupun demikian, Google memiliki track record yang kurang meyakinkan dalam hal framework. Kita sudah melihat apa yang terjadi dengan AngularJS. Setelah banyak yang mengadopsi, kemudian ditulis ulang. Sehingga semua aplikasi yang sudah dibuat dengan AngularJS, harus dibuat ulang dari nol dengan Angular.

Walaupun demikian, sepertinya Flutter ini cukup populer dan masif adopsinya. Sehingga perlu kita explore lebih jauh. Untuk itu, pada artikel ini kita akan membahas tentang persiapan coding Flutter.

Lanjut membaca ...


Setup Vault untuk Production

Pada artikel sebelumnya, kita telah mengamankan aplikasi kita supaya data pribadi yang kita tampung di aplikasi dapat diamankan dengan baik. Solusinya adalah menggunakan Vault.

Kali ini, kita akan membahas instalasi dan konfigurasi Vault untuk kita pasang di production server. Setup yang kita akan bahas adalah setup minimalis dengan satu node saja. Apabila terjadi error terhadap node tersebut, maka akan ada downtime sementara kita menyiapkan node pengganti dan melakukan restorasi data.

Lanjut membaca ...


Enkripsi Data dalam Aplikasi

Dalam membuat aplikasi, kita seringkali butuh untuk menyimpan data user, misalnya:

  • Nomor KTP
  • Nama ibu kandung
  • Upload foto KTP
  • Ijazah
  • dan berbagai informasi pribadi lainnya

Sebagai programmer yang bertanggung jawab, sudah seharusnya kita melakukan usaha yang memadai untuk melindungi data-data pribadi user kita tersebut. Tidak perlu jumawa mengenai keamanan sistem kita, bahkan perusahaan besar sekelas Amazon, Facebook, Tokopedia saja sudah menerima kunjungan hacker. Apalagi kita-kita rakyat kecil begini :D

Jadi, dalam merancang aplikasi, kita harus berasumsi bahwa suatu saat cracker akan bisa masuk ke dalam server kita dan mengambil data aplikasi. Baik itu data dalam database server (MySQL, PostgreSQL, dsb) ataupun file-file yang diupload oleh user.

Kita harus mencegah usaha cracker tersebut untuk membaca data-data pribadi user. Sehingga walaupun dia punya filenya, tapi dia tidak bisa membaca informasi di dalamnya.

Dalam artikel berikut ini, kita akan membahas cara yang bisa kita lakukan untuk mengamankan data pribadi tersebut.

Lanjut membaca ...


Enkripsi Data in Use

Di tahun 2021 ini, layanan cloud storage sudah sangat banyak tersedia dengan harga murah. Walaupun sebetulnya bukan hal yang baru – saya termasuk pengguna awal Yahoo! Briefcase sejak tahun 1999 – akan tetapi paket yang ditawarkan saat ini sudah sangat murah dan besar kapasitasnya. Saya juga termasuk pengguna awal Dropbox, kemudian banyak mendapatkan downline, sehingga sekarang punya kapasitas 8GB gratis.

Kemudahan dan otomasi aplikasi layanan cloud storage ini membuat penggunanya, termasuk saya, cenderung abai terhadap keamanan dan privasi data. Kita cenderung terlalu percaya kepada penyedia layanan untuk menjaga data pribadi kita dengan aman. Sehingga kita dengan tenang meletakkan banyak data-data rahasia seperti misalnya scan identitas, foto-foto anggota keluarga (dengan pakaian ‘rumahan’), dokumen perusahaan, dan berbagai file lain yang tentu kita tidak ingin terlihat orang lain.

Pada artikel sebelumnya, kita sudah membahas solusi enkripsi untuk file arsip. File arsip (atau archive dalam bahasa Inggris), adalah file lama yang kita keluarkan dari penyimpanan utama dan disimpan di penyimpanan jangka panjang. Analoginya seperti menyimpan barang yang jarang dipakai dari ruang tamu ke gudang. Berbeda dengan file backup, yang merupakan data yang masih sering dipakai sehari-hari, yang kita buatkan copy-nya supaya ada cadangan. Foto-foto lama saya arsip, dipaketkan menjadi satu folder, dienkripsi, dan kemudian disimpan di penyimpanan jangka panjang seperti Amazon Deep Glacier. Data seperti ini dikenal dengan istilah data at rest.

Nah kali ini kita akan membahas pengamanan data yang masih sering kita pakai sehari-hari seperti dokumen bisnis, foto-foto keluarga yang baru diambil, scan identitas, data penting client, dan file-file lain yang bersifat rahasia, tapi mobilitasnya tinggi. Data seperti ini dikenal dengan istilah data in use.

Ada satu jenis data lagi, yaitu data yang sedang berpindah dari satu komputer ke komputer lain. Ini dikenal dengan istilah data in transit. Inipun sudah kita jelaskan cara pengamanannya di seri VPN di artikel terdahulu dan berbagai artikel tentang SSL.

Data in use ini biasanya ada di laptop, pc, smartphone, dan juga flashdisk atau external harddisk. Karena perangkat ini mobilitasnya tinggi, maka resiko berpindah tangan juga tinggi. Coba pikir, seberapa mudah kita meminjamkan harddisk eksternal atau flashdisk ke orang lain? Umumnya ya kita akan berikan ke orang lain tanpa pikir panjang. Bagaimana kalau file rahasia tersebut dicopy orang? Belum lagi kemungkinan laptop atau smartphone dicuri orang. Kalau datanya tidak terenkripsi, orang jahat akan dengan mudah membaca data tersebut.

Lanjut membaca ...