Şirket içi şirket içi Azure DevOps web sitesi ayarları ve güvenliği

TFS 2017 | TFS 2015 | TFS 2013

Arka Plan

Birçok sürümde, daha önce Team Foundation Server (TFS) olarak Azure DevOps Server için varsayılan web sitesi ayarları şu şekildedir:

  • 8080 bağlantı Azure DevOps Server ip adresi belirtilmemiş bir web sitesi için tek bir HTTP bağlaması.
  • formunun genel URL'si (daha önce Bildirim URL'si olarak http://machine-name:8080/tfs adlandırılır).

Bu ayarların en önemli avantajı, çoğu senaryoda son kullanıcılar için çok basit ve kullanışlı bir ayara sahip olmaktır. Özellikle:

  • HTTPS yerine HTTP kullanmak, sertifika alma ve yükleme ihtiyacının önüne geçmektedir.
  • 80 yerine 8080 kullanmak, aynı makinede diğer sitelerle olası çakışmaları önler.
  • Site için sanal dizin olarak "tfs" kullanmak, Azure DevOps Server ve diğer web sitelerini aynı sunucuda aynı bağlantı noktası üzerinde barındırmayı kolaylaştırır.
  • Genel URL'de tam etki alanı adı (FQDN) yerine makine adını kullanmak çok fazla yazma tasarrufu sağlar.
  • Ana bilgisayar adını bağlamada belirtilmeyen şekilde bırakmak bağlanma esnekliğine olanak sağlar. Kullanıcılar sunucularına bağlanmaya çalışmalarında makine adı, FQDN veya IP adresi kullanılabilir.

Ancak bu ayarlar varsayılan olarak güvenli değildir. Özellikle, BIR HTTPS bağlaması kullanılmadıkça, IPSec gibi diğer Azure DevOps Server aktarım sırasında iletişim şifrelenmez. Bu nedenle kötü amaçlı aktörlerin izleme ve hatta iletişim içeriklerini değiştirmelerine karşı savunmasız olabilir. Çoğu şirket güvenlik duvarının arkasındaki bir intranette Azure DevOps Server bu sorunlar bir ölçüde azaltılabilir ve Azure DevOps Server olur. Ancak, bu senaryolarda bile, ve Azure DevOps Server gönderilen veriler kaynak kodu, iş öğesi verileri ve daha fazla güvenlik açısından faydalanabilir diğer bilgileri içerir.

Ayrıca, TFS 2017 yeni kimlik doğrulama senaryolarında (derleme/yayın Aracısı hizmet hesabı kimlik doğrulaması, kişisel erişim belirteçleri), tel üzerinden taşıyıcı belirteçleri gönderen yeni kimlik doğrulama senaryoları vardır. Bu belirteçler kötü amaçlı kullanıcılar tarafından elde edilmişse, bunlara ait oldukları kullanıcıların kimliğine bürünmek için kullanılabilirler.

Tüm bunlar verildiğinde, Azure DevOps Server dağıtımlarında HTTPS bağlamalarının kullanımı için zaman daha kesin bir şekilde gelmiş olduğuna karar verdik.

Grupları ayarlama

TFS 2017, tüm sunucu yapılandırma senaryolarında Web sitesi ayarları yapılandırma seçeneklerini sunar. Site bağlamaları, sanal dizinler ve genel URL 'lerin kombinasyonlarını, önerdiğimiz ve en yaygın olarak kullanıldığını düşüntiğimiz çeşitli ayar grupları sağlanır. Bu ayar gruplarının hiçbirinin uygun olmadığı senaryolarda, ayarlar site ayarlarını Düzenle iletişim kutusu kullanılarak tamamen özelleştirilebilir.

Default setting group

Varsayılan ayar grubu, Azure DevOps Server önceki sürümlerinde kullanılan aynı ayarları içerir. Yukarıda listelenen tüm nedenlerden dolayı, bu ayarlar yeni Azure DevOps Server dağıtımları için hala varsayılandır. Mevcut dağıtımlar için, var olan ayarları korumayı deneyeceğiz, bu durum genellikle varsayılan ayar grubunun seçilme sonucudur.

HTTPS and HTTP with redirect setting group

HTTPS ve HTTP (yeniden yönlendirme ile) ayarı grubu iki bağlama sağlar:

  • Ana bilgisayar adı olarak makinenin tam etki alanı adı (FQDN) ile bağlantı noktası 443 üzerinde bir HTTPS bağlaması.
  • Ana bilgisayar adı olarak makinenin FQDN 'siyle birlikte, 80 numaralı bağlantı noktasında bir HTTP bağlaması.

80 numaralı bağlantı noktasındaki HTTP bağlaması yalnızca son kullanıcılara kolaylık olarak eklenmiştir. tüm trafiğin, bağlantı noktası 443 üzerinde HTTPS bağlaması kullanılarak sona ereceği şekilde yeniden yönlendirme yapılandırılır. Bu ayar grubu için genel URL, formundadır https://fully-qualified-domain-name . Varsayılan olarak, bu ayar grubu, otomatik olarak imzalanan yeni sertifikalar sağlayacak ve bunları HTTPS bağlamasında kullanacak şekilde kullanacaktır. Üretim TFS dağıtımları için genellikle otomatik olarak imzalanan sertifikaların kullanılması önerilmez. Otomatik olarak imzalanan sertifikaların ne zaman uygun olduğu ve hangi diğer seçeneklerin kullanılabilir olduğu hakkında daha fazla bilgi için aşağıdaki Sertifika Seçenekleri'ne bakın.

YALNıZCA HTTPS ayar grubu, 443 bağlantı noktası üzerinde makinenin FQDN'sine Ana Bilgisayar Adı olarak tek bir HTTPS bağlaması sağlar. Bu ayar grubunun Genel URL'si yine şeklindedir ve otomatik olarak https://fully-qualified-domain-name imzalanan sertifikalar varsayılan olarak sağlanmıştır.

Yalnızca HTTP ayar grubu, 80 bağlantı noktası üzerinde Ana Bilgisayar Adı belirtilmemiş tek bir HTTP bağlaması sağlar. Bu ayar grubunun Genel URL'si http://machine-name şeklindedir.

HTTPS ve HTTP (yeniden yönlendirme ile) ayar grubunu kullanırken, HTTP genel URL'si kullanılması önerilmez. Modern tarayıcıların çoğu karışık HTTP ve HTTPS içeriğini varsayılan olarak güvenli değildir ve boş sayfalar gösterir. Varsayılan tarayıcı ayarlarını geçersiz kılmak ve güvenli olmayan içeriğe izin vermek genellikle mümkün olsa da, bu durum süresi dolmuş SSL sertifikasına sahip bir siteye göz atma deneyimine benzer bir deneyime neden olur.

Sertifika seçenekleri

HTTPS bağlamaları ve SSL/TLS şifrelemesi kullanarak web siteleri dağıtmak, çok çeşitli belgelerin zaten mevcut olduğu zengin ve ilgi çekici bir konu olan daha geniş bir ortak anahtar altyapısı (PKI) konusuyla yakından ilişkilidir. Buradaki karmaşıklığın hepsini kapsayacak şekilde değil, daha çok dağıtımlar için HTTPS bağlamalarını yapılandırmak için üst düzey seçeneklere Azure DevOps Server odaklanacağız. Birçok kuruluş sertifika dağıtmayla ilgili belirli ilkelere sahiptir, bu nedenle bir dağıtımda hangi sertifikanın Azure DevOps Server karar vermenin ilk adımı genellikle kuruluş düzeyinde bilgi teknolojisi grubuyla konuşmaktır.

Seçeneklere şunlar dahildir:

  • TFS yapılandırma sihirbazının dağıtım tarafından kullanmak üzere otomatik olarak imzalanan sertifikalar oluşturmasına izin verme.
  • İç Sertifika Yetkililerinden sertifika alma.
  • Dış Sertifika Yetkililerinden sertifika alma.

Otomatik olarak imzalanan sertifikalar

Otomatik olarak imzalanan sertifikalar, kolayca sağlanması ve kullanılması çok kolay olduğundan Azure DevOps Server deneme dağıtımları için faydalıdır. Azure DevOps Server üretim dağıtımları için daha az uygundur ve bu, genel İnternet 'e açık olan Azure DevOps Server dağıtımlar için kullanılmasını önermiyoruz. Genellikle kendinden imzalı sertifikalar, ortadaki adam saldırılarına açıktır. Bunlar, her bir istemci makinesine kök sertifikaları yüklenene kadar sertifika uyarıları ve hatalara yol açadıklarından, kullanıcılar için de sorun oluşmasına neden olur. Örneğin, Edge tarayıcısı aşağıdaki hatayı gösterir.

Certificate errors in Edge

TFS Yapılandırma Sihirbazı dağıtımınız için otomatik olarak imzalanan sertifikalar oluşturduğunda, sunucu üzerinde güvenilen kök sertifika yetkilileri deposuna yerleştirilmiş ikinci bir tane oluşturur ve bu, sunucu üzerindeki kişisel mağazaya yerleştirilmiş ve Azure DevOps Server tarafından kullanılan ikinci bir. Bu şekilde işlemlerin ayarlanması, ortadaki adam saldırıları olasılığını azaltmaya ve HTTPS bağlamasında kullanılan sertifikanın, yukarıda gösterilen gibi sertifika hatalarından kaçınmak için tüm istemcilere yeni bir sertifika dağıtmaya gerek kalmadan, aynı zamanda bir sertifikayı döndürmeye olanak sağlar.

Bu sertifika uyarılarını ve hatalarını önlemek için kök sertifikayı dışa aktarabilir ve istemci makinelere yükleyebilirsiniz. Bunu yapmanın birkaç yolu vardır:

  • Sertifikayı sunucuda el ile dışarı aktarmak ve ardından her istemciye içeri aktarmak IÇIN Sertifikalar MMC ek bileşenini kullanma.
  • Sertifikayı dışarı aktarmak için Windows 8/Windows Server 2012 ve sonraki işletim sistemlerinde bulunan Export-Certificate PowerShell cmdlet 'ini kullanma. Içeri aktarma-sertifika , her istemciye içeri aktarmak için kullanılabilir.
  • İstemcilere dağıtımı otomatikleştirmek için Grup İlkesi kullanma.

İç ve dış sertifika yetkilileri

Birçok büyük kuruluşun kendi ortak anahtar altyapısı vardır ve kendi sertifika yetkililerinden sertifika yayımlayabilir. Genellikle, bu durumda, bu yetkililerin güvenilir kök sertifikaları istemci makinelerine zaten dağıtılacaktır, bu nedenle sertifikalar için ek sertifikalar Azure DevOps Server. Kuruluşta kendi ortak anahtar altyapısı varsa bu, dağıtım dağıtımınız için iyi bir Azure DevOps Server olabilir.

Diğer seçenekler uygun veya kullanılabilir olduğunda, sertifikalar bir dış Sertifika Yetkilisi'den (CA) (genellikle bir maliyetle) elde edilir. Sertifika İmzalama İsteği oluşturma ile başlayan bu işleme ilişkin yönergelerçoğu CA web sitesinde bulunabilir. Bazı önemli notlar:

  • Sertifika isteğinde sağlanan Ortak Ad'ın, genel URL'sinde istediğiniz ana bilgisayar adıyla eşle eş olduğundan emin olun ( örneğin, tfs.contoso.com.
  • Şifreleme Hizmeti Sağlayıcısı Özellikleri'ne Microsoft RSA SChannel Şifreleme Sağlayıcısı ve 2048 veya daha büyük bir bit uzunluğu seçmenizi öneririz.

Genel URL'nizi değiştirme

Ayrıca, mevcut bir Azure DevOps Server dağıtımı yükseltilmesi sırasında genel URL'nin değiştirilmesinin son kullanıcıları etkileyiştirecek olduğu da unutmayın. Yine de HTTP'den HTTPS bağlamalara dönüştürmeyi öneriyoruz, Visual Studio istemci bağlantılarının yeniden kurulması gerekir, eski yer işaretleri artık düzgün çözümlemeyecek vb. Bu nedenle, önemli kesintileri önlemek için bu tür bir değişikliği dağıtım Azure DevOps Server koordine etmek önemlidir.