BAB 11 - PERANGKAT DIGITAL
PENGANTAR BAB
Setelah mengamankan akun dan media sosial di bab-bab sebelumnya, kini kita fokus pada perangkat fisik yang Anda gunakan setiap hari: laptop, smartphone, tablet, dan perangkat lainnya. Perangkat-perangkat ini dikenal sebagai "endpoint" - titik akhir dalam jaringan yang menjadi pintu masuk utama bagi serangan siber.
Menurut Verizon DBIR 2024, 92% malware dikirim via email ke endpoint pengguna. Ponemon Institute (2023) melaporkan bahwa 68% organisasi pernah mengalami endpoint breach dalam 12 bulan terakhir. Dan 60% bisnis kecil yang terkena serangan siber tutup dalam 6 bulan setelahnya.
Bab ini akan membekali Anda dengan pengetahuan dan praktik langsung untuk mengamankan setiap perangkat digital Anda - dari konfigurasi dasar hingga hardening tingkat lanjut. Setelah bab ini, Anda akan memiliki sistem pertahanan berlapis untuk setiap perangkat yang Anda gunakan.
Verizon DBIR 2024
Ponemon 2023
Cybersecurity Ventures
IBM 2023
- Memahami konsep endpoint security
- Mengamankan komputer dan laptop
- Mengamankan smartphone (Android & iOS)
- Mengelola update dan patch
- Memahami antivirus dan EDR
- Mengonfigurasi firewall perangkat
- Mengimplementasikan enkripsi perangkat
- Mengamankan USB dan removable media
- Melakukan backup dan recovery
- Melakukan device hardening
KONSEP ENDPOINT SECURITY
Endpoint adalah perangkat fisik yang terhubung ke jaringan dan berkomunikasi dengan sistem pusat. Setiap endpoint adalah potensi pintu masuk bagi attacker ke jaringan Anda. Memahami konsep endpoint security adalah fondasi untuk melindungi seluruh infrastruktur digital.
Definisi
"Endpoint security is the practice of protecting endpoints such as laptops, desktops, mobile devices, and servers from malicious activity and unauthorized access."
"Endpoint security is the cybersecurity practice of protecting endpoints such as laptops, desktops, mobile devices, and servers from malicious activity and unauthorized access through a combination of technologies, processes, and policies."
Apa Saja yang Termasuk Endpoint?
LAPTOP/PC
Windows, macOS, Linux desktop
SMARTPHONE
Android, iOS
TABLET
iPad, Android tablet
SERVER
Physical & virtual servers
IOT DEVICES
Smart TV, kamera IP, printer
POS TERMINAL
Point of Sale, ATM
ICS/SCADA
Industrial control systems
CONNECTED CARS
Modern vehicles with connectivity
Evolusi Endpoint Security
| ERA | TEKNOLOGI | KARAKTERISTIK |
|---|---|---|
| 1987-2000 | Antivirus Tradisional | Signature-based, reaktif |
| 2000-2010 | Next-Gen AV (NGAV) | Behavior-based, heuristic |
| 2010-2020 | EDR (Endpoint Detection & Response) | Continuous monitoring, threat hunting |
| 2020-sekarang | XDR (Extended Detection & Response) | Cross-platform, AI-driven, integrated |
Komponen Endpoint Security
Deteksi malware
Filter trafik
Proteksi data
Cegah data leak
Deteksi & respons
- Endpoint = rumah Anda
- Antivirus = satpam yang mengenali wajah maling
- Firewall = pagar & pintu terkunci
- Encryption = brankas untuk dokumen penting
- DLP = sensor yang mencegah dokumen dibawa keluar
- EDR = CCTV + alarm + tim respons cepat
Tidak ada satu sistem yang sempurna - butuh pertahanan berlapis (defense in depth).
Firewall terbaik tidak berguna jika karyawan mengklik link phishing. Enkripsi kuat tidak berguna jika laptop dicuri tanpa password. Endpoint adalah titik terlemah karena melibatkan faktor manusia. Inilah mengapa security awareness sama pentingnya dengan teknologi.
- NIST SP 800-171 - Protecting CUI in Nonfederal Systems
- Gartner - Endpoint Security Market Guide 2024
- MITRE ATT&CK - Enterprise Matrix - Execution/Lateral Movement
- CrowdStrike - Falcon Endpoint Protection
KEAMANAN KOMPUTER & LAPTOP
Komputer dan laptop adalah endpoint paling kritis untuk sebagian besar pengguna. Mereka menyimpan data sensitif, mengakses akun penting, dan menjadi target utama attacker. Mengamankan PC/laptop adalah prioritas utama.
Layer Keamanan PC/Laptop
Checklist Keamanan PC/Laptop
| KATEGORI | AKSI | PRIORITAS |
|---|---|---|
| BIOS/UEFI | Set BIOS password, enable Secure Boot, disable boot from USB | CRITICAL |
| User Account | Gunakan standard user, bukan admin untuk harian | CRITICAL |
| OS Update | Auto-update Windows/macOS/Linux | CRITICAL |
| Antivirus | Windows Defender (Windows) atau solusi komersial | CRITICAL |
| Firewall | Windows Firewall / iptables / pf aktif | HIGH |
| Encryption | BitLocker (Windows) / FileVault (macOS) / LUKS (Linux) | HIGH |
| Screen Lock | Auto-lock setelah 5 menit idle | HIGH |
| Backup | Backup rutin (3-2-1 rule) | HIGH |
| Browser | Update, extension minimal, HTTPS-only mode | MEDIUM |
| Software | Hapus software tidak terpakai, update semua | MEDIUM |
Praktik: Windows Security Hardening
PowerShell - Windows Security Hardening # Jalankan sebagai Administrator # 1. Cek status Windows Update PS> Get-HotFix | Select-Object -Last 5 # 2. Aktifkan Windows Firewall untuk semua profil PS> Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True # 3. Cek status BitLocker PS> Get-BitLockerVolume # 4. Aktifkan BitLocker (jika belum) PS> Enable-BitLocker -MountPoint "C:" -EncryptionMethod Aes256 -TpmProtector # 5. Cek user accounts PS> Get-LocalUser | Select-Object Name,Enabled,LastLogon # 6. Disable guest account PS> Disable-LocalUser -Name "Guest" # 7. Cek status antivirus (Windows Defender) PS> Get-MpComputerStatus | Select-Object RealTimeProtectionEnabled,AntivirusSignatureLastUpdated # 8. Force update signature PS> Update-MpSignature # 9. Cek program startup PS> Get-CimInstance Win32_StartupCommand | Select-Object Name,Command,Location # 10. Cek network connections aktif PS> Get-NetTCPConnection | Where-Object State -eq "Listen" | Select-Object LocalAddress,LocalPort,OwningProcess
Praktik: Linux Security Hardening
Bash - Linux Security Hardening # 1. Update sistem $ sudo apt update && sudo apt upgrade -y # 2. Aktifkan firewall (UFW) $ sudo ufw default deny incoming $ sudo ufw default allow outgoing $ sudo ufw allow ssh $ sudo ufw enable # 3. Cek status firewall $ sudo ufw status verbose # 4. Cek user dengan sudo access $ getent group sudo | cut -d: -f4 # 5. Disable root SSH login $ sudo sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config $ sudo systemctl restart sshd # 6. Cek service yang berjalan $ systemctl list-units --type=service --state=running # 7. Cek port yang terbuka $ sudo ss -tulpn # 8. Cek file dengan SUID bit (potensi privilege escalation) $ sudo find / -perm -4000 -type f 2>/dev/null # 9. Cek password policy $ cat /etc/login.defs | grep PASS # 10. Cek last logins $ last -10 $ lastb -10 # failed logins
- BIOS/UEFI = fondasi & pagar terluar
- OS = dinding rumah & pintu utama
- Application = jendela & kunci dalam
- Data = brankas di dalam rumah
Jika pagar jebol, masih ada dinding. Jika dinding jebol, masih ada kunci dalam. Defense in depth - setiap layer memperlambat attacker.
- CIS - CIS Controls v8 (centerforinternetsecurity.org)
- Microsoft - Windows Security Baseline
- Apple - macOS Security Guide
- Canonical - Ubuntu Security Guide
KEAMANAN SMARTPHONE
Smartphone adalah perangkat paling personal yang kita miliki - selalu dibawa, menyimpan data sensitif, dan terhubung ke banyak layanan. Menurut Statista 2024, 6.9 miliar orang di dunia menggunakan smartphone, menjadikannya target serangan yang sangat menarik.
Statistik Mobile Threat
Statista 2024
DataReportal
AV-TEST
Android vs iOS Security
| ASPEK | ANDROID | iOS |
|---|---|---|
| Model | Open source (AOSP), fragmentasi tinggi | Closed ecosystem, terkontrol Apple |
| App Store | Google Play + side loading | App Store only (lebih ketat) |
| Update | Tergantung vendor, sering tertunda | Sentral, cepat (5-7 tahun support) |
| Sandboxing | Ya, tapi lebih longgar | Sangat ketat |
| Encryption | Default di device modern | Default, hardware-backed |
| Root/Jailbreak | Mungkin (root) | Mungkin (jailbreak, lebih sulit) |
| Malware risk | Lebih tinggi (side loading) | Lebih rendah |
Checklist Keamanan Smartphone
- Update OS segera saat tersedia
- Screen lock aktif (PIN/password/biometrik)
- Auto-lock setelah 30 detik - 1 menit
- Enkripsi perangkat aktif (default di device modern)
- Backup rutin (iCloud/Google Drive)
- Find My Device aktif
- Hanya install dari official store (Play Store/App Store)
- Review app permissions berkala
- Hapus app tidak terpakai
- Jangan jailbreak/root kecuali paham risiko
Android Security Tips
| SETTING | REKOMENDASI | CARA |
|---|---|---|
| Google Play Protect | AKTIF | Play Store -> Profile -> Play Protect |
| Install unknown apps | MATIKAN | Settings -> Security -> Install unknown apps |
| Verify apps | AKTIF | Settings -> Security -> Verify apps |
| Encryption | AKTIF (default) | Settings -> Security -> Encryption |
| Find My Device | AKTIF | Settings -> Security -> Find My Device |
| App permissions | REVIEW BERKALA | Settings -> Privacy -> Permission Manager |
iOS Security Tips
| SETTING | REKOMENDASI | CARA |
|---|---|---|
| Passcode | 6 digit / custom alphanumeric | Settings -> Face ID & Passcode |
| Erase Data | AKTIF (hapus setelah 10x gagal) | Settings -> Face ID & Passcode |
| Lockdown Mode | AKTIF untuk high-risk users | Settings -> Privacy & Security |
| Stolen Device Protection | AKTIF (iOS 17.3+) | Settings -> Face ID & Passcode |
| App Tracking | "Ask App Not to Track" | Settings -> Privacy & Security |
| Advanced Data Protection | AKTIF (E2E iCloud backup) | Settings -> Apple ID -> iCloud |
Mobile Threats Umum
SMISHING
SMS phishing minta klik link
MOBILE MALWARE
Aplikasi palsu berisi malware
PUBLIC WIFI
MITM di Wi-Fi publik
LOCATION TRACKING
App akses lokasi berlebihan
SIM SWAP
JUICE JACKING
Praktik: Cek Aplikasi Berbahaya di Android
Bash - ADB Android Security Check # Perlu USB debugging aktif & ADB terinstall # 1. List semua aplikasi terinstall $ adb shell pm list packages # 2. Cek aplikasi dengan permission berbahaya $ adb shell dumpsys package | grep -A 5 "android.permission.READ_SMS" # 3. Cek aplikasi dengan akses device admin $ adb shell dumpsys device_policy # 4. Cek aplikasi yang install dari unknown source $ adb shell settings get secure install_non_market_apps # 5. Cek status enkripsi $ adb shell getprop ro.crypto.state encrypted # 6. Cek USB debugging status $ adb shell settings get global adb_enabled # 7. Cek aplikasi dengan overlay permission (potensi clickjacking) $ adb shell dumpsys appops | grep SYSTEM_ALERT_WINDOW # 8. Uninstall aplikasi mencurigakan $ adb uninstall com.suspicious.app # 9. Cek status Play Protect $ adb shell settings get global package_verifier_enable 1 # 1 = enabled # 10. Factory reset (jika device dicurigai compromised) # PERINGATAN: Ini akan hapus semua data! $ adb shell recovery --wipe_data
Pegasus oleh NSO Group (Israel) adalah spyware mobile paling canggih. Memanfaatkan zero-click exploit di iMessage (iOS) dan WhatsApp - menginfeksi HP tanpa korban klik apapun. Target: jurnalis, aktivis, politisi. Di Indonesia, beberapa jurnalis dan aktivis dilaporkan menjadi target (2021).
Pelajaran: bahkan smartphone ter-update pun bisa rentan terhadap zero-day. Aktifkan Lockdown Mode di iOS untuk high-risk users.
Smartphone adalah:
- Dompet - e-wallet, mobile banking
- Diary - foto, chat, email pribadi
- Kunci rumah - smart home, OTP
- KTP - identitas digital
Jika smartphone hilang/dibajak, semua aspek hidup digital Anda terancam. Lindungi seperti lindungi dompet fisik.
- Google - Android Security & Privacy Protection
- Apple - iOS Security Guide
- EFF - Surveillance Self-Defense: Mobile
- Citizen Lab - Pegasus Research
UPDATE & PATCH MANAGEMENT
Patch management adalah proses mengidentifikasi, memperoleh, menguji, dan menginstall patch (update) untuk software. Ini adalah kontrol keamanan paling dasar namun sering diabaikan. Menurut Verizon DBIR 2024, 21% breach melibatkan eksploitasi vulnerability yang sudah ada patch-nya.
Statistik Patch
Verizon DBIR 2024
Ponemon 2023
Google Project Zero
Jenis Patch
| JENIS | DESKRIPSI | PRIORITAS | CONTOH |
|---|---|---|---|
| Security Patch | Menutup vulnerability keamanan | CRITICAL | CVE-2024-XXXX |
| Bug Fix | Memperbaiki bug fungsional | HIGH | Crash fix |
| Feature Update | Menambah fitur baru | MEDIUM | Windows 11 23H2 |
| Driver Update | Update driver hardware | MEDIUM | GPU driver, printer driver |
| Firmware Update | Update firmware device | HIGH | BIOS/UEFI, router firmware |
Best Practices Patch Management
- Auto-update untuk OS dan aplikasi kritis
- Patch Tuesday (Microsoft) - update setiap Selasa kedua tiap bulan
- Test patch di environment terpisah sebelum deploy ke production
- Prioritaskan security patch - install dalam 24-48 jam
- Inventory semua software - tahu apa yang perlu di-patch
- Monitor vulnerability feeds - CVE, NVD, vendor advisory
- Document patching - catat apa yang di-patch dan kapan
- Rollback plan - siapkan rencana jika patch bermasalah
Praktik: Cek Vulnerability dengan Tools
Bash - Vulnerability Scanning # 1. Cek vulnerability di Linux (Ubuntu/Debian) $ sudo apt install apt-show-versions $ sudo apt-show-versions -i | grep -i security # 2. Cek package outdated $ apt list --upgradable # 3. Cek CVE di sistem dengan Lynis (security auditing tool) $ sudo apt install lynis $ sudo lynis audit system # 4. Cek Windows updates dengan PowerShell PS> Get-HotFix | Sort-Object InstalledOn -Descending | Select-Object -First 10 # 5. Cek vulnerability di Windows dengan Microsoft Baseline Security Analyzer # Download: microsoft.com/en-us/download/details.aspx?id=7558 # 6. Cek online - CVE database # https://nvd.nist.gov/vuln/search # https://cve.mitre.org/cve/search_cve_list.html # 7. Cek dengan Nmap (untuk network devices) $ nmap -sV --script vuln 192.168.1.1 # 8. Cek dengan OpenVAS (open source vulnerability scanner) $ sudo apt install openvas $ sudo gvm-setup $ sudo gvm-start # Akses via browser: https://localhost:9392 # 9. Cek browser extensions outdated # Chrome: chrome://extensions/ # Firefox: about:addons # 10. Subscribe ke security mailing list # - Microsoft Security Response Center # - Apple Security Updates # - Linux distro security lists
Sumber Informasi Vulnerability
| SUMBER | URL | DESKRIPSI |
|---|---|---|
| NVD | nvd.nist.gov | National Vulnerability Database (US) |
| CVE | cve.mitre.org | Common Vulnerabilities and Exposures |
| Microsoft MSRC | msrc.microsoft.com | Microsoft Security Response Center |
| Apple Security | support.apple.com/security | Apple Security Updates |
| Android Security | source.android.com/docs/security | Android Security Bulletin |
| CISA KEV | cisa.gov/known-exploited-vulnerabilities | Known Exploited Vulnerabilities catalog |
Tahun 2017, Equifax (kredit bureau AS) mengalami breach yang membocorkan data 147 juta orang. Penyebab: Apache Struts vulnerability (CVE-2017-5638) yang sudah ada patch-nya 2 bulan sebelumnya, tapi Equifax gagal menginstall patch.
Dampak: denda $700 juta, CEO mundur, reputasi hancur. Pelajaran: patch management yang buruk bisa berakibat katastrofik.
- Vulnerability = penyakit
- Patch = vaksin
- Patch management = jadwal imunisasi
- Unpatched system = orang tidak divaksin - rentan sakit
Seperti vaksin, patch perlu di-update berkala. Virus baru muncul, patch baru dirilis. Jangan tunggu sakit baru minum obat.
- NIST SP 800-40 Rev.4 - Guide to Enterprise Patch Management
- CISA - Known Exploited Vulnerabilities Catalog
- Microsoft - Patch Tuesday Documentation
- Verizon - DBIR 2024 - Patching Analysis
ANTIVIRUS & ENDPOINT PROTECTION
Antivirus dan solusi endpoint protection adalah lini pertahanan utama melawan malware. Memahami evolusi dan cara kerjanya penting untuk memilih solusi yang tepat.
Evolusi Antivirus
| ERA | TEKNOLOGI | CARA KERJA | KELEMAHAN |
|---|---|---|---|
| 1987-2000 | Signature-based AV | Cocokkan hash file dengan database signature | Tidak deteksi malware baru (zero-day) |
| 2000-2010 | Heuristic AV | Analisis perilaku mencurigakan | False positive tinggi |
| 2010-2015 | NGAV (Next-Gen AV) | Machine learning, AI, behavioral analysis | Resource intensive |
| 2015-2020 | EDR | Continuous monitoring, threat hunting, response | Butuh SOC analyst |
| 2020-sekarang | XDR | Cross-platform, integrated, AI-driven | Mahal, kompleks |
Perbandingan Solusi Populer
| SOLUSI | TIPE | UNTUK | HARGA |
|---|---|---|---|
| Windows Defender | AV bawaan | Windows personal | Gratis |
| Bitdefender | NGAV | Personal & business | $25-60/tahun |
| CrowdStrike Falcon | EDR/XDR | Enterprise | Custom pricing |
| Microsoft Defender for Endpoint | EDR/XDR | Enterprise | Bagian M365 E5 |
| SentinelOne | EDR/XDR | Enterprise | Custom pricing |
| Malwarebytes | AV on-demand | Personal, second opinion | $40-70/tahun |
| Kaspersky | NGAV | Personal & business | $30-80/tahun |
Cara Kerja Antivirus Modern
SIGNATURE DETECTION
Cocokkan hash file dengan database malware known
HEURISTIC ANALYSIS
Analisis perilaku mencurigakan
MACHINE LEARNING
AI untuk deteksi malware baru
CLOUD ANALYSIS
Analisis file di cloud untuk deteksi real-time
BEHAVIOR MONITORING
Monitor aktivitas real-time
SANDBOXING
Jalankan file mencurigakan di environment terisolasi
Praktik: Windows Defender Commands
PowerShell - Windows Defender Management # 1. Cek status Windows Defender PS> Get-MpComputerStatus # 2. Cek signature version PS> Get-MpComputerStatus | Select-Object AntivirusSignatureVersion,AntivirusSignatureLastUpdated # 3. Update signature PS> Update-MpSignature # 4. Full scan PS> Start-MpScan -ScanType FullScan # 5. Quick scan PS> Start-MpScan -ScanType QuickScan # 6. Custom scan (folder tertentu) PS> Start-MpScan -ScanType CustomScan -ScanPath "C:\Users" # 7. Cek threat history PS> Get-MpThreatDetection # 8. Cek quarantine PS> Get-MpThreat # 9. Remove threat PS> Remove-MpThreat -ThreatID 2147735503 # 10. Exclude folder dari scan (hati-hati!) PS> Add-MpPreference -ExclusionPath "C:\TrustedFolder" # 11. Cek real-time protection status PS> Get-MpPreference | Select-Object DisableRealtimeMonitoring # 12. Enable real-time protection PS> Set-MpPreference -DisableRealtimeMonitoring $false
Praktik: Linux Antivirus (ClamAV)
Bash - ClamAV Linux Antivirus # 1. Install ClamAV $ sudo apt install clamav clamav-daemon # 2. Update virus database $ sudo freshclam # 3. Scan directory $ sudo clamscan -r /home/user # 4. Scan dengan auto-remove $ sudo clamscan -r --remove /home/user # 5. Scan dengan move to quarantine $ sudo mkdir /quarantine $ sudo clamscan -r --move=/quarantine /home/user # 6. Scan specific file $ clamscan suspicious-file.exe # 7. Scan dengan log $ sudo clamscan -r --log=/var/log/clamav.log /home # 8. Setup daemon untuk on-access scanning $ sudo systemctl start clamav-daemon $ sudo systemctl enable clamav-daemon # 9. Cek status daemon $ sudo systemctl status clamav-daemon # 10. Scan dengan multiple threads (lebih cepat) $ sudo clamscan -r -m 4 /home # 4 threads
Antivirus bukan solusi tunggal. Malware modern bisa:
- Menghindari signature detection (polymorphic malware)
- Fileless - hanya di memory, tidak di disk
- Living off the Land (LotL) - pakai tools legitimate
- Zero-day - belum ada signature
Antivirus harus dikombinasi dengan layer keamanan lain: firewall, patch, user awareness, backup.
- Signature detection = satpam kenali wajah maling yang sudah ada di daftar
- Heuristic = satpam curiga dengan perilaku mencurigakan
- AI/ML = CCTV pintar yang belajar pola maling
- Behavior monitoring = satpam yang terus mengawasi
- Sandboxing = ruang interogasi untuk mencurigakan
- AV-TEST - Antivirus Reviews (av-test.org)
- MITRE ATT&CK - Defense Evasion Techniques
- Microsoft - Defender for Endpoint Documentation
- CrowdStrike - EDR vs XDR Guide
FIREWALL PERANGKAT
Firewall perangkat (host-based firewall) adalah software yang memfilter trafik jaringan di level sistem operasi. Berbeda dengan firewall jaringan (di router), firewall perangkat melindungi setiap endpoint secara individual.
Jenis Firewall
| JENIS | LOKASI | FUNGSI | CONTOH |
|---|---|---|---|
| Host-based | Di setiap endpoint | Filter trafik per device | Windows Firewall, iptables, pf |
| Network-based | Di perimeter jaringan | Filter trafik untuk seluruh jaringan | Cisco ASA, Palo Alto, Fortinet |
| Cloud-based | Di cloud | Filter trafik sebelum masuk jaringan | Cloudflare, AWS WAF |
| Web Application | Di depan web server | Filter HTTP/HTTPS traffic | ModSecurity, AWS WAF |
Praktik: Windows Firewall
PowerShell - Windows Firewall Management # 1. Cek status firewall PS> Get-NetFirewallProfile | Select-Object Name,Enabled # 2. Aktifkan firewall untuk semua profil PS> Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True # 3. Set default action PS> Set-NetFirewallProfile -DefaultInboundAction Block -DefaultOutboundAction Allow # 4. List semua rules PS> Get-NetFirewallRule | Select-Object DisplayName,Enabled,Direction,Action # 5. Block incoming RDP (port 3389) PS> New-NetFirewallRule -DisplayName "Block RDP" -Direction Inbound -LocalPort 3389 -Protocol TCP -Action Block # 6. Allow specific IP to access RDP PS> New-NetFirewallRule -DisplayName "Allow RDP from Office" -Direction Inbound -LocalPort 3389 -Protocol TCP -Action Allow -RemoteAddress 192.168.1.0/24 # 7. Block all outgoing except specific apps PS> Set-NetFirewallProfile -DefaultOutboundAction Block PS> New-NetFirewallRule -DisplayName "Allow Chrome" -Direction Outbound -Program "C:\Program Files\Google\Chrome\Application\chrome.exe" -Action Allow # 8. Disable rule PS> Disable-NetFirewallRule -DisplayName "Block RDP" # 9. Remove rule PS> Remove-NetFirewallRule -DisplayName "Block RDP" # 10. Cek logging PS> Set-NetFirewallProfile -LogFileName "C:\windows\system32\LogFiles\Firewall\pfirewall.log" PS> Get-Content "C:\windows\system32\LogFiles\Firewall\pfirewall.log" -Tail 20
Praktik: Linux Firewall (UFW/iptables)
Bash - UFW (Uncomplicated Firewall) # 1. Install UFW $ sudo apt install ufw # 2. Set default policies $ sudo ufw default deny incoming $ sudo ufw default allow outgoing # 3. Allow SSH (PENTING! sebelum enable) $ sudo ufw allow ssh # atau $ sudo ufw allow 22/tcp # 4. Enable firewall $ sudo ufw enable # 5. Cek status $ sudo ufw status verbose # 6. Allow HTTP/HTTPS $ sudo ufw allow http $ sudo ufw allow https # 7. Allow specific port $ sudo ufw allow 8080/tcp # 8. Allow from specific IP $ sudo ufw allow from 192.168.1.100 # 9. Allow from subnet to specific port $ sudo ufw allow from 192.168.1.0/24 to any port 22 # 10. Deny specific IP $ sudo ufw deny from 10.0.0.5 # 11. Delete rule $ sudo ufw status numbered $ sudo ufw delete 3 # 12. Reset firewall $ sudo ufw reset # 13. Logging $ sudo ufw logging on $ sudo tail -f /var/log/ufw.log
Bash - iptables (Advanced) # 1. List rules $ sudo iptables -L -n -v # 2. Flush all rules $ sudo iptables -F # 3. Set default policies $ sudo iptables -P INPUT DROP $ sudo iptables -P FORWARD DROP $ sudo iptables -P OUTPUT ACCEPT # 4. Allow loopback $ sudo iptables -A INPUT -i lo -j ACCEPT # 5. Allow established connections $ sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 6. Allow SSH $ sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 7. Allow HTTP/HTTPS $ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT $ sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # 8. Rate limit SSH (anti brute force) $ sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set $ sudo iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP # 9. Save rules (Ubuntu/Debian) $ sudo apt install iptables-persistent $ sudo netfilter-persistent save # 10. Save rules (CentOS/RHEL) $ sudo iptables-save > /etc/sysconfig/iptables
- Allow rule = daftar tamu yang diizinkan masuk
- Block rule = daftar orang yang dilarang masuk
- Default deny = semua tamu tidak dikenal ditolak
- Default allow = semua tamu boleh masuk (bahaya!)
- Port = pintu berbeda (SSH = pintu belakang, HTTP = pintu depan)
Firewall yang baik: default deny, hanya buka yang diperlukan.
- Microsoft - Windows Firewall with Advanced Security
- Canonical - UFW Documentation
- Netfilter - iptables Tutorial
- NIST SP 800-41 Rev.3 - Firewalls and Firewall Policy
SCREEN LOCK & ENCRYPTION
Screen lock dan device encryption adalah dua kontrol keamanan fundamental yang melindungi perangkat saat hilang atau dicuri. Tanpa keduanya, data sensitif di perangkat Anda bisa diakses siapa saja dalam hitungan menit.
Statistik Perangkat Hilang/Dicuri
Global estimate
Ponemon 2023
via lost device
Screen Lock Methods
| METODE | KEAMANAN | KELEBIHAN | KEKURANGAN |
|---|---|---|---|
| None | TIDAK ADA | Cepat akses | Siapa saja bisa akses |
| Swipe | SANGAT RENDAH | Cepat | Tidak ada proteksi |
| Pattern | RENDAH | Cepat, mudah diingat | Bisa di-smudge attack |
| PIN (4 digit) | RENDAH-SEDANG | Cepat | Hanya 10.000 kombinasi |
| PIN (6+ digit) | SEDANG | Cukup aman | Lebih lama ketik |
| Password | TINGGI | Sangat aman jika kompleks | Lama ketik |
| Fingerprint | TINGGI | Cepat, unik | Tidak bisa diganti jika bocor |
| Face ID | TINGGI | Sangat cepat | Bisa di-spoof (rare) |
Encryption Solutions
| PLATFORM | SOLUSI | ALGORITMA | CATATAN |
|---|---|---|---|
| Windows | BitLocker | AES-128/256 | Butuh TPM chip, Pro/Enterprise only |
| macOS | FileVault 2 | AES-128 (XTS) | Default di Mac modern |
| Linux | LUKS/dm-crypt | AES, Serpent, Twofish | Selama instalasi atau post-install |
| Android | Default encryption | AES-128/256 | Default di Android 6+ |
| iOS | Hardware encryption | AES-256 | Hardware-backed, sangat aman |
Praktik: Enable BitLocker (Windows)
PowerShell - BitLocker Management # 1. Cek status BitLocker PS> Get-BitLockerVolume # 2. Cek TPM status PS> Get-WmiObject -Namespace "Root\cimv2\Tpm" -Class Win32_Tpm | Select-Object IsActivated_InitialValue,IsEnabled_InitialValue,IsOwned_InitialValue # 3. Enable BitLocker dengan TPM PS> Enable-BitLocker -MountPoint "C:" -EncryptionMethod Aes256 -TpmProtector # 4. Enable dengan PIN tambahan PS> Enable-BitLocker -MountPoint "C:" -EncryptionMethod Aes256 -TpmPinProtector # 5. Enable dengan recovery password PS> Enable-BitLocker -MountPoint "C:" -RecoveryPasswordProtector # 6. Backup recovery key ke AD (domain-joined) PS> Backup-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId (Get-BitLockerVolume -MountPoint "C:").KeyProtector[0].KeyProtectorId # 7. Backup recovery key ke file PS> $BLV = Get-BitLockerVolume -MountPoint "C:" PS> Backup-BitLockerKeyProtector -MountPoint "C:" -KeyProtectorId $BLV.KeyProtector[1].KeyProtectorId -Path "C:\Backup" # 8. Suspend BitLocker (untuk update BIOS) PS> Suspend-BitLocker -MountPoint "C:" -RebootCount 1 # 9. Resume BitLocker PS> Resume-BitLocker -MountPoint "C:" # 10. Disable BitLocker # PERINGATAN: Ini akan dekripsi drive! PS> Disable-BitLocker -MountPoint "C:"
Praktik: Enable FileVault (macOS)
Bash - FileVault Management # 1. Cek status FileVault $ fdesetup status # 2. Enable FileVault $ sudo fdesetup enable # 3. Enable dengan recovery key (bukan iCloud) $ sudo fdesetup enable -output RecoveryKey.txt # 4. Cek recovery key $ sudo fdesetup changerecovery -personal # 5. Add user to FileVault $ sudo fdesetup add -usertoadd username # 6. Remove user from FileVault $ sudo fdesetup remove -user username # 7. Disable FileVault # PERINGATAN: Ini akan dekripsi drive! $ sudo fdesetup disable # 8. Cek encryption progress $ diskutil apfs list # 9. List FileVault enabled users $ sudo fdesetup list # 10. Defer FileVault enable until next logout $ sudo fdesetup enable -defer /path/to/recovery.key
Praktik: Enable LUKS (Linux)
Bash - LUKS Full Disk Encryption # Cara termudah: install dengan encryption dari awal # Ubuntu: pilih "Encrypt the new installation" saat install # Untuk encrypt drive tambahan: # 1. Install cryptsetup $ sudo apt install cryptsetup # 2. Format partition dengan LUKS # PERINGATAN: Ini akan hapus semua data di partition! $ sudo cryptsetup luksFormat /dev/sdb1 # 3. Open encrypted partition $ sudo cryptsetup open /dev/sdb1 encrypted_drive # 4. Format dengan filesystem $ sudo mkfs.ext4 /dev/mapper/encrypted_drive # 5. Mount $ sudo mount /dev/mapper/encrypted_drive /mnt/secure # 6. Close encrypted partition $ sudo umount /mnt/secure $ sudo cryptsetup close encrypted_drive # 7. Cek status $ sudo cryptsetup status encrypted_drive # 8. Add key file (untuk auto-mount) $ sudo dd if=/dev/urandom of=/root/keyfile bs=1024 count=4 $ sudo chmod 0400 /root/keyfile $ sudo cryptsetup luksAddKey /dev/sdb1 /root/keyfile # 9. Auto-mount di /etc/fstab # /dev/sdb1 /mnt/secure ext4 defaults 0 2 # /dev/mapper/encrypted_drive /mnt/secure ext4 defaults 0 2 # 10. Cek LUKS header $ sudo cryptsetup luksDump /dev/sdb1
Jika Anda lupa password DAN kehilangan recovery key, data Anda hilang selamanya. Tidak ada cara untuk recover. Pastikan:
- Recovery key disimpan offline (print, USB)
- Disimpan di tempat aman (brankas, safe deposit box)
- Diberitahu ke orang terpercaya (untuk emergency)
- Backup di lokasi berbeda
- Plaintext = bahasa Indonesia (semua orang paham)
- Encryption = bahasa alien (hanya yang punya kamus yang paham)
- Key = kamus bahasa alien
- Ciphertext = teks dalam bahasa alien
Tanpa kamus (key), ciphertext hanya kumpulan karakter acak. Encryption mengubah data menjadi tidak berguna tanpa key.
- Microsoft - BitLocker Overview
- Apple - FileVault Documentation
- Arch Wiki - DM-Crypt
- NIST SP 800-175B - Guidelines for Encryption
USB & REMOVABLE MEDIA
USB dan removable media (flash drive, external HDD, SD card) adalah vektor serangan yang sering diabaikan. Mereka bisa membawa malware, mencuri data, atau bahkan mengeksekusi serangan fisik pada perangkat.
Statistik USB Attacks
Infowar Research
Study 2023
Enterprise Study
Jenis USB Attacks
| JENIS | CARA KERJA | CONTOH |
|---|---|---|
| Malware Dropper | USB berisi malware yang auto-run | Stuxnet (via USB) |
| BadUSB | USB controller di-reprogram jadi keyboard | USB Rubber Ducky |
| O.MG Cable | Kabel USB berisi chip penyerang | O.MG Cable |
| Juice Jacking | Charging port berisi malware | Public charging stations |
| Data Exfiltration | USB dipakai curi data | Insider threat |
USB Rubber Ducky Example
DuckyScript - USB Rubber Ducky Payload # Contoh payload (EDUKASI SAJA!) # Payload ini membuka cmd dan menampilkan pesan DELAY 1000 GUI r DELAY 500 STRING cmd ENTER DELAY 500 STRING echo "Your computer has been compromised!" ENTER DELAY 500 STRING color 0C ENTER DELAY 500 STRING title SYSTEM COMPROMISED ENTER # Payload lebih berbahaya bisa: # - Download & execute malware # - Create backdoor user # - Exfiltrate data # - Install keylogger # - Disable security tools
Kebijakan USB di Organisasi
- Disable auto-run untuk removable media
- Scan USB dengan antivirus sebelum buka
- Jangan pakai USB tidak dikenal (terutama yang "ditemukan")
- Gunakan USB dari sumber terpercaya
- Enkripsi USB yang berisi data sensitif (BitLocker To Go, VeraCrypt)
- USB policy di organisasi: whitelist device, block unknown
- Data Loss Prevention (DLP) untuk cegah data exfiltration via USB
- Gunakan USB data blocker saat charging di tempat publik
- Audit USB usage secara berkala
- Physical security: kunci port USB yang tidak dipakai
Praktik: Disable USB di Windows
PowerShell - USB Control # 1. Disable USB storage via registry PS> Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\USBSTOR" -Name "Start" -Value 4 # 2. Enable USB storage PS> Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\USBSTOR" -Name "Start" -Value 3 # 3. Disable auto-run for all drives PS> Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" -Name "NoDriveTypeAutoRun" -Value 255 # 4. Check USB devices connected PS> Get-PnpDevice -Class USB | Select-Object FriendlyName,Status # 5. Get USB storage devices PS> Get-WmiObject Win32_DiskDrive | Where-Object InterfaceType -eq "USB" # 6. Disable specific USB device PS> Disable-PnpDevice -InstanceId "USB\VID_XXXX&PID_XXXX\..." # 7. Group Policy untuk USB control (enterprise) # Computer Configuration -> Administrative Templates -> System -> Removable Storage Access # 8. Audit USB insertion events PS> Get-WinEvent -LogName "Microsoft-Windows-DriverFrameworks-UserMode/Operational" | Where-Object Id -eq 2003 # 9. Create USB whitelist (Device Control) # Gunakan solution komersial seperti Symantec DLP, McAfee DLP # 10. Check BitLocker To Go (USB encryption) PS> Get-BitLockerVolume -MountPoint "E:"
Praktik: USB Security di Linux
Bash - USB Security Linux # 1. List USB devices $ lsusb # 2. List mounted USB drives $ lsblk # 3. Disable USB storage (kernel module) $ sudo modprobe -r usb-storage $ echo "blacklist usb-storage" | sudo tee /etc/modprobe.d/disable-usb-storage.conf # 4. Re-enable USB storage $ sudo rm /etc/modprobe.d/disable-usb-storage.conf $ sudo modprobe usb-storage # 5. Disable autorun (usbmount) $ sudo apt remove usbmount # 6. Mount USB manually dengan noexec (no execute) $ sudo mount -o ro,noexec /dev/sdb1 /mnt/usb # 7. Scan USB dengan ClamAV $ sudo clamscan -r /mnt/usb # 8. Check USB device details $ sudo hdparm -I /dev/sdb # 9. Encrypt USB with LUKS $ sudo cryptsetup luksFormat /dev/sdb1 $ sudo cryptsetup open /dev/sdb1 usb_encrypted $ sudo mkfs.ext4 /dev/mapper/usb_encrypted $ sudo mount /dev/mapper/usb_encrypted /mnt/secure_usb # 10. Audit USB events $ sudo dmesg | grep -i usb $ sudo cat /var/log/syslog | grep -i usb
Stuxnet adalah malware paling canggih dalam sejarah, diduga dibuat oleh AS & Israel untuk menyerang fasilitas nuklir Iran. Malware ini menyebar via USB flash drive yang dibawa masuk ke fasilitas yang terisolasi dari internet (air-gapped). Stuxnet merusak 1.000 centrifuge di Natanz.
Pelajaran: air-gap tidak cukup jika USB tidak dikontrol. USB adalah jembatan antara dunia terisolasi dan dunia luar.
- USB drive = tamu yang datang lewat pintu belakang
- Auto-run = pintu belakang terbuka otomatis untuk semua tamu
- Malware di USB = tamu yang membawa barang berbahaya
- BadUSB = tamu yang menyamar jadi kurir
Pertahanan: cek semua tamu (scan USB), jangan buka pintu otomatis (disable auto-run), kenal tamu (whitelist device).
- Zetter, K. (2014). Countdown to Zero Day: Stuxnet
- Hak5 - USB Rubber Ducky Documentation
- O.MG - O.MG Cable Documentation
- NIST SP 800-88 - Guidelines on Media Sanitization
BACKUP & RECOVERY
Backup dan recovery adalah lini pertahanan terakhir terhadap ransomware, data corruption, hardware failure, dan bencana. Tanpa backup yang baik, Anda bisa kehilangan semua data secara permanen.
Statistik Backup
IDC
setelah disaster
Backup Institute
Prinsip 3-2-1 Backup
Jenis Backup
| JENIS | DESKRIPSI | KELEBIHAN | KEKURANGAN |
|---|---|---|---|
| Full Backup | Backup semua data | Restore cepat, sederhana | Lama, butuh storage besar |
| Incremental | Backup hanya yang berubah sejak backup terakhir | Cepat, hemat storage | Restore lambat (butuh semua incremental) |
| Differential | Backup yang berubah sejak full backup terakhir | Restore lebih cepat dari incremental | Lebih besar dari incremental |
| Mirror | Copy persis data | Restore instant | Tidak ada versioning |
| Snapshot | Point-in-time copy | Cepat, efisien | Butuh storage khusus |
Backup Strategy
- Identifikasi data kritis - apa yang tidak boleh hilang
- Tentukan RPO (Recovery Point Objective) - berapa banyak data yang boleh hilang
- Tentukan RTO (Recovery Time Objective) - berapa lama waktu restore
- Pilih media backup - external HDD, NAS, cloud, tape
- Otomasi backup - jangan andalkan manual
- Enkripsi backup - lindungi data di backup
- Test restore secara berkala - backup tidak berguna jika tidak bisa di-restore
- Monitor backup - pastikan backup sukses
- Retensi backup - simpan backup lama sesuai kebutuhan
- 3-2-1 rule - selalu ikuti prinsip ini
Praktik: Backup di Windows
PowerShell - Windows Backup # 1. File History (built-in) PS> Add-Type -AssemblyName System.Windows.Forms # Settings -> Update & Security -> Backup -> More options # 2. Robocopy (command-line backup) PS> robocopy "C:\Users\Documents" "E:\Backup\Documents" /MIR /R:3 /W:5 /LOG:backup.log # 3. Windows Server Backup PS> Install-WindowsFeature Windows-Server-Backup PS> wbadmin start backup -backupTarget:E: -include:C: -allCritical -quiet # 4. Check backup status PS> wbadmin get versions # 5. Restore file PS> wbadmin start recovery -version:09/09/2026-14:00 -itemType:File -items:C:\Users\Documents\file.txt -recoveryTarget:C:\Restore # 6. System Image Backup PS> wbadmin start systemimagebackup -backupTarget:E: # 7. Third-party tools: # - Veeam Backup & Replication (free for personal) # - Macrium Reflect # - Acronis True Image # 8. Cloud backup: # - OneDrive (built-in Windows) # - Google Drive # - Backblaze # - Carbonite # 9. Scheduled backup task PS> $action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\Scripts\backup.ps1" PS> $trigger = New-ScheduledTaskTrigger -Daily -At 2am PS> Register-ScheduledTask -TaskName "DailyBackup" -Action $action -Trigger $trigger # 10. Verify backup integrity PS> Get-ChildItem E:\Backup | Select-Object Name,Length,LastWriteTime
Praktik: Backup di Linux
Bash - Linux Backup Tools # 1. rsync (paling umum) $ rsync -avh --progress /home/user/ /backup/home/ # 2. rsync dengan delete (mirror) $ rsync -avh --delete /home/user/ /backup/home/ # 3. rsync incremental $ rsync -avh --link-dest=/backup/previous /home/user/ /backup/current/ # 4. tar (archive) $ tar -czvf backup-$(date +%Y%m%d).tar.gz /home/user # 5. tar dengan encryption $ tar -czvf - /home/user | gpg -c > backup-$(date +%Y%m%d).tar.gz.gpg # 6. dd (disk image) # PERINGATAN: Ini akan copy seluruh disk $ sudo dd if=/dev/sda of=/backup/disk-image.img bs=4M status=progress # 7. Clonezilla (disk cloning) # Download: clonezilla.org # 8. BorgBackup (deduplication) $ sudo apt install borgbackup $ borg init -e repokey /backup/borg-repo $ borg create /backup/borg-repo::backup-$(date +%Y%m%d) /home/user # 9. Restic (modern backup) $ restic init --repo s3:s3.amazonaws.com/my-bucket/ $ restic backup /home/user # 10. Automated backup dengan cron $ crontab -e # Tambahkan: 0 2 * * * /usr/local/bin/backup.sh # Contoh backup.sh: # #!/bin/bash # rsync -avh --delete /home/user/ /backup/home/ # echo "Backup completed: $(date)" >> /var/log/backup.log
Backup Solutions
| SOLUSI | TIPE | HARGA | CATATAN |
|---|---|---|---|
| Backblaze | Cloud backup | $9/bulan | Unlimited backup, mudah dipakai |
| Carbonite | Cloud backup | $6-10/bulan | Automatic backup |
| Google Drive | Cloud storage | $2-10/bulan | 15GB free, sync |
| OneDrive | Cloud storage | $2-7/bulan | Integrated Windows |
| Veeam | Enterprise backup | Free (community) | Powerful, untuk VM & physical |
| NAS (Synology/QNAP) | Local backup | $200-1000+ | On-premise, RAID protection |
Disaster Recovery Plan
Template - Disaster Recovery Plan # ============================================ # DISASTER RECOVERY PLAN # ============================================ 1. SCOPE - Sistem: Laptop kerja, server file - Data kritis: Dokumen proyek, database, email - RTO: 4 jam - RPO: 24 jam 2. BACKUP STRATEGY - Full backup: Setiap Minggu (Minggu 2am) - Incremental: Setiap hari (Senin-Sabtu 2am) - Media: External HDD + Cloud (Backblaze) - Lokasi: Rumah + Cloud (offsite) 3. RECOVERY PROCEDURES # Scenario 1: Laptop rusak [ ] Ganti laptop dengan spare [ ] Install OS dari image [ ] Restore data dari backup terakhir [ ] Install aplikasi dari package list [ ] Test sistem Target: 4 jam # Scenario 2: Ransomware attack [ ] Isolasi sistem (disconnect network) [ ] Identifikasi ransomware variant [ ] Format disk [ ] Reinstall OS [ ] Restore dari backup SEBELUM infection [ ] Scan backup untuk memastikan bersih [ ] Update semua password Target: 6 jam # Scenario 3: Data corruption [ ] Identifikasi file korup [ ] Restore dari backup point sebelum corruption [ ] Verify data integrity Target: 2 jam 4. CONTACT LIST - IT Support: +62 812-xxxx-xxxx - Backup vendor: support@backblaze.com - Management: ceo@company.com 5. TESTING SCHEDULE - Test restore: Setiap 3 bulan - Full DR test: Setiap tahun - Last test: 2026-06-15 (SUCCESS) - Next test: 2026-09-15 6. DOCUMENTATION - Backup logs: /var/log/backup.log - Recovery logs: /var/log/recovery.log - DR plan version: 2.1 - Last updated: 2026-09-01
Banyak organisasi punya backup tapi gagal saat restore karena:
- Backup korup tapi tidak terdeteksi
- Tidak ada dokumentasi cara restore
- Backup terlalu lama (retensi salah)
- Restore process tidak pernah ditest
TEST RESTORE secara berkala - ini sama pentingnya dengan backup itu sendiri!
- Data = nyawa Anda
- Backup = asuransi kehidupan
- Restore = klaim asuransi saat musibah
- Test restore = cek polis asuransi masih valid
Anda tidak tahu kapan butuh asuransi sampai musibah terjadi. Jangan tunggu kehilangan data baru sadar pentingnya backup.
- NIST SP 800-34 Rev.1 - Contingency Planning Guide
- Microsoft - Backup and Restore Documentation
- Linux Backup Tools - rsync, Borg, Restic Documentation
- Backblaze - Backup Best Practices
DEVICE HARDENING
Device hardening adalah proses mengurangi attack surface perangkat dengan menonaktifkan fitur tidak perlu, mengonfigurasi security settings, dan menerapkan best practices. Ini adalah langkah praktis terakhir untuk mengamankan perangkat Anda.
Definisi
"System hardening is the process of reducing the attack surface of a system by removing unnecessary software, disabling unnecessary features, and applying security configurations."
Prinsip Device Hardening
- Minimal installation - hanya install yang diperlukan
- Disable unused services - matikan service tidak dipakai
- Least privilege - hak akses minimal
- Default password change - ganti semua password default
- Patch management - update semua software
- Logging & monitoring - aktifkan log untuk audit
- Network segmentation - isolasi device jika perlu
- Physical security - lindungi perangkat fisik
Praktik: Windows Hardening
PowerShell - Windows Hardening Script # ============================================ # WINDOWS HARDENING SCRIPT # ============================================ # 1. Update Windows PS> Install-Module PSWindowsUpdate PS> Get-WindowsUpdate -Install -AcceptAll -AutoReboot # 2. Disable unused services PS> $services = @("RemoteRegistry", "Fax", "XblGameSave", "XblAuthManager") PS> foreach ($svc in $services) { Stop-Service $svc -Force; Set-Service $svc -StartupType Disabled } # 3. Enable firewall PS> Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True # 4. Disable SMBv1 PS> Set-SmbServerConfiguration -EnableSMB1Protocol $false # 5. Enable BitLocker PS> Enable-BitLocker -MountPoint "C:" -EncryptionMethod Aes256 -TpmProtector # 6. Set password policy PS> net accounts /minpwlen:12 /maxpwage:90 /minpwage:1 /uniquepw:5 # 7. Disable auto-run PS> Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" -Name "NoDriveTypeAutoRun" -Value 255 # 8. Enable audit logging PS> auditpol /set /category:"Logon/Logoff" /success:enable /failure:enable PS> auditpol /set /category:"Object Access" /success:enable /failure:enable # 9. Disable guest account PS> Disable-LocalUser -Name "Guest" # 10. Enable Windows Defender real-time protection PS> Set-MpPreference -DisableRealtimeMonitoring $false # 11. Disable PowerShell v2 (legacy) PS> Disable-WindowsOptionalFeature -Online -FeatureName MicrosoftPowerShellV2 # 12. Enable UAC PS> Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" -Name "EnableLUA" -Value 1 # 13. Disable remote desktop (if not needed) PS> Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 1 # 14. Enable Windows Defender Exploit Guard PS> Set-ProcessMitigation -System -Enable CFG,StrictHandle # 15. Check hardening status PS> Write-Host "=== HARDENING STATUS ===" PS> Get-MpComputerStatus | Select-Object RealTimeProtectionEnabled,AntivirusSignatureLastUpdated PS> Get-NetFirewallProfile | Select-Object Name,Enabled PS> Get-BitLockerVolume
Praktik: Linux Hardening
Bash - Linux Hardening Script # ============================================ # LINUX HARDENING SCRIPT # ============================================ # 1. Update system $ sudo apt update && sudo apt upgrade -y # 2. Disable root SSH login $ sudo sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config $ sudo systemctl restart sshd # 3. Disable password authentication (use SSH keys) $ sudo sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config # 4. Enable firewall $ sudo ufw default deny incoming $ sudo ufw default allow outgoing $ sudo ufw allow ssh $ sudo ufw enable # 5. Install fail2ban (anti brute force) $ sudo apt install fail2ban $ sudo systemctl enable fail2ban # 6. Disable unused services $ sudo systemctl disable avahi-daemon cups bluetooth # 7. Set password policy $ sudo apt install libpam-pwquality $ sudo sed -i 's/^#*minlen.*/minlen = 12/' /etc/security/pwquality.conf # 8. Enable automatic security updates $ sudo apt install unattended-upgrades $ sudo dpkg-reconfigure -plow unattended-upgrades # 9. Disable USB storage $ echo "blacklist usb-storage" | sudo tee /etc/modprobe.d/disable-usb.conf # 10. Enable audit logging $ sudo apt install auditd $ sudo systemctl enable auditd # 11. Set file permissions $ sudo chmod 600 /etc/shadow $ sudo chmod 644 /etc/passwd # 12. Disable core dumps $ echo "* hard core 0" | sudo tee -a /etc/security/limits.conf # 13. Enable ASLR $ echo "kernel.randomize_va_space = 2" | sudo tee -a /etc/sysctl.conf $ sudo sysctl -p # 14. Install and configure AppArmor/SELinux $ sudo apt install apparmor apparmor-utils $ sudo systemctl enable apparmor # 15. Check hardening with Lynis $ sudo apt install lynis $ sudo lynis audit system
CIS Benchmarks
CIS Benchmarks adalah standar industri untuk hardening sistem. Tersedia untuk:
- Windows 10/11, Server 2019/2022
- Ubuntu, CentOS, RHEL, Debian
- macOS
- Docker, Kubernetes
- AWS, Azure, GCP
- Database (MySQL, PostgreSQL, Oracle)
Bash - CIS Benchmark Audit # Download CIS Benchmark # https://www.cisecurity.org/benchmark/ # Contoh audit manual untuk Ubuntu 22.04: # 1. Check password policy $ grep "^PASS_MAX_DAYS" /etc/login.defs $ grep "^PASS_MIN_DAYS" /etc/login.defs # 2. Check SSH config $ grep "^PermitRootLogin" /etc/ssh/sshd_config $ grep "^PasswordAuthentication" /etc/ssh/sshd_config # 3. Check firewall status $ sudo ufw status # 4. Check auditd status $ sudo systemctl status auditd # 5. Check for SUID binaries $ sudo find / -perm -4000 -type f 2>/dev/null # 6. Check world-writable files $ sudo find / -perm -002 -type f 2>/dev/null # 7. Check user accounts $ cat /etc/passwd | grep -v "nologin\|false" # 8. Check listening ports $ sudo ss -tulpn # 9. Check failed login attempts $ sudo lastb | head -20 # 10. Automated CIS audit with OpenSCAP $ sudo apt install libopenscap8 ssg-debderived $ oscap xccdf eval --profile xccdf_org.ssgproject.content_profile_standard \ --results scan-results.xml \ /usr/share/xml/scap/ssg/content/ssg-ubuntu2204-ds.xml
Mobile Device Hardening
Android:
- Update OS ke versi terbaru
- Enable Google Play Protect
- Disable install dari unknown sources
- Set screen lock (PIN 6+ digit / biometrik)
- Enable encryption (default di device modern)
- Review app permissions berkala
- Disable USB debugging (kecuali development)
- Enable Find My Device
iOS:
- Update iOS ke versi terbaru
- Set passcode 6 digit / custom alphanumeric
- Enable "Erase Data" setelah 10x gagal
- Enable Stolen Device Protection (iOS 17.3+)
- Enable Lockdown Mode untuk high-risk users
- Review app permissions berkala
- Disable unnecessary location access
- Enable Advanced Data Protection untuk iCloud
Bayangkan perangkat Anda sebagai benteng medieval:
- Physical security = parit & jembatan angkat
- BIOS password = gerbang utama terkunci
- Firewall = pemanah di menara
- Encryption = brankas di ruang dalam
- Least privilege = hanya orang tertentu yang boleh masuk ruang tertentu
- Logging = penjaga yang mencatat siapa masuk/keluar
Benteng yang tidak diperkuat akan mudah ditembus. Hardening memperkuat setiap lapis pertahanan.
Device hardening adalah proses berkelanjutan:
- Vulnerability baru ditemukan setiap hari
- Software terus di-update
- Konfigurasi bisa berubah
- User behavior berubah
Audit hardening secara berkala - minimal setiap 6 bulan atau setelah perubahan signifikan.
- CIS - CIS Benchmarks & Controls v8 (cisecurity.org)
- Microsoft - Windows Security Baseline
- Canonical - Ubuntu Security Guide
- Apple - iOS Security Guide
- NIST SP 800-123 - Guide to Securing General-Purpose Operating Systems
DIAGNOSTIK KOMPETENSI
Uji pemahaman Anda tentang Bab 11! Target minimal: 70% untuk melanjutkan ke Fase 3.
- Total 10 pertanyaan pilihan ganda
- Klik opsi untuk menjawab - feedback langsung
- Benar = HIJAU, salah = MAGENTA
- Penjelasan muncul setelah menjawab
- Klik "LIHAT HASIL AKHIR" untuk skor final
-
- CIS - CIS Controls v8 & Benchmarks
- NIST SP 800-171 - Protecting CUI in Nonfederal Systems
- NIST SP 800-40 Rev.4 - Patch Management
- NIST SP 800-123 - OS Security Guide
- Microsoft - Windows Security Documentation
- Apple - iOS & macOS Security Guides
- Canonical - Ubuntu Security Guide
- Verizon - DBIR 2024
- AV-TEST - Antivirus Reviews
- Zetter, K. - Countdown to Zero Day: Stuxnet