1. 개요
가. 윈도우 서버의 보안을 위해 방화벽 설정을 할 수 있습니다. 윈도우 2003 까지의
경우 인바운드에 대한 제한적인 설정이 가능하지만 윈도우 2008 부터 많은
기능향상이 있는것 같습니다.
리눅스의 iptables 에 비해 많이 부족하지만 프로그램에 대한 예외설정 등은
초보 관리자에게 유용하게 사용 될 수 있습니다.
GUI 를 통한 방화벽 설정이 편리하지만 배치파일로 작성해 둔다면 관리효율이
좋습니다. ^^;
나. 테스트환경 : WIN 2003, WIN XP
2. netsh firewall 사용법
가. 방화벽 활성화, 비활성화
netsh firewall set opmode enable enable
netsh firewall set opmode disable disable
나. 방화벽 설정 상태보기
netsh firewall show config (방화벽의 전반적인 설정점검)
netsh firewall show opmode (작동모드 점검)
netsh firewall show state (정책관련 포트점검)
다. 예외포트 추가 및 서브넷 허용하기
netsh firewall add portopening tcp 3389 "원격 데스크톱" enable subnet
라. 예외프로그램 추가 및 특정IP 허용하기
netsh firewall add allowedprogram "C:\WINDOWS\SYSTEM32\INETSRV
\inetinfo.exe" "FTP" enable custom 10.10.10.0/24
마. ICMP 수신에코 허용
netsh firewall set icmpsetting 8 enable
3. 방화벽 배치파일 샘플
(웹, FTP, MSSQL, 원격 테스크톱, Rsync 서버 서비스가 되는 서버의 샘플 배치파일)
@ECHO OFF
CLS
ECHO ### 방화벽 초기화 ###
NETSH FIREWALL RESET
NETSH FIREWALL DELETE ALLOWEDPROGRAM ALL
NETSH FIREWALL SET LOGGING D:\LOG\Firewall\fw.log 9092 enable
ECHO ### 1. 방화벽 실행설정 ###
NETSH FIREWALL SET OPMODE ENABLE ENABLE
ECHO ### 2. For Administrator ###
NETSH FIREWALL ADD PORTOPENING TCP 3389 "원격 데스크톱" ENABLE CUSTOM 10.10.10.0/24
NETSH FIREWALL ADD PORTOPENING TCP 800 "Awstats" ENABLE CUSTOM 10.10.10.0/24,192.168.0.0/16
NETSH FIREWALL ADD PORTOPENING TCP 873 "Rsync" ENABLE CUSTOM 10.10.10.0/24
NETSH FIREWALL SET ICMPSETTING 8 ENABLE
ECHO ### 3. FOR DEVELOPER ###
NETSH FIREWALL ADD ALLOWEDPROGRAM "C:\WINDOWS\SYSTEM32\INETSRV\inetinfo.exe" "FTP" ENABLE CUSTOM 10.10.10.0/24,192.168.0.0/16
NETSH FIREWALL ADD PORTOPENING TCP 1433 "MSSQL" ENABLE CUSTOM 10.10.10.0/24,192.168.0.0/16
ECHO ### 4. For Service ###
NETSH FIREWALL ADD PORTOPENING TCP 80 "HTTP" ENABLE ALL
NETSH FIREWALL ADD PORTOPENING TCP 443 "HTTPS" ENABLE ALL
4. 기타
가. 윈도우 방화벽은 인바운드에 대한 필터만 가능하며 세부적인 설정이 어렵습니다.
윈도우의 IPSec 을 통해 아웃바운드 정책 및 세부적인 설정을 할 수 있지만 IPSec
는 (연결)상태추적 기능을 제공하지 않아 서비스에 따라 필터적용이 어려운 경우가
있습니다.
나. 윈도우 방화벽의 경우 CLI 환경에서 ICMP 허용 정책이 한번에 적용되지
않을때도 있었으며 FTP 프로그램 허용시 IIS 재시작 해야 정상 적용되는 등의
문제도 있었습니다.




최근 덧글