Skip to end of metadata
Go to start of metadata

Netcad Kurumsal Ürünler Güvenli Kurulum Ayarları

  1. Öncelikle tüm alt ürünler ilgili yardım sayfalarında veya dokümanlarında anlatıldığı şekilde kurulur.

  2. IIS web sunucusuna "Microsoft Web Platform Installer" eklentisi kurulur.
    https://www.microsoft.com/web/downloads/platform.aspx
    Kurulum tamamlandığında IIS’ in altına Management (Yönetim) Sekmesi altında Web Platform Installer ikonu görünür.


  3. Önceki adımda kurduğumuz, IIS Management altındaki Web Platform Installer eklentisi çalıştırılarak “Url Rewrite” modülü bulunur ve kurulur.


  4. IIS’ e uygun bir SSL sertifikası yüklenir.

  5. IIS’ in https üzerinden hizmet vermesi için gerekli ayarlar yapılır.

  6. Uygulamaların https üzerinden erişilebilir olduğu kontrol edilir; yapılandırma, ağ vb. problemler varsa giderilir.
    Not: https ayarlaması sonraki maddelerde anlatılan ayarların bazıları için ön gereklilik niteliğinde olup uygulamaların https üzerinden erişilir olduğu doğrulanmadan sonraki adımlara geçilmemelidir. Aksi halde uygulamalar erişilemez hale gelebilir. Örneğin; https çalışır durumda değilken “oturum çerezi ssl gerektirir” ayarı yapılırsa uygulamalarda oturum açılamayacaktır.

  7. Parametre sunucu, uygulamaların web.config dosyaları ve varsa benzeri ortamlardaki url adres tanımlamaları https ile başlayacak şekilde ayarlanır.

  8. Parametre sunucuda Authentication uygulaması altındaki Eposta ayarları tamamlanır. Bu sayede yetki sunucu şifre hatırlatma vb. durumlarda eposta gönderebilir olmalıdır.
  9. Uygulamaların web.config dosyalarında AntiCsrfModule’ ünün aşağıdaki şekilde tanımlı olduğu kontrol edilir, değilse tanımlanır. Bu modül uygulamanın csrf(xsrf) saldırılarından korunmasını sağlar. AntiCsrfModule’ ü Netigma.Web.ExternalModules.dll dosyası içinde bulunmaktadır. Varsayılanda uygulamanın bin klasörü altında bu dll’ in bulunması beklenmektedir.
  10. Son olarak Authentication Server uygulamasının bin klasöründe bulunan Güvenli Kurulum Yardımcısı (SecurityHelper.exe) uygulaması yönetici haklarıyla çalıştırılıp tüm uygulama konumları ve tüm ayarlar seçilerek "Güvenlik Ayarlarını Uygula" düğmesine tıklanarak tüm uygulamalarda gerekli güvenlik ayarlarının yapılması sağlanır. Uygulama penceresinin altında bulunan İşlem Detayları kısmında gerçekleştirilen işlemler hakkında özet bilgi ve başarılı olarak tamamlanıp tamamlanmadığı bilgisi verilirir. Güvenlik ayarları herhangi bir hata almadan tamamlandıysa tüm uygulamalarımız güvenli yapılandırmaya sahip olmuş demektir. 


    Güvenli Kurulum Yardımcısı uygulaması adından da anlaşılacağı üzere yardımcı bir uygulamadır. Bu uygulama olmaksızın gerekli ayarlamalar elle de yapılabilir. Ancak onlarca ayarlamayı akılda tutmak ve sırayla eksiksiz bir şekilde yapmak zahmetli bir iş olduğu için bu uygulama geliştirilmiştir. Bu sayede tek bir tıkla onlarca ayarlama çok kısa bir sürede gerçekleştirilmektedir. 
    Bu yardımcı uygulamanın varlığına rağmen yine de; farkında olmadan güvenlik ayarlarını bozmamak ve olası yan etkiler konusunda farkındalık sağlamak için bu uygulamanın ne gibi ayarlar yaptığını bilmek faydalı olacaktır. Bu uygulamanın gerçekleştirdiği ayarlar şunlardır.

    1. Sunucudaki SSL 1.0, SSL 2.0, SSL 3.0 protokolleri devre dışı bırakılır, TLS 1.0, TLS 1.1, TLS 1.2 protokolleri aktif hale getirilir. Bu işlem işletim sisteminin registry kaydında değişiklik yapılarak gerçekleşir. Bu değişiklik sonrası sunucu SSL protoklleriyle bağlantı kurmaz ve kendisine de bu protokollerle bağlantı yapılmasına izin vermez.
      Çok düşük bir ihtimal de olsa bu ayarlama sonrası varsa sunucudaki çok eski uygulamalarda ".....istemci ve sunucu arasında ortak bir güvenlik protokolü sağlanamadı...." gibi hatalar alınabilir.

    2. Netcad PathFinder uygulama adresleri https olarak yeniden ayarlanır. Bu sayede uygulamalar da birbirleriyle https üzerinden haberleşmeye başlar.

    3. Web.config dosyasında bulunan machinekey tanımlaması ortak yeni bir değer ile değiştirilir. Bu işlem sayesinde, uygulamaların şifreleme ve doğrulama işlemlerinde kullandıkları anahtarlar rastgele ve güvenli yeni bir değerle yenilenmiş olur. Bu yenilemedeki amaç ilk kurulumda tüm müşteriler için aynı olan anahtarların tekil olacak şekilde yenilenmesidir. Bu sayede farklı kurumlardaki uygulamalar birbirlerinin şifreleme işlemlerini çözemez.


      Not: Güvenli Kurulum Yardımcısı uygulamasında tüm uygulama konumları seçilmeden Machinekey yenileme işlemi yapılacak olursa, seçilmemiş uygulamalar diğer uygulamalardan yapılan oturum açma(login) işlemine dahil olamaz ve tekrar login ekranına yönlendirir.

    4. Web.config dosyasında bulunan ExceptionHandlerGU ayarını True, LogManagerShowManagedException ve LogManagerShowTrace ayarlarını False olarak ayarlar. Bu sayede detaylı hata bilgisi gösterimi kapatılır. Hata durumunda gösterilen hata mesajı, kod yığını uygulama güvenliği açısından mahrem bilgiler içerebildiği için kullanıcıya bu bilgilerin gösterilmesi sakıncalıdır. Yönetici hata detayına logserver üzerinden erişebilmektedir.
    5. Web.config dosyasında bulunan RegisterAntiClickJacking ayarını True olarak ayarlar. Bu sayede ClickJacking açığının giderilmesini önleyen kod aktif hale gelir sağlar.
    6. Web.config dosyasına aşağıdaki tanımlamalar yapılır. Bu sayede güvenlik artırıcı http header bilgileri ayarlanmış olur.

      Not: Yukarıda gösterilen ayarlardan “Pragma” ve “Expires” maddeleri uygulamada cache özelliğini kapatarak performans azalmasına sebep olabilir. Problem yaşanan müşterilerde yazılım ekibiyle iletişime geçerek bu 2 ayar web.config’ den kaldırılabilir.

    7. Web.config dosyasına aşağıdaki tanımlamalar yapılır. Bu sayede istenmeyen http metodları engellenmiş, izin verilen istek içerik büyüklüğü sınırlandırılmış olur.
      GÜNCELLEME (10.10.2019): NETIGMA-8849 talebinde bahsedilen sebebple PUT ve OPTIONS verb' leri yasaklılar listesinden kaldırılmıştır.

    8. Web.config dosyasına aşağıdaki tanımlamalar yapılır. Bu sayede uygulamaya http olarak gelen istekler otomatik olarak https’ e yönlenir. Bu sayede uygulamanın http’ den hizmet vermediği garantilenmiş olur. 
      Bu ayarın hatasız olarak çalışması için daha önceki adımlarda bahsi geçen Url Rewrite modülünün kurulmuş olması gerekmektedir. Aksi halde uygulama hataya düşer.
    9. Netigma altındaki “Ekler“ klasörü ve parametre sunucuda tanımlı Ekler klasörlerine everyone kullanıcısı için deny-execute kısıtı tanımlanır. Bu sayede çalıştırılabilir bir dosya (.exe vs) yüklense bile bu dosyanın sunucuda çalıştırılabilmesi önlenmiş olur.

    10. Parametre Sunucu > Authentication > Güvenli Yetkilendirme altındaki “Oturum Çerezi SSL Gerektirir” ayarı True olarak ayarlanır. Bu sayede uygulama https üzerinden çalışmıyorsa oturum açma işlemi gerçekleşmez. Oturum açılmaya çalışıldığında tüm bilgiler doğru bile olsa tekrar login sayfasına yönlenir.

    11. Parametre Sunucu > Authentication > Güvenli Yetkilendirme “Kalıcı Tarayıcı Oturumu” ayarı False olarak ayarlanır. Bu sayede kullanıcı çıkış yapmamış olsa bile tarayıcı kapatıldığında oturum otomatik olarak sonlanır.

    12. Parametre Sunucu > Authentication > Güvenli Yetkilendirme “Captcha kullanımını etkinleştir” ayarı True olarak ayarlanır. Bu sayede login sayfasında captcha girilmesi zorunla hale gelir ve kötü niyetli kişilerin deneme yanılma yoluyla şifreleri tespit etmesi zorlaşmış olur.

    13. Parametre Sunucu > Authentication > Genel altındaki “Şifre Karmaşıklığı” ayarı 4 olarak ayarlanır. Bu sayede kullanıcılar tahmin etmesi kolay şifreler belirleyemezler.

    14. Parametre Sunucu > Authentication > Genel altındaki “Şifre değiştirme linki gönderilsin” ayarı True olarak ayarlanır. Bu sayede şifre hatırlatma mekanizmasıyla kişilerin mevcut şifrelerinin tespit edilmesi imkansız hale gelir.

    15. Parametre Sunucu > Authentication > Genel altındaki “Kullanıcı Kilitleme” ayarı 5 olarak ayarlanır. Bu sayede kullanıcı art arda 5 kez hatalı oturum açma denemesinde bulunursa hesabı kilitlenir.

    16. Parametre Sunucu > Authentication > Genel altındaki “Oturum Zamanaşımı Süresi” ayarı 30 olarak ayarlanır. Dakika cinsindendir. Zamanaşımı süresinin çok çok uzun olması açık bırakılıp terkedilmiş tarayıcıdaki oturumun yabancı kişiler tarafından kullanılma ihtimalini artıracağı için makul kısa bir süre olmalıdır.

    17. Netigma uygulamasının Web.config dosyasında bulunan SecureMode ayarını True olarak ayarlar. SecureMode ayarının değeri True ise Netigma, uygulama başlarken güvenlik ayarlarının yukarıda anlatılan şekilde yapılıp yapılmadığını kontrol eder. Eksik veya hatalı ayar varsa Netigma çalışmasını durdurup ~/Meta/SelfCheck.aspx sayfasına yönlenir. Sıradan bir kullanıcı bu sayfada, uygulamada hata olduğu şeklinde klasik bir mesaj görür. Yönetici rolünde bir kullanıcı veya sunucudan oturum açmış bir kullanıcıya bu sayfada, yanlarında doğru—yanlış işaretleriyle güvenlik ayarlarının tamamının listesi ve yanlış olan ayarların nasıl düzeltileceği bilgisi gösterilir.


 

  • No labels