PKI Sisteminin Tasarlanması ve Konumlandırılması
Günümüzde bilgisayar sistemleri çok gelişti ve devir enformasyon devri olduğu için bilgi ve ona ne kadar çabuk ulaşabildiğimiz de önem kazandı. Bilgiye elektronik olarak ulaşabilmek diyince internetten başka seçenek akla gelmiyor. Organizasyonlar ne kadar gizli ve önemli işleri olsa da internetsiz bir ortam da çalışamazlar. İnternet demek ise faydasının yanında oluşabilecek güvenlik açıklarından dolayı zararlarının da olması demek. Günümüzde bunun önüne geçebilmek için çok gelişmiş güvenlik duvarları ve anti-virüs sistemleri kullanılmaktadır. Ancak unutulmamalı ki bilginin güvenliği sadece dışarıdan gelecek tehditlere karşı değil içerden gelecek saldırılara karşıda sağlanmalıdır. Günümüzde bilgi hırsızlığı organizasyonlar için oldukça önemli bir risk oluşturmaktadır. Bilgimizin güvenliğini saplayabilmenin yollarından birisi de konu başlığımızı oluşturan PKI (Public Key Infrastructure) yapısının organizasyona yerleştirilmesi ve böylece kullanıcı ve bilgisayarlara sertifika yapısının gelmesiyle belgelerin transferi ve saklanması için EFS (Encrypting File Systyem) in kullanılması (Bunun için CA kurulumunun olması gerekli değildir. Ancak CA kurulumları ile bu ortam da çok daha rahat bir şekilde yönetilebilmektedir), secure e-mail ile yazışmalarımızın kriptolu olarak gitmesi vb. uygulamalarda kullanılarak güvenliğin arttırılmasını sağlanmaktadır.
Öncelikle PKI yapısının nasıl çalıştığını anlamak gereklidir. Basitçe anlatmak gerekirse A ve B kullanıcıları arasında dosya transferi yapılacaktır. Ancak bu transfer dosyanın kriptolandıktan sonra gönderilmesi şeklinde yapılmak istenmektedir. Bunun için A ve B kullanıcıları ortamda bulunan ya da 3. Parti bir sertifika makamından kendileri için birer Public Key ve Private Key olmak üzere anahtarlar alırlar. Public Key ile Private Key arasında matematiksel bir bağlantı vardır. A kullanıcısı dosyayı B kullanıcısına göndereceği için ondan dosyayı kriptolayabilmek için Public Key ini ister. Public Key adı üstünde herkese verilebilecek bir anahtar olduğundan B A ya bu anahtarı gönderir. A B nin Public Key i ile dosyayı kriptolar ve B ye gönderir. Dosya artık kriptolu olduğu için transfer sırasında 3. Bir kişinin eline geçmesi dosyanın güvenliği açısından bir sıkıntı oluşturmamaktadır. B dosyayı aldıktan sonra kendi Private Key i ile dosyayı açabilir.
Sertifika Makamını organizasyon içerisinde konumlandırırken öncelikle farklı türlerde ki sertifika makamlarını bilmemiz gereklidir. Windows Server 2003 ile birlikte iki çeşit sertifika makamı desteklenmektedir. Bunlar;
· Enterprise
· Stand-alone
Organizasyonumuz içerisinde mutlaka bir tane kök (Root) sertifika makamımız olmalıdır. Hem Enterprise hem de Stand-alone sertifika makamları Kök sertifika makamı ya da ikincil sertifika makamı olarak yapılandırılabilir. İkincil sertifika makamı ise orta seviye (ki aynı zamanda Policy CA olarak da kullanılabilir) ya da yayınlayıcı (Issuing) sertifika makamı olarak konumlandırılabilir.
Seçeneklerin çok olması nedeniyle CA yapılandırılması oluşturulmadan önce kaç CA olacağı ve bunların rollerinin belirlenmesi gereklidir.
Enterprise CA mi? Stand-alone CA mi?
Enterprise CA ler Active Directory ile entegre olarak çalışırlar ve sertifikaları Active Directory ye dağıtırlar. Enterprise CA ler Active Directory ile bütünleşik olarak çalıştıklarından gelen sertifika isteklerini AD den sorgulayarak doğrulayabilirler ve
geri dönen bilgiler ile sertifikayı oluşturup otomatik olarak onaylayabilir. Enterprise CA ler bu sertifikaları oluştururken hazır şablonlardan faydalanırlar. Enterprise CA ler şablonları destekledikleri için organizasyonlar kendileri için özel oluşturdukları şablonları kullanarak özel sertifikalar oluşturulmasını sağlayabilirler.
Ayrıca sadece Enterprise CA ler smart-card logon özelliğini desteklemektedir. Bunu da AD ile bütünleşil olarak çalışmaları sayesinde yaparlar. Bu bütünleşik çalışma sayesinde kullanıcılar ile smart-card ların sertifikalarını eşleştirebilirler.
Enterprise CA leri aşağıda ki durumlar için kullanabiliriz. Bunlar;
· Çok fazla sayıda sertifikanın kayıtlı olduğu ve isteklerin otomatik olarak onaylanması isteniyorsa,
· İstek yapan clientlaruın Active Directory de kayıtlı olmaları isteniyorsa,
· Sertifika isteklerinin otomatik olarak onaylanması ve V2 template lerinin kullanılması isteniyorsa,
· Client ların login işlemi için smart-card logon özelliği kullanılacaksa,
Stand-alone CA ler ise Enterprise CA lerin aksine çalışmak için Active Directory ye ihtiyaç duymazlar. AD ile bağlantısı olmadığından yapılan tüm istekleri sertifika makamının administrator yetkisine sahip kullanıcısı tarafından incelenene kadar bekletilir ve inceledikten sonra yönetici isteği onaylar ya da reddeder. Stand-alone CA ler de sertifika isteklerinin otomatik olarak onaylanması da sağlanabilir ancak gelen istekte ki bilgilerin doğruluğu AD vasıtası ile doğrulanamayacağından bir güvenlik açığı oluşturacaktır ve bu nedenle tavsiye edilmez.
Stand-alone CA ler ise aşağıda ki durumlar için kullanılabiliriz. Bunlar;
· Çevrimdışı kök ya da çevrimdışı orta düzey CA isteniyorsa,
· V2 template lere ihtiyaç duyulmuyorsa,
· Yüksek güvenlik modeli isteniyorsa,
· İstek yapanların Active Directory de kayıtlarının bulunması gerekmiyorsa,
Root CA
Root CA adından da anlaşılacağı üzere kök CA sertifika makamı olup tüm sertifika makamlarının üstündedir. Root sertifika makamları kendi kendilerini ve subordinate sertifika makamlarını onaylayabilen tek sertifika makamıdır. Root sertifika makamı bu sebeplerden ötürü çok önemlidir ve güvenliğinin çok iyi sağlanması gereklidir. Kesinlikle kilitli ve giriş çıkışların denetimli olduğu bir ortamda tutulmalı, network bağlantısının olmaması (sistem açık ancak network kablosu takılı olmayabilir) ve ortamda varsa Active Directory ile de ilişkisinin olmaması gereklidir. Bunların yanında sunucu kapatılarak harddiski sökülebilir ve kilitli bir ortamda tutulabilir, sistem çevrimiçi tutulur ancak sertifika servisi durdurulur, donanımsal olarak güvenlik modülleri kullanılabilir. Bu tür serifika makamları çevrimdışı duracağı ve Active Directory ile bağlantısının olmayacağı için stand-alone CA olarak kurulmalıdırlar ve etki alanına dahil olmamalıdırlar, bir workgroup da bulunmalıdırlar.
Subordinate (İkinci Seviye) CA
Root sertifika makamı olmayan sertifika sunucularını ikinci seviye sertifika makamı olarak tanımlayabiliriz. Ortamda ki ilk ikincil sertifika makamı sertifikasını Root sertifika makamından alır. Böylece bu sertifika makamı sertifikasını kullanarak gelen sertifika isteklerini onaylayabilir ya da reddedebilir. Ayrıca diğer ikincil sertifika makamlarının doğruluğunu da denetler ve onaylar. Bu tür sertifika makamları da tercihe bağlı olmakla birlikte çevrimdışı olarak tutulmaları önerilir. Dolayısıyla bunlarında stand-alone CA olarak kurulabilirler ve etki alanına dahil olmamalıdırlar, bir workgroup da bulunmalıdırlar. Ancak çevrimiçi olarak kullanılacaksa Enterprise CA olarak da kurulabilirler.
NOT: Yukarıda ki sertifika makamları eğer etki alanına dahil olurlarsa bilgisayar hesaplarının parolalarının 30 günde bir otomatik olarak değiştirilmesinden dolayı sıkıntı çıkacaktır. Çünkü bu sertifika makamları sürekli olarak çevrimdışı tutulacaklardır.
Issuing (Yayınlayıcı) CA
En alt seviyede bulunan sertifika makamıdır. Kendine gelen istekleri onaylayabilir ya da reddedebilir. Bu nedenle sürekli olarak çevrimiçi olmak zorundadır. Sürekli çevrimiçi olarak duracağı ve ortamda ki Active Directory ile birlikte çalışacağı düşünülürse Enterprise CA olarak kurulmalıdırlar.
İhtiyaç Duyulan CA Sayısının Belirlenmesi
Ortamda ki sertifika makamı sayısı organizasyonun ihtiyaçları (kullanım yoğunluğu, güvenlik gibi) göz önünde bulundurularak belirlenmelidir. Aşağıda ki seçeneklere verilecek cevaplar ortamda ki Root CA sayısının belirlenmesinde fayda sağlayacaktır.
· Tek bir amaç için kullanılacaksa ve sürekli çevrimiçi olmasına gerek yok ise tek bir Root CA yeterli olacaktır.
· Organizasyon içerisinde birden fazla CA olacaksa en az bir adet Root CA olmalıdır. Root CA sayısı isteğe ve ihtiyaca bağlı olarak arttırılabilir. Ancak Root CA in sayısının arttırılması beraberinde güvenlik ve yönetilebilirlik sorunlarını da beraberinde getirecektir.
· Sertifika onaylayarak yayınlayan CA lerin hangi uygulamalar için ve ne yoğunlukta kullanılacağına (güvenli e-mail, network/internet authentication, ip güvenliği, EFS, 802.1x authentication, smart-card logon vb.) göre orta-seviye ve onaylayıcı sertifika makamlarının sayısı belirlenebilir.
· Organizasyonun şemasına ve coğrafi olarak dağıtık bir yapıda ise sistemin kesintisiz olarak çalışabilmesi için her bir bölge için birer Root CA, ikinci seviye CA ve onaylayıcı/dağıtıcı CA kurulumları gerekebilir.
CA İsimlendirmesi
Sertifika makamlarının kurulumlarının yapılmadan önce CA lerin isimlendirilmelerinin düzgün ve belirgin şekilde yapılmış olması gereklidir. Dikkat edilmesi gereken hususlardan bir tane isimlerin 64 karakterden fazla olmamasıdır. Karışıklığı önlemek için isimlendirme de Türkçe karakter kullanımından kaçınılmalıdır. Sertifika makamının isminin bilgisayar ismi ile aynı olması zorunlu değildir. Ancak unutulmamalıdır ki sertifika makamı kurulumu yapıldıktan sonra bilgisayar ismi değiştirilemeyecektir.
CA ler için Güven Modelinin Belirlenmesi
Hiyerarşik olarak dizilen CA modellerinde sertifika makamları arasında ki güven ilişkisi ve isimlendirilmelerinin düzgün olarak hazırlanmış olmalıdır. Böylece üst-ast ilişkisin düzgün olarak kurulmuş olur. Dolayısıyla her astın mutlaka bir üstü olacaktır. Buna bağlı olarak organizasyonumuzda ki sertifika makamları arasında ki hiyerarşiyi aşağıda ki üç temel model üzerine oturtabiliriz. Bunlar;
· Root merkezli güven modeli: Bu modelde Root CA ve ikincil CA ler bulunur. Burada ki Root CA çevrimdışı olarak çalışır. Dolayısıyla bu model yüksek güvenlik isteyen organizasyonlar için uygun olacaktır.
· Network (geçişmeli sertifikasyon) güven modeli: Bu model de her CA hem Root hem de ikincil seviye sertifika makamlarıdır. Bu model dağıtık sistemi olan organizasyonlar için uygun olacaktır.
· Hybrid güven ilişkisi: Bu model de yukarıda ki iki modelin harmanlanması ile oluşturulmuştur.
Yukarıda ki modellerden hangisinin seçileceği üzerine tartışılırken organizasyonun yapısı ve kullanıcı sayısı gibi bilgilerinde göz önünde bulundurulmasında fayda olacaktır.
Root Güven Modeli
Bu modelde Root sertifika makamı güven ilişkisinin başlangıcıdır ve kendi kendisini sertifikalayabilir. Root sertifika makamı diğer tüm ikincil sertifika makamlarının sertifikalarını onaylar ve dağıtır. Bu modelde herhangi bir zamanda yeni bir sertifika makamı sisteme eklenebilir. Bu durumda Root sertifika makamı yeni hiyerarşiyi diğer sertifika makamlarına dağıtır ve sistem yeni şekli ile çalışmaya devam eder.
Bu model gerek yönetim gerekse güvenlik açısından en uygun modeldir. Çünkü burada ki sertifika makamlarının her birinin tek bir rolü vardır. Dolayısıyla hiçbir sertifika makamı işlevsel olarak diğerlerine bağlı değildir. Root sertifika makamı tek olduğundan çevrimdışı durumuna alınabilir. Her bir sertifika makamının işlevi birbirinden farklı olduğundan bunlara ayrı ayrı yöneticiler de atanabilir.
Network Güven Modeli
Eğer organizasyonumuzun yapısı dağıtık ise (şehirlere, ülkelere dağılmış birimler gibi) Root güven modeli tek Root sertifika makamını desteklediği için bu yapıda çalışmayacaktır.
Bu modelde sertifika makamlarının her biri kendi kendisini onaylayabilir ve diğer sertifika makamları ile aralarında çapraz sertifikalar denen bir sistem ile güven ilişkisi kurabilirler. Çapraz sertifikalar bir sertifika makamı ile diğer sertifika makamı arasında mantıksal bir ikincil sertifika makamı oluşmasını sağlar. Bu sayede Root sertifika makamı aynı zamanda ikincil sertifika makamı olarak da çalışabilmektedir.
Bu modelin çalışma mantığı şu şekildedir. Farklı ortamlarda 3 adet sertifika makamımız olsun ve bunların hepsi Root olsun. CA1 bir çapraz sertifika oluşturur (bunun için CA1 in CA2 nin Public Key ini bilmesi yeterlidir) ve bununla CA2 ye güvendiğini belirtir. Benzer şekilde CA2 de çapraz sertifika oluşturur ve bununla CA1 güvendiğini belirtir. Ancak bunun karşılıklı olması zorunluluk değildir. CA1 CA2 ye güvenirken CA2 kendi çapraz sertifikasını iptal ederek CA1 e güvenini kesebilir. Bu da çapraz sertifikanın iki yönlü olmak zorunda olmadığının bir göstergesidir. Buradan clientlar içinde benzer sonuç çıkar. CA1 in clientları CA2 ye güvenirken CA2 nin clientları CA1 e güvenmek zorunda değildir.
Dolayısıyla bu model ile birbirlerinden bağımsız PKı ortamları arasında köprü oluşturulabilir. Ancak bu özelliklerin getirdiği artılar gibi yönetim ve güvenlik anlamında zorluklarda beraberinde gelmektedir.
Hybrid Güven Modeli
Yukarıda ki iki yöntemden Root güven modeli çok sıkı gelebilir ve Network güven modeli de ortamda çok fazla sertifika makamı var ise karmaşık gelebilir. Bu modelde yukarı da ki her iki yöntemin olumlu yanları kullanılır.
Bu makalemde sizlerle sertifika sunucularının kullanım amaçlarından ve yapılandırma şekillerinden bahsetmeye çalıştım. Umarım faydalı olmuştur. Sertifika makamlarının kullanım şekillerini bundan sonraki makalelerimde anlatmaya devam edeceğim.
Sağlıcakla kalın;
M. Hakan CAN