Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
SSH Duruş Denetimi, Windows Server 2025'te SSH Server güvenlik duruşu denetlemenizi ve yapılandırmanızı sağlar. SSH Duruş Denetimi, Azure İdare hizmetleriyle (İlke, Makine Yapılandırması) sorunsuz bir şekilde tümleştirilir, böylece şunları yapabilirsiniz:
- Sektörünüzde veya kuruluşunuzda sshd standartlarıyla uyumluluğu sağlama
- Sshd tabanlı uzaktan yönetimin saldırı yüzeyini azaltma
- Güvenlik ve üretkenlik için filonuzda tutarlı sshd kurulumu sağlayın
Denetçilere uyumluluğu göstermenize yardımcı olmak (ve gerektiğinde harekete geçmenize yardımcı olmak için) her uyumluluk denetimi, Uyumluluk veya uyumsuzluk durumunun nasıl belirlendiğini gösteren Nedenler alanı aracılığıyla kanıt içerir.
Sshd parametrelerini (bağlantı noktası numarası, izin verilen gruplar vb.) özelleştirebilir veya ilke varsayılan değerlerini kullanabilirsiniz.
Kullanmaya başlama belgeleri
- Hızlı Başlangıç: Tıklamayla tıklamayla uygulamalı deneyim için bkz. Hızlı Başlangıç:test makinesine SSH Duruş Denetimi uygulama.
- Genel bakış ve başvuru: Kavramsal bilgi, başvuru ve SSS için bu makaleyle devam edin.
Yalnızca denetim ve yapılandırma davranışını seçme
SSH Duruş Denetimi ilkesi atarken , yalnızca denetim (diğer adıyla "Denetim") davranışını veya denetim ve yapılandırma (diğer adıyla "Yapılandır") davranışını seçebilirsiniz.
İlke tanımı | Azure İlkesi etkisi | Neler bekleyebileceğinize ilişkin notlar | |
---|---|---|---|
Yalnızca denetim davranışı | **Audit** SSH Posture Control on Windows machines |
auditIfNotExists | İlke, birçok popüler sistem görüntüsüne kıyasla daha kısıtlayıcı ayarlar içerir. Örneğin, kök ssh erişimini reddetme. Buna göre Uyumlu olmayan durumların bildirildiğine dikkat edin. |
Denetim ve yapılandırma davranışı | **Configure** SSH Posture Control on Windows machines |
deployIfNotExists | Yukarıda olduğu gibi, başlangıçta Uyumsuz durumların bildirildiğine bakabilirsiniz. Daha sonra makineler ilkeyle eşleşecek şekilde yeniden yapılandırılır ve son Uyumlu durumlarla sonuçlanır. |
Mevcut makineler için yöneticiler genellikle mevcut durumu belirlemek ve sistem otomasyonu için izin verilen hesaplar gibi bağımlılıkları bulmak için yalnızca denetim davranışıyla başlar. Mevcut filoyu SSH Duruş Denetimi varsayılanlarıyla karşılaştırdıktan sonra özelleştirebileceğiniz SSH Duruş Denetimi parametrelerine karar verirsiniz. Bu analiz ve planlamadan sonra denetim ve yapılandırma davranışına (halkalar gibi güvenli dağıtım uygulamalarıyla) geçiş yapacaksınız.
Yeşil alan senaryoları veya tek kullanımlık test makineleri için bu analizi atlayıp doğrudan denetim ve yapılandırma davranışına geçmeyi seçebilir ve güçlü SSH Duruş Denetimi varsayılanlarıyla yeni bir başlangıç yapabilirsiniz.
Dikkat
Makineleri yapılandırmadan önce, yeni yapılandırmanızı doğrulamaya çok dikkat edin. Makinelerinize erişiminizi yanlışlıkla kaybedebilirsiniz.
Kendinizi yanlışlıkla kilitleme örnekleri şunlardır:
- Uygulanan net yetkilendirme ayarları (
allowUsers
denyGroups
,, vb.) ihtiyacınız olan oturum açma bilgilerine izin vermez -
port
Sshd için yapılandırdığınız, ortamınızdaki diğer denetimler tarafından engellenir (Konak güvenlik duvarı kuralları, ağ güvenlik duvarı kuralları vb.)- Kurumsal ekip sınırlarının aşılmasını önlemek için, SSH Duruş Denetimi yalnızca yapılandırılmış sshd. Şu anda yapılandırılan sshd bağlantı noktasını barındırmak için makine içi güvenlik duvarı kurallarını vb. değiştirmeye çalışmıyor. Bu senaryoları bizimle tartışmak isterseniz lütfen bizimle iletişime geçin (aşağıdaki Ek kaynaklar bölümüne bakın).
SSH Duruş Denetimi kapsamı: kurallar, varsayılanlar ve özelleştirme
Aşağıdaki tabloda, SSH Duruş Denetimi ile denetlenebilecek veya yapılandırılabilir öğeler listelenmiştir. Bunların her biri kural olarak bilinir.
Kuralların çoğuna, denetleme veya yapılandırma ve denetleme için ilke atama parametreleri aracılığıyla özel değerler verilebilir. Örneğin, kuruluşunuzdaki standart sshd için 1111 numaralı bağlantı noktasını (22 yerine) kullanmaksa, ilke atamasında ilgili parametreyi ayarlayabilirsiniz. Bu parametreler aşağıdaki tabloda yer alan tanımlayıcılara sahiptir. Genellikle, kısa parametre adı program aracılığıyla (örneğin ile az policy assignment create --params ...
) kullanılırken, Azure portal iş akışlarında uzun parametre görünen adı kullanılır.
Değerleri özelleştirirken, sshd ile uyumlu değerler sağlamaya dikkat edin. Örneğin, allowGroups
grup adı desenlerinin boşlukla ayrılmış bir listesini alır. Başvuru için sshd_config adam sayfasına bakın. sshd_config başvurusu, izin verme ve reddetme listelerinin nasıl kesiştiği gibi diğer sshd davranışlarını anlamak için de yararlıdır.
Uyarı
Tablo düzenini korumak için, bazı hücre değerleri tablonun altındaki dipnotlara taşındı.
Kural adı | Varsayılan değer | Parametre adı | Parametre görünen adı |
---|---|---|---|
SSH için izin verilen grupların yapılandırıldığından emin olun | <dipnot 1> | AllowGroups |
İzin verilen gruplar |
SSH erişimi için izin verilen kullanıcıların yapılandırıldığından emin olun | "" | AllowUsers |
İzin verilen kullanıcılar |
SSH için kimlik doğrulama yönteminin yapılandırıldığından emin olun | herhangi | AuthenticationMethods |
Kimlik doğrulama yöntemleri |
SSH için reddedilen grupların yapılandırıldığından emin olun | "" | DenyGroups |
Reddedilen gruplar |
SSH için reddedilen kullanıcıların yapılandırıldığından emin olun | "" | DenyUsers |
Reddedilen kullanıcılar |
SSH için iletileri günlüğe kaydederken kullanılan tesis kodunun yapılandırıldığından emin olun | YEREL0 | SyslogFacility |
Sistem günlüğü tesisi |
SSH MaxAuthTries'in yapılandırıldığından emin olun | 6 | MaxAuthTries |
En fazla kimlik doğrulama denemesi sayısı |
SSH HostKey'in yapılandırıldığından emin olun | <dipnot 2> | HostKey |
Konak anahtarı |
SSH için yetkili anahtar dosyasının yapılandırıldığından emin olun | <dipnot 3> | AuthorizedKeysFile |
Yetkili anahtar dosyası |
SSH için GSSApiAuthentication'ın yapılandırıldığından emin olun | yanlış | GSSAPIAuthentication |
GSSAPI kimlik doğrulaması |
SSH uyarı başlığının yapılandırıldığından emin olun | <dipnot 4> | Banner |
Afiş |
SSH için uygun şifrelemelerin kullanıldığından emin olun | aes128-ctr,aes192-ctr,aes256-ctr | Ciphers |
İzin verilen şifrelemeler |
Yalnızca onaylı MAC algoritmalarının kullanıldığından emin olun | hmac-sha2-256 | MACs |
MAC algoritmaları |
SSH ClientAliveCountMax'ın yapılandırıldığından emin olun | 0 | ClientAliveCountMax |
Etkin istemci iletileri sayısı |
SSH bağlantı noktasının yapılandırıldığından emin olun | 22 | Port |
Liman |
SSH LoginGraceTime'ın yapılandırıldığından emin olun | 60 | LoginGraceTime |
Oturum açma yetkisiz kullanım süresi |
SSH ClientAliveInterval'ın yapılandırıldığından emin olun | 3600 | ClientAliveInterval |
İstemci etkin aralığı |
SSH PermitEmptyPasswords'un yapılandırıldığından emin olun | yanlış | PermitEmptyPasswords |
Boş parola izni |
Tablo dipnotları:
administrators "openssh users"
__PROGRAMDATA__/ssh/ssh_host_ecdsa_key
%programdata%/ssh/administrators_authorized_keys
#######################################################################/r/n/r/nAuthorized access only!/r/n/r/nIf you are not authorized to access or use this system, disconnect now!/r/n/r/n#######################################################################/r/n
- Not: Bu, son kullanıcılara şu şekilde görüntülenir:
####################################################################### Authorized access only! If you are not authorized to access or use this system, disconnect now! #######################################################################
Ek (sshd olmayan) ilke parametreleri
Bu ek ilke parametreleri, ilke ataması sırasında kullanılabilir. Bunlar, makinelerdeki sshd ayarlarının aksine Azure İlkesi atama davranışını etkiler.
İsim | Açıklama | Varsayılan |
---|---|---|
Arc bağlantılı sunucuları dahil et | Bu seçeneği belirleyerek Arc bağlantılı makine başına aylık ücretlendirmeyi kabul etmiş olursunuz. | YANLIŞ |
Etki | Bu ilkenin yürütülmesini etkinleştirme veya devre dışı bırakma | < Yalnızca denetim ve yapılandırma davranışının seçilmesine bağlıdır> |
İlke tanımları? İlke atamaları mı? Konuk atamaları mı? Makine Yapılandırması mı? Bunların hepsi nasıl bir araya geliyor?
SSH Duruş Denetimi'ni kullanmaya başlamak için temel eyleminiz bir ilke ataması oluşturmaktır. İlke atamanız bir ilke tanımını (örneğin, "Windows makineleri için SSH Duruş Denetimini Denetle") bir kapsama (örneğin, "my_factory_3_resource_group") bağlar.
Sistemi kullanırken, aşağıda özetlediğiniz gibi ek kaynak türleri ve terminolojisi ile karşılaşırsınız.
Açıklama | |
---|---|
Politika tanımı | İlke hizmeti içinde, kullanılabilir denetim ve/veya yapılandırma davranışları kümesini açıklayan soyut veriler. Örneğin, "Windows makinelerinde SSH Duruş Denetimini Denetle". |
İlke ataması | Soyut ilke tanımını kaynak grubu gibi somut bir kapsama bağlar. İlke ataması, parametreler ve bu atamaya özgü diğer özellikleri içerebilir. |
Makine Yapılandırması | İşletim sistemi düzeyinde denetim ve ayar yapılandırmasını işleyen Azure hizmeti ve aracısı. |
Konuk ataması | İlke ataması, makine ve Makine Yapılandırma hizmeti arasında üç yönlü bağlantı işlevi gören kaynak. İlke, gerektiğinde konuk atama kaynaklarını oluşturur ve izler. "Konuk" ve "makine" terminolojisi hakkında daha fazla bilgi için bkz. Neden yerlerde "Konuk Yapılandırması" ve "Otomatik Yönet" terimlerini görüyorum? |
Makine | Arc özellikli bir makine veya Azure VM. |
Uyumluluk hakkında (SSH Sunucusu uygulamaları vb.)
SSH Duruş Denetimi, uzun süre çalışan tek bir SSH Server örneğinin temel genel amaçlı Windows Server senaryosu için tasarlanmıştır:
- yaşam döngüsü Service Control Manager gibi init sistemi tarafından yönetilir
- Davranışları OpenSSH sshd davranışıyla tutarlı olarak sshd_config dosyası tarafından yönetilir
- Etkin yapılandırma/durum, OpenSSH sshd davranışıyla tutarlı olarak çıktıyla
sshd -T
ortaya çıkan
Desteklenen tüm işletim sistemi için (aşağıya bakın), bu varsayılan SSH Sunucusu kullanım örneğidir.
Prensipte bir makinede, herhangi bir sayıda kod tabanına göre değişen yaşam süreleri ile çalışan ve yapılandırmalarını herhangi bir sayıda yerden alan (yapılandırma dosyaları, komut satırı bağımsız değişkenleri, derleme zamanı parametreleri vb.) SSH sunucu örnekleri bulunabilir. Bu tür durumlar şu anda SSH Duruş Denetimi için kapsam dışındadır. Gelecekte bu tür durumlarla ilgileniyorsanız, görüşmek için lütfen bizimle iletişime geçin .
SSH Duruş Denetimi, Azure İlkesi ve Makine Yapılandırması tarafından desteklenen Windows Server 2025 makinelerinde kullanılmak üzere tasarlanmıştır -
Sysadmins ve görüntü oluşturucuların işletim sisteminden bileşenleri kaldırması, dosya sistemlerini salt okunur hale getirmesi vb. için çalışma zamanında belirli bir makineyle uyumluluk garanti edilemez.
sshd_config Include yönergeleriyle uyumluluk
SSH Duruş Denetimi, aşağıdaki gibi sshd_config yönergelerini barındırmaya ve kullanmaya Include
çalışır:
- Denetim/okuma eylemleri için: Sshd -T sshd'nin perspektifinden net yapılandırmayı yansıtacak şekilde kullanın ve tüm Dahil edilenleri dikkate alın.
- Yapılandırma/yazma eylemleri için:
- Yeni bir SSH Duruş Denetimi özel dosyasını sshd_config (Dahil Et olarak) bağlayın. Daha sonra, tüm yazmaları bağlı SSH Duruş Denetimi dosyasına yerleştirin. Bu, sistem hijyenini ve sistem değişikliklerinin izlenebilirliğini artırır.
sshd_config Match yönergeleriyle uyumluluk
SSH Duruş Denetimi, çekirdek sshd davranışını denetlemek ve yapılandırmak için tasarlanmıştır. Belirli popülasyonlara farklı sshd yapılandırmaları uygulayabilen koşullu Match
bloklarla (varsa) etkileşim kurmaya çalışmaz.
Birden çok sshd_config değeriyle uyumluluk
SSH Duruş Denetimi, 'bağlantı noktası' kuralı için birden çok değerin kullanılmasını desteklemez, yani 'bağlantı noktası' kuralını 22 ve 33 olarak ayarlar. Bu kural, senaryoları denetleme ve yapılandırma için düzgün işlevsellik ve uyumluluk sağlamak için tek bir değerle yapılandırılmalıdır. Kullanıcılara ve şifrelere izin verme/reddetme gibi diğer kurallar, tek bir satıra eklendiği sürece birden çok değere sahip olabilir.
Örnek:
- Mevcut bir sshd_config dosyası bir "bağlantı noktası:22" satırı ve başka bir "bağlantı noktası:33" satırı içerir.
- "Denetim SSH" İlkesi, beklenen 33 bağlantı noktası değerini denetlemek için kullanılır.
- Sonuç: Denetim, öngörülemez şekilde geçebilir veya başarısız olabilir.
- Öneri : Bu özelliği bunlar gibi senaryolarla kullanmayın.
Sonuçları program aracılığıyla nasıl sorgulayabilirim?
Azure Kaynak Grafı (ARG) sorgularını kullanarak atama ve durum verilerini kendi iş akışlarınızla tümleştirebilirsiniz. Bu örnekler ARG sorgusunu yürütmek için PowerShell'de kullanılır Search-AzGraph
, ancak PowerShell gerekli değildir. ARG'yi Azure Portal, Azure CLI, REST çağrıları gibi birçok giriş noktasından kullanabilirsiniz.
Özetlemenin en yüksek rakımında, uyumluluk durumu demetine göre makine sayıları alabilirsiniz. Örneğin:
$machineCountsQuery = @' // SSH machine counts by compliance status guestconfigurationresources | where name contains "SecureShell" | extend complianceStatus = tostring(properties.complianceStatus) | summarize machineCount = count() by complianceStatus '@ Search-AzGraph -Query $machineCountsQuery <# Sample output from an environment with two machines: complianceStatus machineCount ---------------- ------------ Pending 1 Compliant 1 #>
Makineye göre genel uyumluluk durumunu görecek şekilde detaya gitmek için aşağıdakileri kullanabilirsiniz:
$machinePerRowQuery = @' // SSH machine level compliance guestconfigurationresources | where name contains "SecureShell" | project machine = split(properties.targetResourceId,'/')[-1], complianceStatus = properties.complianceStatus, lastComplianceStatusChecked = properties.lastComplianceStatusChecked '@ Search-AzGraph -Query $machinePerRowQuery <# Sample output: machine complianceStatus lastComplianceStatusChecked ------- ---------------- --------------------------- sshdemovm01 Compliant 2/15/2024 11:07:21 PM sshdemovm02 Pending 1/1/0001 12:00:00 AM #>
Ayara göre ayarlama ayrıntılarına gitmek için aşağıdakileri kullanabilirsiniz:
$settingPerRowQuery = @' // SSH rule level detail GuestConfigurationResources | where name contains "SecureShell" | project report = properties.latestAssignmentReport, machine = split(properties.targetResourceId,'/')[-1], lastComplianceStatusChecked=properties.lastComplianceStatusChecked | mv-expand report.resources | project machine, rule = report_resources.resourceId, ruleComplianceStatus = report_resources.complianceStatus, ruleComplianceReason = report_resources.reasons[0].phrase, lastComplianceStatusChecked '@ Search-AzGraph $settingPerRowQuery <# Sample output: machine rule ruleComplianceStatus ruleComplianceReason ------- --------------- ------ ------ sshdemovm01 Ensure that the allowed groups for SSH are configured true ["administrators","openssh users"] contains the expected values: ["administrators","openssh users"] sshdemovm01 Ensure that appropriate ciphers are used for SSH true ["aes128-ctr","aes192-ctr","aes256-ctr"] contains the expected values: ["aes128-ctr","aes192-ctr","aes256-ctr"] sshdemovm01 Ensure that the authorized key file for SSH is configured true "%programdata%/ssh/administrators_authorized_keys" is equal to "%programdata%/ssh/administrators_authorized_keys" sshdemovm01 Ensure that the SSH ClientAliveInterval is configured true 3600 is equal to 3600 sshdemovm01 Ensure that the SSH PermitEmptyPasswords is configured true false is equal to false sshdemovm01 Ensure that the SSH port is configured true 22 is equal to 22 sshdemovm01 Ensure that the SSH MaxAuthTries is configured true 6 is equal to 6 sshdemovm01 Ensure that only approved MAC algorithms are used true ["hmac-sha2-256"] contains the expected values: ["hmac-sha2-256"] sshdemovm01 Ensure that the SSH HostKey is configured true "__PROGRAMDATA__/ssh/ssh_host_ecdsa_key" is equal to "__PROGRAMDATA__/ssh/ssh_host_ecdsa_key" sshdemovm01 Ensure that the SSH LoginGraceTime is configured true 60 is equal to 60 #>
Neden yerlerde "Konuk Yapılandırması" ve "Otomatik Yönet" terimlerini görüyorum?
Makine Yapılandırma hizmeti, Konuk Yapılandırması ve Otomatik Yönetim Makine Yapılandırması olarak da bilinir. Hizmetler ve belgelerle etkileşim kurarken bu adlarla karşılaşabilirsiniz. Örneğin:
- Bu makaledeki Azure Kaynak Grafı sorgu örneklerinde veri tablosu olarak adlandırılır
guestconfigurationresources
. - Azure portalında sonuçları gözlemlemek için kullanışlı bir görünüme "Konuk Atamaları" adı verilir.
- Azure portalında, Makine Yapılandırması'nı etkinleştirmek için ilgili VM uzantısını uygularken uzantı başlığı "Makine Yapılandırmasını Otomatik Yönet" şeklindedir.
SSH Duruş Denetimi amaçları doğrultusunda "konuk" ile "makine" arasında anlamlı bir ayrım yoktur. Arc özellikli makineler ve Azure VM'leri uygundur.
Yerleşik ilke tanımlarının tanımlayıcıları nelerdir?
Azure CLI ile ilke atamaları oluşturma gibi bazı durumlarda, görünen ad yerine kimlikle bir ilke tanımına başvurmak yararlı veya gerekli olabilir.
ekran adı | kimlik |
---|
| Windows makinelerinde SSH Duruş Denetimini Denetleme | ...
| | Windows makinelerinde SSH Duruş Denetimini Yapılandırma | ...
|
İlgili kaynaklar
- Sorunlarla ilgili destek vb. için Microsoft Desteği'ne başvurun
- Geri bildirim sağlamak için özellik isteklerini vb. tartışın: linux_sec_config_mgmt@service.microsoft.com