Bu yazımda Citrix Virtual Apps and Desktops ürünün bileşeni olan StoreFront için IIS hardening işlemlerini anlatacağım.
Microsoft Internet Information Services (IIS) Yapılandırması
Citrix StoreFront’u kısıtlı bir IIS yapılandırmasıyla yapılandırabilir ve kullanılmayan işlemlere izin vermeyebilirsiniz. Bunun varsayılan IIS yapılandırması olmadığını unutmayın.
Dosya uzantıları
Listelenmemiş dosya uzantılarına izin vermeyebilirsiniz.
StoreFront, Request Filtering bölümünde aşağıdaki dosya uzantılarını kullanır:
- . (boş uzantı)
- .appcache
- .aspx
- .cr
- .css
- .dtd
- .gif
- .htm
- .html
- .ica
- .ico
- .jpg
- .js
- .png
- .svg
- .Txt
- .xml
“Receiver for Web Sites” bölümünde Citrix Workspace yazılımının Download veya Upgrade edilmesi etkinleştirilmişse, StoreFront aşağıdaki dosya uzantılarını kullanır:
- .dmg
- .exe
“Citrix Workspace for HTML5” uygulaması etkinleştirilirse, StoreFront aşağıdaki dosya uzantılarını kullanır:
- .eot
- .ttf
- .woff
MIME Türleri
Aşağıdaki dosya türlerine karşılık gelen MIME türlerini kaldırabilirsiniz:
- .exe
- .dll
- .com
- .bat
- .csh
Request Filtering
StoreFront, Request Filtering’de aşağıdaki HTTP fiillerini gerektirir. Listelenmemiş fiillere izin vermeyebilirsiniz.
- GET
- POST
- HEAD
Diğer Microsoft IIS Ayarları
StoreFront aşağıdaki seçeneklere ihtiyaç duymaz:
ISAPI filtreleri
ISAPI uzantıları
CGI programları
FastCGI programları
- IIS Authorization Rules bölümünü yapılandırmayın. StoreFront, kimlik doğrulamayı doğrudan destekler ve IIS kimlik doğrulamasını kullanmaz veya desteklemez.
- StoreFront sitesi için SSL Ayarları’nda “Client certificates: Require” seçeneğini seçmeyiniz. StoreFront yüklemesi, StoreFront sitelerinin uygun sayfalarını bu ayarla yapılandırır.
- StoreFront Cookie’leri kullanır ve Use Cookies seçeneği aktif olması gerekir. Cookieless/Use URI seçeneğini seçmeyiniz.
- .NET ayarlarında Trust seviyesini High yada Lower olarak seçmeyiniz.
- StoreFront, her site için ayrı bir Application Pool desteklemez. Ancak “Application pool idle time-out” ve “Virtual memory an application pool uses” bölümlerini ayarlayabilirsiniz.
Kullanıcı Haklarını Yapılandırma
Microsoft IIS, StoreFront kurulumunun bir parçası olarak etkinleştirilir. Microsoft IIS, oturum açma hakkı için “Log on as a batch job”, yerleşik IIS_IUSRS için “Impersonate a client after authentication” yetkisini verir. Bu normal Microsoft IIS yükleme davranışıdır. Bu kullanıcı haklarını değiştirmeyiniz.
StoreFront’u kurduğunuzda Application Pool’lara “Log on as a service”, “Adjust memory quotas for a process”, “Generate security audits”, ve “Replace a process level token” hakları verilir. Bu durum Application Pools oluşturulduğunda normal yükleme davranışıdır. Bahsi geçen Application Pool’lar, “Citrix Configuration Api”, “Citrix Delivery Services Resources”, “Citrix Delivery Services Authentication” ve “Citrix Receiver for Web” ‘diır. Bu kullanıcı haklarını değiştirmenize gerek yoktur. Bu ayrıcalıklar Storefront tarafından kullanılmaz ve otomatik olarak devre dışı bırakılır.
StoreFront kurulumu aşağıdaki Windows hizmetlerini oluşturur:
- Citrix Configuration Replication (NT SERVICE\CitrixConfigurationReplication)
- Citrix Cluster Join (NT SERVICE\CitrixClusterService)
- Citrix Peer Resolution (NT SERVICE\Citrix Peer Resolution Service)
- Citrix Credential Wallet (NT SERVICE\CitrixCredentialWallet)
- Citrix Subscriptions Store (NT SERVICE\CitrixSubscriptionsStore)
- Citrix Default Domain Services (NT SERVICE\CitrixDefaultDomainService)
Servis Ayarlarını Yapılandırma
Yukarıda “Kullanıcı Haklarını Yapılandırma” bölümünde listelenen StoreFront Windows hizmetleri “NETWORK SERVICE” kimliği olarak, Citrix StoreFront Protocol Transition hizmeti de “SYSTEM” kimliği olarak oturum açmaktadır. Bu konfigürasyonları değiştirmemeniz gerekir.
Grup Üyeliklerini Yapılandırma
Bir StoreFront sunucu grubunu yapılandırdığınızda, aşağıdaki hizmetler Administrators Security grubuna eklenir:
- Citrix Configuration Replication (NT SERVICE\CitrixConfigurationReplication)
- Citrix Cluster Join (NT SERVICE\CitrixClusterService). -> Bu hizmet yalnızca bir grubun parçası olan sunucularda görülür ve yalnızca Join işlemlerinde devreye girer.
Bu sanal hesapları daha az izne sahip etki alanı hesaplarıyla değiştirmeyin . Bu grup üyelikleri StoreFront’un doğru şekilde çalışması için gereklidir:
- Sertifikalar için Create-Export-Import ve Delete yetkisi.
- Registry’de RW yetkisi
- .Net Framework derleme yetkileri
- “Program Files\Citrix\<StoreFrontLocation>” lokasyonuna erişim
- Applications ve Application Pool için Add, Modify ve Remove yetkisi
- Local Security gruplar ve Firewall için Add, Modify ve Remove yetkisi
- Windows servisleri ve Powershell’de Add ve Remove yetkisi
- WCF için Register yetkisi
StoreFront güncellemelerinde, bu işlem listesi önceden haber verilmeksizin değiştirilebilir.
StoreFront kurulumu ayrıca aşağıdaki Local Security gruplarını oluşturur:
- CitrixClusterMembers
- CitrixCWServiceReadUsers
- CitrixCWServiceWriteUsers
- CitrixDelegatedAuthenticatorUsers
- CitrixDelegatedDirectoryClaimFactoryUsers
- CitrixPNRSUsers
- CitrixStoreFrontPTServiceUsers
- CitrixSubscriptionServerUsers
- CitrixSubscriptionsStoreServiceUsers
- CitrixSubscriptionsSyncUsers
- CitrixStoreFrontAdministrators
StoreFront Sertifikaları
Sunucu sertifikaları
Sunucu sertifikaları, Storefront’ta makine tanımlama ve Transport Layer Security (TLS) bağlantısı için kullanılır. ICA Signature etkinleştirmeye karar verirseniz, Storefront ayrıca ICA dosyalarını dijital olarak imzalamak için sertifikaları kullanabilir.
Token Sertifikaları
Kimlik doğrulama hizmetleri ve depolarının her biri, belirteç yönetimi için sertifika gerektirir. StoreFront, bir kimlik doğrulama hizmeti veya mağaza oluşturulduğunda otomatik olarak imzalanan bir sertifika oluşturur. Storefront tarafından oluşturulan kendinden imzalı sertifikalar başka hiçbir amaçla kullanılmamalıdır.
Citrix Delivery Services Sertifikaları
StoreFront, özel bir Windows sertifika deposunda (Citrix Delivery Services) bir dizi sertifikaya sahiptir. Citrix Configuration Replication hizmeti, Citrix Credential Wallet hizmeti ve Citrix Subscriptions Store hizmeti bu sertifikaları kullanır. Bir Cluster’daki her Storefront sunucusunda bu sertifikaların bir kopyası bulunur. Bu hizmetler, güvenli iletişim için TLS’ye güvenmez ve bu sertifikalar TLS sunucu sertifikaları olarak kullanılmaz. Bu sertifikalar, bir StoreFront mağazası oluşturulduğunda veya StoreFront yüklendiğinde oluşturulur. Bu Windows sertifika deposunun içeriğini değiştirmeyin.
StoreFront İletişimi
Citrix, Production ortamlarda Storefront ile sunucularınız arasında veri geçişinin güvenliğini sağlamak için IPSec veya HTTPS protokollerinin kullanılmasını önerir. IPsec, veri bütünlüğü ve yeniden oynatma koruması ile kimliği doğrulanmış ve şifrelenmiş iletişim sağlayan İnternet Protokolü için bir dizi standart uzantıdır. IPsec bir ağ katmanı protokol seti olduğu için, daha yüksek seviyeli protokoller bunu değiştirmeden kullanabilir. HTTPS, güçlü veri şifrelemesi sağlamak için Secure Sockets Layer (SSL) ve Transport Layer Security (TLS) protokollerini kullanır.
SSL Relay, Storefront ve Citrix Virtual Apps and Desktops sunucuları arasındaki veri trafiğinin güvenliğini sağlamak için kullanılabilir. SSL Relay, ana bilgisayar kimlik doğrulaması ve veri şifreleme gerçekleştiren varsayılan bir Citrix Virtual Apps and Desktops bileşenidir.
Citrix, Storefront’u barındıran Web Sunucusunda TLS 1.0 ve 1.1 desteğini devre dışı bırakmanızı önerir. Bu işlemi TLS 1.0 ve TLS 1.1 gibi eski protokolleri devre dışı bırakmak için Storefront sunucusunda gerekli kayıt defteri ayarlarını oluşturan grup ilkesi nesneleri aracılığıyla zorlamalısınız.
Citrix, Storefront ile kullanıcıların cihazları arasındaki iletişimin Citrix Gateway ve HTTPS kullanılarak güvenli hale getirilmesini önerir. HTTPS’yi kullanmak için Storefront, kimlik doğrulama hizmetini ve ilişkili depoları barındıran Microsoft Internet Information Services (IIS) örneğinin HTTPS için yapılandırılmasını gerektirir. Uygun IIS yapılandırmasının yokluğunda, Storefront iletişim için HTTP kullanır. Citrix, Production ortamlarda Storefront’a güvenli olmayan kullanıcı bağlantılarını etkinleştirmemenizi şiddetle tavsiye eder.
Storefront, ECDSA (Elliptic Curve DSA) sertifikalarını desteklemez.
StoreFront Güvenlik Ayrımı
StoreFront ile aynı Web Domainin’de (etki alanı adı ve bağlantı noktası) herhangi bir web uygulamasını dağıtırsanız, bu web uygulamalarındaki herhangi bir güvenlik riski, StoreFront dağıtımınızın güvenliğini potansiyel olarak azaltabilir. Daha fazla güvenlik ayrımının gerekli olduğu durumlarda Citrix, StoreFront’u ayrı bir Web Domain’de dağıtmanızı önerir.
ICA Signature
StoreFront, bu özelliği destekleyen Citrix Workspace uygulamasının sürümlerinin dosyanın güvenilir bir kaynaktan geldiğini doğrulayabilmesi için, sunucuda belirtilen bir sertifikayı kullanarak ICA dosyalarını dijital olarak imzalama seçeneği sunar. ICA dosyaları, SHA-1 ve SHA-256 dahil StoreFront sunucusunda çalışan işletim sistemi tarafından desteklenen herhangi bir karma algoritma kullanılarak imzalanabilir.
Kullanıcı Şifre Değiştirme
Active Directory kimlik bilgileriyle oturum açan Web sitesi kullanıcıları için, herhangi bir zamanda veya yalnızca süresi dolduğunda parolalarını değiştirmek üzere ayarı etkinleştirebilirsiniz. Ancak bu, kimlik doğrulama hizmetini kullanan mağazalardan herhangi birine erişebilen herkese hassas güvenlik işlevlerini ortaya çıkarır. Kuruluşunuzun, kullanıcı parolası değiştirme işlevlerini yalnızca dahili kullanım için ayıran bir güvenlik politikası varsa, hiçbir mağazaya kurumsal ağınızın dışından erişilemediğinden emin olun. Kimlik doğrulama hizmetini oluşturduğunuzda, varsayılan yapılandırma, Web sitesi kullanıcıları için kullanıcının şifresininin süresi dolmuş olsa bile parolalarını değiştirmesini engeller.
StoreFront HTTPS Yapılandırması
StoreFront ile kullanıcıların cihazları arasındaki iletişimi güvenli hale getirmek üzere HTTPS kullanmak için, Microsoft Internet Information Services (IIS) ayarlarını yapılandırmanız gerekir. Citrix StoreFront’u önce bir SSL sertifikası kurmadan ve yapılandırmadan kurar ve yapılandırırsanız, StoreFront iletişim için HTTP kullanır.
Daha sonra bir SSL sertifikası yükler ve yapılandırırsanız, StoreFront ve hizmetlerinin HTTPS bağlantılarını kullandığından emin olmak için aşağıdaki prosedürü kullanın.
URL bölümünde adresi https olarak değiştirebilirsiniz.
HTTPS olarak değiştirmeden önce:
HTTPS olarak değiştirdikten sonra:
Ek Güvenlik Bilgileri
Kuruluşunuz, yasal nedenlerle StoreFront’un güvenlik taramalarını gerçekleştirmek isteyebilir. Önceki yapılandırma seçenekleri, güvenlik taraması raporlarındaki bazı bulguları ortadan kaldırmaya yardımcı olabilir.
Güvenlik tarayıcısı ile StoreFront arasında bir ağ geçidi varsa, belirli bulgular StoreFront’un kendisinden çok ağ geçidiyle ilgili olabilir. Güvenlik taraması raporları genellikle bu bulguları ayırt etmez (örneğin, TLS yapılandırması). Bu nedenle, güvenlik taraması raporlarındaki teknik açıklamalar yanıltıcı olabilir.
Güvenlik taraması raporlarını yorumlarken aşağıdakilere dikkat edin:
- StoreFront’taki HTML sayfaları “clickjacking protection” içermeyeblir. Ancak bu HTML sayfaları yalnızca statik içerikten oluşur ve bu nedenle clickjacking saldırıları ilgili değildir.
- Microsoft IIS sürümü ve ASP.NET kullanımı HTTP Header’da görülebilir. Bununla birlikte, bu bilgiler zaten StoreFront’un varlığından anlaşılmaktadır, çünkü bu teknolojilere dayanmaktadır.
- StoreFront, uygulamaları ve masaüstlerini başlatırken siteler arası istek sahteciliğine (CSRF) karşı koruma sağlamak için bir Token kullanır. Bu Token, Secure veya HttpOnly olarak işaretlenmeden yanıt olarak bir tanımlama bilgisi olarak gönderilir. Daha sonra bir istekte gönderildiğinde, Token bir URL’in sorgu dizesine eklenir. Ancak StoreFront, HTTP isteklerinin kimliğini doğrulamak için bu mekanizmaya güvenmez.
- StoreFront, açık kaynaklı jQuery bileşenini kullanır. Kullanılan bu sürüm jQuery 1.3.2’dir. JQuery açık kaynak projesine göre, belirli bir etki alanları arası istek biçimindeki olası güvenlik açıklarını azaltmak için jQuery 1.12.0’da bir değişiklik yapıldı. Bu değişiklik, jQuery’deki bir güvenlik açığına yönelik bir azaltma değildi; bu, uygulama mantığı tarafından olası kötüye kullanımın azaltılmasıydı. NetScaler ve StoreFront tarafından paylaşılan Receiver For Web özelliğindeki ilgili Citrix uygulama mantığı, bu belirli etki alanları arası istek biçimini kullanmaz, bu güvenlik açığından etkilenmez ve bu azaltmadan yararlanmamıştır. Bu azaltma daha sonra uyumluluk nedenleriyle jQuery 1.12.3’te kaldırılmıştır. Citrix uygulama mantığı bu azaltmadan yararlanmadığından, bu kaldırma işleminin jQuery 1.12.4 kullanan NetScaler ve StoreFront sürümlerinde önemli bir etkisi yoktur.