Günümüzde güvenlik her şirket için önemli bir başlık
olmasına karşın güvenlik konseptinde derinlik ne yazık ki temel anlamda
firewall, anti virüs, son dönemde DLP gibi ana başlıklardan daha derine
inemiyor. Özellikle çok fazla bütçe ve uzman ile kurulan banka ortamlarında
bilen yaşanan büyük zafiyetlerin aslında uygulama temelli zafiyetler olduğunu
gördükçe güvenlik algısının sadece yüzeysel ürün temelli değil uygulama bazlı
yapılması gerektiğini bir kez daha görmüş oluyoruz.
Peki her uygulama için güvenlik sıkılaştırma çalışması
yapılabilir mi? Pek çok global üretici için uygulamalarının en iyi güvenlik
çözümleri, yapılandırmaları veya birlikte çalışma senaryoları bulunmaktadır,
ancak özellikle büyük şirketler için bunları tek tek hayata geçirmek var olan
karmaşık yapıyı daha içinden çıkılmaz bir hale sokabileceği gibi bütçe ve zaman
açısından yönetimi zordur. Bundan dolayı özellikle zafiyet testleri sonucunda
kritik uygulamalar hedef alınır. Ancak küçük şirketler için ne yazık ki zafiyet
taramalarının bütçesinin bile bulunması sorun olabiliyor. Madem öyle daha
minimal yapılar için neler önerebiliriz?
Tabiki bu işin doğrusu öncelikle bir veya bir den çok
uzman ile mevcut yapı için zafiyet testlerinin uygulanması, sonuçlarının
değerlendirilmesi, uygulanması ve bu zafiyetlerin kapatıldıktan sonra tekrar bir
test yapılmasıdır. Hatta buna ek olarak “security hardening” olarak bilinen ve
yine büyük kurumlar tarafından özellikle OS seviyesinde yaptırılan sıkılaştırma
çalışması sayesinde testlerde çıkmayan ancak üreticilerin önerdiği en iyi
yapılandırmaları gerçekleştirerek güvenlik seviyenizi daha yukarılara
çekebilirsiniz.
Bende pek çok müşterime aslında bu noktada herhangi bir
ürün almadan yardımcı olmak için sağlık taraması adı altında hizmet sunmaktayım.
Bu makaledeki amacım da bu sağlık taraması kapsamında yaptığım çalışmaların bir
bölümü olan Active Directory için güvenlik anlamında neleri kontrol etmeniz ve
nasıl yapılandırmanız gerektiğini paylaşmaktır. Günün sonunda sağlık taraması
sadece 27001, KVKK, güvenlik gibi başlıkları değil aynı zamanda sisteminizin ne
kadar sağlıklı çalışıp çalışmadığını ve kritik bulguların olup olmadığını
görmeniz için alabileceğiniz bir servis.
Bunu yapan ya da aslında yaptığını iddia eden pek çok
araç görebilirsiniz. Ancak birkaç temel rapor ve pasta dilimi görseller ile
kritik alt yapılarınız için yorum yapmanız doğru olmayacaktır. Nasıl zafiyet
tarama ürünlerinin olmasına karşın Pentest adı altında uzman danışmanlara ücret
ödeyip gerçek hayat senaryolarının sisteminiz üzerinde denenmesini sağlıyorsanız
yine bir uzmanın sizin yaşayan bu sisteminiz için yorum yapması çok
kıymetlidir.
Peki gelelim konumuza, güvenli bir Active Directory
için nelere dikkat etmemiz gerekiyor?
1 – Varsayılan Hesapların Kapatılması veya
Değiştirilmesi
Öncelikle ne yazık ki hala pek çok sistem yöneticisi
Active Directory ile beraber gelen Administrator olarak isimlendirilen
varsayılan hesap ile sistemlerini yönetmektedir. Bu pek çok ransomware başta
olmak üzere uzak erişim ve sonrasında verilerin şifrelenmesi ile sonuçlanan
atakları kolaylaştırmaktadır. Çünkü hala pek çok şirket dış dünyaya RDP açık
sistemler barındırmakta ve hele varsayılan kullanıcı ile bu sistemleri yönetiyor
ise zaman içerisinde şifre deneme yanılma yolu ile kolaylıkla bu sistemlere
sızmak mümkündür. Sadece ransomware değil pek çok hak yükseltme, içeriden gelen
ataklarda da varsayılan admin hesapların kullanılması büyük zafiyetlere neden
olmaktadır. Bu nedenle ilk olarak varsayılan Administrator hesabının
kopyalanarak yeni bir yönetici hesabı oluşturulması ve mevcut yönetici hesabının
tüm yetkilerinin alınması gereklidir. Bu sayede örneğin “Hakan” isminde standart
bir user olarak görünen ama oysaki “Administrator” hesabının yerine geçen yeni
bir yönetici hesabınız olacaktır. Mevcut hesabı bu şekilde kopyalayacak
uzmanlığınız yok ise en kötü “rename” yani Administrator yerine “hakan”
kullanarak” en azından varsayılan brüte force şifre bulma atakları için öne
geçebilirsiniz.
2 – Yönetici Hesapları Ayrıştırılması
Bir diğer sık yaptığımız hata ise tek bir kullanıcı
hesabı ile hem kişisel bilgisayarımızı hem Forest/Domain ortamını yönetiyor
olmamız. Burada her şirket için farklı çözüm oluşturabileceğimiz gibi en iyi
senaryo olarak kendi bilgisayarımız için “hakan”, uzak son kullanıcı
bilgisayarlarını yönetmek için “wrk_hakan”, domain ortamındaki sunucuları
yönetmek için “srv_hakan” ve Active Directory, Exchange, CA Server gibi kritik
alt yapı sunucuları için “ent_hakan” kullanıcı hesaplarını oluşturmanız ve en
önemlisi de örneğin srv_hakan kullanıcısının veya buna bağlı grubun üyelerinin
herhangi bir son kullanıcı bilgisayarına giriş yapmasına izin vermemeniz
gereklidir. Benzer şekilde ent_hakan da DC, Exchange gibi sunucuların dışında
herhangi bir sunucuya login olmamalıdır. Ayrıca varsayılan olarak gelen domain
admins grubu tüm bilgisayarlarda local admin olduğu için onu da kaldırmanız ve
son kullanıcı makineleri, sunucular için ayrı lokal admin grupları oluşturmanız
şarttır.
3 – Kritik Grup Üyeliklerinin Kontrolünün
Sağlanması
Güvenlik emek ister tabiki gönül ister ki hiç ürün
satın almayalım ancak bazı noktalarda temel Audit veya siem ürünleri güvenlik
için şart. SIEM belki bu madde için çok lük kalabilir ancak lepide gibi uygun
maliyetli bir Audit ürünü ile AD kritik grupların üyelik güncellemelerini
mutlaka takip etmeniz gereklidir. Bu sayede olası bir hak yükseltme veya 2.
Maddedeki senaryoyu bozan bir yönetici olması halinde bundan mutlaka haberdar
olmanız gereklidir.
4 – Lockout Policy
Çok temel bir policy olmasına karşın hala çok büyük
yapılarda bile Lockout policy olmadığına sağlık taraması çalışmalarım sırasında
karşılaştım. Bunun tabiki yönetimi bir hayli zor olduğu için her müşterinin
farklı bir yorumu bulunur ancak tartışmasız en temel Active Directory güvenlik
önlemi lockout policy uygulanmasıdır.
5 – Password Policy
Çok temel bir bilgi olduğu ve artık bu konuda çok ciddi
farkındalık olduğu için üzerinde çok durmayacağım, ancak burada önemli olan
nokta eğer yetkili hesap segmentasyon yapmışsanız tek sorun yöneticinizin sahip
olduğu tüm hesaplara aynı şifreyi vermesi olacaktır ki bunu engellemezseniz
aslında sizin herhangi bir ürün almadan sağladığınız hak yükseltme koruma
özelliğiniz bir anda çöp olabilir.
6 – Eski Kullanıcı ve Makine Hesaplarının
Temizlenmesi
Ne yazık ki pek çok sağlık taramasında bu noktanın
düzenli olarak yapılmadığını görüyoruz. Banka, Telekom veya global firmalar gibi
düzenli denetlenen firmaların dışında ne yazık ki işten ayrılmış kullanıcı
hesaplarının hala aktif olarak kaldığını görebiliyoruz. Burada gerek makine
gerekse kullanıcı hesaplarının düzenli kontrol edilmesi ve gereksiz olan
hesapların önce disable, daha sonra şirket politikasına göre silinmesi
güvenliğinizi arttıracak adımlardan birisi olacaktır.
7 – Düzenli Yama Yüklenmesi
Çok geleneksel olacak ama OS seviyesinde çıkan kritik
yamalar Active Directory ortamınız için çok büyük risk doğurabilir. Sadece OS
seviyesinde değil özellikle son dönemde gördüğümüz CPU zafiyetleri de ne yazık
ki çok ciddi güvenlik zafiyetlerine neden olduğu için aslında AD ortamınızı
üzerinde barındırdığınız donanımların firmware yüklemelerinden OS yamalarına
kadar güncel bir sistem kullanıyor olmanız gerekli. Şimdi yama yüzünden kesinti
yaşan müşterilerin “aman hocam bana yama deme” dediğini duyar gibiyim ama yine
hep dediğim gibi pilot dağıtım, test yapmadan yapılan her yama hangi sisteme
olur ise olsun büyük bir zarar verme potansiyeli taşır. Bu üreticilere göre
farklılık göstermek ile beraber bu kötü tecrübeler ne yazık ki sistemlerimizi
bilinen zafiyetlere karşı korumasız bırakmamız için bir bahane olamaz. Yama
yönetimi aslında başlı başına ayrı bir konu olduğu için bunu da geçiyorum
şimdilik.
8 – Çoklu Kimlik Doğrulama
Active Directory gibi sistemlere erişimlerin
sınırlanması ve hatta bu tür sistemlere giriş yapabilecek makinelere ise smart
card gibi ek güvenlik önlemleri ile girebiliyor olmanız ayarlanmış olması
gereklidir. Örneğin bizim en değerli varlıklarımızdan birisi olan mali
varlığımıza erişirken nasıl kimse sms veya benzeri ikinci doğrulama
mekanizmalarından vazgeçmiyor ise bir şirket için verilerde en değerli varlıklar
olduğundan suyun başındaki konumu nedeni ile AD erişimleri mutlaka MFA – 2FA
cihazları ile desteklenmelidir.
Bu basit bir örnek
9 – İzleme
Aslında grup değişiklikleri izlenmesi başlığında izleme
noktasının öneminden bahsetmiştim, ancak bu çok özel bir izleme örneği olup her
şirketin bunu yapması bazen mümkün olmuyor, ancak bu maddeyi gerçekleştiremiyor
olsanız dahi genel olarak AD üzerindeki GPO, DNS, AD değişikliklerinden mutlaka
haberdar olmanız gerekli, aksi halde bu maddeye kadar yapmış olduğunu pek çok
değişiklik kötü amaçlı olarak geriye doğru değiştirilebilir ve bundan haberiniz
olmayabilir. Bu konuda Lepide, Netwrix, Manage Engine, Change Auditor gibi pek
çok Audit yazılımı kullanabilirsiniz. Tabiki sahip olduğunuz SIEM’ i eğiterek
kritik durumlar için yine log üretmesini sağlayarak bu ihtiyacı
karşılayabilirsiniz ama benim her zaman tercihim AD, Exchange gibi kritik
servisler için özelleşmiş Audit yazılımları almak olacaktır. SIEM olsun bana bir
zararı yok hatta tüm logları topluyor süper ama T anında o SIEM den istediğim
bilgiyi almak bazen zor bazen imkânsız olabiliyor.
10 – Yedekleme ve Felaket Senaryosu
Evet en iyi güvenlik önlemlerinden biriside tabiki çok
sağlam bir yedeğinizin olması. Veya olası bir saldırı, şifre ele geçirme ya da
servis kesintisi gibi ataklar için geri dönüş planınızın olmasıdır. Buna sahip
iseniz pek çok beklenmedik saldırı için kurtarma senaryonuz hazır
olacaktır.
Evet, elimden geldiği kadar basit olarak bir
farkındalık makalesi hazırlamaya çalıştım. Tabiki benden 27001 özelinde, KVKK
veya temel sağlık taraması alan müşterilerimin sadece Active Directory için 184
noktaya baktığımı biliyorlar, yani bu işin hepsini burada makaleye dökmek ne
yazık ki çok ciddi bir zaman alacağı için ben en azından böyle hizmetler veya
ürünler alamayan pek çok kobi çapındaki firmalar için yardımcı olmak amacı ile
bu bilgilerimi paylaştım. Ancak daha ciddi iş ihtiyaçlarınız ve bütçeniz var
ise tabiki benim gibi bir uzmandan böyle profesyonel bir tarama hizmeti ile
durum rapor edinmeniz ve sonrasında da ister mevcut ekipleriniz ile, iste
danışmanlarınız ile iyileştirme çalışmasını Active Directory gibi kritik tüm
sistemler için yapmanızı öneririm.
Kaynak