Sistem Yapılandırma - Güvenlik Ayarları

Yapılandırma ayarları GEODI.exe yanına SystemSettings.json  dosyası oluşturularak düzenlenebilir.


(!) GEODI varsayılanda farklı sitelerden restapi çağrılarına izin vermez.  SystemSettings.json ile izin verilecek siteler belirlenebilir.

(!) Json içeriğinde açıklama satırı, remli ifade bulunmamalıdır.

(!) Ayar dosyası bir defa okunur. Ayarlar değiştirildiğinde GEODI.exe veya IIS üzerinde kullanımda Pool yeniden başlatılmalıdır.

Ayaralar

Ayar AdıTipiVarsayılan DeğerKategoriVersiyonAçıklama
AppDataFolderstringnullSystem

Uygulamanın Proje, Log, Varsayılan Index , Sözlükler ve Tüm meta veriler için kullanacağı yoldur.

null ve boş değerler için AppData konumu kullanılır.

 IIS altında kullanımda GEODI.exe ve GEODI için ortak yol belirtilebilir. %App% uygulama klasörünü gösterir. System.Environment.SpecialFolder değerleri %% içerisinde path tanımında kullanılabilir.

  • GEODI.exe ile uyumlu olması için Windows gezgini adres çubuğuna %appdata%  yazılarak gidilen klasör  adı alınıp kullanılmalıdır.
AppPortint3323WebServer

GEODI.exe üzerinden başlatılan WebServer tarafından kullanılacak portu belirlemekte kullanılır.

  • 80 olarak ayarlanırsa istemci tarafında port yazmaya gerek kalmaz.
  • SSLCertificate ayarı yapılmışsa 443 SSL portu kullanılırsa istemci tarafında port yazmaya gerek kalmaz.

(info)  "Port" anahtarı  exe  parametresi olarak kullanılabilir.

AppIPstringnullWebServer7.0.1.25977+

exe üzerinden başlatılan WebServertarafından dinlenecek IP adresini belirlemekte kullanılır.

Varsayılanda Server tüm IP adresleri üzerinden yayın yapar.

(info)  "IP" anahtarı  exe  parametresi olarak kullanılabilir.

SocketReceiveTimeoutint-1WebServer
Milisaniye cinsinden uygulama için varsayılan bağlantı zaman aşımı süresidir. Varsayılan değeri -1 (otomatik) dir.
SocketHeaderReceiveTimeoutint-1WebServer
Milisaniye cinsinden  uygulama için varsayılan HTTP ön bilgi okuma zaman aşımı süresidir. Varsayılan değeri -1 (otomatik) dir. 
TrustedRefererSiteListstring[]nullWebServerSecurity

Sisteme link verilmesi, Iframe kullanımı ve Rest api erişimi için güvenilecek siteleri belirlemekte kullanılır.  * Kabul eder.

Standart tarayıcılar üzerinden yapılacak kullanıcıları yanıltma amaçlı istekleri önlemeyi hedefler.

Varsayılanda tüm sitelere izin verilir.

TrustedOriginSiteListstring[]nullWebServerSecurity

POST Data, Iframe kullanımı ve Rest api erişimi için güvenilecek siteleri belirlemekte kullanılır.  * Kabul eder.

Standart tarayıcılar üzerinden yapılacak kullanıcıları yanıltma amaçlı istekleri önlemeyi hedefler.

Varsayılanda hiç bir siteye izin verilmez.

TrustedOriginUICheckbooltrueWebServerSecurity7.0.1.26096+

false ise sadece rest api istekleri için origin ve token erişim kontrolü yapılır.

true ise gui/public/ klasörü dışındaki hiç bir içerik TrustedOriginSiteList listesinde olmayan ve token ile erişmeyen sitelere sunulmaz.

DisableCSRFSecurityboolfalseWebServerSecurity

Webserver için Özel ek güvenlik ayarlarını devre dışı bırakmakta kullanılır.

Standart tarayıcılar üzerinden yapılacak kullanıcıları yanıltma amaçlı istekleri önlemeyi hedefler.

Kapatılması düşük miktarda (%0.01<) performans artışı sağlar. Ayarın kapatılmaması önerilir.

HttpHeadersstring[]nullWebServerSecurity

HTTP_HEADER:VALUE formatı ile istemciye gönderilecek header bilgilerinin tanımlanmasını sağlar. 

Api kullanımına göre tarayıcı taraflı güvenlik ayarlarını yapılandırmakta  kullanılabilir.  (  https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers#Security )


ShowWebExceptionStackTraceboolfalseWebServerSecurity
Oluşacak Web istek hatalarında hata detaylarının görüntülenmesini sağlar. Varsayılanda detaylar görüntülenmez.
LogExceptionStackTraceboolfalseSystem
Tarama ve Sistem başlatma hatalarına ek ait detayların loglanmasını sağlar.
ServerNamesstring[]nullWebServerSecurity
GEODI.exe üzerinden başlatılan WebServer'a ait sunucu adı bilgisidir. Ayar tanımlandığında subdomain kullanımı engellendir. servername myserver olarak belirlendiğinde sub.myserver istekleri kabul edilmez.
EnableUrlSessionboolfalseWebServerSecurity
Ayar açık ise Url üzerinden Session transferine izin verilir. Kullanılması önerilmeyen bir yapılandırma ayarıdır.
TileExpandPercentdouble20.0WMSServer
WMS Serve rüzerinde etiketler için kullanılan varsayılan karo büyütme oranıdır.
VerisonExtenderTextstringnullSystem
Tarayıcıya gidecek içerikler için belirlenen versiyon kodunu değiştirmekte kullanılır. Tema hazırlarken tarayıcı cache'i sıfırlamakta kullanılabilir.
UseDefaultCredentialbooltrueSystem

WebSitesi tarama gibi uzak bağlantılarda sistem Proxy ayarlarını kullanmaya zorlar.

ServerUristringnullNotification
E-posta gibi arka plan hizmetlerinde belirlenecek linklerde kullanılacak web adresini belirlemekte kullanılır.
AutoRecoveryboolfalseSystem
Elektirik kesintisi, disk arızası gibi durumlarda hatalı girdileri onay almadan otomatik düzeltir.
AutoIndexUpdateboolfalseSystem
GEODI versiyon güncellemelerinde gerekli ise Index yükseltmeleri onay almadan yapar.
DisableBasicAuthenticationboolfalseWebServerSecurity
Basic Authentication desteğini kapatır. GEODI üzerindeki tüm Authentication hizmetleri otomatik deneme saldırılarına karşı koruma altındadır. 
SSLLocalCertificateSerialstringnullWebServer6.1.0.24659+

Computer Certifcates/Personal altında yüklü geçerli bir sertifika ile SSL aktifleştirmekte kullanılır.  SSLCertificate ile sertifika dosyası belirtmeye alternatif bir yöntemdir.

Özel bir durum yoksa ssl tanımı için bu yöntem tercih edilmelidir. Bu yöntemle password belirtme ihtiyacı da yoktur.

Windows'ta sertifikalar bölümünde sertifikaya çift tıklandığında açılan pencerede Details→Serial number bölümünden bu değer bulunabilir.

SSL sertifika temini için CSR ihtiyacı varsa https://csrgenerator.com/ veya https://www.digicert.com/easy-csr/openssl.htm sayfalarından yararlanılabilir, Veya IIS üzerinden alıp daha sonra IIS'i durdurabilirsiniz. ( (warning) Geodi IIS üzerinden çalıştırılıyorsa bu ayar kullanılmaz. IIS üzerindeki tanımlar kullanılır. )

  • AppPort ayarı 443 yapılırsa istemci tarafında port yazmaya gerek kalmaz. 
SSLCertificatestringnullWebServer

SSL Sertifika dosyasının konumunu belirtmekte kullanılır. Tanımlanmışsa GEODI.exe sadece https isteklerine dönüş yapar. cer, p7b ve pfx uzantılı dosyaları destekler.

Özel bir durum yoksa bu yöntem kullanılmamalı, SSLLocalCertificateSerial ayarı tercih edilmelidir.

  • AppPort ayarı 443 yapılırsa istemci tarafında port yazmaya gerek kalmaz. 
SSLCertificatePassstringnullWebServer

Varsa SSL Sertifika dosyasına ait şifreyi belirtmekte kullanılır. Açık text veya GEODI araçları ile taşınamaz kripto kullanılabilir.

Özel bir durum yoksa bu yöntem kullanılmamalı, SSLLocalCertificateSerial ayarı tercih edilmelidir.

SSLErrorLogboolfalseWebServer6.1.0.24659+true  yapılırsa tüm SSL doğrulama hatalarını loglar
NoSSLPortint0WebServer6.1.0.21550+SSL ayarlanmış ise 0 değerinden farklı bir port belirlenirse bu prottan http hizmeti de verilir.
ForceHttpsRedirectboolfalseWebServer6.1.0.21550+NoSSLPort ayarlanmış ise tüm http isteklerinin https adrese yönlendirilmesini sağlar.
AutoForwardedURLstringnullWebServer6.1.0.23511+

"X-Forwarded-For" bilgisi içeren bir yönlendirme Header bilgisi alındığında kullanılacak sunucu adresini belirlemekte kullanılır. Sızma gücenlik önlemleri bu tür yönlendirmelerin çalışmasına engel olacaktır.  DMZ Proxy, IIS Rewrite Proxy kullanılarak ağlar arası veya port yönlendirmesi yapıacaksa

  • SystemSettings.json içerisindeki TrustedRefererSiteList ve TrustedOriginSiteList ayarlarına tarayıcıda görülen adresi kabul edecek değer yazılmalıdır.
  • AutoForwardedURL ayarına tarayıcıda görülen adres yazılmalıdır.

Örnek :  

{
	TrustedRefererSiteList:["*.mypublicwebsite.com*"],
	TrustedOriginSiteList:["*.mypublicwebsite.com*"],
	AutoForwardedURL:"http://www.mypublicwebsite.com"
}

(info) "AutoForwardedURL"  anahtarı exe  parametresi olarak kullanılabilir.

SystemTraybool

true

WindowsGUI5.3.0.16891+

true değeri verilirse Geodi.exe solda açılmak yerine Windows Bildirim Alanında  ikon olarak açılır. Windows form arayüzleri sunmaz. Sağ tuş ile sunduğu menüler aracılığı ile yönetmenizi sağlar.

false değeri verilirse Geodi.exe sol tarafa yerleşir. false ayarı IE9+ gerektirir.


ThemestringSquareGUI6.0.0.18338+

Varsayılan Tema ayarıdır

GUI/Theme altındaki klasör isimleri kullanılabilir

LanguagestringKurulum DiliSystem6.0.0.18398+

Varsayılan dil ayarıdır.  Dil kodu yazılmalıdır. 

Ayarlanmazsa kurulum dili kullanılır. 

(info)  "Language" anahtarı  exe  parametresi olarak kullanılabilir.

LogModeint0System6.1.0.21152+

Loglanacak bilgileri belirlemekte kullanılır. Varsayılanda loglama yapılmaz. Flag tipindedir. Loglar Appdata/Logs/[APP]/DebugLog altında saklanır.

  • 0 : Log yok
  • 1 : SQL ( Uygulama tarafından çalıştırılan tüm veritabanı sorgularının loglanmasını sağlar)
  • 2 : UserData ( Sisteme bağlanan kullanıcıya ait bilgiler loglanır)
  • 4: Request ( Sisteme yapılan tüm http istekleri loglar )
  • 8 : Request Detail  ( Sisteme yapılan tüm http isteklerin tüm detaylarını loglar )
SessionTimeoutint120System6.1.0.21152+Sisteme giriş yapan kullanıcının sistemi kullanmadığında atılma süresini dakika cinsinden  belirler.
DefaultWSstringBilgisayarımSystem6.1.0.25423+ilk defa GEODI ES/DA arayüzü açan kullanıcılar için varsayılan proje adıdır. Url wsName içermiyorsa veya kullanıcı için hatırlanan bir proje yoksa  kullanılır.
LoginProvidersstring[]nullSystem7.0.0.25611

Sisteme giriş yapılabilecek LoginProvider tanımlarını sınırlamakta kullanılır. Varsayılanda tanınan tüm sağlayıcılar ile giriş yapılabilir.

Örnek : ["LDAP"] yazılırsa Geodi kullanıcıları ile giriş yapılamaz. Sadece LDAP kullanıcıları ile giriş yapılabilir.

AllowLDAPEveryoneUserbooltrueSystem7.0.1.26017+Ayar true ise S-1-1-0 everyone gurubu için verilen yetkilerin kullanılmasına izin verilir. Ayarı değiştirmek yeniden tarama gerektirmez.
AllowLDAPBuiltInUsersboolfalseSystem7.0.1.26017+Ayar true ise AuthenticatedUsers, Administrators gibi BuiltIn gruplara verilen yetkilerin kullanılmasına izin verilir. Ayarı değiştirmek yeniden tarama gerektirmez.
ClientProtectionKey1,ClientProtectionKey2stringnullWebServerSecurity6.1.0.25423+Kullanıcı iç token kripto her sunucu için değişir. Buraya yazılacak anahtarlar ile şifreleme için entropi artırılabilir veya azaltılabilir.
MaxUrlSizeint2048WebServer7.0.001.25764+İstek sırasında kabul edilecek URL boyutunu belirlemekte kullanılır. POST için yapılan isteklerde sınır bulunmamaktadır.

* GEODI.exe yerine IIS benzeri bir Web server kullanımı durumunda WebServer kategorisindeki özellikler kullanılmaz. WebServerSecurity ayarları kullanılmaya devam edilir.

Örnekler 


Index Folder
{
  "AppDataFolder":"C:\\GeodiDataFolder"
}
TrustedSites , ServerName
{
  "TrustedOriginSiteList":["*"]
  "ServerNames": ["localhost","127.0.0.1","www.myserver.com","myserver.com"]
}