Male programmer concentrating on coding at a computer in a contemporary office setting.

Checklist Persiapan Pentest untuk Perusahaan: Apa Saja yang Harus Disiapkan?

Checklist Persiapan Pentest untuk Perusahaan: Apa Saja yang Harus Disiapkan?

Apakah perusahaan Anda berencana melakukan pentest atau penetration testing?

Sebelum pengujian dimulai, ada satu hal yang sering terlupakan:

Pentest yang baik tidak dimulai ketika tester mulai melakukan pengujian.

Pentest justru dimulai jauh sebelumnya.

Perusahaan perlu menentukan:

  • sistem apa yang akan diuji;
  • siapa yang memberikan izin;
  • kapan pengujian dilakukan;
  • apa saja batasannya;
  • siapa PIC yang harus dihubungi;
  • bagaimana menangani temuan;
  • dan apa yang dilakukan setelah pentest selesai.

Tanpa persiapan yang matang, pentest dapat menjadi kurang efektif dan bahkan berpotensi mengganggu operasional perusahaan.

Karena itu, artikel ini menyediakan checklist persiapan pentest untuk perusahaan yang dapat digunakan oleh management, IT, security, developer, maupun project owner.


Apa Itu Pentest?

Pentest atau penetration testing adalah pengujian keamanan terhadap sistem dengan pendekatan simulasi serangan yang dilakukan secara legal, terkontrol, dan berdasarkan authorization.

Pentest dapat dilakukan terhadap:

  • website;
  • web application;
  • mobile application;
  • API;
  • network;
  • server;
  • cloud;
  • internal infrastructure;
  • external infrastructure.

Tujuannya adalah membantu perusahaan mengidentifikasi dan memvalidasi kelemahan keamanan serta memahami potensi risikonya.

Namun hasil pentest akan sangat dipengaruhi oleh kualitas persiapan.


Mengapa Persiapan Pentest Penting?

Bayangkan perusahaan meminta tester:

“Tolong pentest aplikasi kami.”

Tetapi tidak menjelaskan:

  • aplikasi mana;
  • environment apa;
  • fungsi apa;
  • kapan boleh diuji;
  • siapa PIC;
  • sistem apa yang dilarang diuji.

Kondisi tersebut dapat menimbulkan berbagai masalah.

Misalnya:

Scope tidak jelas

↓

Target pengujian menjadi ambigu

↓

Risiko pengujian meningkat

↓

Hasil pentest kurang optimal

Sebaliknya, persiapan yang baik membuat proses:

Lebih aman + lebih terarah + lebih efisien


Checklist Utama Persiapan Pentest

Berikut checklist yang dapat digunakan:

Sebelum Pentest

☐ Tentukan tujuan

☐ Tentukan scope

☐ Tentukan target

☐ Tentukan jenis pentest

☐ Tentukan environment

☐ Siapkan authorization

☐ Susun Rules of Engagement

☐ Tentukan timeline

☐ Tentukan PIC

☐ Siapkan dokumentasi sistem

☐ Identifikasi data sensitif

☐ Siapkan backup/recovery

☐ Tentukan prosedur emergency

☐ Tentukan remediation owner

☐ Tentukan kebutuhan retesting

Mari bahas satu per satu.


1. Tentukan Tujuan Pentest

Pertama, perusahaan harus menjawab:

Mengapa pentest dilakukan?

Tujuannya bisa berbeda-beda.

Misalnya:

  • validasi keamanan aplikasi baru;
  • pengujian setelah perubahan sistem;
  • security assessment;
  • persiapan audit;
  • memenuhi kebutuhan internal security;
  • mengidentifikasi risiko pada sistem kritis.

Tujuan akan menentukan:

Scope + Methodology + Output


2. Tentukan Scope

Scope merupakan salah satu bagian paling penting.

Scope menjelaskan:

Apa saja yang boleh dan tidak boleh diuji?

Contohnya:

In Scope

  • Customer Portal;
  • API;
  • authentication;
  • authorization;
  • fungsi transaksi.

Out of Scope

  • sistem partner;
  • third-party application;
  • production database;
  • sistem internal tertentu.

Scope harus cukup spesifik agar tidak menimbulkan interpretasi berbeda.


3. Buat Daftar Target

Setelah scope ditentukan, buat daftar target secara jelas.

Contohnya:

TargetJenisEnvironmentStatus
Customer PortalWeb AppStagingIn Scope
APIAPIStagingIn Scope
Admin PortalWeb AppProductionOut of Scope

Jika terdapat banyak aset, gunakan asset inventory yang lebih terstruktur.


4. Tentukan Environment

Perusahaan perlu menentukan:

Apakah pentest dilakukan pada production atau non-production environment?

Jika memungkinkan, pengujian dapat dilakukan pada environment yang dirancang untuk testing.

Namun dalam kondisi tertentu, perusahaan mungkin membutuhkan pengujian terhadap production.

Jika production masuk scope, perlu ada:

  • batasan aktivitas;
  • monitoring;
  • emergency contact;
  • prosedur penghentian;
  • dan kontrol risiko yang lebih ketat.

5. Pastikan Authorization

Pentest harus memiliki izin.

Dokumentasikan authorization dari pihak yang memiliki kewenangan.

Authorization membantu memastikan bahwa tester:

  • memiliki izin melakukan pengujian;
  • memahami target;
  • memahami batasan;
  • dan mengetahui siapa pihak yang bertanggung jawab.

Jangan mengandalkan izin secara lisan saja untuk proyek yang membutuhkan formalitas tinggi.


6. Susun Rules of Engagement

Rules of Engagement (RoE) menjelaskan bagaimana pentest boleh dilakukan.

Beberapa hal yang dapat dicantumkan:

  • target;
  • waktu pengujian;
  • metode;
  • batasan;
  • aktivitas yang dilarang;
  • PIC;
  • emergency contact;
  • escalation procedure.

Contohnya:

Pengujian dilakukan pada pukul 22.00–02.00 dan tidak diperbolehkan melakukan aktivitas yang dapat menyebabkan perubahan atau penghapusan data.

RoE membantu mengurangi risiko miskomunikasi.


7. Tentukan Jenis Pentest

Jangan hanya mengatakan:

“Kami ingin pentest.”

Tentukan jenis pengujiannya.

Apakah:

Web Application Pentest?

API Pentest?

Mobile Application Pentest?

Network Pentest?

External Pentest?

Internal Pentest?

Cloud Security Testing?

Jenis pengujian akan menentukan methodology, scope, kompetensi tester, waktu, dan output yang dibutuhkan.


8. Tentukan Black Box, Gray Box, atau White Box

Pendekatan pengujian juga perlu ditentukan.

Black Box

Tester mendapatkan informasi terbatas.

Gray Box

Tester mendapatkan informasi sebagian.

White Box

Tester memperoleh informasi sistem yang lebih lengkap.

Pemilihan pendekatan sebaiknya disesuaikan dengan tujuan pengujian.


9. Siapkan Dokumentasi Sistem

Dokumentasi dapat membantu tester memahami sistem secara lebih efisien.

Dokumentasi yang relevan dapat mencakup:

  • system architecture;
  • network diagram;
  • application flow;
  • API documentation;
  • user roles;
  • authentication flow;
  • business process;
  • asset inventory.

Tidak semua informasi harus diberikan pada semua jenis pentest.

Informasi diberikan sesuai methodology dan scope yang disepakati.


10. Identifikasi Data Sensitif

Sebelum pengujian, perusahaan perlu mengetahui:

Data apa yang mungkin dapat diakses selama pentest?

Contohnya:

  • data pelanggan;
  • data transaksi;
  • data keuangan;
  • data karyawan;
  • credentials;
  • confidential business information.

Tester perlu mengetahui batasan penanganan data sensitif.

Tujuannya adalah:

Test security without unnecessarily exposing sensitive data.


11. Siapkan Test Account

Jika menggunakan pendekatan Gray Box atau White Box, perusahaan mungkin perlu menyediakan akun pengujian.

Misalnya:

User

Supervisor

Admin

Akun sebaiknya:

  • khusus untuk testing;
  • tidak menggunakan akun personal;
  • memiliki privilege yang sesuai;
  • dapat dinonaktifkan setelah pengujian.

Ini membantu mengurangi risiko terhadap akun operasional.


12. Tentukan User Role

Untuk aplikasi yang memiliki role berbeda, dokumentasikan role yang relevan.

Contoh:

Customer

↓

Staff

↓

Supervisor

↓

Administrator

Informasi ini penting untuk pengujian:

Authentication

dan

Authorization.

Tester dapat memahami batas akses yang seharusnya dimiliki setiap role.


13. Siapkan Backup dan Recovery Plan

Jika pentest dilakukan terhadap environment penting, perusahaan perlu mempertimbangkan:

  • backup;
  • recovery;
  • rollback;
  • monitoring.

Backup tidak berarti tester akan melakukan aktivitas destruktif.

Backup merupakan bagian dari risk management.

Prinsipnya:

Prepare for the unexpected.


14. Tentukan Jadwal Pentest

Jangan memilih waktu secara sembarangan.

Pertimbangkan:

  • jam operasional;
  • peak traffic;
  • maintenance window;
  • deployment;
  • closing financial;
  • business critical period.

Misalnya aplikasi digunakan untuk transaksi 24/7.

Pengujian yang berpotensi menimbulkan beban sebaiknya direncanakan dengan lebih hati-hati.


15. Tentukan PIC

Setidaknya tentukan:

Business PIC

Pihak yang memahami kebutuhan bisnis.

Technical PIC

Pihak yang memahami sistem.

Security PIC

Pihak yang bertanggung jawab terhadap security.

Emergency Contact

Pihak yang dapat dihubungi jika terjadi kondisi tidak normal.

Contoh struktur:

Management

↓

Project Owner

↓

IT/Security

↓

Tester

Semua pihak harus mengetahui siapa yang harus dihubungi.


16. Siapkan Emergency Procedure

Apa yang terjadi jika:

  • aplikasi mengalami gangguan;
  • traffic meningkat;
  • service berhenti;
  • alert keamanan aktif;
  • atau ditemukan kondisi kritis?

Harus ada prosedur:

Detect

↓

Notify

↓

Assess

↓

Stop Testing if Needed

↓

Recover

Dengan prosedur yang jelas, perusahaan dapat merespons lebih cepat.


17. Tentukan Communication Channel

Buat satu channel komunikasi khusus jika diperlukan.

Misalnya:

  • email;
  • meeting;
  • ticketing system;
  • chat internal.

Tujuannya agar komunikasi tidak tersebar di banyak tempat.

Pastikan informasi sensitif tidak dibagikan secara sembarangan.


18. Tentukan Deliverables

Sebelum pentest dimulai, sepakati output yang diharapkan.

Contohnya:

Executive Report

Untuk management.

Technical Report

Untuk IT/Security/Developer.

Finding Summary

Daftar vulnerability.

Remediation Recommendation

Rekomendasi perbaikan.

Retest Report

Jika retesting termasuk dalam scope.

Dengan demikian, perusahaan mengetahui apa yang akan diterima setelah pentest selesai.


19. Tentukan Severity dan Risk Rating

Perusahaan dan tester perlu menyepakati bagaimana temuan akan dinilai.

Misalnya:

Critical

High

Medium

Low

Namun jangan hanya mengandalkan severity.

Pertimbangkan juga:

Business Impact

Contohnya vulnerability pada:

Core Transaction System

tentu perlu mendapatkan perhatian berbeda dibandingkan vulnerability pada sistem non-kritis.


20. Tentukan Siapa yang Bertanggung Jawab atas Remediation

Ini sering terlupakan.

Setelah pentest selesai:

Siapa yang akan memperbaiki vulnerability?

Misalnya:

FindingOwnerTarget
API AuthorizationDevelopmentPrioritas tinggi
ConfigurationInfrastructurePrioritas sedang
AuthenticationApplication TeamPrioritas tinggi

Dengan begitu, laporan tidak berhenti menjadi dokumen.


21. Siapkan Remediation Plan

Sebelum pentest selesai, perusahaan sebaiknya sudah memiliki gambaran proses:

Finding

↓

Risk Assessment

↓

Prioritization

↓

Remediation

↓

Retest

↓

Close

Proses ini membuat hasil pentest lebih mudah diintegrasikan ke security improvement program.


22. Tentukan Apakah Perlu Retesting

Tanyakan sejak awal:

Apakah retesting termasuk dalam scope?

Retesting dilakukan untuk memastikan vulnerability telah diperbaiki.

Contohnya:

Finding: High

↓

Remediation

↓

Retest

↓

Fixed

Jika retesting tidak termasuk scope awal, perusahaan perlu menentukan mekanisme follow-up yang sesuai.


Checklist Pentest untuk Management

Management dapat menggunakan checklist singkat berikut:

☐ Tujuan pentest jelas

☐ Risiko bisnis sudah dipahami

☐ Scope disetujui

☐ Authorization tersedia

☐ Budget tersedia

☐ Timeline disetujui

☐ PIC ditentukan

☐ Emergency procedure tersedia

☐ Deliverables disepakati

☐ Remediation owner ditentukan

☐ Retesting direncanakan


Checklist Pentest untuk IT/Security

☐ Asset inventory tersedia

☐ Target sudah ditentukan

☐ Environment ditentukan

☐ Architecture tersedia

☐ API documentation tersedia jika relevan

☐ Test account tersedia

☐ User role terdokumentasi

☐ Monitoring aktif

☐ Backup/recovery tersedia sesuai kebutuhan

☐ Emergency contact tersedia

☐ Rules of Engagement disepakati


Checklist Pentest untuk Developer

☐ Application flow tersedia

☐ Business logic dipahami

☐ API documentation tersedia

☐ Authentication flow tersedia

☐ Authorization model terdokumentasi

☐ Test account tersedia

☐ Test data tersedia

☐ PIC developer tersedia

☐ Remediation owner ditentukan

☐ Retesting direncanakan


Checklist Pentest Lengkap

Berikut checklist yang dapat langsung digunakan:

A. Planning

☐ Tentukan tujuan

☐ Tentukan target

☐ Tentukan scope

☐ Tentukan jenis pentest

☐ Tentukan methodology

B. Authorization

☐ Authorization

☐ Rules of Engagement

☐ NDA/confidentiality jika diperlukan

☐ Contact person

C. Technical Preparation

☐ Asset inventory

☐ Architecture

☐ API documentation

☐ Test account

☐ User role

☐ Test data

D. Operational Preparation

☐ Jadwal

☐ Monitoring

☐ Backup

☐ Recovery

☐ Emergency procedure

E. Reporting

☐ Executive report

☐ Technical report

☐ Finding classification

☐ Risk rating

☐ Recommendation

F. Post-Pentest

☐ Remediation

☐ Retesting

☐ Closure

☐ Lessons learned


Kesalahan Umum Saat Mempersiapkan Pentest

1. Scope Terlalu Umum

“Pentest semua sistem.”

Kalimat seperti ini tidak cukup.

Scope harus jelas.


2. Tidak Menentukan Batasan

Tester perlu mengetahui aktivitas yang diperbolehkan dan dilarang.


3. Tidak Menyiapkan PIC

Jika terjadi masalah, komunikasi dapat menjadi lambat.


4. Tidak Menentukan Environment

Production dan staging memiliki risiko yang berbeda.


5. Hanya Fokus pada Technical Findings

Management juga perlu memahami business impact.


6. Tidak Menyiapkan Remediation

Pentest bukan akhir proses.

Finding harus ditindaklanjuti.


Apakah Perusahaan Harus Melakukan Pentest Setiap Tahun?

Tidak ada satu jadwal yang cocok untuk semua perusahaan.

Frekuensi pentest sebaiknya mempertimbangkan:

  • criticality sistem;
  • perubahan aplikasi;
  • perubahan architecture;
  • risk profile;
  • kebutuhan compliance;
  • incident history;
  • dan security maturity.

Selain pengujian berkala, pentest juga dapat dipertimbangkan setelah perubahan signifikan pada sistem.

Misalnya:

Major Application Update

↓

Architecture Change

↓

Cloud Migration

↓

New API

↓

Security Testing


Persiapan Pentest Bukan Hanya Tanggung Jawab Tim IT

Pentest melibatkan beberapa pihak.

Management

Menentukan prioritas dan risk appetite.

IT

Menyiapkan infrastructure.

Security

Menentukan security requirement.

Developer

Memahami application dan melakukan remediation.

Business

Memahami business process.

Tester

Melakukan security testing sesuai scope.

Karena itu:

Pentest adalah aktivitas lintas fungsi, bukan hanya pekerjaan tim IT.


Bagaimana Jika Perusahaan Belum Memiliki Tim Pentest Internal?

Tidak semua perusahaan memiliki security team dengan kompetensi penetration testing.

Dalam kondisi tersebut, perusahaan dapat mempertimbangkan menggunakan tenaga eksternal yang memiliki kompetensi dan pengalaman yang sesuai.

Namun perusahaan tetap perlu memahami prosesnya.

Minimal pihak internal harus mampu:

  • menentukan scope;
  • memahami risiko;
  • menilai hasil laporan;
  • menentukan prioritas remediation;
  • berkomunikasi dengan tester;
  • dan melakukan follow-up.

Karena itu, knowledge transfer juga penting.


Training Pentest untuk Mempersiapkan SDM Perusahaan

Pentest yang efektif tidak hanya membutuhkan tools dan teknologi.

Perusahaan juga membutuhkan SDM yang memahami:

Cybersecurity Fundamentals

  •  

Vulnerability

  •  

Penetration Testing Methodology

  •  

Risk Assessment

  •  

Reporting

  •  

Remediation

NEMA Academy dapat membantu perusahaan meningkatkan kompetensi SDM melalui program Training Pentest dan Cybersecurity yang dapat disesuaikan dengan kebutuhan organisasi.

Program training dapat diarahkan untuk:

  • IT;
  • Security;
  • Network;
  • Developer;
  • System Administrator;
  • maupun professional yang ingin memahami cybersecurity dari sisi manajemen.

Materi dapat disesuaikan berdasarkan level:

Basic → Intermediate → Advanced

Dengan pendekatan pembelajaran:

Concept → Demonstration → Practice → Case Study → Review

Dengan demikian, peserta tidak hanya memahami istilah pentest, tetapi juga memahami bagaimana proses penetration testing dapat direncanakan, dilaksanakan, dilaporkan, dan ditindaklanjuti dalam lingkungan perusahaan.


Kesimpulan

Persiapan merupakan bagian penting dalam keberhasilan pentest.

Sebelum tester mulai melakukan pengujian, perusahaan perlu memastikan:

Tujuan jelas

↓

Scope jelas

↓

Authorization tersedia

↓

Rules of Engagement disepakati

↓

Target dan environment ditentukan

↓

PIC tersedia

↓

Emergency procedure siap

↓

Reporting disepakati

↓

Remediation owner ditentukan

↓

Retesting direncanakan

Dengan persiapan tersebut, pentest dapat dilakukan secara lebih:

Aman

Terarah

Efisien

Terukur

dan

Relevan dengan kebutuhan bisnis.

Hal terpenting adalah jangan melihat pentest hanya sebagai aktivitas:

“Mencari celah keamanan.”

Tetapi sebagai bagian dari proses:

Identify → Validate → Prioritize → Remediate → Retest → Improve

Karena tujuan akhir pentest bukan sekadar menghasilkan laporan vulnerability.

Tujuannya adalah membantu perusahaan:

memahami risiko, memperbaiki kelemahan, dan meningkatkan keamanan sistem secara berkelanjutan.

Dan ketika perusahaan ingin membangun kemampuan cybersecurity dari dalam, pengembangan kompetensi SDM menjadi salah satu investasi penting untuk mendukung security posture organisasi dalam jangka panjang.

Butuh training IT untuk tim Anda?

NEMA Academy merancang in-house training dan pendampingan yang disesuaikan dengan kebutuhan organisasi Anda. Konsultasikan kebutuhan tim Anda langsung dengan kami.