“Windows 방화벽을 왜 비활성화하거나 끄나요?”
Windows에서 방화벽을 비활성화하는 이유는 다양합니다. 물론 모든 이유가 타당한 것은 아니지만, 합당한 이유들도 있습니다.
이 글에서는 Windows 방화벽을 비활성화하는 다양한 방법들을 배울 수 있습니다. 단일 컴퓨터 설정, 홈 네트워크 또는 기업 환경에 상관없이 이 글은 여러분을 위한 것입니다.
여러분은 Windows 소프트웨어 방화벽을 거의 모든 방법으로 끄는 법을 배우게 될 것입니다!
- Windows 방화벽 관리 콘솔을 사용하여
- 명령 프롬프트(cmd.exe)를 사용하여
- PowerShell을 사용하여
- 그룹 정책(Group Policy)을 사용하여
- Azure 가상 머신에서 Azure 사용자 지정 스크립트 확장을 사용하여
이제 시작해봅시다!
준비 사항
이 글은 실습을 위한 가이드이므로, 지침을 따라가기 위해 몇 가지 요구 사항이 있습니다. 몇 가지 예시는 도메인 및 비도메인 환경을 포함합니다.
비도메인 환경의 경우
- Windows 10에서 실행되는 하나 이상의 컴퓨터. 여기서 예시를 하나의 컴퓨터에서 수행할 수 있지만, 일부 지침은 원격 작업에 특정합니다.
- 그리고 해당 Windows 10 컴퓨터에 관리자 권한이 있어야 합니다.
도메인 환경의 경우
- A Windows 2019 server that is also a domain controller. A Windows 2016 server should also work.
- 같은 네트워크에 속한 하나 이상의 Windows 10 컴퓨터. 그리고 도메인에 가입되어 있어야 합니다.
GUI를 사용하여
아마도 방화벽을 비활성화하는 가장 빠른 방법은 Windows에 포함된 GUI 도구를 사용하는 것입니다. GUI를 사용하는 것은 홈 사용자에게 Windows 방화벽을 끄는 가장 쉬운 방법입니다.
Windows Security 앱 사용
첫 번째 GUI 도구는 Windows Security 앱입니다. Windows Security 앱은 Windows 10 버전 1703 이후에 사용할 수 있습니다.
- 시작 버튼을 클릭하고 Windows Security를 입력하여 Windows Security 앱을 실행합니다. 검색 결과에서 Windows Security 앱을 클릭하여 열기를 선택합니다.

2. Windows Security 앱 홈에서 다른 메뉴 항목이 표시됩니다. 방화벽 및 네트워크 보호를 찾아서 엽니다.

3. 방화벽 및 네트워크 보호 페이지에서 다른 네트워크 프로필이 나열됩니다. 이 네트워크 프로필은 도메인 네트워크, 개인 네트워크 및 공용 네트워크입니다. 각 네트워크 연결 위치별로 방화벽을 개별적으로 끌 수 있습니다. 이 예제에서는 개인 네트워크 프로필을 선택해야 합니다.

4. 이 예제에서는 개인 네트워크 프로필이 선택되었습니다. 개인 네트워크 설정에 들어가서 Windows Defender 방화벽을 끄려면 스위치를 클릭합니다.

다른 네트워크 프로필에 대해서도 동일한 단계를 반복하려면 이와 같은 단계를 반복합니다.
Windows Defender 방화벽 제어판을 사용하여 Windows 방화벽 비활성화
다른 GUI 도구는 Windows Defender 방화벽 제어판입니다. Windows 10 앱의 현대적인 인터페이스를 가진 Windows Security 앱과는 달리, Windows Defender 방화벽 제어판은 클래식 제어판 항목과 같은 외관을 가지고 있습니다.
아래는 Windows Defender 방화벽 제어판을 실행하는 몇 가지 방법입니다.
방법 1: 제어판 -> 시스템 및 보안 -> Windows Defender 방화벽으로 이동합니다.

방법 2: 시작 메뉴를 열고 windows defender firewall을 입력합니다. Windows Defender 방화벽 링크를 클릭합니다.

방법 3: 실행 대화 상자를 열고 명령어 control firewall.cpl
을 입력한 후 확인을 클릭합니다.

Windows Defender 방화벽 제어판에서는 익숙한 네트워크 프로필 목록인 도메인 네트워크, 개인 네트워크, 그리고 게스트 또는 공용 네트워크가 표시됩니다. 왼쪽에 있는 Windows Defender 켜기/끄기 링크를 클릭합니다.

사용자 정의 설정 페이지에서 각 네트워크 프로필에 대해 Windows 방화벽을 비활성화할 수 있습니다. 아래 예시에서는 모든 네트워크 프로필에서 Windows 방화벽이 꺼져 있습니다.

명령줄 사용
아마도 이미 알고 계시겠지만, Windows에서 대부분의 GUI 작업은 명령줄 상에서도 가능합니다. 명령줄을 사용하면 GUI 옵션을 사용할 때와 달리 다른 창 위치로 이동할 필요 없이 때로는 더 빠르게 작업할 수 있습니다.
또한, 명령줄 옵션을 사용하면 작업을 스크립트화하거나 자동화할 수 있습니다.
NETSH 명령어를 사용하여 Windows 방화벽 끄기
네트워크 구성을 관리하기 위해 사용할 수 있는 오래된 하지만 유용한 유틸리티인 netsh를 사용하여 컴퓨터의 네트워크 구성을 관리하거나 이 경우에는 Windows 방화벽을 비활성화할 수 있습니다.
netsh advfirewall set을 사용하여 각 위치 또는 모든 네트워크 프로필에서 Windows 방화벽을 개별적으로 비활성화할 수 있습니다.
- netsh advfirewall set currentprofile state off – 이 명령은 현재 활성화되어 있는 또는 연결된 네트워크 프로필에 대한 방화벽을 비활성화합니다. 예를 들어, 현재 활성화된 네트워크 프로필이 도메인 네트워크인 경우, 이 명령은 해당 네트워크 프로필의 방화벽을 비활성화합니다.
- netsh advfirewall set domainprofile state off – 도메인 네트워크 프로필에서만 비활성화합니다.
- netsh advfirewall set privateprofile state off – 개인 네트워크 프로필에서만 비활성화합니다.
- netsh advfirewall set publicprofile state off – 공용 네트워크 프로필에서만 비활성화합니다.
- netsh advfirewall set allprofiles state off – 한 번에 모든 네트워크 프로필에서 비활성화합니다.
아래의 데모에서는 위의 각 명령을 보여줍니다.

Netsh 명령 구문, 컨텍스트 및 포맷에 대해 더 알아보기
PowerShell Cmdlet인 Set-NetFirewallProfile을 사용합니다.
NetSecurity PowerShell 모듈은 Windows 10뿐만 아니라 Windows Server 2012 이상에 내장되어 있습니다. 이 NetSecurity PowerShell 모듈에는 네트워크와 네트워크 보안 구성과 관련된 cmdlet이 포함되어 있습니다. 이 cmdlet 중 하나는 Windows 방화벽을 비활성화하는 데 사용할 수 있는 Set-NetFirewallProfile
입니다.
Set-NetFirewallProfile
구문은 아래에 표시되어 있습니다.
아래 명령은 공용, 개인 및 도메인 네트워크 프로필에서 방화벽을 비활성화합니다.
아래 예시에서는 Set-NetFirewallProfile
을 사용하여 위의 명령을 통해 Windows 방화벽을 비활성화하는 방법을 보여줍니다.

프로필 이름을 지정하지 않으면, 아래 예시에서는 -All
매개변수 스위치를 사용하여 모든 네트워크 프로필에서 Windows 방화벽을 비활성화하는 방법을 보여줍니다.

PowerShell을 사용하여 원격으로 Windows 방화벽 비활성화하기
여러 컴퓨터에서 방화벽을 비활성화해야 하는 경우, 각 컴퓨터에 수동으로 로그인하여 명령을 실행하는 것은 비효율적일 수 있습니다. 특히 네트워크 환경에서는 PowerShell을 사용하여 원격으로 비활성화할 수 있습니다.
참고: 이 절차는 대상 컴퓨터에 이미 WinRM이 활성화되어 있는 것을 요구합니다. 대부분의 경우, WinRM은 원격 관리 목적으로 도메인에 가입된 컴퓨터에 이미 설정되어 있습니다.
자세한 내용은 다음을 참조하세요: Windows 원격 셸 사용 설정 방법
하나의 원격 컴퓨터에서 Windows 방화벽을 해제하려는 경우, Enter-PsSession
cmdlet을 사용하여 원격 컴퓨터에 명령을 실행할 수 있습니다.
아래 예제에서 명령은 dc라는 서버에서 실행되며, 원격 컴퓨터 이름은 desktop1입니다. 사용될 명령은 아래와 같이 표시됩니다.
PowerShell에서 위의 코드를 실행하면 아래와 같은 출력이 생성됩니다. 아래 데모를 참조하세요.

위의 과정은 몇 개의 원격 컴퓨터에서 작업하는 경우에만 유용합니다. 그러나 여러 대의 컴퓨터에서 방화벽을 해제해야 하는 경우, 스크립팅에 더 적합한 접근 방식이 필요합니다. 이를 위해 Invoke-Command
cmdlet을 사용할 수 있습니다.
위의 코드에서 볼 수 있듯이, 원격 컴퓨터의 이름이 $computers
변수에 배열로 저장됩니다. 그런 다음 PowerShell은 각 원격 컴퓨터를 루프하여 Invoke-Command
cmdlet을 실행하고 Set-NetFirewallProfile -All -Enabled False
명령을 실행합니다. 예상 결과는 아래 데모를 참조하세요.

그룹 정책 사용하기
GPO를 배포함으로써 시스템 관리자는 도메인 내 선택된 또는 모든 컴퓨터의 Windows 방화벽을 비활성화할 수 있습니다. 배포된 후에는 Windows 방화벽 비활성화가 정책을 통해 설정되어 대상 범위 내의 모든 컴퓨터에 자동으로 적용됩니다.
GPO 생성
GPO를 생성하려면 서버에서 그룹 정책 관리 콘솔을 실행해야 합니다. 이를 위해 실행 대화 상자에서 gpmc.msc
명령을 실행하십시오.

gpmc.msc
command in the Run dialog그룹 정책 관리 콘솔에서 도메인을 확장한 다음 GPO를 생성할 도메인을 선택하십시오. 아래 이미지에서 GPO는 xyz.int 도메인에 생성되었습니다. 도메인을 마우스 오른쪽 단추로 클릭한 다음 이 도메인에 GPO 만들기 및 여기에 연결을 클릭하십시오.

새로운 GPO 대화 상자가 나타납니다. 이름 상자에 Windows 방화벽 비활성화를 입력한 다음 확인 버튼을 클릭하십시오.

다음으로, 새 GPO를 마우스 오른쪽 단추로 클릭하고 편집을 클릭하십시오. GPO가 그룹 정책 관리 편집기에서 열립니다. 그런 다음 이러한 폴더를 확장하십시오. 컴퓨터 구성 —> 정책 —> 관리 템플릿 —> 네트워크 —> 네트워크 연결 —> Windows Defender —> 방화벽 —> 도메인 프로파일
오른쪽 창에 있는 설정 목록에서 Windows Defender 방화벽: 모든 네트워크 연결 보호을 두 번 클릭하여 속성을 엽니다.

설정 속성이 열리면 비활성화를 선택하여 값을 변경한 다음 확인을 클릭하십시오.

표준 프로필 설정에 동일한 옵션을 반복 적용합니다. 그런 다음, 이제 그룹 정책 관리 편집기 창을 종료할 수 있습니다.
모든 도메인 컴퓨터에 GPO 배포하기
GPO를 작성했으므로 이제 도메인 컴퓨터에 GPO를 배포해야 합니다.
GPO를 적용하려면 그룹 정책 관리에서 Windows 방화벽 비활성화 GPO를 선택합니다. 그런 다음 범위 탭에서 보안 필터링 섹션 아래의 추가 버튼을 클릭합니다.

사용자, 컴퓨터 또는 그룹 선택 대화 상자에서 도메인 컴퓨터를 검색하고 확인을 클릭합니다. 이렇게 하면 도메인 컴퓨터 그룹의 모든 컴퓨터에 GPO가 적용됩니다.

그리고 이제 끝입니다! 클라이언트 컴퓨터가 정책 업데이트를 받을 때 다음에 방화벽이 해당 컴퓨터에서 비활성화됩니다.
GPO가 작성되고 배포되었으므로 정책 업데이트를 강제로 실행하여 GPO가 작동하는지 테스트할 수 있습니다. 클라이언트 컴퓨터에서 gpupdate /force
를 실행합니다.

위의 결과에서 볼 수 있듯이 정책이 클라이언트 컴퓨터에 적용되자마자 Windows 방화벽을 비활성화하는 구성이 적용되었습니다. 또한, 시스템 관리자가 설정을 관리 중이라는 정보 상자가 있습니다.

참고: 일반 사용자 및 컴퓨터의 그룹 정책 자동 업데이트 간격은 매 90분입니다. 또한 컴퓨터가 시작되거나 사용자가 로그인할 때 그룹 정책도 업데이트됩니다.
구름 가상 머신에서 Windows 방화벽을 비활성화하기 위해 사용자 정의 스크립트 확장 사용
Windows 방화벽이 RDP를 포함한 트래픽을 차단하여 더 이상 액세스할 수 없는 Azure 가상 머신이 있다면, 아마도 Windows 방화벽에 변경 사항을 가했는데도 불구하고 자신을 차단했을 수 있습니다!
이전에 논의된 방법을 모두 시도해 보았지만 여전히 문제가 해결되지 않는다면, 아직 희망이 있습니다. Azure 가상 머신의 게스트 운영 체제에서 Windows 방화벽을 비활성화하기 위해 Azure 사용자 정의 스크립트 확장을 활용할 수 있습니다.
고수준 단계는 다음과 같습니다:
- Windows 방화벽을 비활성화하는 명령을 포함하는 PowerShell 스크립트 (*.PS1)를 생성합니다.
- Azure 포털을 사용하여 Azure 가상 머신에 사용자 정의 스크립트 확장을 설치합니다.
- PowerShell 스크립트를 Azure Storage에 업로드합니다.
- 스크립트는 Azure 가상 머신의 게스트 운영 체제에서 자동으로 한 번만 실행됩니다.
이 예제에서, 테스트 VM의 이름은 devmachine1이며 Windows 방화벽은 활성화 상태입니다.
참고: 계속하기 전에 Azure RBAC 역할이 계정에 제대로 할당되었는지 확인하십시오.
Disable-Windows-Firewall.ps1
스크립트 생성
이전 섹션에서 Windows 방화벽을 비활성화하는 데 사용 가능한 명령어를 배웠습니다. 이 예제에서는 netsh
유틸리티를 사용합니다.
선택한 코드 또는 텍스트 편집기를 사용하여 Disable-Windows-Firewall.ps1이라는 새 파일을 만듭니다. 스크립트를 편집하고 다음 코드 라인을 추가하십시오: netsh advfirewall set allprofiles state off
. 스크립트가 완료되면 저장하십시오. 아래는 PowerShell에서 빠르게 수행하는 방법입니다.
사용자 지정 스크립트 확장 설치 및 PowerShell 스크립트 업로드
스크립트가 준비되었다면, 다음 단계는 사용자 지정 스크립트 확장을 설치하고 스크립트를 Azure Storage 위치에 업로드하는 것입니다. 그리고 한 번 확장이 설치되면 스크립트가 Azure VM에 자동으로 실행됩니다.
- 먼저 Azure 포털에 로그인하고 Azure VM 리소스를 찾아서 엽니다. 이 예제에서 Azure VM 이름은 devmachine1입니다. 그런 다음 확장 블레이드로 이동하여 추가 버튼을 클릭합니다.
- 새 자원 페이지에서 사용자 지정 스크립트 확장을 찾아 클릭하십시오. 그런 다음 만들기를 클릭하십시오. 확장 설치 페이지에서 스크립트 파일(필수) 상자 옆의 찾아보기 버튼을 클릭하십시오.
- 목록에서 스토리지 계정을 선택하십시오. 이 예에서 스토리지 계정 이름은 storagexyz01입니다. 그런 다음 스크립트 파일이 업로드될 컨테이너 목록이 표시됩니다. 이 예에서 컨테이너 이름은 cont1입니다.
참고: 아직 Azure 스토리지 계정이나 컨테이너가 없는 경우, 만들어야 하는 경우 Azure 스토리지 계정 생성을 방문하여 방법을 알아보십시오.
- 컨테이너를 선택한 후 업로드를 클릭하고 컴퓨터에서 작성한 disable-windows-firewall.ps1 파일을 찾아 봅니다. 파일을 선택한 후 업로드 버튼을 클릭하십시오.
- 이제 컨테이너 내에 disable-windows-firewall.ps1 파일이 사용 가능한 것을 확인할 수 있습니다. 목록에서 disable-windows-firewall.ps1을 클릭한 다음 선택을 클릭하십시오. 이제 확장 설치 페이지로 돌아가 확인을 클릭하여 확장을 설치를 시작하십시오.
이 시점에서는 확장이 배포될 때까지 기다리기만 하면 되며, 업로드한 스크립트도 자동으로 실행됩니다. 전체 프로세스를 확인하려면 아래의 데모를 참조하십시오.

요약
이 기사에서는 Windows에서 내장된 사용 가능한 GUI 도구를 사용하여 Windows 방화벽을 비활성화하는 방법을 배웠습니다. 또한, netsh
와 PowerShell을 사용하여 로컬 또는 원격으로 Windows 방화벽을 비활성화하는 방법도 배웠습니다.
또한, 도메인 컴퓨터를 위해 Windows 방화벽을 비활성화하는 그룹 정책 개체를 만들고 배포하는 방법도 배웠습니다. 마지막으로, Azure VM의 게스트 OS에서 Windows 방화벽을 비활성화하는 Azure 사용자 지정 스크립트 확장을 사용하는 방법도 배웠습니다.
Windows 방화벽을 비활성화하는 다양한 방법들이 있을 것입니다. 이 기사에서는 그 중 일부를 다루었습니다. 그러나, 원격으로 비활성화하는 데 사용할 수 있는 PsExec와 같은 다른 방법들도 스스로 탐색해 볼 수 있습니다.
더 읽을거리
Source:
https://adamtheautomator.com/disable-windows-firewall/