FIPS uyumlu güvenli uzak Linux geliştirmeyi ayarla
Linux desteği Visual Studio 2017 ve sonraki sürümlerde kullanılabilir. FIPS uyumlu güvenli uzak Linux geliştirme, Visual Studio 2019 sürüm 16.5 ve sonraki sürümlerde kullanılabilir.
Federal Bilgi İşleme Standardı (FIPS) Yayın 140-2, şifreleme modülleri için abd kamu standardıdır. Standardın uygulamaları NIST tarafından doğrulanır. Windows, FIPS uyumlu şifreleme modülleri için desteği doğrulamıştır. Visual Studio 2019 sürüm 16.5 ve sonraki sürümlerinde, uzaktan geliştirme için Linux sisteminize güvenli, FIPS uyumlu bir şifreleme bağlantısı kullanabilirsiniz.
Visual Studio ile uzak Linux sisteminiz arasında güvenli, FIPS uyumlu bir bağlantı kurma burada anlatılmaktadır. Bu kılavuz, Visual Studio'da CMake veya MSBuild Linux projeleri oluşturduğunuzda geçerlidir. Bu makale, Uzak Linux bilgisayarınıza bağlanma başlığı altındaki bağlantı yönergelerinin FIPS uyumlu sürümüdür.
FIPS uyumlu bağlantı hazırlama
Visual Studio ile uzak Linux sisteminiz arasında FIPS uyumlu, kriptografik olarak güvenli bir ssh bağlantısı kullanmak için bazı hazırlıklar gereklidir. FIPS-140-2 uyumluluğu için Visual Studio yalnızca RSA anahtarlarını destekler.
Bu makaledeki örneklerde OpenSSH sunucu sürümü 7.6 ile Ubuntu 18.04 LTS kullanılır. Ancak, openSSH'nin orta düzeyde yeni bir sürümünü kullanan tüm dağıtımlar için yönergeler aynı olmalıdır.
Uzak sistemde SSH sunucusunu ayarlamak için
Linux sisteminde OpenSSH sunucusunu yükleyin ve başlatın:
sudo apt install openssh-server sudo service ssh start
Sistem ön başlatıldığında sunucunun
ssh
otomatik olarak başlatılmasını istiyorsanız, kullanaraksystemctl
etkinleştirin:sudo systemctl enable ssh
Kök olarak açın
/etc/ssh/sshd_config
. Aşağıdaki satırları düzenleyin (veya yoksa ekleyin):Ciphers aes256-cbc,aes192-cbc,aes128-cbc,3des-cbc HostKeyAlgorithms ssh-rsa KexAlgorithms diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1 MACs hmac-sha2-256,hmac-sha1
Not
ssh-rsa
, VS'nin desteklediği tek FIPS uyumlu konak anahtarı algoritmasıdır. Algoritmalaraes*-ctr
da FIPS uyumlu olsa da Visual Studio'daki uygulama onaylanmamıştır. Anahtarecdh-*
değişimi algoritmaları FIPS uyumlu olsa da Visual Studio bunları desteklemez.Bu seçeneklerle sınırlı değilsiniz. Diğer şifreleri, konak anahtar algoritmalarını vb. kullanacak şekilde yapılandırabilirsiniz
ssh
. Dikkate almak isteyebileceğiniz diğer bazı ilgili güvenlik seçenekleri şunlardır:PermitRootLogin
,PasswordAuthentication
vePermitEmptyPasswords
. Daha fazla bilgi içinsshd_config
SSH Sunucu Yapılandırması sayfasına veya makalesine bakınman
.kaydettikten ve kapattıktan
sshd_config
sonra yeni yapılandırmayı uygulamak için ssh sunucusunu yeniden başlatın:sudo service ssh restart
Ardından, Windows bilgisayarınızda bir RSA anahtar çifti oluşturacaksınız. Ardından ortak anahtarı tarafından ssh
kullanılmak üzere uzak Linux sistemine kopyalayacaksınız.
RSA anahtar dosyası oluşturmak ve kullanmak için
Windows makinesinde şu komutu kullanarak genel/özel bir RSA anahtar çifti oluşturun:
ssh-keygen -t rsa -b 4096 -m PEM
komutu bir ortak anahtar ve bir özel anahtar oluşturur. Varsayılan olarak, anahtarlar ve
%USERPROFILE%\\.ssh\\id_rsa.pub
öğesine%USERPROFILE%\.ssh\id_rsa
kaydedilir. (PowerShell'de, cmd makrosunun%USERPROFILE%
yerine kullanın$env:USERPROFILE
) Anahtar adını değiştirirseniz, aşağıdaki adımlarda değiştirilen adı kullanın. Güvenliği artırmak için parola kullanmanızı öneririz.Windows'tan ortak anahtarı Linux makinesine kopyalayın:
scp %USERPROFILE%\.ssh\id_rsa.pub user@hostname:
Linux sisteminde, anahtarı yetkili anahtarlar listesine ekleyin ve dosyanın doğru izinlere sahip olduğundan emin olun:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
Şimdi yeni anahtarın içinde
ssh
çalışıp çalışmadığını test edebilirsiniz. Windows'tan oturum açmak için bunu kullanın:ssh -i %USERPROFILE%\.ssh\id_rsa user@hostname
şifreleme anahtarlarını başarıyla ayarladınız ssh
, oluşturdunuz ve dağıttınız ve bağlantınızı test ettiniz. Artık Visual Studio bağlantısını ayarlamaya hazırsınız.
Visual Studio'da uzak sisteme bağlanma
Visual Studio'da, Seçenekler iletişim kutusunu açmak için menü çubuğunda Araçlar Seçenekleri'ni seçin.> Ardından platformlar > arası Bağlantı Yöneticisi'i seçerek Bağlantı Yöneticisi iletişim kutusunu açın.
Daha önce Visual Studio'da bağlantı kurmadıysanız, projenizi ilk kez oluştururken Visual Studio sizin için Bağlantı Yöneticisi iletişim kutusunu açar.
Bağlantı Yöneticisi iletişim kutusunda Ekle düğmesini seçerek yeni bir bağlantı ekleyin.
Uzak Sisteme Bağlan penceresi görüntülenir.
Uzak Sisteme Bağlan iletişim kutusunda, uzak makinenizin bağlantı ayrıntılarını girin.
Giriş Açıklama Ana Bilgisayar Adı Hedef cihazınızın adı veya IP adresi Bağlantı noktası SSH hizmetinin üzerinde çalıştığı bağlantı noktası, genellikle 22 Kullanıcı adı Kimlik doğrulaması için kullanıcı Kimlik doğrulaması türü FIPS uyumlu bağlantı için Özel Anahtar'ı seçin Özel anahtar dosyası Ssh bağlantısı için oluşturulan özel anahtar dosyası Parola Yukarıda seçilen özel anahtarla kullanılan parola Kimlik doğrulama türünü Özel Anahtar olarak değiştirin. Özel anahtar dosya alanına özel anahtarınızın yolunu girin. Bunun yerine Gözat düğmesini kullanarak özel anahtar dosyanıza gidebilirsiniz. Ardından, Parola alanına özel anahtar dosyanızı şifrelemek için kullanılan parolayı girin.
Uzak bilgisayara bağlantı kurmayı denemesi için Bağlan düğmesini seçin.
Bağlantı başarılı olursa Visual Studio, IntelliSense'i uzak üst bilgileri kullanacak şekilde yapılandırıyor. Daha fazla bilgi için bkz . Uzak sistemlerdeki üst bilgiler için IntelliSense.
Bağlantı başarısız olursa, değiştirilmesi gereken giriş kutuları kırmızıyla özetlenir.
Bağlantı sorunlarını giderme hakkında daha fazla bilgi için bkz . Uzak Linux bilgisayarınıza bağlanma.
Bağlantı Yöneticisi için komut satırı yardımcı programı
Visual Studio 2019 sürüm 16.5 veya üzeri: ConnectionManager.exe
Visual Studio dışındaki uzaktan geliştirme bağlantılarını yönetmek için bir komut satırı yardımcı programıdır. Yeni bir geliştirme makinesi sağlama gibi görevler için kullanışlıdır. Alternatif olarak, Visual Studio'yu sürekli tümleştirme için ayarlamak için de kullanabilirsiniz. Örnekler ve ConnectionManager komutuna tam başvuru için bkz . ConnectionManager başvurusu.
İsteğe bağlı: FIPS modunu etkinleştirme veya devre dışı bırakma
Windows'da FIPS modunu genel olarak etkinleştirmek mümkündür.
FIPS modunu etkinleştirmek için Windows+R tuşlarına basarak Çalıştır iletişim kutusunu açın ve komutunu çalıştırın
gpedit.msc
.Yerel Bilgisayar İlkesi Bilgisayar Yapılandırması > Windows Ayarları Güvenlik Ayarları > > Yerel İlkeler'i genişletin ve Güvenlik Seçenekleri'ni seçin.>
İlke'nin altında Sistem şifrelemesi: Şifreleme, karma oluşturma ve imzalama için FIPS uyumlu algoritmaları kullanın'ı seçin ve enter tuşuna basarak iletişim kutusunu açın.
Yerel Güvenlik Ayarı sekmesinde Etkin veya Devre Dışı'nı seçin ve sonra değişikliklerinizi kaydetmek için Tamam'ı seçin.
Uyarı
FIPS modunun etkinleştirilmesi bazı uygulamaların bozulmasına veya beklenmedik şekilde davranmasına neden olabilir. Daha fazla bilgi için Neden Artık "FIPS modu" Önerilmiyor? blog gönderisine bakın.
Ek kaynaklar
FIPS 140 doğrulamasıyla ilgili Microsoft belgeleri
FIPS 140-2: Şifreleme Modülleri için Güvenlik Gereksinimleri (NIST'den)
Şifreleme Algoritması Doğrulama Programı: Doğrulama Notları (NIST'den)
Artık "FIPS modu" Önermeme nedenimiz hakkında Microsoft blog gönderisi
Ayrıca bkz:
Linux projesi yapılandırma
Linux CMake projesi yapılandırma
Uzak Linux bilgisayarınıza bağlanma
Linux projenizi dağıtma, çalıştırma ve projenizin hatalarını ayıklama
CMake hata ayıklama oturumlarını yapılandırma