Terlambat, saya mulai mengerjakan proyek keamanan Cloud di mana saya perlu mendeteksi jenis hypervisor yang menjalankan mesin virtual. Untuk percobaan, saya telah menyiapkan lingkungan pengujian berdasarkan platform cloud OpenStack dengan KVM sebagai hypervisor yang mendasarinya dan juga KVM mandiri dengan QEMU, Xen, dan VirtualBox. Idenya adalah untuk memulai mesin virtual di atas lingkungan ini dan melihat apakah saya dapat mendeteksi teknologi virtualisasi yang menggerakkan VM saat ini. Untungnya, ini sangat mudah.
Catatan: Ada beberapa perintah Linux asli seperti dmesg (menganalisis log sistem), lshw, dmidecode dll... yang membantu Anda menyelesaikan pekerjaan ini – yang akan saya bahas dalam tutorial terpisah.
Di sini, saya akan menggunakan “Sys::Detect::Virtualization ” skrip perl, yang dapat Anda unduh dari tautan ini.
Cara mendeteksi jenis Virtualisasi dari Mesin Virtual (VM)
Setelah Anda memiliki “Sys::Detect::Virtualization ” script yang diunduh dari tautan di atas, salin ke mesin virtual dan instal seperti yang ditunjukkan di bawah ini:
[root@vm ]# tar xvfz Sys-Detect-Virtualization-0.107.tar.gz
[root@vm ]# cd Sys-Detect-Virtualization-0.107
[root@vm Sys-Detect-Virtualization-0.107]# perl Makefile.PL Checking if your kit is complete... Looks good Warning: prerequisite ExtUtils::MakeMaker 6.59 not found. We have 6.30. Warning: prerequisite Test::Deep 0 not found. Warning: prerequisite Test::Exception 0 not found. Warning: prerequisite Test::More 0.82 not found. We have 0.62. Writing Makefile for Sys::Detect::Virtualization
Buat
[root@vm Sys-Detect-Virtualization-0.107]# make cp lib/Sys/Detect/Virtualization.pm blib/lib/Sys/Detect/Virtualization.pm cp lib/Sys/Detect/Virtualization/linux.pm blib/lib/Sys/Detect/Virtualization/linux.pm cp lib/Sys/Detect/Virtualization/freebsd.pm blib/lib/Sys/Detect/Virtualization/freebsd.pm cp script/virtdetect blib/script/virtdetect /usr/bin/perl "-Iinc" "-MExtUtils::MY" -e "MY->fixin(shift)" blib/script/virtdetect Manifying blib/man1/virtdetect.1 Manifying blib/man3/Sys::Detect::Virtualization.3pm Manifying blib/man3/Sys::Detect::Virtualization::freebsd.3pm Manifying blib/man3/Sys::Detect::Virtualization::linux.3pm
Pasang
[root@vm Sys-Detect-Virtualization-0.107]# make install Installing /usr/lib/perl5/site_perl/5.8.8/Sys/Detect/Virtualization.pm Installing /usr/lib/perl5/site_perl/5.8.8/Sys/Detect/Virtualization/linux.pm Installing /usr/lib/perl5/site_perl/5.8.8/Sys/Detect/Virtualization/freebsd.pm Installing /usr/share/man/man1/virtdetect.1 Installing /usr/share/man/man3/Sys::Detect::Virtualization::freebsd.3pm Installing /usr/share/man/man3/Sys::Detect::Virtualization::linux.3pm Installing /usr/share/man/man3/Sys::Detect::Virtualization.3pm Installing /usr/bin/virtdetect Writing /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/auto/Sys/Detect/Virtualization/.packlist Appending installation info to /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/perllocal.pod
Deteksi Virtualisasi menggunakan ‘virtdetect ‘perintah
[root@vm Sys-Detect-Virtualization-0.107]# virtdetect Multiple possible virtualization systems detected: Linux KVM Qemu
Anda juga dapat menjalankan 'virtdetect ' pada lingkungan non-virtual untuk melihat apa yang dihasilkan perintah.
[peter@non-virtualized-machine ]$ virtdetect No virtualization detected