DIABOLIKSS
RehberlerDell PowerEdge BIOS/UEFI Güvenlik Sertleştirme
DELL ALTYAPISI · ileri seviye · 28 dk okuma

Dell PowerEdge BIOS/UEFI Güvenlik SertleştirmeSecure Boot, TPM 2.0, iDRAC ve CIS Benchmark

5 Haziran 2026 28 dk okuma PowerEdge 14G–16G iDRAC9 / Redfish

Dell PowerEdge sunucularda BIOS/UEFI güvenliğini sertleştirmek için Secure Boot politikaları, TPM 2.0 yapılandırması, BIOS parola yönetimi ve iDRAC Redfish API üzerinden merkezi otomasyonu eksiksiz biçimde ele alan kapsamlı teknik rehber. CIS Benchmark gereksinimlerini karşılayan production-ready yapılandırma örnekleri içerir.

01

BIOS/UEFI Temel Kavramları ve Dell Ekosistemi

Dell PowerEdge sunucularda BIOS (Basic Input/Output System) ve UEFI (Unified Extensible Firmware Interface) arasındaki fark yalnızca arayüz değildir; güvenlik modeli temelden farklıdır. 14. nesil (14G) ve sonrasında Dell, tüm sunucularda UEFI Class 3 uyumluluğu sağlamakta, CSM (Compatibility Support Module) desteğini kademeli olarak kaldırmaktadır. Bu geçiş, Secure Boot ve TPM gibi modern güvenlik özelliklerinin kullanımını zorunlu kılmaktadır.

Dell'in BIOS yönetim araçları üç katmanda çalışır: iDRAC9 (Integrated Dell Remote Access Controller), racadm CLI ve Redfish API. iDRAC9, BIOS ayarlarını işletim sistemi bağımsız olarak yönetmenizi sağlar; bu da bakım penceresinde bile güvenlik politikalarını uygulamanıza olanak tanır. Redfish API, DMTF standardını takip eder ve vendor-agnostic otomasyon imkânı sunar.

🔒
Secure Boot
UEFI imza doğrulama
14G+ varsayılan açık
🔑
TPM 2.0
Donanım güven kökü
fTPM veya dTPM seçeneği
🛡️
iDRAC9
OOB Yönetim
Redfish v1.x uyumlu
⚙️
racadm
CLI Yönetim Aracı
local / uzak mod
ℹ️
Dell PowerEdge sunucularda BIOS ayarları bir sonraki yeniden başlatmada etkinleşir. Staged (sahnelenmiş) mod ile yapılandırma beklenebilir; Immediate mod ise iDRAC'ın sunucuyu yeniden başlatmasını tetikler.
# iDRAC versiyonunu ve model bilgisini doğrulama racadm -r <idrac-ip> -u root -p <password> getversion -f all # BIOS versiyonunu kontrol et racadm -r <idrac-ip> -u root -p <password> getversion -t bios # Tüm BIOS özelliklerini listele racadm -r <idrac-ip> -u root -p <password> get BIOS.SysInformation
# Redfish ile sunucu bilgisi çekme curl -s -k -u root:<password> \ https://<idrac-ip>/redfish/v1/Systems/System.Embedded.1 \ | python3 -m json.tool | grep -E '"BiosVersion|Model|Manufacturer"'
02

Secure Boot Yapılandırması ve Anahtar Yönetimi

Secure Boot, UEFI firmware'in yalnızca güvenilir imzaya sahip boot loader ve kernel'ları yüklemesini sağlar. Dell PowerEdge'de Secure Boot varsayılan olarak Deployed Mode ile gelir; bu mod PK (Platform Key), KEK (Key Exchange Key), db (Signature Database) ve dbx (Forbidden Signatures Database) değişkenlerini içerir. Üretim ortamında bu anahtarları kuruluşunuzun özel sertifika yetkilisine göre özelleştirmeniz kritik önem taşır.

Dell, iki Secure Boot modu sunar: Standard Mode (Dell fabrika anahtarlarını kullanır) ve Custom Mode (kendi db/KEK sertifikalarınızı ekleyebilirsiniz). Özellikle özel imzalı kernel modülü kullanan ortamlarda Custom Mode zorunludur. Mevcut Secure Boot durumu racadm veya Redfish API ile sorgulanabilir ve değiştirilebilir.

# Mevcut Secure Boot durumunu sorgula racadm -r <idrac-ip> -u root -p <password> get BIOS.SysSecurity.SecureBoot # Secure Boot'u etkinleştir (staged - sonraki reboot'ta aktif) racadm -r <idrac-ip> -u root -p <password> \ set BIOS.SysSecurity.SecureBoot Enabled # Secure Boot modunu sorgula (Standard / Custom) racadm -r <idrac-ip> -u root -p <password> get BIOS.SysSecurity.SecureBootMode # Custom Mode'a geç racadm -r <idrac-ip> -u root -p <password> \ set BIOS.SysSecurity.SecureBootMode CustomMode
# Redfish ile Secure Boot durumu sorgulama curl -s -k -u root:<password> \ https://<idrac-ip>/redfish/v1/Systems/System.Embedded.1/SecureBoot \ | python3 -m json.tool # Redfish PATCH ile Secure Boot etkinleştirme curl -s -k -u root:<password> \ -X PATCH \ -H "Content-Type: application/json" \ -d '{"SecureBootEnable": true}' \ https://<idrac-ip>/redfish/v1/Systems/System.Embedded.1/SecureBoot # Secure Boot anahtarlarını sıfırla (fabrika varsayılanlarına dön) curl -s -k -u root:<password> \ -X POST \ -H "Content-Type: application/json" \ -d '{}' \ https://<idrac-ip>/redfish/v1/Systems/System.Embedded.1/SecureBoot/Actions/SecureBoot.ResetKeys
⚠️
Dikkat: Secure Boot etkinleştirilmeden önce mevcut işletim sistemi boot loader'ının (GRUB, shim, Windows Boot Manager) geçerli bir imzaya sahip olduğunu doğrulayın. İmzasız boot loader ile Secure Boot etkinleştirilirse sunucu açılmaz.

Özel Sertifika Ekleme (Custom Mode)

# Kendi CA sertifikanızı DER formatına çevirin openssl x509 -in my-ca.pem -outform DER -out my-ca.der # Sertifikayı iDRAC üzerinden db'ye yükleyin racadm -r <idrac-ip> -u root -p <password> \ sslcertupload -t 11 -f my-ca.der # DB (izin verilen imzalar) içeriğini listele racadm -r <idrac-ip> -u root -p <password> \ get BIOS.SysSecurity.SecureBootDb
03

TPM 2.0 Etkinleştirme ve Donanım Güven Kökü

Trusted Platform Module (TPM), kriptografik anahtarları güvenli biçimde depolayan ve platform bütünlüğünü ölçen bir donanım bileşenidir. Dell PowerEdge sunucularda fTPM (firmware TPM — Intel PTT) ve dTPM (discrete TPM — fiziksel çip) olmak üzere iki seçenek mevcuttur. Kurumsal ortamlarda, özellikle BitLocker veya TPM tabanlı disk şifreleme kullanan sistemlerde dTPM önerilir çünkü firmware güncellemelerinden etkilenmez.

TPM 2.0 etkinleştirildiğinde, PCR (Platform Configuration Register) kayıtları boot sürecinin her aşamasını ölçer ve değiştirilmemiş bir boot zincirini garanti eder. Bu mekanizma, önyükleyici manipülasyonu veya firmware değişikliği gibi tehditlere karşı koruma sağlar. Özellikle vTPM (sanal TPM) kullanan VMware ESXi ortamlarında dTPM varlığı zorunludur.

# TPM durumunu sorgula racadm -r <idrac-ip> -u root -p <password> get BIOS.SysSecurity.TpmSecurity # TPM'yi etkinleştir (On) racadm -r <idrac-ip> -u root -p <password> \ set BIOS.SysSecurity.TpmSecurity On # TPM versiyonunu doğrula racadm -r <idrac-ip> -u root -p <password> get BIOS.SysSecurity.TpmInfo # TPM aktivasyon durumunu kontrol et racadm -r <idrac-ip> -u root -p <password> get BIOS.SysSecurity.TpmActivation
# Redfish ile TPM bilgilerini çek curl -s -k -u root:<password> \ https://<idrac-ip>/redfish/v1/Systems/System.Embedded.1 \ | python3 -c "import sys,json; d=json.load(sys.stdin); print(json.dumps(d.get('TrustedModules',[]), indent=2))" # Linux'ta TPM varlığını ve versiyonunu doğrulama (OS içinde) cat /sys/class/tpm/tpm0/tpm_version_major tpm2_getcap properties-fixed | grep TPM2_PT_MANUFACTURER # TPM PCR değerlerini oku (boot bütünlüğü doğrulama) tpm2_pcrread sha256:0,1,2,3,4,5,6,7
Best Practice: TPM ownership'ini etkinleştirdikten sonra mutlaka TPM owner password'ü kaydedin ve güvenli bir kasada saklayın. Owner password kaybedilirse TPM'yi sıfırlamak sunucuyu açmanızı gerektirir ve şifreli disklere erişilemez hale gelebilir.
04

BIOS Parola ve Erişim Politikaları

Dell PowerEdge BIOS, iki ayrı parola katmanı sunar: System Password (boot sırasında sistem başlatma parolası) ve Setup Password (BIOS ayarlarına erişim parolası). Güvenlik sertleştirme kapsamında her iki parolanın da ayarlanması gereklidir. Yalnızca Setup Password ayarlanmışsa, kullanıcı sistemi boot edebilir ancak BIOS ayarlarını değiştiremez — bu çoğu kurumsal senaryo için yeterli değildir.

USB external storage boot, PXE boot ve optik sürücüden boot gibi alternfatif önyükleme seçeneklerinin kısıtlanması da BIOS güvenliğinin ayrılmaz parçasıdır. Bir saldırgan fiziksel erişime sahipse yetkisiz bir ortamdan boot ederek şifrelenmemiş disk verilerine erişebilir. Bu nedenle Boot Sequence Lock ve External Media kısıtlamaları mutlaka uygulanmalıdır.

# BIOS Setup Password ayarla racadm -r <idrac-ip> -u root -p <password> \ set BIOS.SysSecurity.SetupPassword <yeni-parola> # BIOS System Password ayarla racadm -r <idrac-ip> -u root -p <password> \ set BIOS.SysSecurity.SystemPassword <yeni-parola> # USB boot'u devre dışı bırak racadm -r <idrac-ip> -u root -p <password> \ set BIOS.SysProfileSettings.ExtSerialConnector Disabled # PXE boot NIC'lerini devre dışı bırak racadm -r <idrac-ip> -u root -p <password> \ set BIOS.PxeDev1Settings.PxeDev1EnDis Disabled
# Boot sequence'i kilitlemek için mevcut boot sırasını gör racadm -r <idrac-ip> -u root -p <password> get BIOS.BiosBootSettings # Boot Mode'u UEFI only yap (CSM/Legacy devre dışı) racadm -r <idrac-ip> -u root -p <password> \ set BIOS.BiosBootSettings.BootMode Uefi # Ayarları uygula - BIOS Job oluştur racadm -r <idrac-ip> -u root -p <password> \ jobqueue create BIOS.Setup.1-1 -r pwrcycle -s TIME_NOW # Job durumunu izle racadm -r <idrac-ip> -u root -p <password> jobqueue view
🚨
Kritik Uyarı: BIOS Setup Password'ü kayıt altına alın. Password unutulursa sisteme fiziksel erişim ve CMOS pil çıkarma işlemi gerekir. Kurumsal ortamlarda parola yönetim sistemi (örn. HashiCorp Vault, CyberArk) entegrasyonu zorunludur.
05

iDRAC Güvenlik Ayarları ve Sertleştirme

iDRAC9, BIOS'tan bağımsız bir güvenlik yüzeyi oluşturur. Varsayılan root/calvin kimlik bilgileri değiştirilmemiş iDRAC'lar, ağ erişimi olan bir saldırgan için kritik bir giriş noktası oluşturur. iDRAC güvenliği; kimlik doğrulama, ağ kısıtlamaları, TLS politikaları ve oturum yönetimi olmak üzere dört ana boyutu kapsar.

iDRAC9 ile Active Directory / LDAP entegrasyonu, sertifika tabanlı kimlik doğrulama ve IP whitelisting yapılandırılabilir. Ayrıca iDRAC üzerindeki Virtual Media ve Virtual Console özelliklerini yalnızca gerekli olduğunda etkinleştirmek, saldırı yüzeyini önemli ölçüde azaltır.

# Varsayılan root parolasını değiştir racadm -r <idrac-ip> -u root -p calvin \ set iDRAC.Users.2.Password <güçlü-yeni-parola> # Minimum TLS versiyonunu TLS 1.2 yap racadm -r <idrac-ip> -u root -p <password> \ set iDRAC.WebServer.TLSProtocol TLS1.2_and_higher # HTTP'yi devre dışı bırak (yalnızca HTTPS) racadm -r <idrac-ip> -u root -p <password> \ set iDRAC.WebServer.HttpPort Disabled # IPMI over LAN'ı devre dışı bırak (güvenli değil) racadm -r <idrac-ip> -u root -p <password> \ set iDRAC.IPMILan.Enable Disabled
# IP whitelist (izin verilen yönetim ağları) racadm -r <idrac-ip> -u root -p <password> \ set iDRAC.IPFiltering.IPRangeStart1 10.10.0.1 racadm -r <idrac-ip> -u root -p <password> \ set iDRAC.IPFiltering.IPRangeEnd1 10.10.0.254 racadm -r <idrac-ip> -u root -p <password> \ set iDRAC.IPFiltering.Enable Enabled # Idle session timeout (saniye cinsinden) - 30 dk racadm -r <idrac-ip> -u root -p <password> \ set iDRAC.SessionMgmt.SessionIdleTimeout 1800 # SSH'yi etkinleştir, Telnet'i kapat racadm -r <idrac-ip> -u root -p <password> \ set iDRAC.SSH.Enable Enabled racadm -r <idrac-ip> -u root -p <password> \ set iDRAC.Telnet.Enable Disabled
06

Redfish API ile Toplu Güvenlik Sertleştirme

Büyük ölçekli ortamlarda her sunucuyu tek tek yapılandırmak hem zaman alıcı hem de hata yaratmaya yatkındır. Redfish API, tüm PowerEdge sunucularına aynı güvenlik politikasını programatik olarak uygulamanızı sağlar. Python tabanlı betikler veya Ansible playbook'ları ile yüzlerce sunucuyu idempotent biçimde sertleştirebilirsiniz.

Dell'in açık kaynak python-redfish-utility (iDRACulo) ve OpenManage Python SDK kütüphaneleri, Redfish çağrılarını soyutlayarak daha okunabilir otomasyon kodu yazılmasını kolaylaştırır. Aşağıdaki örnekler ham Redfish/curl ve Python SDK kombinasyonunu göstermektedir.

#!/usr/bin/env python3 # dell_bios_harden.py - Toplu BIOS sertleştirme betiği import requests import json import urllib3 urllib3.disable_warnings() SERVERS = [ {"ip": "10.10.1.10", "user": "root", "pass": "SecureP@ss1"}, {"ip": "10.10.1.11", "user": "root", "pass": "SecureP@ss1"}, {"ip": "10.10.1.12", "user": "root", "pass": "SecureP@ss1"}, ] BIOS_SETTINGS = { "Attributes": { "SecureBoot": "Enabled", "TpmSecurity": "On", "BootMode": "Uefi", "PxeDev1EnDis": "Disabled", "SetupPassword": "BIOSPwd!2026" } } def harden_server(server): base = f"https://{server['ip']}/redfish/v1" auth = (server['user'], server['pass']) headers = {"Content-Type": "application/json"} # BIOS ayarlarını uygula r = requests.patch( f"{base}/Systems/System.Embedded.1/Bios/Settings", auth=auth, headers=headers, data=json.dumps(BIOS_SETTINGS), verify=False ) print(f"{server['ip']}: BIOS patch → {r.status_code}") # Job oluştur (reboot gerektiren ayarlar için) job_payload = { "TargetSettingsURI": "/redfish/v1/Systems/System.Embedded.1/Bios/Settings" } r2 = requests.post( f"{base}/Managers/iDRAC.Embedded.1/Jobs", auth=auth, headers=headers, data=json.dumps(job_payload), verify=False ) print(f"{server['ip']}: Job oluşturuldu → {r2.headers.get('Location', 'N/A')}") for srv in SERVERS: harden_server(srv)
# Bash ile hızlı envanter: tüm sunucularda Secure Boot durumunu kontrol et #!/bin/bash SERVERS=("10.10.1.10" "10.10.1.11" "10.10.1.12") USER="root" PASS="SecureP@ss1" for IP in "${SERVERS[@]}"; do STATUS=$(curl -s -k -u "$USER:$PASS" \ "https://$IP/redfish/v1/Systems/System.Embedded.1" \ | python3 -c "import sys,json; d=json.load(sys.stdin); \ sb=d.get('Boot',{}).get('BootSourceOverrideEnabled','?'); print(sb)") SECURE=$(curl -s -k -u "$USER:$PASS" \ "https://$IP/redfish/v1/Systems/System.Embedded.1/SecureBoot" \ | python3 -c "import sys,json; d=json.load(sys.stdin); \ print(d.get('SecureBootCurrentBoot','?'))") echo "$IP → SecureBoot: $SECURE" done
07

CIS Benchmark Kontrol Listesi

CIS (Center for Internet Security) Benchmark for Dell PowerEdge, sunucu güvenliğini değerlendirmek için endüstri standardı kontrol noktaları sağlar. Aşağıdaki kontrol listesi CIS Dell PowerEdge Server Benchmark v1.x ile uyumludur ve production ortamına geçmeden önce her maddeyi doğrulamanızı öneririz.

Kontrol Öneri Seviye racadm Komutu
Secure Boot Enabled L1 set BIOS.SysSecurity.SecureBoot Enabled
TPM Security On L1 set BIOS.SysSecurity.TpmSecurity On
Boot Mode Uefi L1 set BIOS.BiosBootSettings.BootMode Uefi
IPMI over LAN Disabled L1 set iDRAC.IPMILan.Enable Disabled
iDRAC TLS TLS 1.2+ L1 set iDRAC.WebServer.TLSProtocol TLS1.2_and_higher
BIOS Setup Password Set L1 set BIOS.SysSecurity.SetupPassword <pwd>
USB External Boot Disabled L2 set BIOS.SysProfileSettings.ExtSerialConnector Disabled
iDRAC Telnet Disabled L1 set iDRAC.Telnet.Enable Disabled
# Tek komutla CIS uyumluluk raporu oluştur (özet) racadm -r <idrac-ip> -u root -p <password> get BIOS.SysSecurity \ | grep -E "SecureBoot|TpmSecurity|SetupPassword|BootMode" # iDRAC güvenlik ayarlarını toplu görüntüle racadm -r <idrac-ip> -u root -p <password> get iDRAC.WebServer racadm -r <idrac-ip> -u root -p <password> get iDRAC.SSH racadm -r <idrac-ip> -u root -p <password> get iDRAC.IPMILan
08

Doğrulama, İzleme ve Sürekli Uyumluluk

Güvenlik sertleştirme tek seferlik bir işlem değildir. Firmware güncellemeleri, yeni sunucu eklemeleri veya yanlış yapılandırmalar, güvenlik politikasının zamanla bozulmasına yol açabilir. Dell OpenManage Enterprise (OME) üzerinden yapılandırma uyumluluk profilleri oluşturabilir ve sapmaları otomatik olarak tespit edebilirsiniz.

iDRAC Lifecycle Controller logları, tüm BIOS değişikliklerini zaman damgalı biçimde kaydeder. Bu logların SIEM sistemine (Splunk, Elastic) iletilmesi, yetkisiz BIOS değişikliği girişimlerini gerçek zamanlı olarak algılamanızı sağlar. Redfish olay aboneliği ile kritik olaylar için push bildirim alabilirsiniz.

# Lifecycle Controller loglarını çek (son 50 kayıt) racadm -r <idrac-ip> -u root -p <password> lclog view -n 50 -s warning # BIOS ile ilgili log kayıtlarını filtrele racadm -r <idrac-ip> -u root -p <password> lclog view \ | grep -i "BIOS\|SecureBoot\|TPM" | tail -20 # Redfish event subscription oluştur (SIEM entegrasyonu) curl -s -k -u root:<password> \ -X POST \ -H "Content-Type: application/json" \ -d '{ "Destination": "https://siem.example.com/redfish/events", "EventTypes": ["Alert"], "Context": "dell-bios-monitor", "Protocol": "Redfish" }' \ https://<idrac-ip>/redfish/v1/EventService/Subscriptions
# OpenManage Enterprise'da uyumluluk taraması başlat (API) curl -s -k -u admin:<password> \ -X POST \ -H "Content-Type: application/json" \ -d '{"TemplateId": 42, "DeviceIds": [1001, 1002, 1003]}' \ https://<ome-ip>/api/TemplateService/Actions/TemplateService.DeployTemplate # Uyumluluk raporu indir (CSV) curl -s -k -u admin:<password> \ "https://<ome-ip>/api/ProfileService/ComplianceInfo?$filter=TemplateName eq 'BIOS-Hardening'" \ -o compliance-report.csv
  • Secure Boot tüm sunucularda Enabled durumda
  • TPM 2.0 etkin ve owner parolası Vault'ta kayıtlı
  • BIOS Setup Password ayarlanmış ve parola yöneticisinde
  • Boot Mode: UEFI only (CSM devre dışı)
  • iDRAC varsayılan parolası değiştirilmiş
  • IPMI over LAN devre dışı
  • iDRAC TLS 1.2+ enforced
  • Lifecycle Controller logları SIEM'e iletiliyor