PowerShell을 사용하여 Windows 방화벽 규칙을 관리하는 방법
Windows Defender 방화벽은 모든 Windows 컴퓨터에 사전 설치되어 제공됩니다. 특정 응용 프로그램의 인터넷 액세스를 차단하는 등 다양한 목적으로 Windows 방화벽에서 규칙을 만들 수 있습니다 . 이 문서에서는 PowerShell을 사용하여 Windows 방화벽 Rues를 관리하는 방법을 보여줍니다 .
PowerShell을 사용하여 Windows 방화벽 규칙을 관리하는 방법
Windows Defender 방화벽 및 고급 보안 UI를 통해 Windows 방화벽 규칙을 쉽게 구성할 수 있습니다 . 제어판을 통해 시작할 수 있습니다. 이제 PowerShell을 사용하여 Windows 방화벽 규칙을 관리할 수도 있습니다. 이 글에서는 그 방법을 보여드리겠습니다.
PowerShell을 통해 Windows 방화벽의 규칙을 관리하려면 NetSecurity 모듈의 일부인 NetFirewallRule cmdlet을 사용해야 합니다 . Windows PowerShell에서 다음 명령을 실행하면 모든 NetSecurity cmdlet을 볼 수 있습니다.
Get-Command -Module NetSecurity
Windows PowerShell에는 다음 세 가지 유형의 프로필이 있습니다.
- 도메인 프로필
- 비공개 프로필
- 공개 프로필
기본적으로 Windows 방화벽은 이 세 가지 프로필 모두에 대해 켜져 있습니다. 제어판을 통해 고급 보안 UI가 포함된 Windows Defender 방화벽을 열거나 실행 명령 상자에서 다음 명령을 사용하여 이를 볼 수 있습니다.
wf.msc
Windows PowerShell을 관리자로 시작 해야 합니다 . 그렇지 않으면 명령이 실행되지 않고 PowerShell에서 오류가 발생합니다.
특정 Windows 방화벽 프로필의 설정을 보려면 다음 명령을 사용하십시오.
Get-NetFirewallProfile -Name <name of the profile>
위 명령에는 프로필 이름을 정확하게 입력하세요. 예를 들어 Windows Defender 방화벽에서 도메인 프로필 설정을 보려면 다음 명령을 사용하세요.
Get-NetFirewallProfile -Name Domain
PowerShell을 사용하여 Windows 방화벽을 활성화 또는 비활성화합니다.
PowerShell을 사용하여 Windows 방화벽을 활성화하거나 비활성화하는 방법을 살펴보겠습니다. 모든 프로필에 대해 Windows 방화벽을 비활성화하려면 다음 명령을 사용하십시오.
Set-NetFirewallProfile -All -Enabled False
특정 프로필에 대해 Windows 방화벽을 활성화하거나 비활성화하려면 위 명령의 All을 해당 프로필 이름으로 바꿔야 합니다.
예를 들어 공개 프로필에 대한 Window 방화벽을 비활성화하려는 경우 명령은 다음과 같습니다.
Set-NetFirewallProfile -Profile Public -Enabled False
다음 명령을 사용하여 Windows 방화벽 프로필의 상태를 확인할 수 있습니다.
Get-NetFirewallProfile | Format-Table Name, Enabled
위 스크린샷에서 볼 수 있듯이 PowerShell은 Windows 방화벽 공개 프로필의 상태를 False로 표시합니다. 이는 해당 프로필에 대해 Windows 방화벽이 비활성화되어 있음을 의미합니다.
고급 보안 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 방화벽 프로필로 바꿉니다. 표시 이름은 방화벽 규칙의 이름이고 설명은 선택 사항입니다.
예를 들어 비공개 프로필에 대해 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 연결 프로필을 볼 수 있습니다. 다음 단계가 도움이 될 것입니다:
- 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
위의 각 cmdlet에는 방화벽 규칙의 올바른 이름을 입력해야 합니다. Block Chrome이라는 이름의 방화벽 규칙을 생성했고 이제 이를 삭제하려고 한다고 가정해 보겠습니다. 그러면 명령은 다음과 같습니다.
Remove-NetFirewallRule -DisplayName 'Block Chrome'
PowerShell에서 Windows 방화벽 규칙을 보려면 어떻게 하나요?
Windows 방화벽에서 자신이 만든 아웃바운드 차단 규칙을 보려면 다음 명령을 사용해야 합니다.
Get-NetFirewallRule -Action Block -Enabled True -Direction Outbound
위 명령은 활성 방화벽 규칙만 나열합니다. 비활성화된 방화벽 규칙을 보려면 위 명령에서 True를 False로 바꾸세요.
그게 다야. 이게 도움이 되길 바란다.
PowerSell에서 방화벽 규칙을 어떻게 설정합니까?
다양한 NetFirewallRule cmdlet을 사용하여 PowerShell에서 방화벽 규칙을 설정할 수 있습니다. 예를 들어 새 방화벽 규칙을 만들려면 New-NetFirewallRule cmdlet을 사용해야 합니다.
답글 남기기