VMware ESXi sunucuları 8.x sürümüne yükseltildikten sonra vSphere Client üzerindeki host özet ekranında aşağıdaki bilgilendirme mesajıyla karşılaşılabilir;
“ExecInstalledOnly has been disabled. This allows the execution of non-installed binaries on the host. Unknown content can cause malware attacks similar to Ransomware.”
Bu mesaj ESXi host üzerinde doğrudan bir servis kesintisi veya kritik sistem hatası meydana geldiği anlamına gelmez. Ancak önemli bir güvenlik özelliğinin devre dışı bırakıldığını gösterdiği için dikkate alınmalıdır.
Bu makalede ExecInstalledOnly özelliğinin ne işe yaradığını uyarının neden oluştuğunu ve ayarın nasıl yeniden etkinleştirilebileceğini inceleyeceğiz.
ExecInstalledOnly Nedir?
ExecInstalledOnly VMware ESXi üzerinde yalnızca güvenilir şekilde kurulmuş çalıştırılabilir dosyaların kullanılmasına izin veren bir güvenlik mekanizmasıdır.
Bu özellik etkin olduğunda ESXi, temel olarak aşağıdaki koşulları sağlayan çalıştırılabilir dosyalara izin verir:
- ESXi üzerine bir VIB paketi aracılığıyla kurulmuş olması,
- Kurulumdan sonra dosyanın değiştirilmemiş olması,
- ESXi tarafından güvenilir bir bileşen olarak değerlendirilmesi.
VIB, ESXi sürücülerinin, eklentilerinin, ajanlarının ve sistem bileşenlerinin dağıtımında kullanılan yazılım paketleme formatıdır.
ExecInstalledOnly etkin olduğunda ESXi host üzerine manuel olarak kopyalanmış, ZIP dosyasından çıkarılmış veya güvenilir bir VIB paketiyle kurulmamış çalıştırılabilir dosyalar engellenebilir. Böylece host üzerinde yetkisiz yazılımların ve olası fidye yazılımı bileşenlerinin çalıştırılması zorlaştırılır.
ESXi 8.x ile Birlikte Gelen Değişiklik
ESXi 8.0 veya daha yeni bir sürüm kurulduğunda ya da mevcut host bu sürümlere yükseltildiğinde ExecInstalledOnly Internal Runtime ayarı varsayılan olarak etkinleştirilir.
Varsayılan değer aşağıdaki gibidir:
/User/ExecInstalledOnly = 1
Buradaki değerlerin anlamı şöyledir:
0 = Devre dışı
1 = Etkin
Ancak bazı sistemlerde yükseltme sonrasındaki ilk başlatma sırasında bu ayar devre dışı kalabilir. Ayrıca donanım üreticilerine ait firmware güncelleme araçları kendi yardımcı programlarını çalıştırabilmek için ayarı geçici olarak kapatabilir. İşlem tamamlandıktan sonra ayar yeniden etkinleştirilmezse vSphere Client üzerinde güvenlik bilgilendirmesi görüntülenmeye devam eder.
Uyarının Görülme Nedenleri
Bu uyarı genellikle aşağıdaki durumlardan biri nedeniyle oluşur:
ESXi sürüm yükseltmesi
ESXi 7.x sürümünden ESXi 8.x sürümüne geçiş sonrasında ayar, ilk başlatma sırasında beklenen varsayılan değere dönmemiş olabilir.
Ayarın manuel olarak devre dışı bırakılması
Bir yönetici, ESXi üzerine VIB paketiyle kurulmamış bir yardımcı programı çalıştırmak amacıyla ExecInstalledOnly ayarını daha önce kapatmış olabilir.
Firmware güncelleme araçları
Bazı sunucu üreticilerinin firmware güncelleme araçları, güncelleme sırasında kendi çalıştırılabilir dosyalarına izin vermek için bu güvenlik mekanizmasını geçici olarak devre dışı bırakabilir.
Örneğin Broadcom, Hitachi SPH uygulandıktan sonra ExecInstalledOnly ayarının devre dışı kalabildiğini ayrıca belgelemektedir.
Üçüncü taraf yardımcı programları
ESXi üzerine doğrudan kopyalanan donanım tanılama, firmware, depolama veya destek araçları VIB paketiyle kurulmamışsa ExecInstalledOnly tarafından engellenebilir.
Bu durumda ilgili aracın çalıştırılabilmesi için ayar geçici olarak kapatılmış olabilir. Broadcom, kalıcı çözüm olarak üçüncü taraf üreticiyle görüşülmesini ve aracın mümkün olduğunda VIB paketi şeklinde sağlanmasını önermektedir.
Mevcut Ayarın Kontrol Edilmesi
İlk olarak ESXi host üzerinde SSH veya ESXi Shell erişimini etkinleştirin.
Ardından aşağıdaki komutu çalıştırın:
esxcli system settings advanced list -o /User/execInstalledOnly
Ayar devre dışıysa çıktıda aşağıdaki değer görülür:
Path: /User/ExecInstalledOnly
Type: integer
Int Value: 0
Default Int Value: 1
Min Value: 0
Max Value: 1
Buradaki en önemli alan Int Value değeridir.
Int Value: 0
değeri, ExecInstalledOnly Internal Runtime özelliğinin devre dışı olduğunu gösterir.
ExecInstalledOnly Ayarının Etkinleştirilmesi
Uyarıyı kaldırmak ve güvenlik özelliğini yeniden etkinleştirmek için aşağıdaki komutu çalıştırın:
esxcli system settings advanced set -o /User/execInstalledOnly -i 1
Komut çalıştırıldıktan sonra ayarı tekrar kontrol edin:
esxcli system settings advanced list -o /User/execInstalledOnly
Beklenen çıktı aşağıdaki gibi olmalıdır:
Path: /User/ExecInstalledOnly
Type: integer
Int Value: 1
Default Int Value: 1
Min Value: 0
Max Value: 1
Int Value değerinin 1 olması, ayarın yeniden etkinleştirildiğini gösterir.
Host Yeniden Başlatılmalı mı?
Broadcom’un ilgili teknik makalesine göre bu değişiklik bir runtime ayarı üzerinde gerçekleştirildiği için genellikle ESXi hostun yeniden başlatılması gerekmez.
Komut uygulandıktan sonra ayar çoğunlukla anında etkinleşir. vSphere Client üzerindeki mesajın kaybolması için arayüzün yenilenmesi veya host özet ekranının yeniden açılması gerekebilir.
Runtime ve Kernel Ayarları Karıştırılmamalıdır
ESXi üzerinde ExecInstalledOnly ile ilişkili birden fazla ayar bulunabilir. Bunların görevleri ve uygulanma yöntemleri birbirinden farklıdır.
Internal Runtime ayarı
Bu makaledeki uyarıyla doğrudan ilişkili ayardır:
/User/ExecInstalledOnly
Kontrol komutu:
esxcli system settings advanced list -o /User/execInstalledOnly
Etkinleştirme komutu:
esxcli system settings advanced set -o /User/execInstalledOnly -i 1
Bu ayar çoğunlukla yeniden başlatma gerektirmeden uygulanır.
VMkernel boot ayarı
Ayrıca aşağıdaki VMkernel seçeneği bulunmaktadır:
VMKernel.Boot.execInstalledOnly
Bu ayar daha güçlü bir boot seviyesi korumasıyla ilişkilidir ve değiştirilmesi durumunda hostun yeniden başlatılması gerekebilir.
Dolayısıyla yalnızca vSphere Client üzerinde 401376 numaralı Broadcom makalesinde belirtilen bilgilendirme mesajı görülüyorsa öncelikle /User/ExecInstalledOnly runtime ayarı kontrol edilmelidir. Kernel veya TPM enforcement ayarları gereksiz yere değiştirilmemelidir. Broadcom belgeleri de runtime seçeneği ile legacy VMkernel boot seçeneğinin farklı ayarlar olduğunu belirtmektedir.
Ayar Bilerek Devre Dışı Bırakıldıysa Ne Yapılmalı?
Bir firmware güncellemesi veya donanım tanılama aracı çalıştırmak için ayar bilinçli olarak devre dışı bırakıldıysa mesaj geçici olarak göz ardı edilebilir.
Ancak işlem tamamlandıktan sonra aşağıdaki kontroller yapılmalıdır:
- Firmware veya yardımcı program işleminin tamamlandığından emin olun.
- İlgili üreticinin aracının
ExecInstalledOnlyile uyumluluğunu kontrol edin. - Ayarı yeniden etkinleştirin.
- Host özet ekranındaki uyarının kalktığını doğrulayın.
- Gerekli değilse SSH ve ESXi Shell erişimini tekrar kapatın.
Güvenlik mekanizmasının kalıcı olarak devre dışı bırakılması, ESXi üzerinde VIB aracılığıyla kurulmamış çalıştırılabilir dosyalara izin verebilir. Bu nedenle üretim ortamlarında ayarın yalnızca zorunlu durumlarda ve kontrollü bir bakım penceresinde geçici olarak kapatılması daha güvenli bir yaklaşımdır.
Log Dosyaları Üzerinden Kontrol
ESXi üzerinde çalıştırılması engellenen bir dosya varsa /var/log/vobd.log içerisinde aşağıdakine benzer kayıtlar görülebilir:
Execution of non-installed file prevented
veya:
vob.uw.exec.installonly.violation
Bu kayıtlar, çalıştırılmak istenen dosyanın güvenilir bir VIB paketi üzerinden kurulmadığını ve ExecInstalledOnly mekanizması tarafından engellendiğini gösterir.
İlgili kayıtları aramak için aşağıdaki komut kullanılabilir:
grep -i "execInstalledOnly" /var/log/vobd.log
Canlı log takibi yapmak için:
tail -f /var/log/vobd.log | grep -i "execInstalledOnly"
Birden Fazla ESXi Host İçin PowerCLI Kontrolü
Çok sayıda ESXi host bulunan ortamlarda Advanced Setting değeri PowerCLI kullanılarak toplu şekilde kontrol edilebilir.
Get-VMHost | ForEach-Object {
$VMHost = $_
$Setting = Get-AdvancedSetting `
-Entity $VMHost `
-Name "User.ExecInstalledOnly" `
-ErrorAction SilentlyContinue
[PSCustomObject]@{
VMHost = $VMHost.Name
ConnectionState = $VMHost.ConnectionState
ExecInstalledOnly = $Setting.Value
}
}
Ayar adı vCenter veya ESXi build seviyesine göre arayüzde farklı biçimde görüntülenebileceğinden, toplu değişiklik yapmadan önce bir test hostu üzerinde doğrulama yapılması önerilir.
Önerilen İşlem Sırası
Uyarıyla karşılaşıldığında aşağıdaki işlem sırası uygulanabilir:
1. Uyarının hangi hostlarda bulunduğunu belirleyin.
2. Yakın zamanda firmware veya üçüncü taraf araç çalıştırılıp çalıştırılmadığını kontrol edin.
3. /User/ExecInstalledOnly değerini sorgulayın.
4. Değer 0 ise devre dışı bırakılma nedenini araştırın.
5. Geçerli bir operasyonel gereksinim yoksa değeri 1 yapın.
6. Ayarın etkinleştiğini tekrar doğrulayın.
7. vSphere Client üzerindeki uyarıyı kontrol edin.
8. Gerekli değilse SSH ve ESXi Shell hizmetlerini kapatın.
ESXi 8.x sonrasında görülen ExecInstalledOnly has been disabled mesajı, hostun çalışmasını engelleyen kritik bir hata değildir. Bununla birlikte ESXi üzerinde yalnızca güvenilir ve kurulu çalıştırılabilir dosyalara izin veren önemli bir güvenlik katmanının devre dışı olduğunu bildirir.
Ayarın mevcut durumu aşağıdaki komutla kontrol edilebilir:
esxcli system settings advanced list -o /User/execInstalledOnly
Güvenlik özelliğini yeniden etkinleştirmek için:
esxcli system settings advanced set -o /User/execInstalledOnly -i 1
Değişiklik sonrasında Int Value değerinin 1 olduğu doğrulanmalıdır. Bu runtime değişikliği genellikle anında uygulanır ve hostun yeniden başlatılmasını gerektirmez.
Özellikle firmware güncellemeleri veya üçüncü taraf yardımcı programlarının kullanımından sonra bu ayarın kontrol edilmesi VMware ESXi host güvenliğinin korunmasına yardımcı olacaktır.
