TDCTF Academy Logo TDCTF ACADEMY

Patch Management

Patch management adalah proses sistematis untuk mengidentifikasi, memperoleh, menguji, dan menerapkan pembaruan keamanan pada sistem server. Tanpa manajemen patch yang baik, server rentan terhadap eksploitasi kerentanan yang sudah diketahui publik.

Update Lifecycle

Setiap organisasi harus memiliki siklus hidup patch yang jelas:

  1. Discovery - deteksi kerentanan baru melalui CVE, vendor advisory, atau scanner keamanan.
  2. Assessment - evaluasi dampak dan urgency terhadap lingkungan produksi.
  3. Testing - uji patch di environment staging yang identik dengan produksi.
  4. Deployment - terapkan patch secara bertahap (canary/rolling).
  5. Verification - konfirmasi bahwa patch berhasil dan service berjalan normal.
  6. Documentation - catat semua perubahan dalam change log.

Linux: APT Unattended-Upgrades (Debian/Ubuntu)

Untuk server Debian/Ubuntu, aktifkan unattended-upgrades agar patch keamanan kritis diterapkan secara otomatis. Konfigurasi ada di /etc/apt/apt.conf.d/50unattended-upgrades:

Unattended-Upgrade::Origins-Pattern { "o=Ubuntu,a=${distro_codename}-security"; };
Unattended-Upgrade::AutoFixInterruptedDpkg "true";
Unattended-Upgrade::MinimalSteps "true";
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
Unattended-Upgrade::Remove-New-Unused-Dependencies "true";

Aktifkan dengan dpkg-reconfigure --priority=low unattended-upgrades. Pastikan notifikasi email atau Slack terkonfigurasi agar admin mendapat laporan jika ada kegagalan.

Linux: Yum-Cron / DNF-Automatic (RHEL/CentOS/Fedora)

Pada distribusi berbasis RPM, gunakan yum-cron (CentOS 7) atau dnf-automatic (RHEL 8+/Fedora). Konfigurasi di /etc/yum/yum-cron.conf atau /etc/dnf/automatic.conf:

apply_updates = yes
emit_via = motd
update_cmd = security

Kirim notifikasi via email dengan mengatur emit_via = email dan konfigurasi SMTP.

Windows Update (WSUS & SCCM)

Untuk lingkungan Windows Server skala enterprise, gunakan WSUS (Windows Server Update Services) untuk mengelola distribusi patch dari server lokal, menghemat bandwidth internet dan memberikan kontrol approval. Integrasikan dengan SCCM (System Center Configuration Manager) untuk pelaporan kepatuhan patch yang lebih granular. Kebijakan patch diterapkan melalui Group Policy - konfigurasikan auto-update, jadwal instalasi, dan reboot otomatis di jam non-operasional.

Vulnerability Scanning Integration

Patch management tidak bisa berjalan sendiri tanpa umpan balik dari vulnerability scanner seperti Nessus, OpenVAS, atau Qualys. Jadwalkan scanning mingguan dan bandingkan hasilnya dengan database patch yang sudah diterapkan. Setiap temuan kritis harus menghasilkan ticket otomatis ke tim ops.

Patch Testing (Dev/Stage/Prod)

Jangan pernah menerapkan patch langsung ke produksi tanpa uji coba:

  • Dev: Patch diterapkan di environment development, verifikasi kompatibilitas.
  • Stage: Uji beban dan fungsionalitas di staging yang mirror produksi.
  • Prod: Deploy secara bertahap - mulai dari server non-kritis, lalu server kritis.

Rollback Plan

Setiap patch harus memiliki rencana rollback. Di Linux, simpan snapshot LVM atau gunakan apt-get install --reinstall <version> untuk kembali ke versi sebelumnya. Di Windows, buat restore point sebelum instalasi patch. Dokumentasikan langkah rollback di runbook.

Zero-Day Mitigation

Untuk kerentanan zero-day yang belum ada patchnya, gunakan mitigasi sementara:

  • Virtual Patching - blokir serangan di level WAF (ModSecurity, Cloudflare WAF) atau IDS/IPS (Snort, Suricata).
  • Workaround - nonaktifkan fitur yang rentan, batasi akses via firewall.
  • Extended Detection - aktifkan logging ekstra untuk mendeteksi percobaan eksploitasi.

Dengan patch management yang disiplin, risiko eksploitasi kerentanan known-vulnerability dapat ditekan secara signifikan.

PADA HALAMAN INI