Ağ Erişimi

 

Aktif Dizin

Etkin Dizin (AD), genellikle Windows ağlarında kaynakları kontrol etmek ve izlemek için kullanılan bir dizin hizmetidir. AD, merkezi ağ yönetimi sağlayan bir Microsoft teknolojisidir. Çok ölçeklenebilir olduğu kanıtlanmıştır ve kurumsal ortamda (şirketler, üniversiteler, okullar, vb.) yaygın olarak kullanılmaktadır.

Etkin Dizin, iletişim için Hafif Dizin Erişim Protokolü'ne (LDAP) dayanır. AD muhtemelen LDAP'ın en büyük dağıtılmış kullanıcısı olsa da, Apple OpenDirectory, RH Directory Server ve OpenLDAP dahil olmak üzere çeşitli işletim sistemleri için diğer uygulamalar mevcuttur. LDAP genellikle dahili uygulamalar ve işlemler tarafından kullanılır.

Bir AD ortamının temel taşı Etki Alanı Denetleyicisidir (DC). DC'ler Kullanıcılar, Gruplar, Bilgisayarlar, İlkeler ve daha fazlası hakkında dizin bilgilerini depolar. Destekledikleri etki alanı (ağ) için kimlik doğrulama isteklerine yanıt verirler. Standart bir ağ, bir şeylerin ters gitmesi durumunda yük devretme özelliğine sahip birden fazla DC'ye sahip olacaktır.

Birçok ortam için AD, kimlik doğrulama, yetkilendirme ve muhasebe için kullanılan mekanizmadır. Birçok hizmet web'e taşındığından, AD'ye her yerden erişme ihtiyacı giderek daha önemli hale gelmiştir. Bu durum, active directory'nin bulut tabanlı bir versiyonu olan Azure Active Directory'nin büyümesini tetikledi. Giderek artan bir şekilde yerel DC'ler yerine bulut tabanlı kaynakları kullanan dağıtımlar görüyoruz.

Ayrıcalıklı Kimlik Yönetimi (PIM)

Ayrıcalıklı Kimlik Yönetimi (PIM) konumlar, komutlar, denetim raporları ve hizmetler gibi kaynaklara erişimi yönetmenin bir yöntemidir. PIM daha ayrıntılı erişim kontrolü sağlamayı amaçlamaktadır. Erişim hakkında daha fazla bilgi kaydederek, şüpheli davranış ve anormalliklerle ilgili daha iyi raporlama yapılmasını sağlar. PIM, Windows işletim sisteminde ve birçok Microsoft Azure hizmetinde kullanılır.

Ayrıcalıklı Erişim Yönetimi (PAM)

Ayrıcalıklı Erişim Yönetimi (PAM), bir *NIX sistemindeki süper kullanıcılar gibi gelişmiş yeteneklere sahip kimlikleri korumaya yönelik bir frameworktur. PAM, yöneticilerin oturum açma şeklini kontrol etmek için kullanıldığı Linux dünyasında yaygındır. PAM, eski "root ol ve yönetici görevlerini yerine getir" modelinden çok daha fazla özelliği destekler. PAM ile parolaların süresi dolabilir, daha iyi denetim uygulanabilir ve ayrıcalık yükseltme geçici hale getirilebilir.

Kimlik ve Erişim Yönetimi (IAM)

Kimlik ve Erişim Yönetimi, dijital kimlikleri yönetmek için bir frameworktur. IAM kullanıcı veritabanını yönetir, kullanıcılar oturum açtığında ve kapattığında günlük tutar, grupların veya rollerin oluşturulmasını yönetir ve erişim ayrıcalıklarının atanmasına ve kaldırılmasına izin verir. Birçok farklı grup IAM framework'leri sunmaktadır; bunlardan en ünlüsü, sundukları hizmet olarak altyapı (IaaS) teknolojilerine erişimi kontrol etmek için kullanan Amazon Web Systems (AWS) olabilir.

IAM bu hedeflere ulaşmak için genellikle PIM ve PAM'den yararlanır. İyi uygulanmış, kapsamlı bir IAM çerçevesi işletim sistemleri arasında çalışabilir ve birçok farklı kaynak türünü idare edebilir.

Unix Dosya İzinleri

Unix, başlangıcından itibaren çok kullanıcılı bir ortam olarak tasarlanmıştır ve bu nedenle dosya izinlerine çok dikkat edilmiştir. Bir Unix sistemindeki her dosyanın bir sahibi ve bir grubu vardır. Her dosyanın ayrıca sahip, grup ve tüm kullanıcılar için izinleri vardır. İzinler, her bitin okuma (bit 0: 1), yazma (bit 1: 2) veya yürütme (bit 2: 4) iznini temsil ettiği sekizli sayılar kullanılarak ayarlanır.

Örneğin, okuma ve yürütme izni istiyorsanız sayı 5 (1 + 4) olacaktır. Okuma ve yazma izni 3 (1 + 2) olacaktır.

İzinler chmod komutu ile belirtilir, ilk sekizli sayı sahip için, ikincisi grup için ve üçüncüsü tüm kullanıcılar için izinlerdir. Yani bir dosyayı sahibi için okuma, yazma ve çalıştırma izinlerine, grup için okuma izinlerine sahip olacak ve diğer herkes için hiçbir izin olmayacak şekilde değiştirmek için komut chmod 710 olacaktır; burada dosyanızın adıdır.

Bir dosyanın sahibi ve grubu chown komutu ile ayarlanabilir: chown . . Eğer belirtilmezse sadece sahibi değiştirilir.

ACL'ler

Erişim Kontrol Listeleri (ACL), bir özelliğe dayalı olarak erişime izin vermek veya erişimi reddetmek için kullanılır. Basit bir özelliğe dayanma eğilimindedirler ve ya listede olmayan herkese erişimi reddederler; allowlist, ya da listede olan herkese erişimi reddederler; denylist.

ACL'ler ağ oluşturmada kullanılır ve genellikle IP adresine göre filtreleme yapar. ACL örneklerini çoğu güvenlik duvarı ürününün yanı sıra Amazon Web Services (AWS) Virtual Private Cloud'da (VPC) da bulabilirsiniz.

Dosya sistemi ACL'leri aynı kavramı dosyalara uygular. Linux, Unix Dosya İzinleri ile mümkün olandan daha incelikli bir şekilde erişime izin vermek veya erişimi reddetmek için dosya sistemi ACL'lerini kullanır.

SSH Anahtarları

Secure Shell Server (SSH) kimlik doğrulama için asimetrik şifreleme anahtarlarının kullanımını destekler. Çoğu sunucu RSA, DSA ve ECDSA anahtarlarını destekler, RSA en yaygın olanıdır. Bir SSH sunucusu, genellikle ~/.ssh/authorized_keys adresinde, sunucuya bağlanmak için kullanılabilecek yetkili anahtarların bir listesini tutar. Bir istemci bağlandığında, SSH sunucusu istemciden kendi özel anahtarını kullanarak rastgele bir veri parçasını imzalamasını isteyen bir sorgulama yayınlar. Özel anahtar, authorized_keys dosyasında saklanan genel anahtarla eşleşirse kullanıcı oturum açar.

SSH anahtarları, kullanıcının bir parolayı hatırlaması ve yazması gerekmediği için kullanımı daha kolay olma avantajına sahiptir. Bu nedenle, git gibi protokolleri SSH üzerinden çalıştırırken kimlik doğrulama için genellikle anahtarlar kullanılır. Anahtarlar ayrıca MitM saldırılarını engelleme avantajına da sahiptir. Bir parola SSH sunucusunu taklit eden kötü niyetli bir aktör tarafından kolayca çalınabilirken, anahtar yoluyla kimlik doğrulama yalnızca imzalı bir rastgele veri biti iletecektir. Bu veri parçası MitM için işe yaramaz.

Oturumlar ve Tanımlama Bilgileri

HTTP oturumları bir kaynağa erişimi kontrol etmek için de kullanılabilir. Bu genellikle web uygulamalarında kullanılır. Başarılı bir oturum açma işleminin ardından kullanıcıya kriptografik olarak kurcalamaya dayanıklı bir oturum kimliği içeren bir çerez verilir. Kullanıcının o siteye yaptığı her istek bu çerezi içerecektir. Sonunda oturum zaman aşımına uğrayacak ve kullanıcı, oturum kimliğinin artık geçerli olmaması nedeniyle reddedilen bir istekte bulunacaktır. Genellikle web sitesi bu kişileri korunan kaynaktan tekrar giriş yapabilecekleri bir giriş sayfasına yönlendirir.

Web sitesi çerezleri, kullanıcı tercihlerini veya uygulamanın mevcut durumunu saklamak için de kullanılabilir. Bir çerez, kullanıcının alışveriş sepetinde o anda bulunan ürünleri listeleyebilir veya kullanıcının karanlık modu tercih edip etmediğini belirtebilir. Çerezler saldırılarda kullanılabildikleri için incelemelerin hedefi olmuştur. Çerezlere dışarıdan bir uygulama veya bir web tarayıcısındaki ayrı bir kötü niyetli sekme tarafından erişilebiliyorsa, kullanıcı oturumuna erişim elde etmek için kullanılabilir.

Tek Oturum Açma (SSO)

Web uygulamalarının her yerde bulunan doğası göz önüne alındığında, ayrı kullanıcı adları ve parolalar tutmak kullanıcılar için zor olabilir. Son zamanlardaki bir eğilim, kullanıcıların iddia ettikleri kişi olduklarını doğrulamak için tek bir kimlik sağlayıcısının kullanıldığı Tek Oturum Açma'yı desteklemek olmuştur. SAML ve OAuth dahil olmak üzere bunu mümkün kılan birkaç protokol vardır.

SAML, Security Assertion Markup Language anlamına gelir ve XML tabanlı bir Tek Oturum Açma çözümüdür. SAML iş akışı, SAML kimlik sağlayıcısı veya IDP etrafında merkezlenir. SAML aracılığıyla bir kaynağa erişim izni vermek için aşağıdaki adımlar gerçekleşir:

  1. Kullanıcı bir servise erişir
  2. Kullanıcı SAML isteği ile SAML IDP'ye yönlendirilir
  3. Kullanıcı oturum açar
  4. Kimlik bilgileri doğrulanır
  5. SAML IDP kimlik bilgilerini hizmete gönderir

OpenID, SAML'ye benzer bir şekilde kullanıcıların üçüncü taraf bir kimlik sağlayıcı kullanarak kimlik doğrulamasına olanak tanıyan başka bir protokoldür. Temel farklardan biri, OpenID'nin merkezi olmayan bir şekilde tasarlanmış olması ve kullanıcıların aralarından seçim yapabileceği birden fazla IDP'ye izin vermesidir. Şubat 2014'te OpenID, IDP'lerin bir REST API aracılığıyla kullanıcılar hakkında bilgi sağlamasına olanak tanıyan daha modern bir sistem olan OpenID Connect'i (OIDC) tanıttı. Bu hamle büyük ölçüde OAuth'un popülerliğine bir yanıt niteliğindeydi.

OAuth, web sitelerinin bir kullanıcının profilinin bazı bölümlerine kullanıcının izniyle erişmesine izin veren bir yöntemdir. OAuth teknik olarak tam teşekküllü bir kimlik doğrulama protokolü değildir, ancak genellikle bir protokolün parçası olarak kullanılır. Aşağıdaki diyagram OpenID kimlik doğrulaması ile OAuth akışı arasındaki farkları vurgulamaktadır:

OpenID vs. Pseudo-Authentication using OAuth by Perhelion used under CC0 1.0

Kerberos

Kerberos, istemci sunucu bağlantıları için bir kimlik doğrulama protokolüdür. 1980'lerde MIT tarafından geliştirilmiştir ve en çok Windows ağlarında kullanılmaktadır, ancak birçok Linux dağıtımı da kimlik doğrulama için kullanılmasını desteklemektedir. Kerberos, zamana dayalı biletleri kapsamlı bir şekilde kullanır ve bu nedenle katılan tüm istemcilerin saatlerinin senkronize olması gerekir. Doğru çalıştığında Kerberos, güvenilmeyen bir ağda tam kimlik doğrulamasına izin verir.

Kerberos, görevlerini yerine getirmek için birçok farklı hizmet ve kavramdan yararlanır. Bu hizmetlerden bazıları aynı makine üzerinde çalışabilir ve neredeyse her zaman kısaltılmışlardır:

Kimlik Doğrulama Sunucusu (AS)

-istemcilerle kimlik doğrulama adımını gerçekleştirir

Bilet Verme Hizmeti (TGS)

-bilet oluşturan ve imzalayan hizmet

Bilet Veren Biletler (TGT)

-hizmetler için bilet ve oturum oluşturma olanağı sağlayan zaman damgalı ve şifreli (TGS gizli anahtarı ile) bilet

Anahtar Dağıtım Merkezi (KDC)

-TGS'yi çalıştırır ve TGT'leri verir

Hizmet Prensip Adı (SPN)

-Kerberos kimlik doğrulamasını kullanan bir hizmetin adı

Oturum açmak için istemci AS'ye ulaşır, AS de KDC'de çalışan TGS'den bir TGT alır ve bunu istemciye verir. İstemci kullanmak istediği hizmetin SPN'sini alır ve TGT ile birlikte TGS'ye gönderir. İstemcinin hizmete erişim izni olduğunu varsayan TGS, istemciye bir bilet ve oturum düzenler. Bilet daha sonra hizmete bağlanmak için kullanılır.

Altın Bilet
Kerberos kimlik doğrulamasına karşı tehlikeli bir saldırı mevcuttur ve Altın Bilet olarak adlandırılmaktadır. TGT’ler Kerberos güvenliğinin temel taşıdır ve Altın Bilet istismarı özellikle onları hedef alır.

Bir saldırgan tam nitelikli alan adını, güvenlik tanımlayıcısını, bir hesabın kullanıcı adını ve bir KRBTGT parola karmasını kullanarak hizmetlere erişim sağlayacak kendi TGT’lerini oluşturabilir. KRBTGT hesabı, Windows makinelerinin Kerberos yönetim görevlerini gerçekleştirmek için kullandığı bir hesaptır. KRBTGT parola karması, saldırganın sabit sürücüdeki dosyalara tam erişimi varsa, bu hesabın kullanıldığı herhangi bir makineden elde edilebilir. Bu, fiziksel erişim veya kurban makinede kötü amaçlı yazılım kullanımı yoluyla yapılabilir.

Bir saldırgan yalnızca KRBTGT hesap parolası değiştirilene kadar TGT’leri taklit edebilecektir, bu nedenle yaygın bir düzeltme stratejisi parolayı değiştirmektir. Nihayetinde yöneticinin KRBTGT parola karmasının ilk etapta nasıl elde edildiğini belirlemesi gerekecektir.

Tokenizasyon

Tokenizasyon, hassas bilgileri korumak için bir erişim kontrol şemasının parçası olarak kullanılabilir. Ele geçirilmesi halinde çok değerli olabilecek bilgiler, işleme dahil olan taraflarca bilinen rastgele bir belirteçle değiştirilir. Tipik bir senaryoda, belirteçler oluşturulduktan sonra, güvenilmeyen bir ağ üzerinden yalnızca belirteç gönderilir.

Kredi kartı numaranızın satıcılara ifşa edilmesini istemediğinizi düşünün. Bir çözüm, her işlem için size yeni bir kredi kartı numarası veren bir ödeme hizmeti kullanmanız olabilir. Bu kredi kartı numarası yalnızca tek bir işlem için geçerli olacak ve normal kredi kartınıza (ödeme hizmetinin erişebileceği) faturalandırılacaktır. Bu durumda token tek kullanımlık kredi kartı numarası, hassas bilgi ise gerçek kredi kartı numaranızdır. ApplePay ve GoogleWallet gibi ödeme hizmetleri tam olarak bunu yapar.

Önceki Ders: Fiziksel Erişim

Sonraki Ders: Laboratuvar: Linux Dosya İzinleri

 

Yorumlar

Bu blogdaki popüler yayınlar

Dentin Oluşumu

Periodonsiyum Klinik Uygulamalar

Ağız Mukozasının Genel Histolojisi