PowerShell을 사용하여 방화벽 설정을 관리하는 방법
PowerShell을 통해 Windows 방화벽을 조작하는 것은 익숙해지면 꽤 간단합니다.예를 들어 테스트나 문제 해결을 위해 방화벽을 빠르게 켜고 끄려면 메뉴와 슬라이더를 클릭하는 것보다 명령줄을 사용하는 것이 훨씬 편리합니다.하지만 주의해야 할 점은 Windows 방화벽은 매우 중요한 보안 계층이라는 것입니다.꼭 필요한 경우가 아니면 방화벽을 자주 끄지 않는 것이 좋습니다.만약 껐다가 다시 켰다면 만일의 사태를 대비해 다시 켜는 것이 좋습니다.특히 관리자 권한 없이 PowerShell을 실행하는 경우 명령줄에서 방화벽을 끄는 것이 다소 까다로울 수 있으므로 관리자 권한으로 PowerShell을 실행해야 합니다.또한 모든 프로필을 대상으로 할지 특정 프로필만 대상으로 할지 아는 것도 중요합니다.일부 설정에서는 방화벽을 끄거나 켜는 작업이 즉시 적용되지 않거나 몇 번 시도해야 할 수도 있습니다.좀 이상하긴 하지만, Windows가 가끔 필요 이상으로 복잡하게 만드는 부분이 있는 것 같습니다.
PowerShell을 통해 Windows 방화벽을 활성화 또는 비활성화하는 방법
방법 1: 모든 프로필에 대한 빠른 활성화/비활성화
이 명령은 모든 네트워크 프로필에서 방화벽을 활성화 또는 비활성화합니다.시스템에 문제가 발생했을 때 방화벽이 문제의 원인인지 확인하려는 경우에 유용합니다.도메인, 개인 및 공용 프로필에 한 번에 적용됩니다.
- 관리자 권한으로 PowerShell을 엽니다.Windows + X 키를 누른 다음 Windows PowerShell(관리자)을 선택합니다.
- 이것을 입력하고 Enter 키를
Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled True누르면 켜지고, True 를 False 로 바꾸면 꺼집니다.
방법 2: 특정 프로필 대상 지정
특정 프로필(예: 개인 네트워크)에 대해서만 방화벽을 켜고 끄고 싶다면 비슷한 명령어를 사용할 수 있습니다.회사, 집, 공용 Wi-Fi에 대해 각각 다른 규칙을 적용해야 할 때 유용합니다.네트워크 프로필이 제대로 전환되지 않거나, 활성화할 프로필을 정확하게 제어해야 하는 경우가 있기 때문입니다.
- 공개 프로필만 활성화하려면 다음 단계를 따르세요.
Set-NetFirewallProfile -Profile Public -Enabled True - 비공개 프로필을 비활성화하려면 다음과 같이 하세요.
Set-NetFirewallProfile -Profile Private -Enabled False
현재 방화벽 상태를 확인하십시오
명령어가 실제로 어떤 작업을 수행했는지 확실하지 않다면, 다음 명령어를 실행하여 현재 상태를 확인하세요.
Get-NetFirewallProfile | Format-Table Name, Enabled
원격으로 방화벽을 비활성화 또는 활성화하는 방법 (네트워크 마법을 발휘해 보세요)
원격 작업을 하려면 대상 PC에 WinRM이 구성되어 있어야 합니다.아직 설정하지 않았다면 이 가이드를 참조하세요.로컬 컴퓨터에서는 다음과 같은 명령어를 사용합니다.
원격 컴퓨터 한 대에서 방화벽을 비활성화합니다.
Enter-PsSession -ComputerName remotePC-name Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled False
remotePC-name 부분을 원격 컴퓨터의 실제 이름 또는 IP 주소로 바꾸십시오.또한, 사용자에게 올바른 권한이 있는지, 대상 컴퓨터에서 WinRM이 활성화되어 있는지 확인하십시오.
여러 원격 컴퓨터에서 비활성화
위와 비슷하지만 반복문을 사용합니다.간단한 예시를 보여드리겠습니다.
$computers = @('pc1', 'pc2', 'pc3') $computers | ForEach-Object { Invoke-Command -ComputerName $_ -ScriptBlock { Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled False } }
이렇게 하면 나열된 모든 기기에 대해 비활성화 명령이 실행됩니다.따라서 수동으로 하나씩 작업할 필요가 없습니다.
명령 프롬프트(Netsh)를 사용하여 방화벽 제어하기
기존 명령 프롬프트(또는 배치 스크립트)를 선호하는 경우 netsh를 사용할 수 있습니다.모든 프로필에 대한 방화벽을 활성화/비활성화하려면 다음 명령어를 사용하십시오.
명령 프롬프트를 통해 방화벽을 활성화하세요
- Windows + R 키를 눌러 실행 창을 열고, Ctrl + Shift + Enter 키를
cmd눌러 관리자 권한으로 실행하세요. - 모든 곳에서 방화벽을 켜려면 다음을 입력하세요.
netsh advfirewall set allprofiles state on
명령 프롬프트를 통해 방화벽을 비활성화하세요.
- 위와 동일하지만 입력 방식은 다음과 같습니다.
netsh advfirewall set allprofiles state off
특정 프로필만 제어하려면 allprofiles 대신 publicprofile, domainprofile 또는 privateprofile을 사용하세요.예를 들어, 공개 프로필을 끄려면 다음과 같이 하면 됩니다.
netsh advfirewall set publicprofile state off
상태 확인은 간단합니다 netsh advfirewall show all.다만, 익숙하지 않으신 분들은 다소 복잡한 출력 내용을 접하실 수 있으니 참고하세요.
네트워크 프로필 이해하기
대부분의 경우 방화벽은 네트워크가 도메인, 공용 또는 개인으로 설정되어 있는지에 따라 다르게 적용됩니다.예를 들어, 개인 프로필에서 방화벽을 켜두는 것은 일반적으로 가정용 네트워크에 적합하지만 공용 Wi-Fi에서는 위험할 수 있습니다. Windows는 기본적으로 공용 네트워크에서 특정 공유 옵션을 비활성화하는데, 이는 보안에 도움이 됩니다.다만 이러한 프로필을 전환하면 접근 가능한 항목과 차단되는 항목이 직접적으로 변경되므로 주의해서 사용해야 합니다.
관련 질문 (물론, 더 많은 질문이 계속 생겨나니까요)
그래픽 인터페이스를 통해 방화벽을 활성화/비활성화하는 방법은 무엇입니까?
윈도우 설정에서도 이 작업을 수행할 수 있습니다.설정 > 개인 정보 및 보안 > 윈도우 보안 > 방화벽 및 네트워크 보호 로 이동하세요.거기에서 프로필을 선택하고 스위치를 켜면 됩니다.명령줄 사용에 익숙하지 않다면 이 방법이 빠르고 간편합니다.
윈도우 방화벽에서 앱 허용하기 – 간편한 방법
신뢰하는 앱이 차단된 경우 설정에서 해당 앱을 허용 목록에 추가할 수 있습니다.
- Windows 보안 앱을 엽니다( Windows + I 키를 누른 다음 개인 정보 및 보안 으로 이동하고 방화벽 및 네트워크 보호를 클릭합니다 ).
- 방화벽을 통해 앱 허용을 클릭하세요.
- ‘설정 변경’을 선택 하고 앱 옆의 확인란을 선택 하거나, ‘다른 앱 허용’을 사용하여 수동으로 추가하세요.
방화벽을 장기간 비활성화해도 안전한가요?
일반적으로는 그다지 좋지 않습니다.네트워크 간섭 문제를 해결하거나 일시적으로 차단하는 방법일 뿐이며, 이 기능을 끄고 두면 PC가 악성코드, 해킹 등 각종 위험에 취약해집니다.네트워크 상태가 확실한 경우에만 사용하고, 문제가 해결되는 대로 최대한 빨리 다시 켜세요.
이 정보가 누군가의 골칫거리를 덜어주길 바랍니다. PowerShell에서 방화벽을 켜거나 끄는 것은 몇 번 해보면 그리 어렵지 않으며, 프로필 기능을 알면 더욱 유연하게 사용할 수 있습니다.보안을 항상 염두에 두면 문제없이 사용할 수 있을 겁니다.
요약
- PowerShell 명령어를 사용하면 모든 프로필 또는 특정 프로필에 대해 Windows 방화벽을 켜고 끌 수 있습니다.
- 원격 관리를 위해서는 대상 PC에 WinRM이 설정되어 있어야 합니다.
- 명령 프롬프트에서도 `netsh advfirewall` 명령어를 사용할 수 있습니다.
- 프로필은 방화벽이 서로 다른 네트워크에서 어떻게 동작할지 결정합니다.
- 테스트가 끝나면 항상 방화벽을 다시 활성화하십시오.
마무리
명령줄 인터페이스(CLI)에서 방화벽 설정을 변경하는 것은 특히 여러 대의 컴퓨터를 관리하거나 스크립트를 작성해야 할 때 시간을 절약해 줄 수 있습니다.다만, 보안 기능을 끄는 것은 일상적인 사용에는 적합하지 않으므로 문제가 발생하면 다시 켜는 것을 잊지 마세요.빠른 설정 변경부터 원격 관리까지, PowerShell을 사용하면 설정이 제대로 되어 있다면 방화벽 관리가 훨씬 수월해집니다.이 정보가 누군가에게 시간과 노력을 절약하는 데 도움이 되기를 바랍니다.