Dulu saya suka Windows, Lalu Linux, dan kemudian macOS, tapi sekarang ini saya lebih sering memakai Windows lagi. Tulisan ini tentang fitur baru Windows yang berguna untuk programmer dan security researcher. Saya hanya membahas Windows 11 Pro, meskip sebagian besar fitur sudah ada di Windows 10, tapi di Windows 11 sudah banyak improvement.
Contents
Windows Sandbox
Windows sudah memiliki anti malware built in yang bagus, tapi kadang bisa salah juga, aplikasi untuk security kadang dianggap malware. Kadang sulit membedakan apakah benar-benar malware, atau hanya false positive.
Jika tetap butuh menjalankan file yang dikhawatirkan adalah malware, sekarang Windows edisi Pro memiliki Windows Sandbox. Windows Sandbox ini seperti virtual machine, tapi ketika dimulai (defaultnya) semuanya kosong/bersih, dan ketika Windows Sandbox ditutup, semua isinya akan dihapus. Di komputer yang cepat, memulai Windows sandbox ini hampir instan.
Selain untuk check malware, menurut saya Windows Sandbox juga sangat berguna untuk testing software ketika development. Kita bisa memastikan kalau software kita bisa berjalan di Windows yang “bersih” (belum terinstall apapun).
Tentunya akan mengesalkan memulai Windows yang benar-benar blank tanpa aplikasi apapun. Untuk solusinya, kita bisa membuat file berektensi WSB, yang berupa XML yang berisi konfigurasi sandbox. Di dalam XML ini, kita bisa memetakan sebuah direktori di Windows dengan direktori di sandbox. Kita juga bisa membuat skrip untuk menjalankan sesuatu (misalnya menginstall aplikasi dengan Winget) .
Untuk kemudahan, sudah ada yang membuat skrip “Run-in-Sandbox” yang menambahkan menu klik kanan di Explorer yang memudahkan kita membuka file di Sandbox cukup dengan klik kanan.
https://github.com/damienvanrobaeys/Run-in-Sandbox
Kelemahan Windows Sandbox adalah: hanya ada satu sandbox yang bisa berjalan di satu waktu. Jika ingin membuat Virtual Machine yang lebih permanen, kita bisa memakai Hyper-V yang sudah built in di Windows (jadi tidak perlu lagi menginstall Virtual Box atau VMWare).
WSL (Windows Subsystem for Linux)
WSL memungkinkan kita menjalankan aplikasi Linux di Windows. WSL1 memakai kernel Windows dengan translasi syscall, tapi WSL2 (yang ada di Windows terbaru saat ini) memakai virtual machine dan benar-benar menjalankan kernel Linux. Ada banyak distribusi Linux yang bisa dipilih, dan kita bisa menginstall banyak distro sekaligus.
Dulu WSL1 memiliki banyak kelemahan, tapi sekarang hampir semua aplikasi Linux berjalan lancar. Dulu hanya aplikasi mode teks yang berjalan lancar, sekarang berbagai aplikasi grafis seperti browser, video player juga berjalan. Akses hardware (seperti GPU dan USB) bisa dilakukan, walau belum seluruhnya.
Jika WSL memakai teknologi virtual machine, apa bedanya WSL dan Virtual Machine Linux biasa? Dengan WSL file-file di Linux mudah diakses dari Windows (dari Windows Explorer ada logo penguin) dan juga sebaliknya (dari Linux bisa mengakses drive Windows melalui /mnt/c
, /mnt/d
dst). Window dari aplikasi Linux juga bisa bersebelahan dengan Window dari Windows.
WSA (Windows Subsystem for Android)
Saat ini Microsoft juga menyediakan WSA (Windows Subsystem for Android) yang membuat Windows bisa menjalankan aplikasi Android, tanpa menginstall emulator khusus. Ini bisa dipakai untuk testing/pentesting aplikasi Android.
Untuk menginstall WSA, caranya dengan menginstall Amazon App Store dari Windows App Store, ini akan otomatis menginstall WSA.
Atau kita bisa menginstal Google PlayStore dan Magisk di WSA, menggunakan skrip di repository ini (skrip ini juga berguna untuk manual menginstall WSA tanpa melalui Windows Store):
https://github.com/LSPosed/MagiskOnWSALocal
Windows Terminal
Dulu command prompt Windows menyebalkan, tidak bisa multi tab, tidak memiliki history, fitur search dsb. Sekarang Windows terminal sudah menyelesaikan semua masalah itu. Sekarang Conhost
(program command line lama) masih merupakan aplikasi terminal default, tapi sudah bisa diganti dengan Windows Terminal.
SSH client sekarang juga sudah built in di Windows, jadi tidak harus masuk ke WSL untuk melakukan SSH ke host lain. Di Windows Terminal kita bisa membuat shortcut untuk membuka langsung SSH ke sebuah host. Contohnya kita bisa membuat profile seperti ini:
Sehingga akan muncul di Windows Terminal. Jadi dengan menekan Ctrl-Shift-3, saya langsung bisa terkoneksi ke SSH ke host intelnuc
. Dulu saya memakai program Putty untuk SSH, sekarang Putty tidak pernah saya pakai untuk SSH, hanya untuk mengakses serial port.
Selain SSH Client, OpenSSH Server juga menjadi bagian Windows dan bisa diinstall dengan menambahkannya di Optional Features. Dengan menginstall Open SSH Server, kita bisa melakukan koneksi SSH dari sistem operasi manapun dan masuk ke prompt command line Windows (bukan masuk ke WSL).
Perlu diperhatikan, bahwa setelah isntalasi, OpenSSH server tidak langsung aktif. Kita perlu membuka “Services” untuk mengaktifkan server ini (dan bisa diset agar auto start ketika Windows dimulai).
Defaultnya ketika melakukan SSH ke Windows, kita akan masuk ke command line (cmd.exe
), jika ingin powershell, kita bisa mengganti registry: New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Program Files\PowerShell\7\pwsh.exe" -PropertyType String -Force
(sesuaikan dengan path PowerShell Anda, saya memakai versi terbaru)
Winget
Di Linux, installasi software mudah dilakukan dengan package manager seperti apt
, yum
, pacman
atau yang lain. Di Windows ada banyak software yang berusaha melakukan hal serupa, seperti Scoop, Chocolatey, Ninite, dsb. Memakai package manager akan lebih mudah menginstall dan mengupdate software dibandingkan harus manual menginstall tiap software dengan installer.
Sekarang sudah ada Winget yang included built in di Windows dan merupakan proyek resmi Microsoft. Selain sudah built in di Windows, kelebihan lain winget di banding package manager yang lain: bisa dipakai untuk menginstall aplikasi dari Windows store. Tidak semua package tersedia di Winget (misalnya ada yang hanya tersedia di Scoop), jadi saya tetap menginstall juga package manager yang lain.
Perintah paling dasar winget adalah winget search <nama package>
dan winget install <id_package>
. Misalnya untuk menginstall ZAProxy, saya bisa menjalankan winget search zaproxy
, dan dari hasil yang keluar, Id-nya adalah ZAP.ZAP
, jadi berikutnya saya bisa menginstall dengan winget install zap.zap
.
Saya memiliki skrip yang berisi menginstall berbagai package yang saya perlukan di Windows memakai Winget. Ketika mensetup komputer (atau virtual machine baru), saya tinggal menjalankan script tersebut.
Penutup
Dulu saya memakai Linux karena sangat nyaman untuk development. Lalu saya memakai macOS karena bisa menjalankan berbagai aplikasi desktop dengan nyaman dan bisa mengakses command line. Tapi sekarang banyak sekali restriksi macOS, banyak operasi tidak bisa dilakukan tanpa mendisable SIP (System Integrity Protection).
Dengan pertimbangan kenyamanan, saat ini Windows jadi sistem operasi default di desktop saya. Mungkin di masa depan saya akan beralih lagi ke OS lain, tapi saat ini menurut saya Windows menawarkan kemudahan dan kenyamanan yang cukup bagi saya.
secara keseluruhan, apakah cukup layak untuk migrasi dari Windows 10 ke Windows 11?
Menurut saya sih sudah layak.