PowerShell을 사용하여 Windows 방화벽 규칙을 관리하는 방법
![PowerShell을 사용하여 Windows 방화벽 규칙을 관리하는 방법](https://cdn.thewindowsclub.blog/wp-content/uploads/2023/09/manage-windows-firewall-rules-with-powershell-1-640x375.webp)
Windows Defender 방화벽은 모든 Windows 컴퓨터에 사전 설치되어 제공됩니다. 특정 응용 프로그램의 인터넷 액세스를 차단하는 등 다양한 목적으로 Windows 방화벽에서 규칙을 만들 수 있습니다 . 이 문서에서는 PowerShell을 사용하여 Windows 방화벽 Rues를 관리하는 방법을 보여줍니다 .
![PowerShell을 사용하여 Windows 방화벽 규칙 관리 PowerShell을 사용하여 Windows 방화벽 규칙 관리](https://cdn.thewindowsclub.blog/wp-content/uploads/2023/09/manage-windows-firewall-rules-with-powershell.webp)
PowerShell을 사용하여 Windows 방화벽 규칙을 관리하는 방법
Windows Defender 방화벽 및 고급 보안 UI를 통해 Windows 방화벽 규칙을 쉽게 구성할 수 있습니다 . 제어판을 통해 시작할 수 있습니다. 이제 PowerShell을 사용하여 Windows 방화벽 규칙을 관리할 수도 있습니다. 이 글에서는 그 방법을 보여드리겠습니다.
PowerShell을 통해 Windows 방화벽의 규칙을 관리하려면 NetSecurity 모듈의 일부인 NetFirewallRule cmdlet을 사용해야 합니다 . Windows PowerShell에서 다음 명령을 실행하면 모든 NetSecurity cmdlet을 볼 수 있습니다.
Get-Command -Module NetSecurity
![모든 NetSecurity cmdlet 모든 NetSecurity cmdlet](https://cdn.thewindowsclub.blog/wp-content/uploads/2023/09/all-netsecurity-cmdlets.webp)
Windows PowerShell에는 다음 세 가지 유형의 프로필이 있습니다.
- 도메인 프로필
- 비공개 프로필
- 공개 프로필
![Windows 방화벽 프로필 Windows 방화벽 프로필](https://cdn.thewindowsclub.blog/wp-content/uploads/2023/09/windows-firewall-profiles.webp)
기본적으로 Windows 방화벽은 이 세 가지 프로필 모두에 대해 켜져 있습니다. 제어판을 통해 고급 보안 UI가 포함된 Windows Defender 방화벽을 열거나 실행 명령 상자에서 다음 명령을 사용하여 이를 볼 수 있습니다.
wf.msc
Windows PowerShell을 관리자로 시작 해야 합니다 . 그렇지 않으면 명령이 실행되지 않고 PowerShell에서 오류가 발생합니다.
특정 Windows 방화벽 프로필의 설정을 보려면 다음 명령을 사용하십시오.
Get-NetFirewallProfile -Name <name of the profile>
![Windows 방화벽 프로필 설정 보기 Windows 방화벽 프로필 설정 보기](https://cdn.thewindowsclub.blog/wp-content/uploads/2023/09/view-windows-firewall-profile-settings.webp)
위 명령에는 프로필 이름을 정확하게 입력하세요. 예를 들어 Windows Defender 방화벽에서 도메인 프로필 설정을 보려면 다음 명령을 사용하세요.
Get-NetFirewallProfile -Name Domain
PowerShell을 사용하여 Windows 방화벽을 활성화 또는 비활성화합니다.
PowerShell을 사용하여 Windows 방화벽을 활성화하거나 비활성화하는 방법을 살펴보겠습니다. 모든 프로필에 대해 Windows 방화벽을 비활성화하려면 다음 명령을 사용하십시오.
Set-NetFirewallProfile -All -Enabled False
특정 프로필에 대해 Windows 방화벽을 활성화하거나 비활성화하려면 위 명령의 All을 해당 프로필 이름으로 바꿔야 합니다.
![Windows 방화벽 공개 프로필 PowerShell 비활성화 Windows 방화벽 공개 프로필 PowerShell 비활성화](https://cdn.thewindowsclub.blog/wp-content/uploads/2023/09/disable-windows-firewall-public-profile-powershell.webp)
예를 들어 공개 프로필에 대한 Window 방화벽을 비활성화하려는 경우 명령은 다음과 같습니다.
Set-NetFirewallProfile -Profile Public -Enabled False
![Windows 방화벽 프로필 상태 확인 Windows 방화벽 프로필 상태 확인](https://cdn.thewindowsclub.blog/wp-content/uploads/2023/09/check-windows-firewall-profile-status.webp)
다음 명령을 사용하여 Windows 방화벽 프로필의 상태를 확인할 수 있습니다.
Get-NetFirewallProfile | Format-Table Name, Enabled
위 스크린샷에서 볼 수 있듯이 PowerShell은 Windows 방화벽 공개 프로필의 상태를 False로 표시합니다. 이는 해당 프로필에 대해 Windows 방화벽이 비활성화되어 있음을 의미합니다.
![Windows 방화벽 공개 프로필 비활성화 Windows 방화벽 공개 프로필 비활성화](https://cdn.thewindowsclub.blog/wp-content/uploads/2023/09/disable-windows-firewall-public-profile.webp)
고급 보안 UI가 포함된 Windows Defender 방화벽에서도 동일한 내용을 확인할 수 있습니다. 비활성화된 프로필을 활성화하려면 False 대신 True를 사용해야 합니다. 예를 들어 여기서는 Windows 방화벽에서 공개 프로필을 비활성화했습니다. 이제 다시 활성화하려면 다음 명령을 사용하세요.
Set-NetFirewallProfile -Profile Public -Enabled True
모든 Windows Defender 프로필을 비활성화했고 다시 활성화하려면 다음 명령을 사용하십시오.
Set-NetFirewallProfile -All -Enabled True
PowerShell을 사용하여 Windows 방화벽 규칙 생성 및 관리
이제 PowerShell을 사용하여 Windows 방화벽 규칙을 만들고 관리하는 방법을 살펴보겠습니다. 타사 바이러스 백신을 사용하고 방화벽이 해당 바이러스 백신으로 관리되는 경우 PowerShell 명령이 작동하지 않습니다. 규칙을 성공적으로 생성할 수 있지만 타사 바이러스 백신으로 방화벽을 관리하는 경우 이러한 규칙은 작동하지 않습니다.
새 Windows 방화벽 규칙을 만들려면 다음 cmdlet을 사용해야 합니다.
New-NetFirewallRule
WiFi 프로필에서 프로그램이 인터넷에 액세스하는 것을 차단하고 싶다고 가정해 보겠습니다. 다음 명령을 사용하십시오.
New-NetFirewallRule -Program "program path" -Action Block -Profile <profile name> -DisplayName "write display name here" -Description "write description here" -Direction Outbound
위 명령은 Windows Defender 방화벽에서 필요한 프로그램에 대한 아웃바운드 규칙을 생성합니다. 위 명령에서 프로그램 경로를 올바른 프로그램 경로로 바꾸고, 프로필 이름을 올바른 Windows 방화벽 프로필로 바꿉니다. 표시 이름은 방화벽 규칙의 이름이고 설명은 선택 사항입니다.
![PowerShell을 사용하여 프로그램 Windows 방화벽 차단 PowerShell을 사용하여 프로그램 Windows 방화벽 차단](https://cdn.thewindowsclub.blog/wp-content/uploads/2023/09/block-program-windows-firewall-with-powershell.webp)
예를 들어 비공개 프로필에 대해 Chrome 브라우저를 차단하려는 경우 명령은 다음과 같습니다.
New-NetFirewallRule -Program "C:\Program Files\Google\Chrome\Application\chrome.exe" -Action Block -Profile Public -DisplayName "Block Chrome browser" -Description "Chrome browser blocked" -Direction Outbound
방화벽 규칙에 설명을 추가하지 않으려면 위 명령에서 -Description “Chrome 브라우저 차단됨” 부분을 제거하면 됩니다. 위 명령은 공개 프로필에서만 작동합니다. 따라서 네트워크 연결 프로필이 공개가 아닌 경우 이 명령은 작동하지 않습니다. Windows 설정에서 WiFi 연결 프로필을 볼 수 있습니다. 다음 단계가 도움이 될 것입니다:
![네트워크 프로필 유형 보기 네트워크 프로필 유형 보기](https://cdn.thewindowsclub.blog/wp-content/uploads/2023/09/view-network-profile-type.webp)
- Windows 11/10 설정을 엽니다.
- 네트워크 및 인터넷 > Wi-Fi 로 이동합니다 .
- 인터넷 연결을 선택하세요.
- 네트워크 연결 속성 탭을 확장합니다.
거기에 네트워크 프로필 유형이 표시됩니다.
프로그램을 차단하려면 모든 네트워크 프로필에 대해 Google Chrome이라고 말하고 모든 프로필 이름을 쉼표로 구분하여 입력하세요. 따라서 명령은 다음과 같습니다.
New-NetFirewallRule -Program "C:\Program Files\Google\Chrome\Application\chrome.exe" -Action Block -Profile Domain, Private, Public -DisplayName "Block Chrome browser" -Description "Chrome browser blocked" -Direction Outbound
위 명령에 작성된 정확한 순서(예: 도메인, 개인, 공개)로 프로필 이름을 입력해야 합니다. 그렇지 않으면 오류가 발생합니다.
마찬가지로, PowerShell을 사용하여 Windows Defender 방화벽에서 특정 웹 사이트를 차단하는 규칙을 만들 수 있습니다. 하지만 이를 위해서는 해당 특정 웹사이트의 IP 주소를 알아야 합니다. 다음 명령을 사용하여 웹사이트의 IP 주소를 얻을 수 있습니다.
nslookup <website name>
차단하려는 웹사이트에 둘 이상의 IP 주소가 표시되는 경우 해당 IP 주소를 모두 작성해야 합니다. 모든 IP 주소를 쉼표로 구분하세요.
Windows Defender 방화벽에서 웹 사이트를 차단하는 규칙을 만드는 데 사용되는 명령은 다음과 같습니다.
New-NetFirewallRule -DisplayName "Block Website"-Description "Website Blocked"-Direction Outbound –LocalPort Any -Protocol Any -Action Block -RemoteAddress IP1, IP2
위의 예는 특정 웹사이트의 IP 주소를 쉼표로 구분하는 방법을 보여줍니다.
Windows PowerShell을 사용하여 방화벽 규칙 활성화, 비활성화 및 삭제
방화벽 규칙을 활성화, 비활성화 또는 삭제하려면 PowerShell에서 다음 cmdlet을 사용해야 합니다.
Enable-NetFirewallRule
Disable-NetFirewallRule
Remove-NetFirewallRule
![방화벽 규칙 PowerShell 삭제 방화벽 규칙 PowerShell 삭제](https://cdn.thewindowsclub.blog/wp-content/uploads/2023/09/delete-a-firewall-rule-powershell.webp)
위의 각 cmdlet에는 방화벽 규칙의 올바른 이름을 입력해야 합니다. Block Chrome이라는 이름의 방화벽 규칙을 생성했고 이제 이를 삭제하려고 한다고 가정해 보겠습니다. 그러면 명령은 다음과 같습니다.
Remove-NetFirewallRule -DisplayName 'Block Chrome'
PowerShell에서 Windows 방화벽 규칙을 보려면 어떻게 하나요?
Windows 방화벽에서 자신이 만든 아웃바운드 차단 규칙을 보려면 다음 명령을 사용해야 합니다.
Get-NetFirewallRule -Action Block -Enabled True -Direction Outbound
![Windows 방화벽 규칙 보기 PowerShell Windows 방화벽 규칙 보기 PowerShell](https://cdn.thewindowsclub.blog/wp-content/uploads/2023/09/view-windows-firewall-rules-powershell.webp)
위 명령은 활성 방화벽 규칙만 나열합니다. 비활성화된 방화벽 규칙을 보려면 위 명령에서 True를 False로 바꾸세요.
그게 다야. 이게 도움이 되길 바란다.
PowerSell에서 방화벽 규칙을 어떻게 설정합니까?
다양한 NetFirewallRule cmdlet을 사용하여 PowerShell에서 방화벽 규칙을 설정할 수 있습니다. 예를 들어 새 방화벽 규칙을 만들려면 New-NetFirewallRule cmdlet을 사용해야 합니다.
답글 남기기