CategoriesInternetProgramming

Kapan waktu yang tepat Menggunakan Microservices?

Apa itu Microservices?

Microservices adalah arsitektur yang digunakan untuk mengembangkan system yang dibagi menjadi bagian-bagian kecil / modular dan memungkinkan teknologi yang digunakan berbeda sesuai kebutuhan dan kemudahan dalam satu system. Di dalam microservices memungkinkan setiap fitur dikembangkan dengan teknologi yang berbeda baik dari skema Database ataupun Bahasa Pemrograman. Microservices sering digunakan oleh pada system produk yang memiliki skala yang besar, kompleksitas dan  transfer rate yg sangat besar.

Diketahui aplikasi yang menggunakan Microservices Gojek, Grab, Tokopedia, Shopee, Paypal , Twitter, Netflix dan lain lain.

Continue reading
CategoriesInternetLinuxProgramming

Menganal OpenStack untuk Cloud Computing

          Salah satu integrasi Open Stack yang pernah
saya buat ada dengan CRM (Customer Relationship Management) dimana Openstack
mengatur Cloud Computing yang berhubungan dengan penjualan atau yang sering
disebut dengan Cloud VPS, Cloud Hosting, Rack location dan RackSpace, integrasi
ini saya buat dalam bentuk Admin Dashboard yang bisa digunakan untuk mengatur
Cloud Computing dan Penjualan. Open stack memiliki fitur yang lengkap untuk
semua kebutuhan IAAS.

Gambaran Service dari OpenStack

Apa itu OpenStack?

       OpenStack merupakan project open source untuk platform cloud computing. sebagian besar digunakan sebagai Infrastructure as a Service (IaaS), di mana server virtual dan sumber daya lain tersedia untuk pelanggan.Platform perangkat lunak terdiri dari komponen-komponen yang saling terkait yang mengendalikan beragam perangkat keras multi-vendor yang meliputi pengolahan, penyimpanan dan sumber daya jaringan di seluruh data center. Pengguna dapat mengelolanya melalui dasbor berbasis web, hingga command-line tools, atau REST layanan web (wikipedia).

         OpenStack menyediakan solusi IaaS (Infrastructure ad a Service) dengan berbagai layanan yang berhubungan. Masing-masing layanan/service menyediakan API (Application Programming Interface) yang memfasilitasi integrasi. Layanan-layanan atau service-service ini dapat kita instal sesuai kebutuhan kita. Dimana API ini bisa digunakan untuk integrasi sesuai kebutuhan Anda, saya pernah membuat untuk kebutuhan CRM.

 

Service di Arsitektur OpenStack sebagai Berikut:

Dashboard / Horizon 

Dashboard menyediakan tampilan web yang berinteraksi dengan layanan OpenStack seperti meluncurkan instance, memberikan IP address dan mengkonfigurasi akses control untuk Nova, Neutron, Swift dll.

Compute / Nova

Compute/ Nva menyediakan manajemen instan dari Compute yang ada pada lingkungan OpenStack sebagai contoh Compute di Virtual Server. Nova / Compute memiliki fitur untuk managemen dalam Virtual Machine, baremetal servers dan system contaners. Nova /  Compute adalah daemon yang berjalan di linux server.

Networking / Neutron

Neoutorn memiliki fungsi untuk mempermudah kita memahami layanan Networking sebagai layanan yang membuat jaringan secara virtual tentunya. Memiliki plugin yang mendukung berbagai jaringan dari vendor dan teknologi.

Object Storage / Swift

Swift  Pada Object storage ini akan menympan dan menambil object data melalui RESTful, API berbasis HTTP.

Block Storage / Cinder

Cinder sebagai Object Storage menyediakan persistent block storage untuk menjalankan instance. Kita dapat melakukan  manajemen block storage devices.

Identity service / Keystone

Keystone menyediakan manajemen otorisasi layanan.

Image service / Glance

Glance adalah untuk pengelolaan image terutama untuk menyimpan dan meluncurkan VM disk images. OpenStack compute menggunakan hal ini selama provision.

Telemetry / Ceilometer

Ceilometer akan memantau billing, benchmarking, scalability dan tujuan statistik.

Orchestration / Heat

Heat berfungsi untuk menggabungkan beberapa aplikasi cloud.

Database service /  Trove

Trove Meydiakan layanan Cloud database-as-a-Service.

Data processing service

Menyediakan kemampuan provision untuk Hadoop clusters.

Kesimpulan

OpenStack adalah open source yang memili resource yan besar sehingga bisa digunakan stakeholder untuk membangun usaha atau bisnis maupun hanya untuk IOT. Namun apabila penggunaannya sebagai bisnis maka akan berguna , bayangkan apabila harus secara manual atau hanya dalam bentuk Insfrastruktur tanpa Service instan dari Open Stack, akan sangat merepotkan. Pada inti nya dengan Open Stack semua Insfrastruktur bisa tertata dan semua service bisa dijalankan dengan cepat dan Mudah. Untuk belajar lebih dalam silahkan dipijak disini.

Semoga Bermanfaat.

Wassalamualaikum.

CategoriesInternet

Bertahan Menghadapi Tsunami Informasi Dengan Berpikir Secara Ilmiah

Dalam beberapa bulan terakhir, berita tentang wabah covid-19 telah memenuhi semua media informasi. Internet dan sosial media yang kini sudah tersebar luar membuat informasi tersebut membanjiri gadget kita tanpa kita minta. Ibarat tsunami yang datang menghantam tanpa bisa dibendung. Fenomena semacam ini dikenal dengan istilah “tsunami informasi”.

Bagaimana kita bertahan menghadapi tsunami informasi ini? Bagaimana kita bisa memilah mana informasi yang benar dan yang salah? Mana informasi yang perlu kita terima dan abaikan?

Berpikir secara ilmiah dapat membantu kita menjawab pertanyaan tersebut dan bertahan menghadapi tsunami informasi. Berpikir secara ilmiah dapat dilakukan oleh setiap orang tanpa memandang latar belakang pendidikan. Yang diperlukan adalah kemampuan berpikir secara kritis agar dapat menilai tingkat kebenaran suatu informasi.

Bagaimana cara berpikir ilmiah?

Agar dapat berpikir secara ilmiah, kita harus memahami langkah-langkah dalam berpikir ilmiah agar dapat mengukur suatu kebenaran.

Fakta

Fakta adalah hasil dari pengamatan.

Fakta adalah hal (keadaan, peristiwa) yang merupakan kenyataan yang benar-benar ada atau terjadi. Fakta tidak dapat dibantah, karena dia benar-benar ada, dapat kita lihat dan rasakan menggunakan panca indra. Berikut adalah contoh fakta yang dapat kita temukan sehari-hari:

  • Kita dapat melihat alam sekitar dengan jelas di siang hari.
  • Kita tidak dapat melihat alam sekitar dengan jelas di malam hari.

Dua hal itu adalah hasil dari pengamatan. Bila semua orang melakukan pengamatan yang sama, maka mereka akan mendapati fakta yang sama pula.

Fakta akan seringkali memunculkan pertanyaan dalam benak kita, misalnya “mengapa kita dapat melihat alam sekitar dengan jelas di siang hari, namun tidak di malam hari?”

Kita, sebagai manusia, akan berusaha mencari jawaban atas pertanyaan-pertanyaan tersebut. Mungkin akan ada sebagian orang yang berusaha menjawab pertanyaan tersebut, misalnya dengan mengatakan:

  1. “Mata kita mengeluarkan sinar di siang hari, namun tidak di malam hari.”
  2. “Matahari yang bersinar di siang hari, namun ia hilang di malam hari”

Dalam ilmu pengetahuan (science) kedua pernyataan tersebut dikenal dengan istilah hipotesis.

Hipotesis

Hipotesis adalah gagasan yang diajukan untuk menjelaskan suatu fenomena sebagai langkah awal dalam melakukan penelitian.

Namun, yang perlu diingat, hipotesis adalah sesuatu yang harus diuji.

Nah sekarang cobalah berpikir sejenak, bagaimana cara kita menguji dua contoh hipotesis sebelumnya?

Salah satu cara menguji hipotesis pertama, cobalah anda melihat benda dalam ruang tertutup, tanpa lampu, di siang hari? Bila anda tetap dapat melihat, maka mungkin benar bahwa mata anda mengeluarkan sinar di siang hari.

Cara menguji hipotesis kedua, lakukan hal yang sama di pengujian pertama, namun kali ini cobalah membuka jendela sehingga sinar matahari dapat masuk ke dalam ruangan tersebut. Bila anda dapat melihat isi ruangan setelah jendela dibuka, maka mungkin benar bahwa matahari yang mengeluarkan sinar sehingga kita dapat melihat alam sekitar.

Ada puluhan atau bahkan ratusan cara untuk menguji hipotesis yang kita buat. Semakin banyak hipotesis tersebut lolos pengujian, maka semakin tinggilah keyakinan kita akan kebenaran dari hipotesis tersebut. Sebaliknya, semakin banyak hipotesis tersebut gagal dalam pengujian, maka hipotesis tersebut akan semakin meragukan.

Ketika terdapat banyak hipotesis yang telah lolos pengujian ilmiah, maka semua hipotesis tersebut dalam disatukan ke dalam sebuah teori ilmiah.

Teori Ilmiah

Teori ilmiah merupakan penjelasan yang mendalam dari satu fenomena yang merupakan kesimpulan dari banyak fakta dan hipotesis yang telah diuji menggunakan serangkaian pengujian ilmiah.

Teori ilmiah bukanlah standar kebenaran yang tak dapat dibantah. Seiring dengan meningkatkan ilmu pengetahuan dan teknologi yang dimiliki manusia, banyak teori ilmiah yang dahulu diterima, namun kini telah dibantah dan digantikan oleh teori ilmiah lainnya.

Geocentric model adalah salah satu contoh teori ilmiah yang sempat bertahan selama ratusan tahun namun akhirnya gagal melalui pengujian ilmiah modern dan kini telah digantikan oleh heliocentric model. Heliocentric model masih bertahan hingga saat ini karena ia masih berhasil melalui serangkaian pengujian ilmiah modern.

Membantah suatu teori ilmiah bukan merupakan sesuatu yang tabu dalam ilmu pengetahuan. Misalnya, sah saja bila Anda tidak setuju dengan teori heliocentric model. Namun Anda harus dapat melakukan serangkaian pengujian ilmiah yang mampu membantah teori tersebut.

Sejarah telah mengajarkan kita bahwa pada akhirnya hanya teori ilmiah yang mampu lolos berbagai macam pengujian yang mampu bertahan dan diterima sebagai penjelasan atas suatu fenomena.

Bertahan Menghadapi Tsunami Informasi

Bagaimana kita bertahan menghadapi tsunami informasi saat ini?

Sederhana saja, kita harus dapat memilah apakah informasi tersebut adalah:

  • fakta?
  • hipotesis?
  • teori ilmiah?

Bila informasi tersebut adalah fakta, maka masih layak kita percaya.

Bila informasi tersebut adalah hipotesis, maka periksalah dahulu. Apakah hipotesis tersebut telah lolos melalui serangkaian pengujian? Bila hipotesis tersebut tidak pernah diuji maka abaikan saja. Bisa jadi itu hanyalah opini yang mungkin tak ada manfaatnya bagi Anda.

Bila informasi tersebut adalah teori ilmiah, maka masih layak untuk kita terima. Namun sekali lagi, teori ilmiah juga bukanlah merupakan satu standar kebenaran, karena masih dapat dibantah bila suatu saat nanti ditemukan fakta dan pengujian baru yang tak dapat dia lampaui.

Bila kita mampu memilah tsunami informasi yang kita terima, maka dapat membuat kita lebih tenang dalam menerima informasi dan terhindar dari rasa panik yang tidak perlu.

Semoga artikel ini dapat bermanfaat bagi kita semua.

Daftar Pustaka

CategoriesInternet

Cara Mudah Buat Kelas Virtual

Halo teman-teman! Terimakasih sudah membuka artikel ini 😊

Jadi, artikel ini saya tujukan untuk teman-teman dalam bidang pendidikan yang pada masa-masa ini terpaksa harus melakukan kegiatan belajar secara online dengan para siswa atau peserta pelatihan. Ya, kita tahu sampai hari ini sudah lebih dari satu bulan semua lembaga pendidikan melakukan kegiatan belajar secara online.

So, How to do simple thing yang dapat membantu kalian untuk melakukan online learning.

Satu platform kelas online yang sangat saya rekomendasikan adalah Google Classroom. Saya juga menggunakan platform ini selama masa pandemi, well saya membantu menjadi admin untuk kelas virtual ibu saya (teacher). Ada sekitar 2 kelas dengan total 150 murid dan sangat mudah sekali untuk mengatur kegiatan kelasnya.

Jadi, apa yang membuat platform ini spesial?

  1. Pengembang platform ini adalah Google. Perusahaan raksasa yang banyak melakukan inovasi di bidang teknologi membuat platform ini sangat bisa untuk dipercaya.
  2. Sinkronisasi dengan semua produk Google seperti Google Form, Google Sheets, Youtube, Google Drive dan masih banyak lagi. Sehingga sangat mudah untuk melakukan banyak hal disini.
  3. Bisa membuat Topic yang dapat disesuaikan dengan Bab bahasan seperti kelas fisik biasanya.
  4. Bisa melakukan pengumpulan dan penilaian tugas secara online
  5. Yang paling penting, hasil tugas siswa dapat direkap secara otomatis dengan output file excell.

Dengan berbagai kemudahan tersebut, ternyata cara menggunakan nya cukup mudah sekali. Silakan ikuti step-step dibawah ini.

[SATU]: Pastikan kalian terhubung dengan Internet dengan kecepatan yang memadai. Why? Karena sebagai guru atau fasilitator tentunya kalian harus tanggap dengan kondisi kelas.

[DUA]: Buka link https: classroom.google.com di browser kalian. Halaman ini adalah wajib kalian buka jika ingin membuka platform Google Classroom. Jangan lupa untuk Sign In dengan akun Google kalian.

Jika kalian baru pertama membuka halaman ini maka akan muncul halaman seperti ini. Pilih ‘Lanjutkan’.

[TIGA]: *Opsional. Silakan download aplikasi Google Classroom di smartphone kalian. Hal ini ditujukan agar kalian dapat dengan mudah memonitor kondisi kelas ketika sedang melakukan aktivitas lain.

[EMPAT]: Pilih ikon ‘+’ untuk membuat kelas kalian. Lalu pilih Create Class.

[LIMA]: Masukan identitas kelas yang akan kalian buat.

Ada beberapa form yang dapat kalian isi sebagai identitas kelas kalian. Berikut beberapa informasi terkait form yang perlu kalian isikan

  • Class Name: bagian ini akan menjadi judul kelas kalian. Jadi pastikan cukup deskriptif. Bisa diisi dengan nama lembaga kalian.
  • Section: bagian ini akan menjadi informasi yang muncul dibawah judul kelas kalian. Kalian bisa mengisi dengan nama kelas, guru, atau tahun ajar.
  • Subject: bagian ini menjadi informasi mata pelajaran atau mata kuliah terkait dengan kelas.
  • Room: bagian ini menjadi informasi nama ruang kelas seperti kelas fisik pada biasanya.

[ENAM]: Kalian akan mendapatkan tampilan kelas kalian seperti ini.

Ada beberapa tab yang membedakan fungsi-fungsi dari platform ini:

  • Stream / Forum:

Tab ini berisi informasi kelas dan forum. Kalian dapat post informasi terkait kelas seperti pengumuman penggunaan kelas, atau diskusi terbuka. Dan siswa dapat berkomentar pada postingan yang kalian buat.

  • Classwork / Tugas Kelas

Tab ini berisi halaman tugas yang harus dilakukan siswa. Kalian dapat memberikan tugas seperti quiz dengan menggunakan Google Forms, atau tugas membaca buku dengan membagikan file ebook yang kalian pilih.

  • People / Anggota

Tab ini berisi informasi penghuni kelas. Kalian dapat memonitor siapa saja yang memasuki kelas kalian. Kalian juga bisa menambahkan guru lain pada kelas ini.

  • Grades / Nilai

Tab ini berisi hasil nilai dari tugas yang siswa kalian kumpulkan.

[TUJUH]: Membuat Kelas!

Silakan Pilih ‘Create’ untuk membuat tugas dan silakan pilih tipe tugas yang akan kalian buat. Google menyediakan beberapa templates yang akan membantu kalian untuk membuat tugas.

  • Assignment: Bagian ini untuk membuat tugas secara umum
  • Quiz Asignment: Bagian ini untuk membuat tugas dengan template quiz
  • Question: Bagian ini untuk membuat tugas dengan model kalian membagikan satu pertanyaan lalu siswa dapat menjawabnya
  • Material: Bagian ini untuk membuat materi bahasan. Bisa berupa informasi tentang bahasan suatu bab / chapter. Kalian bisa menambahkan beberapa link untuk referensi siswa
  • Reuse Post: Bagian ini untuk menggunakan post yang sebelumnya sudah pernah kalian post.
  • Topic: Bagian ini untuk membuat pemisah dari setiap bab. Kalian bisa menggunakanya untuk memberi nama bab atau nama tema dari tugas yang akan kalian buat.

[DELAPAN]: Pilih ‘Assignment’, untuk membuat tugas general.

Ada beberapa bagian yang perlu kalian isikan:

  • Title: Kalian dapat mengisikan dengan nama tugas.
  • Instruction: Kalian dapat mengisikan dengan instruksi dari tugas yang kalian buat.
  • Add: Kalian dapat menambahkan file pendukung lain seperti file video youtube, file drive, file attachment, atau link.
  • Create: Kalian dapat menambahkan file pendukung seperti Google Forms, Google Sheets, Google Docs, dan lainya.
  • For: Ditujukan untuk kelas apa dan untuk siapa saja. Kalian bisa menyesuaikan untuk kelas yang kalian pilih dan semua siswa.
  • Points: Nilai maksimal yang dapat didapatkan siswa.
  • Due: Waktu terakhir pengumpulan tugas siswa.
  • Topic: Jika kalian ingin menambahkan post untuk pada topik terpilih.
  • Rubrik: Kalian dapat menambahkan bagaimana cara tugas kalian dinilai.

[SEMBILAN]: Jika kalian selesai membuat tugas maka pilih ‘Assign’. Jika kalian ingin tugas akan di post pada waktu tertentu maka kalian dapat memilih ‘Schedule’, atau memilih ‘Save Draft’ untuk menyimpan file tugas yang telah dibuat untuk diedit di lain waktu.

[SEPULUH]: Tugas kalian akan terposting pada halaman ‘Classwork’ dan akan memberi notifikasi kepada semua siswa.

Dari tugas yang sudah kalian buat nantinya akan dapat kalian nilai secara online juga, begitu juga rekap nilainya juga.

So, I really recommend you guys, teachers, mentors, trainers, facilitators to use this platform. I believe it will help you so much!

Jika kalian membutuhkan bantuan untuk pembuatan kelas virtual. Feel free untuk menghubungi saya di @nandamochammad

That's All! See you on the next line!
CategoriesInternetProgramming

Capture API Endpoint yang jalan di Aplikasi Smart Phone menggunakan Postman

API Endpoint hampir pasti digunakan di Aplikasi Android maupun IOS, tentunya misal pembaca adalah program akan penasaran apakah API yang dibuat kita aman dan apakah mungkin ter ekspose. Jawabannya iya sangat mungkin untuk di capture. Kali ini kita akan membahas tuntas salah satu cara untuk Capture atau sniffing API yang jalan di Aplikasi Smart Phone menggunakan Postman. Cara ini bisa dilakukan untuk Optimasi API yang kita Buat untuk menghindari data leaks. Di akhir akan saya jelaskan bagaimana cara untuk menghindari data leaks.

Berikut pengetahuan Dasar sebelum kita Bermain main lebih dalam:

1.  API Endpoint.

API(Application Programming Interface) merupakan sekumpulan (method, fungsi atau URL endpoint) yang digunakan untuk mengembangkan aplikasi lebih dari satu platform yang berbeda. Lalu apa kegunaan API ini? dengan menggunakan API maka kita dapat mengunakan sumber daya dari aplikasi lain tanpa perlu mengetahui bagaimana aplikasi itu dibuat. 

2. Postman.

POSTMAN adalah sebuah aplikasi (berupa plugin) untuk browser chrome, fungsinya adalah sebagai REST Client atau istilahnya adalah aplikasi yang digunakan untuk melakukan uji coba REST API yang telah kita buat. silakan download di link berikut: https://www.postman.com/downloads/

3. Proxy.

Proxy server (peladen proxy) adalah sebuah komputer server atau program komputer yang dapat bertindak sebagai komputer lainnya untuk melakukan request terhadap content dari Internet atau intranet. disini yang akan kita gunaan sebagai proxy server adalah PC.

 

Ayo kita Praktikan untuk lebih mudahnya:

Keterangan :  Pastikan menyiapkan PC dan Smart Phone.  PC dan Smart Phone harus dalam satu Jaringan. PC sebagai alat Capture sedangkan Smart Phone yang di Capture.

  1. Setting Postman klik tombol Capture Request and Cookies.
    Menu untuk Capture Request and Cookies
    Setting seperti Gambar berikut:
    Setting Capture requests an cookies Postman
  2.  Cek terlebih dahulu IP Address PC kita berapa, IP ini yang akan digunakan sebagai Hostname di proxy Smart Phone saya yaitu : 192.168.53.234
    IP Address PC
  3.   Setting Proxy di Smart Phone dengan menggunakan Hostname / IP PC kita dan masukan Port yang sudah kita setting di Postman(saya menggunakan Smart Phone Vivo Y31).
    Setting Proxy di Smart Phone
  4. Setting selesai. Sekarang waktunya Capture API, saya ingin Capture API dari Aplikasi KAI Access, buka aplikasi KAI access.
    Aplikasi KAI Access
  5.            Setelah dibuka dan melakukan beberapa proses di Aplikasi KAI Access, maka semua request akan ter Capture di Postman lengkap dengan URL, Header, Request dan response.

    Hasil Capture API saya taruh di History.
    Salah satu API Endpoint yang saya dapat dari Capturing.

Kesimpulan:

Ini adalah salah satu cara yang saya  gunakan untuk mencari celah / bug dari suatu aplikasi karena kebanyakan aplikasi API tidak ter bundle atau tidak double encrypt dan tidak ada ssl security sehingga sangat mudah data leaks atau rusak, tentu environment dasar dari sisi backend diperlukan untuk memperkuat suatu system. Salah satu cara preventif dasar adalah pastikan URL End Point API menggunakan ssl security dan pastikan data public dan private dibedakan dengan auth.

Semoga Bermanfaat

Wasallamualaikum.

CategoriesInternet

SnapPass – Mengirimkan Password Secara Aman Di Internet

Saat ini, hampir mustahil kita sanggup mengingat-ingat seluruh password yang kita gunakan karena sangat banyaknya aplikasi yang kita gunakan. Menggunakan satu password untuk semua aplikasi tentunya sangat tidak aman, karena bila data password tersebut tercuri dan tersebar di dark web seperti yang dialami oleh aplikasi Zoom, maka kita harus mengganti semua password kita di aplikasi lainnya bila tidak ingin akun kita diambil alih orang lain.

Password Manager

Sebagai solusinya saat ini telah banyak tersedia aplikasi password manager yang dapat digunakan untuk menyimpan password anda secara aman. Enkripsi yang digunakan dalam aplikasi password manager menjamin data yang kita simpan di dalamnya aman dan tidak dapat dibaca orang lain tanpa master password. Kita cukup mengingat satu master password yang sangat kuat untuk mengamankan seluruh password yang ada dalam aplikasi password manager.

Ada banyak aplikasi password manager, mulai dari versi open source hingga cloud based. Contoh aplikasi password manager versi open source adalah:

Kedua aplikasi tersebut menyimpan data dalam format dan ekstensi yang sama (.kdbx) sehingga compatible antara satu dengan yang lain. Adapun contoh aplikasi password manager versi cloud based adalah:

Tapi saya pribadi memilih menggunakan KeePass karena file yang berisi password tersebut disimpan di hard disk komputer saya sendiri, tidak “dititipkan” di server aplikasi password manager seperti LassPass atau Dashlane.

Tiap jenis aplikasi password manager tersebut memiliki kelebihan dan kekurangan masing-masing, silahkan dipilih sesuai dengan kebutuhan Anda.

Bagaimana Cara Mengirimkan Password Yang Aman?

Nah sekarang masuk ke pertanyaan utama kita, ketika kita bekerja dalam satu tim, bagaimana cara yang aman untuk mengirimkan password ke rekan satu tim kita?

Melalui e-mail? Tidak aman karena pengiriman e-mail belum tentu aman (dikirimkan tanpa enkripsi) dan data email tersimpan di sever tanpa enkripsi sehingga bisa dibaca oleh pengelola e-mail server atau NSA (kalau Anda orang penting).

Melalui aplikasi chatting? Meragukan karena pengiriman via aplikasi chatting belum tentu aman dan data chatting tersimpan di sever yang mungkin saja tanpa enkripsi.

Bisa saja kita mengirimkan file .kdbx melalui e-mail atau aplikasi chatting, tapi bagaimana mengirimkan master passwordnya?

Mungkin kita bisa aja melakukan enkripsi e-mail, namun bagaimana kalau e-mail rekan kita tersebut tidak mendukung enkripsi e-mail?

Alternatif lain adalah mengirimkan via aplikasi chatting yang menurut klaim developer-nya telah mendukung end-to-end encryption, WhatsApp misalnya. Tapi bagaimana kalau rekan kita tidak memiliki WhatsApp? Atau kita salah kirim password ke WhatsApp group yang salah (seperti kebodohan yang saya lakukan dahulu)?

Kita perlu sebuah cara pengiriman yang bisa diakses semua jenis device, mulai dari desktop atau mobile, serta praktis digunakan. Sepertinya solusi yang paling sederhana adalah melalui protokol HTTPS. Tapi bagaimana implementasinya?

SnapPass

Gambar 1. Tampilan SnapPass

Setelah membaca beberapa referensi, banyak yang merekomendasikan penggunaan SnappPass. SnappPass adalah aplikasi open source dikembangkan oleh developer Pinterest. Prinsip kerja dari SnappPass sangat sederhana:

  1. Simpan pesan atau password di server dalam keadaan terenkripsi.
  2. Generate sebuah key untuk membuka enkripsi data tersebut dalam bentuk sebuah URL.
  3. Bila URL tersebut diakses, maka pesan rahasia tersebut akan ditampilkan dan dihapus dari server.

Yang perlu kita lakukan hanyalah membagikan URL tersebut ke rekan 1 tim kita via e-mail atau aplikasi chatting.

Nah sekarang akan saya jawab satu persatu pertanyaan yang terlintas di pikiran Anda.

Bagaimana kalau URL tersebut dicuri?

Ya pencuri tersebut dapat membaca pesan rahasia anda, misalnya seperti Gambar 2 ini.

Gambar 2. Pesan rahasia yang telah terbaca

Tapi tunggu dulu, itu artinya rekan satu tim Anda tidak akan menerima pesan tersebut. Ketika dia membuka URL yang anda berikan, tampilan seperti Gambar 3 inilah yang dia dapatkan

Gambar 3. Pesan error ketika membuka URL yang sebelumnya telah dibuka

Ketika rekan satu tim anda akan melaporkan ke Anda bahwa dia tidak bisa membaca pesan rahasia, maka itu artinya pesan anda telah bocor sehingga yang perlu anda lakukan adalah mengganti pesan rahasia (password) yang and bagikan sebelumnya.

Bagaimana dengan keamanan pengiriman data?

Gunakan protokol HTTPS dan pastikan konfigurasi protokol HTTPS anda aman, sehingga pesan Anda kirimkan akan terenkripsi saat pengiriman data. Gunakan https://www.ssllabs.com/ssltest/analyze.html untuk menguji konfigurasi HTTPS yang Anda gunakan.

Gambar 4. Contoh hasil pengujian HTTPS yang bagus oleh SSLLabs

Bagaimana dengan keamanan data yang disimpan di server?

Dalam dokumentasi SnapPass dijelaskan bahwa

Passwords are encrypted using Fernet symmetric encryption, from the cryptography library. A random unique key is generated for each password, and is never stored; it is rather sent as part of the password link. This means that even if someone has access to the Redis store, the passwords are still safe.”

sehingga data yang (sementara) disimpan di dalam server akan aman.

Bagaimana cara instalasi SnapPass?

Instalasi SnapPass tidaklah rumit, cukup cloning repository SnapPass dari github

$ git clone https://github.com/pinterest/snappass

masuk ke dalam directory snappass

$ cd snappass

lalu jalankan snappass menggunakan Docker

$ docker-compose up -d

maka anda sudah bisa membukanya melalui web browser dan port 5000

http://localhost:5000

Namun Anda tetap memerlukan bantuan System Administrator untuk melakukan pemasangan SnapPass, karena SnapPass memerlukan Docker dan HTTPS agar berjalan dengan benar dan aman.

Selamat mencoba.

Artikel ini ditulis saat wabah Covid-19 sedang melanda dunia yang memaksa sebagian besar dari kita untuk bekerja di rumah. Semoga wabah ini dapat segera berakhir dan kehidupan menjadi lebih baik. Aamiiin…

1 Ramadhan 1441