Aracılığıyla paylaş


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

  1. Linux sisteminde OpenSSH sunucusunu yükleyin ve başlatın:

    sudo apt install openssh-server
    sudo service ssh start
    
  2. Sistem ön başlatıldığında sunucunun ssh otomatik olarak başlatılmasını istiyorsanız, kullanarak systemctletkinleştirin:

    sudo systemctl enable ssh
    
  3. 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. Algoritmalar aes*-ctr da FIPS uyumlu olsa da Visual Studio'daki uygulama onaylanmamıştır. Anahtar ecdh-* 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, PasswordAuthenticationve PermitEmptyPasswords. Daha fazla bilgi için sshd_config SSH Sunucu Yapılandırması sayfasına veya makalesine bakınman.

  4. kaydettikten ve kapattıktan sshd_configsonra 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 sshkullanılmak üzere uzak Linux sistemine kopyalayacaksınız.

RSA anahtar dosyası oluşturmak ve kullanmak için

  1. 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.

  2. Windows'tan ortak anahtarı Linux makinesine kopyalayın:

    scp %USERPROFILE%\.ssh\id_rsa.pub user@hostname:
    
  3. 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
    
  4. Ş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

  1. 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.

  2. Bağlantı Yöneticisi iletişim kutusunda Ekle düğmesini seçerek yeni bir bağlantı ekleyin.

    Bağlantı Yöneticisi iletişim kutusundaki seçenekler bölmesini gösteren ekran görüntüsü. Platformlar > Arası C artı > Bağlantı Yöneticisi vurgulanır.

    Uzak Sisteme Bağlan penceresi görüntülenir.

    Konak adı, bağlantı noktası, kullanıcı adı, kimlik doğrulama türü ve parola için metin kutuları içeren Uzak Sisteme Bağlan penceresini gösteren ekran görüntüsü.

  3. 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.

  4. 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.

    Değiştirilmesi gerektiğini belirtmek için ana bilgisayar adı ve bağlantı noktası metin kutularının kırmızıyla özetlendiği Uzak Sisteme Bağlan penceresinin ekran görüntüsü.

    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.

  1. 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ıngpedit.msc.

  2. 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.>

  3. İ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.

  4. 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

SSH Sunucusu Yapılandırması

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