2.2.9. Sunucu kümesi güvenliği
2.2.9.1. Genel bilgiler
1C:Enterprise istemci/sunucu modunda çalıştığında veri güvenliği 1C:Enterprise verilerine sadece 1C:Enterprise araçları erişilmesi sağlanarak güvence altına alınır. Bu bağlamda, bir dizi önemli güvenlik alanları tanımlanabilir.
Şekil 11. Genel veri güvenliği yapısı
Tüm istemci uygulamalar ve harici bağlantılar 1C:Enterprise verilerine sadece 1C:Enterprise sunucu kümesi yoluyla erişir. Başarılı bir kimlik doğrulama için kullanıcının geçerli 1C:Enterprise kullanıcı adını ve şifresini girmesi gerekir.
1C:Enterprise sunucu kümesi verileri, Infobase ve dahili verileri işler. Bu nedenle, sunucu kümesi şu alanların veri güvenliğinden sorumludur (alan numaralandırma açıklaması için bkz. şekil 11):
- Istemci ile sunucu kümesi arasında veri değişimi (1)
- Sunucu kümesi konsolu ile sunucu kümesi arasında veri değişimi (2)
- Sunucu kümesi ile web sunucusu arasında veri değişimi (7)
- Sunucu kümesinde dahili veri depolaması (3)
- Sunucu kümesi içinde veri değişimi (4)
İnfobase bir veritabanında saklanır. İnfobase güvenliğinin yanı sıra, sunucu kümesi ile veritabanı sunucusu arasında gerçekleşen değişim sırasındaki veri güvenliği DBMS tarafından sağlanır (5).
Infobase'e web sunucusu üzerinden bağlanıldığında, istemci uygulama ile web sunucusu arasındaki değişim sırasında veri güvenliği web sunucusu (6) tarafından sağlanmaktadır.
2.2.9.2. İstemci ile sunucu kümesi arasında değiştirilen verilerin güvenliği
2.2.9.2.1. Genel bilgiler
İstemci ile sunucu kümesi arasında değiştirilen verilerin güvenliği veri şifreleme ile sağlanır. 3 güvenlik seviyesi mevcuttur:
- Asla
- Sadece bağlantı
- Daima
Asla düzeyi en az güvenli, Daima düzeyi ise en güvenli düzeydir. RSA ve Triple DES şifrelemeli güvenli TCP/IP bağlantısı kullanılır.
2.2.9.2.2. "Daima" güvenlik düzeyi
Daima güvenlik seviyesi, istemci ile sunucu kümesi arasında değiştirilen veriler (şifreler dahil) için tam kapsamlı koruma sağlar.
ÖNEMLİ! Bu güvenlik seviyesi yoğun kaynak tükettiğinden performansı önemli ölçüde düşürebilir.
İstemci ve sunucu kümesi etkileşim protokolü aşağıda özetlenmiştir.
Şekil 12. "Daima" güvenlik düzeyi
Küme yöneticisi (rmngr) ve çalışma süreci (rphost) için aynı etkileşim protokolü kullanılır: bağlantı kurulduktan sonra, ilk veri değişimi prosedürü RSA ile şifrelenirken sonraki tüm veri değişimi Triple DES şifrelemesini kullanır.
Güvenlik seviyesi, infobase oluşturulduğunda belirtilir. Bu bilgi hem istemcide (infobase listesinde) hem de sunucu kümesinde (sunucu kayıtlarında) saklanır. İnfobase oluşturulduktan sonra güvenlik seviyesi değiştirilemez. Bununla birlikte, istemci uygulama güvenlik seviyesinin artırılmasını talep edebilir.
Bu nedenle, bir bağlantı kurulduğunda, istemci özel ve açık RSA anahtarı oluşturur ve bu Infobase için istemcide belirtilen açık anahtarı ve güvenlik düzeyini sunucu kümesine gönderir. Bu, hedef güvenlik düzeyidir.
Sunucu kümesi, istemcinin gönderdiği ile küme kayıtlarında bu infobase için belirtilen arasından en yüksek güvenlik seviyesini seçer. Bu, gerçekleşen güvenlik seviyesi olur. Ardından, sunucu kümesi bir Triple DES oturum anahtarı oluşturur ve istemcinin açık anahtarıyla şifreledikten sonra (gerçekleşen güvenlik seviyesinde) istemciye gönderir.
Sonraki tüm veri değişimleri gerçekleşen güvenlik seviyesinde yürütülür. Hem istemci hem de sunucu Triple DES oturum anahtarı kullanarak, transfer edilen verileri şifreler.
2.2.9.2.3. "Sadece bağlantı" güvenlik düzeyi
Sadece bağlantı güvenlik seviyesi, istemci ile sunucu kümesi arasında değiştirilen veriler (sadece şifreler) için kısmi koruma sağlar. Bu güvenlik seviyesi güvenlik ile performans arasında iyi bir denge sunar.
İnfobase verileri şifreleme olmadan gönderilir. Bunun performansa etkisi gözardı edilebilir.
Bununla birlikte, önemli bilgiler (şifreler) şifrelenmiş şekilde gönderilir. Böylece, veri akışına giren kötü amaçlı bir kullanıcı önemli miktarda infobase verisi okuyamaz. Şifrelerin şifrelemesi, kötü amaçlı kullanıcıların tam veri erişimi elde etmek veya herhangi bir infobase işlemi gerçekleştirmek için infobase kimlik doğrulamasını geçmesini engeller.
İstemci ve sunucu kümesi etkileşim protokolünün özeti için bkz. şekil 13.
Şekil 13. "Sadece bağlantı" güvenlik düzeyi
Bağlantı kurulduğunda, ilk veri değişim prosedürü RSA ile şifrelenirken, kimlik doğrulama tamamlanana kadar tüm diğer veri değişimlerinde Triple DES şifrelemesi kullanılır. O andan sonraki veri değişimleri şifrelenmez.
2.2.9.2.4. "Asla" güvenlik düzeyi
Asla güvenlik seviyesi en düşük performans maliyetiyle en zayıf korumayı sağlar. Verilerin çok büyük bir bölümü şifreleme olmadan gönderilir.
İstemci ve sunucu kümesi etkileşim protokolü aşağıda özetlenmiştir.
Şekil 14. "Asla" güvenlik düzeyi
Bağlantı kurulduktan sonra ilk veri değişim prosedürü RSA şifrelenir. O andan sonraki veri değişimleri şifrelenmez.
İstemci uygulama ile sunucu kümesi aynı bilgisayarda bulunuyorsa ve güvenlik seviyesi Asla olarak ayarlanmışsa tüm veriler şifrelenmeden gönderilir.
2.2.9.3. Sunucu kümesi konsolu ile sunucu kümesi arasında değiştirilen verilerin güvenliği
Sunucu kümesi konsolu ile sunucu kümesi arasında değiştirilen verilerin güvenliği veri şifreleme ile sağlanır. Aşağıdaki güvenlik düzeyleri kullanılır: Asla, Sadece bağlantı ve Daima.
Sunucu kümesi konsolu, sunucu aracısı ile etkileşimde bulunur (ragent süreci). Gerekli güvenlik düzeyi, sunucu aracısı başlangıcında belirtilir. Sunucu aracısı, ana sunucuda bulunan tüm kümelerin başlangıcında ve güvenlik düzeylerinde belirtilen güvenlik düzeyinden daha yüksek olanını seçer ve uygular. Küme güvenlik düzeyi, küme oluşturulurken (etkileşimli veya programlı olarak) belirtilir.
2.2.9.4. Sunucu kümesinde saklanan verilerin güvenliği
2.2.9.4.1. Genel bilgiler
Sunucu kümesi; sunucu kümeleri listesi ve küme kayıt defteri gibi dahili veriler kullanır. Tüm dahili veriler iki dizinde bulunan dosyalarda saklanır:
- Uygulama verileri dizini
- Geçici dosyalar dizini
Harici verilerin kullanımıyla ilgili genel politika, sadece küme yöneticisinin (rmngr) ve sunucu aracısının (ragent) sunucu kümesinin dahili verilerine erişebileceği yönündedir. Çalışma süreçleri (rphost) dahili verilere yalnızca küme yöneticisi aracılığıyla erişir. Bu işlemler, yapılandırma kodu parçacıklarını çalıştırabildiği için, potansiyel olarak tehlikeli kabul edilirler.
2.2.9.4.2. Uygulama verileri dizininin güvenliği
1C:Enterprise sunucu kümesi dağıtımı sırasında, uygulama veri dizininde 1C:Enterprise sunucu kümesi dosyalarını depolamak için kullanılan özel bir dizin oluşturulur.
Şekil 15. Uygulama verileri dizini
Bu dizinin tam yetkileri, sunucu aracısını varsayılan olarak çalıştıran USR1CV8 kullanıcı hesabına verilir. Başka hiçbir kullanıcı bu dizine erişemez. Sunucu aracısı, sunucu aracısını başlatmak için kullanılan kullanıcı hesabı altında küme yöneticisini başlatır. USR1CV8'e verilecek yetkilerin tanımı için bkz. sayfa Kullanıcı yetkileri.
Sunucu aracısı ayrıca çalışma süreçlerini de başlatır. Varsayılan olarak, çalışma süreci, sunucu aracısını başlatmak için kullanılan kullanıcı hesabı altında başlatılır. Bununla birlikte, sadece çalışma süreçlerini başlatacak ek bir işletim sistemi kullanıcı hesabı oluşturulabilir. Bu yöntem, yapılandırma kodunun dahili verilere doğrudan erişmesini engellemek için kullanılır.
Çalışma sürecini farklı (sunucu aracısını başlatmak için kullanılan kullanıcı hesabından farklı) bir kullanıcı hesabı altında başlatmak için, sunucu aracısı kullanıcısı için swpuser.ini dosyasını uygulama verileri dizinine yerleştirmeniz gerekir.
2.2.9.4.3. Geçici dosyalar dizininin güvenliği
Geçici dosya verileri farklı şekilde korunur. Sistem geçici dosyalar dizini paylaşımlı bir dizin olduğundan, her geçici dosya için erişim yetkisi ayrı ayrı verilir.
1C:Enterprise sunucu kümesi tarafından geçici bir dosya oluşturulduğunda, oluşturulan dosyanın tüm yetkileri USR1CV8 kullanıcısına verilir. Başka hiçbir kullanıcı bu dosyaya erişemez. Böylece, geçici dosyalarda saklanan tüm veriler yetkisiz erişime karşı korunur.
Şekil 16. Erişim kısıtlaması
2.2.9.4.4. Sunucu kümesinin dahili verilerinde saklanan şifrelerin şifrelenmesi
Sunucu kümesi yönetici şifreleri ve infobase erişim şifreleri sunucu kümesinde şifrelenir ve saklanır. Şifrelerin şifrelenmesi için SHA1 ve AES128 algoritmaları kullanılır.
- SHA1, 1C:Enterprise tarafından kontrol edilen şifreleri depolamak için kullanılır (örneğin, küme yönetici şifresi, ana sunucu yönetici şifresi). Şifreler, kendileri saklanmazlar ve bu yüzden kurtarılamazlar. Girilen şifrelerin sağlamalarıyla karşılaştırmak amacıyla sadece sağlamaları saklanır.
- AES128, şifresi çözülebilen şifreleri (örneğin, DBMS şifreleri) depolamak için kullanılır.
2.2.9.5. Sunucu kümesi içinde değiştirilen verilerin güvenliği
Sunucu kümesi içinde (örneğin, çalışma süreçleri ile küme yöneticisi arasında) değiştirilen verilerin güvenliği veri şifrelemesiyle sağlanır. Aşağıdaki güvenlik düzeyleri kullanılır: Asla, Sadece bağlantı ve Daima.
Küme güvenlik seviyesi, çalışma süreci ile küme yöneticisi arasındaki etkileşimlere uygulanır. Sunucu aracısı ile küme yöneticisi arasındaki etkileşim için uygulanan güvenlik düzeyi, sunucu aracısının başlatılmasında kullanılan güvenlik düzeyi ile bu yöneticinin hizmet verdiği kümenin güvenlik düzeyi arasından seçilen daha yüksek güvenlik düzeyidir.
2.2.9.6. Sunucu kümesi ile DBMS arasında değiştirilen verilerin güvenilği
Sunucu kümesi ile DBMS arasındaki veri kanalının güvenliği DBMS aracı tarafından sağlanır. Desteklenen tüm veri tabanı yönetim sistemi, kümedeki istemci bileşenleri ile DBMS arasındaki trafiği şifreleyebilir. Desteklenen tüm veritabanı yönetim sistemleri SSL üzerinden veri değişimi yapabilir.
2.2.9.7. İstemci ile web sunucusu arasında değiştirilen verilerin güvenliği
Web istemcisi (veya ince istemci) ile web sunucusu arasındaki kanalın güvenliğini sağlamak için SSL veya TLS şifreleme protokolleri kullanılır.
Bu protokoller web sunucusu HTTPS bağlantısı tarafından desteklenir. Bu, sunucuda veri şifreleme için kullanılan sunucu ortak anahtarının gerçekliğini garanti eden geçerli bir sunucu sertifikası olmasını gerektirir. İstemci güvenilirliğini sağlayan istemci sertifikaları da kullanılabilir.
Uygulamayı çalıştıran işletim sistemiyle ilgili kısıtlamaları göz önünde bulundurmanız gerekir. Örneğin, Linux istemcisi, Windows sertifika deposundan olan istemci sertifikalarını desteklemez.
2.2.9.8. Web sunucusu ile sunucu kümesi arasında değiştirilen verilerin güvenliği
Sunucu kümesi ile web sunucusu arasındaki veri kanallarının güvenliği 1C:Enterprise'da kullanılabilen RSA ve Triple DES veri şifreleme algoritmalarıyla sağlanır.
Küme ile web sunucusu arasındaki bağlantının güveliği sadece bağlanan infobase'in özelliklerine uygun olarak küme tarafından sağlanabilir (ayrıntılar için bkz. sayfa İstemci ile sunucu kümesi arasında değiştirilen verilerin güvenliği).
2.2.9.9. Ana sunucu ve küme yöneticileri
1C:Enterprise sunucu kümesi yönetici kimlik doğrulaması ile veya bu olmadan yönetilir.
Kimlik doğrulama devre dışıysa, kümenin ana sunucusuna bağlanan her kullanıcı hem ana sunucuda hem de bu sunucudaki herhangi bir kümede yönetimsel eylemlerde bulunabilir. Varsayılan olarak, 1C:Enterprise sunucu kümesi dağıtıldığında yönetici kimlik doğrulaması devre dışı bırakılır.
Yönetim görevlerini yerine getirebilecek kullanıcıların sayısını kısıtlamak için, ana sunucu için (bkz. sayfa Ana sunucu yöneticileri listesiyle yapılan işlemler) ve bu sunucudaki her bir küme için (bkz. sayfa Küme yöneticileri listesiyle yapılan işlemler) ayrı yönetici listeleri oluşturabilirsiniz. Ana sunucu yöneticileri ile küme yöneticilerinin yetki alanları çakışmaz.
Ana sunucu yöneticisi olarak yetkilendirilen kullanıcılar ana sunucudaki yönetim görevlerini yerine getirebilir. Bununla birlikte, kullanıcının belirli bir kümedeki yönetim görevini yerine getirebilmesi için bu kümenin yöneticisi olarak yetkilendirilmesi gerekir. Bu amaçla sunucu yöneticisi olarak yetkilendirilmek gerekmez.
Ana sunucu/küme yöneticisi listesine en az bir adet yönetici eklendiğinde ana sunucu/küme yöneticisi yetkilendirmesi otomatik olarak etkinleştirilir.
Yetkilendirme etkinleştirilirse, ana sunucu yöneticisi olarak yetkilendirilmeyen kullanıcılar sunucu kümesi yönetim konsolunda sadece ana sunucu bağlantı parametrelerini görüntüleyebilir veya değiştirebilir.
Küme yöneticisi olarak yetkilendirilmeyen kullanıcılar sadece küme özelliklerini görüntüleyebilir. Bu kullanıcılar ayrıca 1C:Enterprise dili ifadelerini kullanarak kümede nesneler, infobase vb. oluşturabilir fakat bu nesneleri kümede kaydedemezler.