Bu makalede değerli okuyuculara bir bankanın Dot1x projesinde karşılaştığım soruna değineceğim. Makalemizde kullanıcı ağ oturum güvenliği ve erişimi ipuçlarına değineceğiz. Hadi, Dot1x nedir ve neden ihtiyaç duyulduğundan başlayalım.
Dot1x nedir?
IEEE 802.1x olarak da adlandrılan Dot1x, LAN ve WLAN portu ile bağlantı yapılan istemcilerin kimlik doğrulama ve yetkilendirmesi için uygulanan port tabanlı kimlik doğrulama (port based authentication) protkolüdür. Dot1x aktif bir LAN yapısında kullanıcı doğrulamayı tamamlayamazsa internet çıkışını sağlayamaz. Doğrulamayı tamamlayan istemciler tanınan hakları ile birlikte internete çıkabilir.
EAP
Bir çok işletme, güvenlikli erişim için kullanıcı adlarını ve şifreleri kullanmaktan daha fazlasını yapmak ister. Bu nedenle Genişletilebilir Kimlik Doğrulama Protokolü (EAP, Extensible Authentication Protocol) olarak adlandırılan yeni bir kimlik doğrulama protokolü tasarlanmıştır. EAP, çevirmeli erişim yöntemi (PPP) protokolünü de kapsayarak birkaç farklı kimlik doğrulama yöntemi için genelleştirilmiş bir çerçeve sağlar.
Resim-1
Dot1x ile ilgili daha fazla bilgiye erişmek için bu bağlantıyı kullanabilirsiniz.
Problem
Yapılandırmalar, GPO ile tüm istemcilere uygulanmasına rağmen Dot1x etkin olduğunda bazı bilgisayarlar internete çıkamıyor. Ethernet adaptörünü kontrol ettiğimizde ise EAP MSCHAP v2 özelliklerinden “Automatically use my Windows logon name and password (and domain if any)” işaretsiz olduğu görünüyor. Bu kutucuk Dot1x kullanıcının internet erişmi için ekstra erişim bilgisi girmesine gerek bırakmıyor.
Resim 2’de yer alan istemci canlı olarak Active Directory ve Group Policy çerçevesinde çalıştığı için “These setings are managed by your system administrator.” uyarısı veriyor. Kontrol ediyoruz.
Ethernet > Properties > Authentication > Microsoft PEAP Settings > Select Authentication Method (EAP-MSCHAP v2) > Configure > “Automatically use my Windows logon name and password (and domain if any)”
Resim-2
Kontroller
Bu süreçte neleri kontrol ettik ve hangi aksiyonları aldık.
1) İstemcilere SCCM ile imaj dağıtımı yapıldığından imajlar kontrol edildi.
2) Yaşadığımız bu problemle ilgili GPO ve Network kontrollerini uçtan uca konrollerini sağladık. İşaretsiz ve işaretli istemcilerin servislerine baktığımızda buna engel olan bir servis de göremedik.
3) Driver sorunları olabilme ihtimalleri de aynı üreticiye sahip 2 istemciyi kontrol ettiğimizde, aynı ücetici olmasına rağmen farklı sonuçlar aldık .
4) Sistem özelliklerini kontrol ederek devam ediyoruz. MSInfo32.exe (Win+R) aracı ile işaretli ve işaretsiz istemcilerin çıktılarını karşılaştırdık (Resim-3).
İşaretli istemcilerde kırmızı alan içerisinde “Virtualization-based security (Sanallaştırma tabanlu güvenik)” Not enabled, işaretsiz alanda ise Running durumda olduğu görünüyor.
Sanallaştırma tabanlu güvenik alanında Secure Boot, DMA Protection, UEFI ve Credential Guard servisi aktif çalışıyor. Credential Guard servisi dışında kalan diğer supportlar port tabanlı kimik doğrulama protokolüne bir engeli bulunmuyor. Peki, nedir bu Credential Guard? Bunun üzerinde duralım.
Resim-3
Credential Guard
Credential Guard (Kimlik Bilgileri Koruması), Windows 10 version 1607 ve Windows Server 2016 üzeri sistemlerde yer alan yeni bir özelliktir. Bir istemcinin kimlik bilgilerinin, Pass the Hash ve Pass-The-Ticket gibi tehditlerden korunmasına yardımcı olur.
Credential Guard’ı kullanmak için, aşağıdaki özelliklere sahip bir makine gereklidir.
- UEFI (CSM etkin değil)
- Windows 64 Bit
- Seure Boot etkin
- Sanallaştırma (Intel VT / AMD-V) ve İkinci seviye adres çevirisi (Secondary Level Address Translation) desteğine sahip işlemci
- TPM önerilir, ancak zorunlu değildir
Not: Credential Guard, Active Directory veritabanı veya Güvenlik Hesapları Yöneticisi (Security Accounts Manager) için koruma sağlamıyor.
Sanallaştırma tabanlı güvenlik kullanarak lokal güvenlik otoritesini ( Local Security Authority) nasıl izole edildiğini görüyoruz (Resim-4).
Resim-4
Mutlu son
Sorunu çözmek için Credential Guard’ın protokol ayrıntılarına iniyoruz. Credential Guard dokümanlarını incelediğimizde; Credential Guard etkin olduğunda, NTLMv1, MS-CHAPv2 ve CredSSP oturum açma kimlik bilgilerinin kullanılamadığı bilgisini gördük. Bu bilgi ayrıca Microsoft’un Credential Guard sayfasında, “Domain Controller üzerinde Credential Guard etkinleştirme desteklenmez.” uyarısı ile de görebiliyoruz.
Kontrollere başladığımız ilk SCCM maddesine tekrar baktığımızda, dağıtılan imajların güvenlik sıkılaştırmaları doğrultusunda Credential Guard enable edilerek hazırlandığı bilgisine ulaştık.
Credential Guard ile ilgili daha fazla bilgiye erişmek için bu bağlantıyı kullanabilirsiniz.
Çözüm
Credential Guard’ı devre dışı bırakarak MsCHAPv2’yi kullanılabilir duruma getireceğiz. Devre dışı bırakmanın bir çok senaryosu bulunuyor biz script ile devre dışı bırakacağız. Microsoft Download sayfasından script dosyasını indiriyoruz.
Credential Guard Readiness Tool Powershell
- Windows’a dış kaynaklardan indirdiğimiz Powershell scriptlerini varsayılan olarak çalıştırmasına izin vermiyor. Bu yüzden Execution Policy ile indirdiğimiz scripti çalıştırabilir duruma hazırlıyoruz.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force
Force parametresi ile onay sürecini atlamış olduk.
Get-ExecutionPolicy ile set işleimini kontrol ettik.
Resim-5 - Zip’ten çıkardığımız klasör dizinine Powershell ile erişiyoruz.
- DG Tool ile devre dışı bırakacağımız parametreleri uyguluyoruz.
.\DG_Readiness_Tool_v3.6.ps1 -Disable –AutoReboot
AutoReboot parametresi ile işlemleri uyguladıktan sonra geçerli olabilmesi için 30 sn sonrasında otomatik restart işlemini başlatmasını istedik.
Resim-6 - Bu süreçte Group Policy kurallarını güncelleyebiliriz.
gpupdate /force
- İşlemler bittikten sonra ExecutionPolicy’i tekrar restricted’e alıyoruz.
Set-ExecutionPolicy -ExecutionPolicy Restricted -Force
Bu adımlardan sonra ethernet adaptörünü tekrar kontrol ediyorum. EAP MSCHAPv2 özelliklerinde “Automatically use my Windows logon name and password (and domain if any)” işaretli olarak geldiğini görüyoruz.
Ethernet > Properties > Authentication > Microsoft PEAP Settings > Select Authentication Method (EAP-MSCHAP v2) > Configure > “Automatically use my Windows logon name and password (and domain if any)”
Resim-7
Problemi giderdik. Ama akıllarda şöyle bir soru oluşmuş olabilir. Credential Guard ile güvenlik sıkılaştırması uygulanmasında böyle bir sorun nasıl olabilir? Evet, bu soruyu Microsoft tarafına da ayrıca ilettik. Aktarılacak her bilgiyi makaleye ekleyeceğim.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
TAGs: 802.1x, Credential Guard, Device Guard, Active Directory, Group policy, MSCHAPv2, Troubleshooting, Dot1x (802.1x) için MSCHAPv2 Protokol Sorunun Giderilmesi
Uğur bu günlerde ihtiyacım olan bir yazıydı. Başarılar dilerim . Teşekkürler
Size yardımcı olabildiğime sevindim. İyi çalışmalar dilerim.