Nastavení zabezpečeného vzdáleného vývoje pro Linux kompatibilního se standardem FIPS
Podpora Linuxu je k dispozici v sadě Visual Studio 2017 a novějších verzích. Zabezpečený vzdálený vývoj pro Linux kompatibilní se standardem FIPS je k dispozici v sadě Visual Studio 2019 verze 16.5 a novějších.
Fips (Federal Information Processing Standard) Publication 140-2 je americký státní standard pro kryptografické moduly. Implementace standardu ověřuje NIST. Systém Windows ověřil podporu kryptografických modulů kompatibilních se standardem FIPS. V sadě Visual Studio 2019 verze 16.5 a novějších můžete ke vzdálenému vývoji použít zabezpečené kryptografické připojení kompatibilní se standardem FIPS.
Tady je postup, jak nastavit zabezpečené připojení kompatibilní se standardem FIPS mezi sadou Visual Studio a vzdáleným systémem Linux. Tato příručka je použitelná při sestavování projektů CMake nebo MSBuild Linux v sadě Visual Studio. Tento článek je verzí kompatibilní se standardem FIPS pokynů k připojení v tématu Připojení ke vzdálenému počítači s Linuxem.
Příprava připojení kompatibilního se standardem FIPS
K použití kryptograficky zabezpečeného připojení SSH mezi sadou Visual Studio a vzdáleným systémem Linux se vyžaduje určitá příprava. Pro dodržování předpisů FIPS-140-2 podporuje Visual Studio pouze klíče RSA.
Příklady v tomto článku používají Ubuntu 18.04 LTS se serverem OpenSSH verze 7.6. Pokyny by ale měly být stejné pro všechny distribuce používající mírně nedávnou verzi OpenSSH.
Nastavení serveru SSH ve vzdáleném systému
V systému Linux nainstalujte a spusťte server OpenSSH:
sudo apt install openssh-server sudo service ssh start
Pokud chcete, aby se
ssh
server automaticky spustil při spuštění systému, povolte ho pomocí příkazusystemctl
:sudo systemctl enable ssh
Otevřete
/etc/ssh/sshd_config
jako kořenový adresář. Upravte (nebo přidejte, pokud neexistují) následující řádky: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
Poznámka
ssh-rsa
je jediný algoritmus klíče hostitele kompatibilní se standardem FIPS, který VS podporuje. Algoritmyaes*-ctr
jsou také kompatibilní se standardem FIPS, ale implementace v sadě Visual Studio není schválená. Algoritmyecdh-*
výměny klíčů jsou kompatibilní se standardem FIPS, ale Visual Studio je nepodporuje.Tyto možnosti vás neomezují. Můžete nakonfigurovat
ssh
použití jiných šifer, algoritmů klíče hostitele atd. Mezi další relevantní možnosti zabezpečení, které byste měli zvážit, patříPermitRootLogin
,PasswordAuthentication
aPermitEmptyPasswords
. Další informace najdete naman
stránce nebosshd_config
v článku Konfigurace serveru SSH.Po uložení a zavření
sshd_config
restartujte server SSH, aby se použila nová konfigurace:sudo service ssh restart
V dalším kroku vytvoříte na počítači s Windows pár klíčů RSA. Pak zkopírujete veřejný klíč do vzdáleného systému Linux, který ssh
použije .
Vytvoření a použití souboru klíče RSA
Na počítači s Windows vygenerujte pár veřejného a privátního klíče RSA pomocí tohoto příkazu:
ssh-keygen -t rsa -b 4096 -m PEM
Příkaz vytvoří veřejný klíč a privátní klíč. Ve výchozím nastavení se klíče ukládají do
%USERPROFILE%\.ssh\id_rsa
a%USERPROFILE%\\.ssh\\id_rsa.pub
. (V PowerShellu použijte$env:USERPROFILE
místo cmd makra%USERPROFILE%
) Pokud změníte název klíče, použijte změněný název v následujících krocích. Pro zvýšení zabezpečení doporučujeme používat přístupové heslo.Z Windows zkopírujte veřejný klíč na počítač s Linuxem:
scp %USERPROFILE%\.ssh\id_rsa.pub user@hostname:
V systému Linux přidejte klíč do seznamu autorizovaných klíčů a ujistěte se, že soubor má správná oprávnění:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
Teď můžete otestovat, jestli nový klíč funguje v nástroji
ssh
. Použijte ho k přihlášení z Windows:ssh -i %USERPROFILE%\.ssh\id_rsa user@hostname
Úspěšně jste nastavili ssh
, vytvořili a nasadili šifrovací klíče a otestovali jste připojení. Teď jste připraveni nastavit připojení k sadě Visual Studio.
Připojení ke vzdálenému systému v sadě Visual Studio
V sadě Visual Studio zvolte v řádku nabídek Možnosti nástrojů > a otevřete dialogové okno Možnosti. Pak výběrem možnosti Multiplatformní > Správce připojení otevřete dialogové okno Správce připojení.
Pokud jste v sadě Visual Studio ještě nenastavili připojení, při prvním sestavení projektu za vás Visual Studio otevře dialogové okno Správce připojení.
V dialogovém okně Správce připojení zvolte tlačítko Přidat a přidejte nové připojení.
Zobrazí se okno Připojit ke vzdálenému systému .
V dialogovém okně Připojit ke vzdálenému systému zadejte podrobnosti o připojení vzdáleného počítače.
Entry Description Název hostitele Název nebo IP adresa cílového zařízení Port Port, na kterém je spuštěná služba SSH, obvykle 22 Uživatelské jméno Uživatel, který se má ověřit jako Typ ověřování Volba privátního klíče pro připojení kompatibilní se standardem FIPS Soubor privátního klíče Soubor privátního klíče vytvořený pro připojení SSH Heslo Heslo použité s privátním klíčem vybraným výše Změňte typ ověřování na Privátní klíč. Do pole Soubor privátního klíče zadejte cestu k privátnímu klíči. K přechodu na soubor privátního klíče můžete použít tlačítko Procházet . Potom do pole Přístupové heslo zadejte heslo použité k zašifrování souboru privátního klíče.
Zvolte tlačítko Připojit a pokuste se připojit ke vzdálenému počítači.
Pokud je připojení úspěšné, visual Studio nakonfiguruje IntelliSense tak, aby používala vzdálené hlavičky. Další informace najdete v tématu IntelliSense pro hlavičky ve vzdálených systémech.
Pokud připojení selže, pole, která je potřeba změnit, jsou zobrazena červeně.
Další informace o řešení potíží s připojením najdete v tématu Připojení ke vzdálenému počítači s Linuxem.
Nástroj příkazového řádku pro Správce připojení
Visual Studio 2019 verze 16.5 nebo novější: ConnectionManager.exe
je nástroj příkazového řádku pro správu vzdálených vývojových připojení mimo Visual Studio. Je to užitečné pro úlohy, jako je zřízení nového vývojového počítače. Nebo ho můžete použít k nastavení sady Visual Studio pro kontinuální integraci. Příklady a úplný odkaz na příkaz ConnectionManager najdete v tématu Referenční informace ke službě ConnectionManager.
Volitelné: Povolení nebo zakázání režimu FIPS
Režim FIPS je možné ve Windows povolit globálně.
Pokud chcete povolit režim FIPS, stisknutím kláves Windows+R otevřete dialogové okno Spustit a pak spusťte
gpedit.msc
příkaz .Rozbalte Položku Zásady > místního počítače Konfigurace > počítače Nastavení > systému Windows Nastavení > zabezpečení Místní zásady a vyberte Možnosti zabezpečení.
V části Zásady vyberte Kryptografie systému: K šifrování, hashování a podepisování používejte algoritmy kompatibilní se standardem FIPS a stisknutím klávesyEnter otevřete jeho dialogové okno.
Na kartě Místní nastavení zabezpečení vyberte Povoleno nebo Zakázáno a potom kliknutím na OK uložte provedené změny.
Upozornění
Povolení režimu FIPS může způsobit, že se některé aplikace neočekávaně naruší nebo se budou chovat neočekávaně. Další informace najdete v blogovém příspěvku Proč už nedoporučujeme režim FIPS.
Další materiály
Dokumentace Microsoftu k ověřování FIPS 140
FIPS 140-2: Požadavky na zabezpečení kryptografických modulů (od NIST)
Program ověřování kryptografických algoritmů: Ověřovací poznámky (od NIST)
Příspěvek na blogu Microsoftu o tom , proč už nedoporučujeme režim FIPS
Viz také
Konfigurace projektu Linux
Konfigurace projektu Linux CMake
Připojení ke vzdálenému počítači s Linuxem
Nasazení, spuštění a ladění projektu Linux
Konfigurace ladicích relací CMake
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro