Melakukan Hashing Password Dengan Nonce di Sisi Client

Proses hashing untuk password di sisi frontend biasanya dilakukan supaya password tidak dikirimkan apa adanya (plain text) melalui jaringan. Secara umum, proses ini tidak begitu meningkatkan keamanan password karena website modern sudah menggunakan HTTPS sehingga password yang dikirim ke backend sudah ter-enkripsi. Proses hashing ini lebih berguna untuk serangan tertentu seperti MITM proxy dan mencegah password tidak sengaja tersimpan di log backend (misalnya di server NGINX yang men-log seluruh request body).

Kategori: Pemograman Tags: Go JavaScript

Memakai Algoritma HOTP & TOTP

Salah satu algoritma yang paling sering digunakan untuk menghasilkan one-time password (OTP) adalah algoritma HMAC-based one-time password (HOTP) dan Time-based one-time password (TOTP). Sebagai contoh, Google Authenticator mendukung kedua algoritma tersebut dimana HOTP disebut sebagai counter based dan TOTP disebut sebagai time based seperti yang diperlihatkan pada gambar berikut ini:

Kategori: Pemograman Tags: Go

Menggunakan OpenVPN Untuk Menghubungkan Dua Jaringan Berbeda

Salah satu metode yang paling umum dipakai untuk menghubungkan dua jaringan di lokasi fisik yang berbeda melalui Internet adalah dengan mengunakan VPN. Dengan menambahkan VPN gateway, masing-masing perangkat lokal di jaringan berbeda dapat saling berkomunikasi seolah-olah mereka terhubung secara lokal di jaringan yang sama. Walaupun biasanya VPN gateway berbentuk perangkat fisik yang ter-integrasi dengan router, pada artikel ini, saya akan mencoba menggunakan sebuah PC dengan sistem operasi Ubuntu Server untuk dijadikan VPN gateway.

Kategori: Network Tags: Ubuntu OpenVPN

Memakai Cloud Node di GNS3

Cloud node adalah salah satu fitur yang sangat berguna di GNS3. Dengan cloud node tersebut, saya dapat menghubungkan jaringan yang disimulasikan ke jaringan lainnya yang berada di luar GNS3 seperti Internet, perangkat virtual, termasuk dengan jaringan di simulasi proyek GNS3 lainnya. Pada artikel ini, saya akan mencoba beberapa variasi penggunaan cloud node tersebut.

Kategori: Network Tags: GNS3

Menggunakan IP Yang Sama Untuk Beberapa Service TCP Berbeda

Di Kubernetes, terdapat Ingress yang dapat dipakai untuk mempublikasikan beberapa Service berbeda melalui satu IP yang sama. Akan tetapi, sintaks Ingress hanya bekerja pada lapisan HTTP(S) dimana ia melakukan pemetaan ke Service berdasarkan path di URL. Namun, ada kalanya layanan non-HTTP juga perlu dipublikasikan. Layanan TCP/UDP non-HTTP tidak mengenal konsep URL yang hanya ada di aplikasi web. Lalu, bagaimana bila ingin melakukan hal yang sama seperti di Ingress tetapi pemetaan dilakukan berdasarkan nomor port?

Kategori: DevOps Tags: Kubernetes

Menerapkan Network Access Control (NAC) Dengan PacketFence

Bila firewall melindungi dari serangan dari pihak eksternal, bagaimana dengan serangan dari dalam? Sebagai contoh, bila ada penyusup yang masuk ke dalam gedung dan mencolokkan kabel LAN ke perangkat miliknya, ia akan mendapatkan akses internal sama seperti karyawan lain di gedung tersebut. Kemungkinan penyusup untuk mendapatkan kata kunci untuk jaringan WiFi juga besar karena satu kata kunci yang sama dipakai secara bersama. Bila kata kunci ini bocor, saya perlu segera menggantinya dengan nilai baru. Namun, saya harus bersiap-siap menerima keluhan karena seluruh pengguna yang ada akan kehilangan akses WiFi dan perlu memperbaharui kata kunci di perangkat mereka. Untuk mengatasi semua permasalah ini, saya dapat menerapkan IEEE 802.1X yang merupakan sebuah standar Network Access Control (NAC). IEEE 802.1X dapat dipakai untuk LAN maupun WLAN.

Kategori: Network Tags: Protocol

Belajar Melakukan Application Security Testing

Saat mendengar istilah “keamanan komputer”, biasanya yang berada dalam bayangan adalah hacking. Namun kini keamanan komputer sudah berubah menjadi industri dimana banyak vendor berlomba-lomba menawarkan produk keamanan mereka. Sepertinya security engineer akan lebih banyak menghabiskan waktu memilih produk keamanan untuk dipakai (atau berbicara dengan sales produk keamanan) ketimbang berada di situasi hacking yang menegangkan seperti di film aksi Hollywood :) Sama seperti di industri lainnya, cyber security juga punya terminologi sendiri. Sebagai contoh, tool untuk menguji keamanan aplikasi biasanya dikategorikan menjadi:

Kategori: DevOps Tags: Docker

Merekam dan Memutar Ulang Paket Jaringan

Paket jaringan adalah unit data terkecil yang dikirim dan diterima oleh perangkat jaringan. Karena kebanyakan aktifitas saat ini sudah berlangsung secara online, boleh dibilang semua aktifitas digital tercerminkan oleh paket jaringan yang keluar masuk. Sebagai contoh, bila terjadi serangan cyber atau upaya pencurian data secara remote, informasi data apa yang bocor dan dikirim kemana dapat dijumpai di paket jaringan yang keluar masuk pada saat insiden terjadi. Pada artikel ini, saya akan mencoba merekam paket jaringan dan memakai hasil rekaman tersebut.

Kategori: Network Tags: Protocol Ubuntu