컴퓨터&인터넷

윈도우10 기본 방화벽 사용하기

Chobo-1 2020. 11. 22. 20:28



따로 다른 방화벽 프로그램없이 기본 윈도우 방화벽을 사용하면 UI와 설정이 불편하다. 클릭 한번으로 네트워크 허용하고 블록하는 기능이 있으면 좋겠는데 보안상 그런건지 복잡하게되있다.


빌트인 방화벽의 설정을 간편하게 도와주는 프로그램들도 몇개 있는것 같은데 단순히 앱을 추가하고 허용하고 막는 기능만 통합되있고 방화벽 고급 설정에서 수정한 프로토콜이나 포트 설정 등은 안된다.

FireWall App Blocker가 대표적이고 수정한 룰도 편집가능한 Windows Firrewall control 같은 프로그램은 꼭 설치를 해야해서 쓸데없는 짓을 하는것 같다.

https://www.binisoft.org/wfc

https://www.sordum.org/8125/firewall-app-blocker-fab-v1-7/

가볍고 간단한 무료 방화벽을 같이 사용하는걸 권장하기도 하는데 simplewall 가 대표적이다. 가벼운 포터블에 기본 방화벽과도 잘 통합되있어 충돌없이 그때그때 추가하고 허용하는 등의 작업을 간편하게 할 수 있다.

https://www.henrypp.org/product/simplewall


그냥 기본 방화벽만 사용하려면 방화벽을 설정하는 기본적인 방법과 netsh 명령어만 몇개 활용하면 되는것 같다.

윈도우를 처음 설치하면 방화벽 기본 설정은 인바운드는 모두 차단, 아웃바운드는 모두 허용으로 되어있다.

크롬같은 웹브라우저로 인터넷 외부 접속을 하려면 아웃바운드가 허용되야하고 사용자 PC가 서버가 되서 외부접속을 허용해야한다면 인바운드를 허용해야된다.

기본 방화벽 고급 설정의 기본은 일단 인바운드, 아웃바운드 모두 차단하고 인터넷 접속이 필요한 프로그램들만 수동으로 하나하나 아웃바운드만 허용해주는거다,

등록한 프로그램 속성으로 들어가서 기타 설정들을 해도되고 안해도 되는데 웹브라우저같은 보안상 민감한 프로그램들의 경우 tcp,udp같은 프로토콜과 80, 443 같은 포트 번호를 따로 지정해주기도 한다.

웹 표준 프로토콜과 포트는 tcp, 80 (http 접속일 경우), 443 (https 접속일 경우) 이기 때문에 로컬 포트는 자동으로 열리게 모두로 두고 원격포트만 80, 443으로 설정해주는 식이다.

미디어플레이어같은 특정 목적의 프로그램들은 주 사용 포트나 프로토콜이 모두 다르기 때문에 일일이 지정하지 않고 그냥 기본값 '모두'로 두는게 일반적이다.


크롬같은 웹브라우저를 항상 띄워놓고 방화벽 룰을 허용했다 막았다하려면 netsh 명령어를 배치파일로 만들어 바탕화면이나 작업표시줄에 등록해놓고 사용하면 된다.


예를 들어 포트번호와 프로파일을 지정한 크롬이라면

Set-NetFirewallRule -Program “D:\PortableApps\Chrome\chrome.exe” -Action Block -Profile Private, Public -DisplayName “크롬” -Description “Google Chrome” -Direction Outbound -Protocol TCP -RemotePort 80, 443


를 메모장에 입력하고 ps1 파일로 내문서 폴더나 적당한 폴더를 하나 만들어서 저장한 다음


powershell -file "C:\Users\사용자이름\Documents\Center Toolbar\firewall\chrome_block.ps1"


를 메모장에 입력하고 bat 파일로 저장한 뒤 관리자권한으로 bat파일을 실행하면 된다.


bat파일의 바로가기를 만들어 대상에 C:\Windows\System32\cmd.exe /c "C:\Users\사용...  와 같이

C:\Windows\System32\cmd.exe /c  를 실행 프로그램 경로 앞에 입력하면 작업표시줄에 바로가기 아이콘 등록이 가능하다.

그리고 바로가기 속성에 들어가 '바로가기 > 고급' 에서 관리자권한으로 실행에 체크해야 됨


위 ps1 파워쉘 명령어는 미리 만들어둔 룰에 적용된다. 만들어서 등록해놓은 룰 속성에 description 같은 항목에도 입력해놓은게 있다면 명령어에 반드시 포함시켜야 된다. outbound 방향과 액션, 프로파일 옵션을 반드시 들어가야되고 포트번호같은 옵션은 따로 수정하지 않았다면 생략해도 된다. 그리고 -action block 을 allow로 바꿔서 껐다 켰다 하면 됨.