Bismillah,

Perkembangan dunia Teknologi ini semakin pesat, tak luput pula menimbulkan kerentanan dan bahaya keamaanan di dunia maya. Telah banyak tips dan trik yang di tulis bagaimana caranya agar bisa aman di internet. Namun, semua itu hanyalah ikhtiar kita saja, dengan tiada lupa kita selalu bertawakkal kepada Allah Ta’ala. Semoga Allah Ta’ala menjaga kita di manapun kita berada.

Pengantar

Di sini saya ingin menuliskan, secara khusus kepada pengguna Linux dan OpenBSD, cara mengamankan password dengan password manager berbasis CLI yang bernama pass. Sebelum memulai, saya sajikan sedikit pengantar dahulu.

Berawal dari maraknya email scam, yang mana mengklaim, bahwa si scammer ini mempunyai password dari pemilik email yang di tuju nya. Pemilik email pun kaget, bagaimana bisa mereka (crecker) dapat password saya? Huh…., ternyata si scammer ini dapat password dari kebocoran database yang terjadi pada beberapa perusahaan. Silahkan lihat di penjelasan dan contoh nya di Beware of Extortion Scams.

Kemudian saya coba memasukkan salah satu email saya ke website https://haveibeenpwned.com/ berikut:

gambar0

Setelah subscribe, konfirmasi subscribe, ternyata email saya tersebut sudah pernah bocor data passwordnya sebagaimana terlihat di bawah:

gambar1

Penjelasan terkait hal diatas, ada pada dua link di bawah ini:

  1. Bukalapak Meningkatkan Keamanan Akun Pengguna
  2. Observations and thoughts on the LinkedIn data breach

Langkah pengamanan yang saya lakukan, adalah segera mengganti kedua password saya di dua website dengan password generator untuk masing-masing website.

Gunakanlah Password Manager

Salah satu (bukan satu-satunya) cara agar aman adalah penggunakan satu password untuk setiap website atau aplikasi yang kita gunakan. Sehingga, seandainya terjadi kebocoran database password pada sebuah website, akun kita pada website/aplikasi lain tetap aman. Karena kita akan kesulitan mengingat semua password-password tersebut, maka gunakan lah Aplikasi Password Manager untuk mencatat daftar password-password tersebut. Sebuah tulisan 5 Best Password Managers For Linux Desktop menampilkan sekian pilihan Password Manager yang bisa di gunakan di Linux.

pass

Password Manager yang saya pilih adalah pass sebuah program yang luar biasa sekali menurut saya, dengan beberapa fitur penting sebagai berikut:

  1. File password di enkripsi dengan GPG Public Key.
  2. Perubahan file password di catat dengan Git.
  3. Setelah dekripsi file, file plain text nya bisa di edit dengan editor biasa
  4. Folder password bisa di rsync ke VPS sebagai backup.

gambar3

Langkah-langkah penggunaan pass

  1. Instalasi pass
     muntaza@E202SA$ sudo apt-get install pass
    
  2. Instalasi xclip
     muntaza@E202SA:~$ sudo apt install xclip
    

    xclip ini berfungsi untuk mengcopy password secara aman, yang akan hilang dari memory (clipboard) setelah 45 detik.

  3. Kita telah memiliki GPG key
     muntaza@E202SA:~$ gpg --list-key muhammad@muntaza.id
    
     pub   rsa2048 2017-12-06 [SC]
           10A4ACA63D918505D8547759C618BBE52188BDF7
     uid           [ultimate] Muhammad Muntaza <muhammad@muntaza.id>
     sub   rsa2048 2017-12-06 [E]
    

    Disini saya tampilkan contoh GPG key saya.

  4. Pembuatan folder awal
     muntaza@E202SA:~$ pass init "Muhammad Muntaza"
    
     mkdir: created directory '/home/muntaza/.password-store/'
     Password store initialized for Muhammad Muntaza
    
     muntaza@E202SA:~$ pass git init
    
     Initialized empty Git repository in /home/muntaza/.password-store/.git/
     [master (root-commit) a03c5ac] Add current contents of password store.
      1 file changed, 1 insertion(+)
      create mode 100644 .gpg-id
     [master 4e56a43] Configure git repository for gpg file diff.
      1 file changed, 1 insertion(+)
      create mode 100644 .gitattributes
     muntaza@E202SA:~$
    

    Folder .password-store sebagai tempat penyimpanan password

  5. Cara menggenerate password
     muntaza@E202SA:~$ pass generate Website/bpbtb.paringin.com
    
     mkdir: created directory '/home/muntaza/.password-store/Website'
     [master af18038] Add generated password for Website/bpbtb.paringin.com.
      1 file changed, 0 insertions(+), 0 deletions(-)
      create mode 100644 Website/bpbtb.paringin.com.gpg
     The generated password for Website/bpbtb.paringin.com is:
     5v(MNrrx0az9xG+Q!N3Uzrq60
    
  6. Cara menambahkan password dengan insert

     muntaza@E202SA:~$ pass insert Website/mint.paringin.com
    
     Enter password for Website/mint.paringin.com:
     Retype password for Website/mint.paringin.com:
     [master 7cba441] Add given password for Website/mint.paringin.com to store.
      1 file changed, 0 insertions(+), 0 deletions(-)
      create mode 100644 Website/mint.paringin.com.gpg
    
  7. Menampilkan salah satu password

     muntaza@E202SA:~$ pass Website/bpbtb.paringin.com
    
     5v(MNrrx0az9xG+Q!N3Uzrq60
    

    Disini, kita akan di minta kan password private key GPG kita, untuk melihat password, karena file password di enkripsi dengan public key kita.

  8. Melihat daftar password yang ada
     muntaza@E202SA:~$ pass
    
     Password Store
     └── Website
         ├── bpbtb.paringin.com
         └── mint.paringin.com
    
  9. Cara mengcopy password, agar bisa di paste saat kita mau login
     muntaza@E202SA:~$ pass -c Website/bpbtb.paringin.com
    
     Copied Website/bpbtb.paringin.com to clipboard. Will clear in 45 seconds.
    
  10. Cara menghapus password

     muntaza@E202SA:~$ pass rm Website/mint.paringin.com
    
     Are you sure you would like to delete Website/mint.paringin.com? [y/N] y
     removed '/home/muntaza/.password-store/Website/mint.paringin.com.gpg'
     [master 063c70e] Remove Website/mint.paringin.com from store.
      1 file changed, 0 insertions(+), 0 deletions(-)
      delete mode 100644 Website/mint.paringin.com.gpg
    
  11. Mengedit password
     muntaza@E202SA:~$ pass Website/bpbtb.paringin.com
    
     5v(MNrrx0az9xG+Q!N3Uzrq60
    

    Tampilan password sebelum di edit.

     muntaza@E202SA:~$ pass edit Website/bpbtb.paringin.com
    
     [master f409efd] Edit password for Website/bpbtb.paringin.com using vim.
      1 file changed, 0 insertions(+), 0 deletions(-)
      rewrite Website/bpbtb.paringin.com.gpg (100%)
    

    Kita edit password dengan perintah edit, maka akan tampil file text biasa (plain text), yang bisa kita edit dengan $EDITOR yang kita set, bisa vim atau yang lain.

     muntaza@E202SA:~$ pass Website/bpbtb.paringin.com
    
     5v(MNrrx0az9xG+Q!N3Uzrq60
     user: ahmad@paringin.com
    

    Tampilan password setelah di edit.

  12. Log git di folder .password-store

     muntaza@E202SA:~/.password-store$ git log
    
     commit f409efd49fd14e4c5c3f351887aa39e65a999208 (HEAD -> master)
     Author: Muhammad Muntaza <muhammad@muntaza.id>
     Date:   Wed Apr 15 12:40:15 2020 +0800
    
         Edit password for Website/bpbtb.paringin.com using vim.
    
     commit 063c70ed66c33437c1a6a0fb9450eaa48925495f
     Author: Muhammad Muntaza <muhammad@muntaza.id>
     Date:   Wed Apr 15 12:38:22 2020 +0800
    
         Remove Website/mint.paringin.com from store.
    
     commit 7cba441e8a28a2f5e020fb675f463a9648785e37
     Author: Muhammad Muntaza <muhammad@muntaza.id>
     Date:   Wed Apr 15 12:23:03 2020 +0800
    
         Add given password for Website/mint.paringin.com to store.
    
     commit 52082677eb5367b2e403b8529da727dca196c3c7
     Author: Muhammad Muntaza <muhammad@muntaza.id>
     Date:   Wed Apr 15 12:22:50 2020 +0800
    

    Semua proses tercatat di repositori git local.

Tanya Jawab

  1. Seberapa karakter kah panjang sebuah password yang baik?

    Jawab:

    Menurut saya, sebaiknya, tidak kurang dari 15 karakter. INGAT: bagi setiap website harus menggunakan password tersendiri.

  2. Apa yang di maksud Keylogger Trojan?

    Jawab:

    Ini adalah virus yang berbahaya, karena secara sembunyi mencatat semua yang kita ketik di keyboard. Jadi, kalau kita mengetik password atau apapun, dia ini mencatatnya dan bisa jadi mengirimkan ke si pembuat virus. Cara agar selamat diantaranya:

    • Jangan sembarangan menginstall aplikasi apapun, baik di Windows, Linux, Android, terutama yang gratisan.
    • Gunakan Password Manager, sehingga password itu kita copy paste, bukan di ketik.
    • Jangan sembarangan mengklik links yang tidak di kenal.
    • Selalu aktifkan Two-step Login Verification bila tersedia pada website atau aplikasi yang kita gunakan.
  3. Kantor kami menyediakan Laptop dengan OS Windows, bagaimana saya mengakses daftar password untuk aplikasi kantor tanpa membawa Laptop Pribadi dengan OS Linux?

    Jawab:

    Saya sarankan untuk menggunakan Password Manager bitwarden untuk mengelola password aplikasi perkantoran. Namun, beberapa hal yang perlu di perhatikan:

    • Master password bitwarden di simpan di pass.
    • Aktifkan Two-step Login Verification Code pada bitwarden lewat email.
    • Pada Firefox, install bitwarden addon
    • Setting Firefox bitwarden addon agar logout saat restart Firefox, sehingga saat laptop kantor anda matikan maka perlu login ulang untuk mengakses bitwarden.
    • Jangan gunakan password manager bawaan Firefox.
  4. Bagaimana cara aman mengakses website khusus semisal Internet Banking?

    Jawab:

    Terkait web aplikasi yang perlu tingkat keamanan tinggi, saya sarankan:

    • Install OpenBSD dengan Full Disk Encryption pada Partisi lain kalau dual booting atau pada laptop khusus.
    • Gunakan Firefox di OpenBSD tadi hanya untuk mengakses website tersebut.
    • Password di simpan di pass.
  5. Hey, password saya terlihat di terminal setelah menjalankan pass, bagaimana menghapusnya?

    Jawab:

    muntaza@E202SA:~$ history -c
    muntaza@E202SA:~$ clear && clear
    

    Perintah di atas menghapus history dan membersihkan layar sehingga tidak bisa di scroll lagi.

Penutup

Sekali lagi, setiap aplikasi/website, masing-masingnya kita gunakan password khusus. Ini adalah ikhtiar kita, semoga Allah Ta’ala selalu menjaga kita di manapun berada dan semoga tulisan ini bermanfaat. Aamiin.

Alhamdulillah