[{"id":53,"title":"\u201cJump-Box Forest\u201d (Bastion Forest)","content":"<h2><a href=\"jump-box-forest-nedir\">jump box forest nedir<\/a><\/h2>\r\n<h2>1\ufe0f\u20e3 &ldquo;Jump-Box Forest&rdquo; (Bastion Forest) Tasar\u0131m\u0131<\/h2>\r\n<p><br>Ama&ccedil;: Domain Admin kimliklerini &ldquo;internet-y&uuml;zl&uuml;&rdquo; veya &uuml;retim sunucular\u0131ndan fiziksel olarak ay\u0131rmak. B&ouml;ylece bir &uuml;retim sunucusu pwn&rsquo;lense bile etki alan\u0131 tamamen gidemez.<br>H\u0131zl\u0131 &Ouml;l&ccedil;&uuml;t: Tier-0 admin&rsquo;in girebildi\u011fi tek makineler = bastion forest i&ccedil;indeki DC&rsquo;ler + PAW&rsquo;lar. Prod sunucuya asla interaktif logon yok, sadece Privileged Session Manager t&uuml;neli.<\/p>\r\n<h2>2\ufe0f\u20e3 Credential Guard + VBS (Virtualization-Based Security)<br>Nas\u0131l A&ccedil;\u0131l\u0131r?<\/h2>\r\n<p>&nbsp;<\/p>\r\n<pre><code># VBS + Credential Guard GPO\r\nSet-ItemProperty \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\DeviceGuard\" `\r\n -Name EnableVirtualizationBasedSecurity -Value 1 -Type Dword\r\n\r\nSet-ItemProperty \"HKLM:\\SYSTEM\\CurrentControlSet\\Control\\LSA\" `\r\n -Name LsaCfgFlags -Value 1 -Type Dword\r\n# 1=CG on, 2=off, 0=not set\r\n<\/code><\/pre>\r\n<p>Kontrol: msinfo32 &rarr; &ldquo;Device Guard - Credential Guard running: Yes&rdquo;.<br>Gotcha&rsquo;lar<\/p>\r\n<ul>\r\n<li>\r\n<p>Klasik smart-card CSP&rsquo;leri, baz\u0131 VPN s&uuml;r&uuml;c&uuml;leri ve eski AV &ccedil;ekirdek mod&uuml;lleri uyumsuz kalabilir.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Nested Hyper-V i&ccedil;inde VBS desteklenmez; fiziksel host&rsquo;ta a&ccedil;.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Pass-the-Hash denemeleri LSASS d\u0131\u015f\u0131nda kald\u0131\u011f\u0131 i&ccedil;in ba\u015far\u0131s\u0131z olur.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<h2>3\ufe0f\u20e3 TPM-Tabanl\u0131 BitLocker (OS &amp; Data Disks)<\/h2>\r\n<p><br>TPM&rsquo;i haz\u0131rlay\u0131n: tpm.msc &rarr; &ldquo;Prepare the TPM&rdquo;. BIOS&rsquo;ta PTT\/fTPM de\u011fil, donan\u0131m &ccedil;ipi olmas\u0131 tercih.<br>BitLocker-TPM Mode:<\/p>\r\n<pre><code>Enable-BitLocker -MountPoint \"C:\" -TpmProtector -UsedSpaceOnly `\r\n -SkipHardwareTest\r\n<\/code><\/pre>\r\n<p>Recovery Key Y&ouml;netimi<\/p>\r\n<ul>\r\n<li>\r\n<p>Azure AD hybrid iseniz otomatik olarak Azure&rsquo;daki cihaz objesine y&uuml;klenir.<\/p>\r\n<\/li>\r\n<li>\r\n<p>On-prem ise GPO &rarr; Save BitLocker recovery information to AD DS.<br>Network Unlock (iste\u011fe ba\u011fl\u0131): 2012+ DHCP\/WDS sunucusu, RFC 7030 sertifika.<br>Pre-Boot PIN? Yaln\u0131zca y&uuml;ksek tehdit modelleri i&ccedil;in; aksi h&acirc;lde TPM + Secure Boot zaten yeterlidir.<br>Golden rule: TPM 2.0 + Secure Boot + Measured Boot + BitLocker = disk &ccedil;al\u0131p offline kurcalama &asymp; bo\u015funa.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<h2>4\ufe0f\u20e3 Azure Arc &amp; Defender for Cloud ile Hibrit Sertle\u015ftirme<\/h2>\r\n<p><br>Azure Arc Onboarding<\/p>\r\n<pre><code># 1. Indir + kur\r\nInvoke-WebRequest -Uri https:\/\/aka.ms\/AzureArcAgent -OutFile ArcSetup.msi\r\nmsiexec \/i ArcSetup.msi \/l*v log.txt\r\n\r\n# 2. Azure CLI login\r\naz connectedmachine connect --resource-group RG-OnPrem \\\r\n --name ANT-FSRV01 --location westeurope\r\n<\/code><\/pre>\r\n<ul>\r\n<li>\r\n<p>Sonras\u0131nda makine &ldquo;Connected Machine&rdquo; t&uuml;r&uuml;nde g&ouml;r&uuml;n&uuml;r; Tag = Environment=OnPrem.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Arc Policy Guest Config sayesinde CIS - Server 2019 denetimlerini istedi\u011fin OU&rsquo;ya zorlayabilirsin.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<p>Pro \u0130pucu: Arc-enabled sunucuyu &ldquo;Auto-Provisioning = On&rdquo; yap; Defender ajan\u0131 elle kurma. Alert&rsquo;leri Sentinel&rsquo;le birle\u015ftir, MITRE ATT&amp;CK takibi haz\u0131r gelir.<\/p>\r\n<h2>5\ufe0f\u20e3 Hardware-Rooted G&uuml;venlik: UEFI Secure Boot + Measured Boot + DRTM<\/h2>\r\n<p><br>Etkinle\u015ftirme H\u0131z Turu<\/p>\r\n<ul>\r\n<li>\r\n<p>BIOS &rarr; Secure Boot: Enabled, Trusted Execution: On.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Windows Features &rarr; &ldquo;Device Health Attestation&rdquo; ve &ldquo;Hyper-V-Hypervisor&rdquo;.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Shielded VM senaryosu: HGS kur; &ouml;ny&uuml;kleme &ouml;l&ccedil;&uuml;mlerini kar\u015f\u0131la\u015ft\u0131r\u0131p yaln\u0131z temiz host&rsquo;ta VM a&ccedil;t\u0131r.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<p>Birlikte &Ccedil;al\u0131\u015f\u0131nca Ne Oluyor?<\/p>\r\n<ul>\r\n<li>\r\n<p>Jump-Box Forest Tier-0 admin kimliklerini ay\u0131r\u0131r.<\/p>\r\n<\/li>\r\n<li>\r\n<p>PAW + Credential Guard bu kimliklerin RAM&rsquo;de bile s\u0131zd\u0131r\u0131lmas\u0131n\u0131 engeller.<\/p>\r\n<\/li>\r\n<li>\r\n<p>TPM + BitLocker disk &ccedil;al\u0131nsa bile offline sald\u0131r\u0131lar\u0131 reddeder.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Secure Boot \/ DRTM i\u015fletim sistemi zincirinin ilk bit&rsquo;ine kadar b&uuml;t&uuml;nl&uuml;\u011f&uuml; &ouml;l&ccedil;er.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Azure Arc + Defender katman\u0131, bulut-temelli s&uuml;rekli konfig uyumu + XDR izleme sunar.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<p>Sonu&ccedil;: Sald\u0131rgan, tek bir sunucudan i&ccedil;eri girse bile domain komple gitmez; kal\u0131c\u0131l\u0131k kuramaz; s\u0131zma erken g&ouml;r&uuml;n&uuml;r.<\/p>\r\n<p>Daha da Derine \u0130nmek \u0130stersek<\/p>\r\n<ul>\r\n<li>\r\n<p>Windows Hello for Business (Key Trust) ile admin smart-card ba\u011f\u0131ml\u0131l\u0131\u011f\u0131n\u0131 kald\u0131r.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Hyper-V &ldquo;vTPM&rdquo; + Shielding Data = production VM&rsquo;leri de hardware-root&rsquo;lu yap.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Attested Boot sonu&ccedil;lar\u0131n\u0131 Azure Policy&rsquo;de &ldquo;deny&rdquo; olarak ayarla &rarr; temiz boot etmeyen makine CI\/CD pipeline&rsquo;a bile giremesin.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Intune + Config Mgr Co-Mgmt; PAW&rsquo;lar i&ccedil;in tam disk \u015fifreleme, application allow-listing (WDAC) politikalar\u0131n\u0131 hibrit da\u011f\u0131t.<\/p>\r\n<\/li>\r\n<li>\r\n<p>PKI Rollup: Bastion forest i&ccedil;inde offline-root + online-issuing CA kur; t&uuml;m cihaz sertifikalar\u0131n\u0131 buradan ver, g&uuml;ven k&ouml;k&uuml; yine Tier-0&rsquo;da kals\u0131n.<\/p>\r\n<\/li>\r\n<\/ul>\r\n<h2>1\ufe0f\u20e3 Risk-Bedel &Ccedil;izelgesi<\/h2>\r\n<p><br>A\u015fa\u011f\u0131daki tabloyu kendi ortam\u0131n\u0131z\u0131n ger&ccedil;ek tehdit modeline (&ouml;r. reg&uuml;lasyon, b&uuml;t&ccedil;e, SLA) g&ouml;re tart\u0131n. &ldquo;Bedel&rdquo; sat\u0131r\u0131nda 1 = ucuz \/ d&uuml;\u015f&uuml;k efor, 5 = pahal\u0131 \/ y&uuml;ksek efor; &ldquo;Risk Azaltma&rdquo;da 1 = kozmetik, 5 = oyun-de\u011fi\u015ftirici.<br>H\u0131zl\u0131 karar kural\u0131: CapEx &lt; 2 &amp; Risk &ge; 4 ise &ldquo;hemen yap&rdquo;; CapEx &ge; 4 &amp; Risk &le; 3 ise POC &rarr; C-seviyesinde onay.<\/p>\r\n<p>\ud83d\udcc1 0. Pre-Flight<\/p>\r\n<pre><code># ScriptRunner.ps1\r\nInstall-Module -Name PSWindowsUpdate, Az.Accounts -Force -Scope CurrentUser\r\nImport-Module PSWindowsUpdate\r\nWrite-Host \"\u2705 Mod&uuml;ller haz\u0131r\"\r\n\r\n# G&uuml;venli icra politikas\u0131\r\nSet-ExecutionPolicy AllSigned -Scope Process -Force\r\n<\/code><\/pre>\r\n<p>\ud83c\udff0 1. Jump-Box Forest Kurulumu<\/p>\r\n<pre><code># 1_Create-BastionForest.ps1\r\n$SecForestName = \"contoso-sec.local\"\r\n$SecNet = \"10.10.0.0\/24\"\r\n$DCEdition = \"Server2019Standard\"\r\n\r\nInstall-WindowsFeature AD-Domain-Services -IncludeManagementTools\r\nInstall-ADDSForest `\r\n -DomainName $SecForestName `\r\n -DatabasePath \"D:\\NTDS\" -SysvolPath \"D:\\SYSVOL\" `\r\n -SafeModeAdministratorPassword (Read-Host -AsSecureString \"DSRM PW\")\r\n\r\n# Tek-y&ouml;n trust (Prod&rarr;Bastion g&uuml;ven)\r\nNew-ADTrust -Name $Env:USERDNSDOMAIN `\r\n -TargetForest $SecForestName `\r\n -Direction Outbound -Forest -Confirm:$false\r\n<\/code><\/pre>\r\n<p>Devam eden g&ouml;revler: Tier0-Admins global grubunu olu\u015ftur, &uuml;yelerini yaln\u0131z bastion DC&rsquo;de tut.<br>GPO: &ldquo;Deny log on locally&rdquo; &rarr; Domain Admin&rsquo;leri prod DC&rsquo;lerinde engelle.<\/p>\r\n<p>\ud83d\udee1\ufe0f 2. Credential Guard + VBS<\/p>\r\n<pre><code># 2_Enable-CredGuard.ps1\r\n$Servers = @(\"PAW01\",\"PAW02\")\r\nInvoke-Command -ComputerName $Servers -ScriptBlock {\r\n Set-ItemProperty -Path HKLM:\\SYSTEM\\CurrentControlSet\\Control\\DeviceGuard `\r\n -Name EnableVirtualizationBasedSecurity -Value 1 -Type DWord\r\n Set-ItemProperty -Path HKLM:\\SYSTEM\\CurrentControlSet\\Control\\LSA `\r\n -Name LsaCfgFlags -Value 1 -Type DWord\r\n gpupdate \/force\r\n}\r\nWrite-Host \"Credential Guard tetiklendi; reboot \u015fart\"\r\n\r\n# test\r\nInvoke-Command $Servers { Get-CimInstance Win32_DeviceGuard }\r\n<\/code><\/pre>\r\n<p>\ud83d\udd11 3. TPM BitLocker Devreye Alma<\/p>\r\n<pre><code># 3_Enable-BitLocker.ps1\r\n$Targets = Get-Content .\\servers-bitlocker.txt # her sat\u0131r FQDN\r\nforeach ($srv in $Targets) {\r\n Invoke-Command $srv -ScriptBlock {\r\n  Enable-BitLocker -MountPoint \"C:\" -TpmProtector -UsedSpaceOnly `\r\n  -RecoveryPasswordProtector `\r\n  -SkipHardwareTest\r\n }\r\n}\r\n<\/code><\/pre>\r\n<p>Recovery Keys On-prem AD:<\/p>\r\n<pre><code>Get-BitLockerRecoveryPassword -MountPoint \"C:\" | Out-File \"\\\\SEC-DC\\Share\\Recovery\\$env:COMPUTERNAME.txt\"\r\n<\/code><\/pre>\r\n<p>\ud83d\udd10 4. Secure Boot + DRTM Do\u011frulamas\u0131<\/p>\r\n<pre><code># 4_Verify-SecureBoot.ps1\r\n$report = foreach ($srv in $Targets){\r\n $sb = Confirm-SecureBootUEFI -ErrorAction SilentlyContinue\r\n $tpm = Get-Tpm\r\n @{ Host = $srv; SecureBoot = $sb; TPM20 = $tpm.TpmSpecVersion }\r\n}\r\n$report | Export-Csv .\\SecureBootStatus.csv -NoType\r\n<\/code><\/pre>\r\n<p>DRTM BIOS&rsquo;ta a&ccedil;\u0131ld\u0131ktan sonra Device Health Attestation servisi &ouml;l&ccedil;&uuml; al\u0131r; Arc Policy ile &ldquo;BootAttestation = Compliant&rdquo; zorlanabilir.<\/p>\r\n<p>\u2601\ufe0f 5. Azure Arc + Defender Birlikte<\/p>\r\n<pre><code># 5_Arc-Defender.ps1\r\nConnect-AzAccount\r\n$rg = \"RG-OnPrem\"\r\n$loc = \"westeurope\"\r\n\r\n# Sunucular\u0131 Arc&rsquo;e ba\u011fla\r\n$Srv = @(\"ANT-FSRV01\",\"ANT-SQL01\")\r\nforeach ($s in $Srv){\r\n Start-Process \"https:\/\/aka.ms\/AzureArcAgent\" -Wait -ArgumentList \"\/quiet\"\r\n az connectedmachine connect --resource-group $rg --name $s --location $loc\r\n}\r\n\r\n# Otomatik Defender plan\u0131\r\naz security auto-provisioning-setting update `\r\n --name default --auto-provision On\r\n<\/code><\/pre>\r\n<p>\ud83d\udd04 \u0130\u015f Ak\u0131\u015f\u0131 &amp; Zaman &Ccedil;izelgesi (Fast-Track)<br>Ek Bilgi:<\/p>\r\n<ul>\r\n<li>\r\n<p>Budget-Savvy Taktik &ndash; Defender lisans\u0131n\u0131 &ldquo;per-server on-demand&rdquo; a&ccedil;; yaln\u0131z Tier-0 ve DMZ makinelerinde 7&times;24 tam EDR.<\/p>\r\n<\/li>\r\n<li>\r\n<p>DSC \/ Ansible &ndash; Playbook&rsquo;u DSC&rsquo;ye &ccedil;evir; drift &rarr; Teams alert&rsquo;i.<\/p>\r\n<\/li>\r\n<li>\r\n<p>Supply-Chain Alarm\u0131 &ndash; UEFI Secure Boot &ouml;l&ccedil;&uuml; verisini &ldquo;Azure Attestation&rdquo; ile CI\/CD pipeline&rsquo;\u0131na entegre et.<\/p>\r\n<\/li>\r\n<\/ul>","excerpt":"1\ufe0f\u20e3 \u201cJump-Box Forest\u201d (Bastion Forest) Tasar\u0131m\u0131 Ama\u00e7: Domain Admin kimliklerini \u201cinternet-y\u00fczl\u00fc\u201d veya \u00fcretim sunucular\u0131ndan...","created_at":"2025-06-12 12:50:28","updated_at":"2026-09-07 13:55:07","category_id":7,"view_count":907,"reading_time":6,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2025-06-12 12:50:28","featured_image":"resimyok.jpg","slug":"jump-box-forest-bastion-forest","category_name":"Cyber Security","category_slug":"cyber-security","category_color":"#10b981"}]