it-swarm-tr.com

Veritabanı sunucularını güvenli ağ topolojilerine yerleştirmek için en iyi uygulama nedir

Klasik bir DMZ mimarim var:

enter image description here

Web sunucum DMZ'ye yerleştirildi. Web sunucusunun bir veritabanı sunucusuyla iletişim kurması gerekir. Bu veritabanı sunucusu, gizli veriler içerdiğinden ağımın en kritik bileşenidir.

DB sunucusunu nereye yerleştirmeliyim ve neden? İkinci bir güvenlik duvarı ekleyip başka bir DMZ oluşturmalı mıyım?

20
lisa17
  • En iyi yerleşim, veritabanı sunucularını kendilerine ait güvenilir bir bölgeye yerleştirmektir.
  • Yalnızca web sunucularından gelen bağlantılara izin vermeli ve bu güvenlik duvarında ve makinelerde uygulanmalıdır. Gerçeklik genellikle birkaç makine daha gerektirir (db admin, vb.). Elbette gerçeğe gerektiği gibi uyun.
  • Yalnızca, üzerindeki yazılımları güncelliyorsanız giden bağlantılar kuruyor olmalıdırlar.
26
Jeff Ferland

Jeff Ferland ile aynı fikirde olun, veritabanı sunucuları kendi başlarına olmalıdır: çoğaltma ve yedekleme için temiz bir ağınız olmalıdır.

Affedersiniz ASCII Sanat, makul bir ideale hızlı bir genel bakış:

      [internet]
          |
    outer-firewall--- [proxy-zone]
          |      
         ----- [app-zone]
          |
    inner-firewall 
[lan]--/         \-- [database-zone]
  1. Proxy bölgesinde bir ters proxy, Apache + mod_security/varnish/nginx/WAF/çalıştırın. Gerekirse buraya yük dengeleme/yük devretme ekleyin. Gerekirse, giden bağlantılar için proxy/aktarma sunucusu (DNS, SMTP, HTTP proxy).
  2. Uygulama mantığı bir web sunucusunda (Java/PHP/ASP) çalıştığında, ona bir uygulama sunucusu demeyi tercih ederim.
  3. Ölçeklendirmeniz gerektiğinde yatay olarak ölçeklendirebilirsiniz, yük dengeleyicileri bunu kolaylaştırır. Kimliği doğrulanmamış statik içeriği ön uç proxy'lere de kopyalamayı düşünebilirsiniz.
  4. bir veya daha fazla bölge eklemek isteyebilirsiniz: IDS, yönetim, yedekleme, uzaktan erişim, giden proxy

Azaltmaya çalışıyorsunuz, yani:

  • bölgeler arası iletişim, servis ve izleme amaçları için gereken minimum değerle sınırlandırılmalıdır.
  • reverse-proxy internetten güvenilmeyen bağlantıları kabul eder, sadece uygulama sunucularındaki servislere bağlanabilir. Bölgelerinizi trafiğe göre sınıflandırmak istiyorsanız, HTTP'lerin sonlandırılmasını dikkatlice düşünmeniz ve uygulama sunucularına yeni HTTP bağlantıları oluşturmak istiyorsanız.
  • uygulama bölgesi, proxy'lerden yarı güvenilir bağlantıları kabul eder, yalnızca veritabanlarına bağlanabilir. Doğrudan internetle konuşmadıklarını bildiğinizde uygulama sunucularınıza biraz daha güvenebilirsiniz.
  • veritabanı sunucuları yalnızca uygulama sunucularından bağlantıları kabul eder, veritabanı bölgesi "en temiz" ağınız olmalıdır
  • dış ve iç güvenlik duvarları için farklı güvenlik duvarları (satıcı/ürün) kullanmayı düşünün
  • gerekli giden hizmetleri (DNS, SMTP veya düzeltme eki/güncellemeler) için bunlar ayrı bir sunucudan geçmelidir (örn. proxy bölgesinde veya giden-proxy bölgesinde).
  • aynı giden giden CC doğrulama HTTPS bağlantıları için de geçerlidir. (Doğrulama için satıcı tarafından sağlanan bir kara kutuya sahip olacak kadar şanssızsanız, o da özel bir bölgeye gitmelidir, IMHO.)
  • genel IP adresini yalnızca proxy bölgesinde, özel adresleri başka yerlerde kullanın. Proxy bölgesi dışındaki hiçbir sunucunun genel bir IP, NAT veya varsayılan bir İnternet yolu olması gerekmez.

Ayrı bölgeler, IDS'nizin işini kolaylaştırır ve günlüğe kaydetmeyi daha etkili hale getirir. Kaynaklarınız varsa, her sunucu için bir yönetim bölgesi, ayrı yönetim NIC'leri ekleyin (mümkünse korumalı bağlantı noktaları).

Gerçekte, "ideal ağı" tek bir güvenlik duvarına ve VLAN'lara sıkıştırmakla sonuçlanabilir, ancak seçeneklerinizi şimdi yukarıdakileri göz önünde bulundurarak düşünürseniz, gelecekte, yani bir sonraki ziyaretinizden kısa bir süre sonra dost çevrenizden kısa bir süre sonra taşınmanız daha kolay olmalıdır. PCI-DSS denetçisi ;-)

21
mr.spuratic

Aşağıdakiler DMZ architecutre) için oldukça yaygın bir kurulumdur:

Internet

^

Firewall1

^

DMZ (dmz sunucularınızı burada sadece güvenlik duvarı üzerinden belirli bağlantı noktalarına izin vererek barındırın)

^

Firewall2

^

Veritabanı Ağı (yalnızca güvenlik duvarı2'den bu ağa belirli bağlantı noktalarına ve protokole izin ver)

Veritabanından kredi kartı (hassas) veriler içeriyorsa, güvenlik duvarı2'nin iç tarafında bile veritabanı ağı kurumsal ve kullanıcı ağlarından ayrılmalıdır. Çoğu zaman, tüm kullanıcıların araştırması ve erişmesi için dahili ağda geniş bir şirketin taç mücevherlerini görüyorum. Bir adım daha ileri giderek bir veritabanı yöneticiniz olabilir VLAN yalnızca bu VLAN veritabanlarına erişme iznine (erişmesi gereken uygulama dışında) izin verir DMZ).

Bu yardımcı olur umarım.

1
fixulate

3 Katmanlı Mimari en güvenli ve ölçeklenebilir çözümdür. Müşteri trafiği arttıkça, performansı sağlamak için gereken orta katmanları toplayabiliriz. Üç Katman mimarisi de daha güvenlidir çünkü orta katman veritabanı katmanını korur. Veritabanı katmanını doğrudan erişimden korumamız ve güvenilir bölgeye yerleştirmemiz gerekiyor ve yalnızca uygulama sunucularından gelen bağlantıları kabul etmesi gerekir.

3 Tier Architecture

1
Ali Ahmad

PCI-DSS'ye uymanız gerekeceğinden, her internet bağlantısında ve DMZ ve dahili ağlar arasında) güvenlik duvarlarına sahip olduğunuzdan emin olmanız gerekir. Öz değerlendirme anketlerinde bazı iyi işaretçiler vardır.

Ayrıca wintel kutusu etki alanının bir üyesi vb ise veritabanı sunucusunu yapmayın

0
Matthew

DB sunucusunun sadece bir güvenlik duvarından daha fazla korunduğu bir mimariyi tercih ederim. Yani, web sunucusunun tehlikeye atıldığını varsayarım - ancak rastgele DB işlemleri yapmak yerine, yalnızca bir ara sunucudan son derece sınırlı veri getirebilir. Bir DB meraklısı, herhangi bir DB'nin yeterli ayrıcalık denetimi yerleşikine sahip olacağını iddia edecektir. Ama derinlemesine savunma.

0
markhahn