이 지침은 여러 컴퓨터에 소프트웨어를 배포하고 해당 작업 머신에서 일관된 수준의 보안 설정을 유지 관리하는 것을 목표로 엔터프라이즈 작업 환경을 설정하는 IT 관리자 또는 보안 분석가를 위한 것입니다.
많은 회사에서 Microsoft Intune 및 Microsoft Defender를 사용하여 이러한 보안 설정을 관리합니다. 그러나 WSL을 설정하고 이 컨텍스트에서 Linux 배포에 액세스하려면 몇 가지 특정 설정이 필요합니다. 이 지침에서는 엔터프라이즈 환경에서 WSL과 함께 Linux를 안전하게 사용할 수 있도록 하기 위해 알아야 할 사항을 제공합니다.
엔드포인트용 Microsoft Defender, Intune 및 고급 네트워킹 컨트롤을 사용하여 권장되는 엔터프라이즈 설정
보안 엔터프라이즈 환경을 설정하는 방법에는 여러 가지가 있지만 WSL을 활용하는 보안 환경을 설정하려면 다음을 사용하는 것이 좋습니다.
필수 구성 요소
시작하려면 모든 엔터프라이즈 디바이스에 다음과 같은 최소 버전이 설치되어 있는지 확인합니다.
Microsoft Defender For Endpoint는 엔터프라이즈 네트워크가 고급 위협을 방지, 검색, 조사 및 대응하는 데 도움이 되도록 설계된 엔터프라이즈 엔드포인트 보안 플랫폼입니다. MDE는 이제 WSL과 WSL 플러그 인으로 통합되어 보안 팀이 엔드포인트용 Defender를 사용하여 실행 중인 모든 WSL 배포에서 보안 이벤트를 보고 지속적으로 모니터링하면서 개발자 워크로드의 성능에 최소한의 영향을 줄 수 있습니다.
Microsoft Intune 은 클라우드 기반 엔드포인트 관리 솔루션입니다. 조직 리소스에 대한 사용자 액세스를 관리하고 모바일 장치, 데스크톱 컴퓨터 및 가상 끝점을 포함한 많은 장치에서 앱 및 장치 관리를 간소화합니다. Microsoft Intune을 사용하여 조직 내에서 디바이스를 관리할 수 있으며, 이제 WSL 및 주요 보안 설정에 대한 액세스 관리도 포함됩니다.
Windows 11 22H2 및 WSL 2.0.9 이상부터 Windows 방화벽 규칙이 WSL에 자동으로 적용됩니다. 이렇게 하면 Windows 호스트에 설정된 방화벽 규칙이 기본적으로 모든 WSL 배포에 자동으로 적용됩니다. WSL에 대한 방화벽 설정을 사용자 지정하는 방법에 대한 지침은 Hyper-V 방화벽 구성을 참조하세요.
networkingMode=mirrored 는 미러 모드 네트워킹을 사용하도록 설정합니다. 이 새로운 네트워킹 모드는 복잡한 네트워킹 환경, 특히 VPN 등의 호환성을 향상시킬 뿐만 아니라 IPv6과 같은 기본 NAT 모드에서 사용할 수 없는 새로운 네트워킹 기능에 대한 지원을 추가합니다.
DNS 터널링
dnsTunneling=true 는 WSL이 DNS 정보를 가져오는 방법을 변경합니다. 이 설정은 다른 네트워킹 환경의 호환성을 향상시키고 가상화 기능을 사용하여 네트워킹 패킷이 아닌 DNS 정보를 가져옵니다. 연결 문제가 발생하는 경우 이를 켜는 것이 좋으며 VPN, 고급 방화벽 설정 등을 사용할 때 특히 유용할 수 있습니다.
자동 프록시
autoProxy=true 는 WSL을 적용하여 Windows의 HTTP 프록시 정보를 사용합니다. Windows에서 프록시를 사용하는 경우 해당 프록시가 WSL 배포에 자동으로 적용되므로 이 설정을 설정하는 것이 좋습니다.
사용자 지정 WSL 이미지 만들기
일반적으로 "이미지"라고 하는 것은 단순히 소프트웨어 및 해당 구성 요소가 파일에 저장된 스냅샷입니다. Linux용 Windows 하위 시스템의 경우 이미지는 하위 시스템, 해당 배포 및 배포에 설치된 소프트웨어와 패키지로 구성됩니다.
wsl --import <Distro> <InstallLocation> <FileName>을 실행하여 공유 또는 스토리지 디바이스에서 WSL 이미지를 배포합니다. 그러면 지정된 tar 파일이 새 배포로 가져옵니다.
Linux 배포 및 패키지 업데이트 및 패치
Linux 사용자 공간을 모니터링하고 관리하려면 Linux 구성 관리자 도구를 사용하는 것이 좋습니다. 선택할 수 있는 다양한 Linux 구성 관리자가 있습니다. WSL 2에서 빠른 실행 Puppet에 대한 이 블로그 게시물을 참조하세요.
Windows 파일 시스템 액세스
WSL 내의 Linux 이진 파일이 Windows 파일에 액세스하면 실행 wsl.exe된 Windows 사용자의 사용자 권한으로 액세스합니다. 따라서 Linux 사용자가 WSL 내부에 루트 액세스 권한을 가지고 있더라도 Windows 사용자에게 해당 권한이 없는 경우 Windows에서 Windows 관리자 수준 작업을 수행할 수 없습니다. WSL에서 Windows 파일 및 Windows 실행 파일 액세스와 관련하여 셸을 실행하는 경우 해당 bash 사용자와 Windows에서 실행하는 powershell 것과 동일한 보안 수준 권한이 있습니다.
지원 여부
wsl --import 및 wsl --export를 사용하여 내부적으로 승인된 이미지 공유
이 모듈에서는 VS Code(Visual Studio Code)와 함께 WSL(Linux용 Windows 하위 시스템)을 사용하는 방법을 알아봅니다. 설치 프로세스와 WSL 사용의 기본 사항을 살펴봅니다. 또한 Visual Studio Code WSL 확장을 설치하고 활용합니다. 마지막으로 WSL 환경 내 VS Code에서 Python 코드를 디버깅하고 실행하는 방법을 보여 줍니다.