Windows Server 2025 / Microsoft Defender와 Windows 방화벽의 기본 보안을 점검하는 방법

Windows Server 2025의 기본 보안은 업데이트, 관리 계정 분리, 악성코드 방지와 필요한 통신만 허용하는 방화벽을 함께 점검하는 일에서 시작합니다. 보안 기능의 현재 상태를 조회하고, 서버 역할에 필요한 예외만 좁게 적용한 뒤 실제 기능이 유지되는지 확인해야 합니다.

보안 상태와 서버 역할을 함께 기록합니다

도메인 컨트롤러·파일 서버·웹 서버는 필요한 통신과 보호 대상이 다릅니다. 서버에 설치된 역할, 관리 경로, 백업 상태와 업데이트를 먼저 확인하세요. 검증 없이 동일한 설정 묶음을 모든 서버에 적용하면 서비스가 중단되거나 복구 통로가 막힐 수 있습니다.

  • 일반 사용 계정과 관리자 계정을 분리하고 사용하지 않는 계정을 검토합니다.
  • 원격 관리는 승인된 PC·관리망에서만 접근하도록 제한합니다.
  • 서버별 필요한 서비스와 포트를 문서화합니다.
  • OS·보안 제품의 업데이트와 백업·복구 확인을 정기 점검에 포함합니다.

보안 기준선은 검토의 출발점이지 서버 역할을 고려하지 않는 일괄 적용 스크립트가 아닙니다. 다른 글의 레지스트리 묶음을 그대로 실행하기보다 변경 항목과 지원 버전·되돌릴 방법을 확인합니다.

Defender의 실행 모드와 최신 상태를 봅니다

관리자 PowerShell에서 상태를 조회합니다. Microsoft Defender Antivirus 안내는 활성·수동 모드와 다른 보안 제품과의 관계를 구분합니다. 다른 제품이 있다는 이유만으로 상태를 단정하지 않습니다.

Get-MpComputerStatus | Select-Object AMRunningMode,AntivirusEnabled,RealTimeProtectionEnabled,AntivirusSignatureLastUpdated
Get-MpPreference | Select-Object ExclusionPath,ExclusionProcess,ExclusionExtension

엔진·보안 인텔리전스 업데이트가 정상인지, 예상한 보호 모드인지 확인합니다. 격리망에서는 업데이트 공급 경로를 따로 준비해야 합니다. 상태 조회가 실패하면 기능 설치·제품 상태·권한을 확인하고, 명령이 없다는 사실을 보호가 완전하다는 뜻으로 해석하지 않습니다.

제외 설정은 원인과 지원 근거가 있는 최소 범위로 제한합니다. 드라이브 전체, 모든 실행 파일이나 다운로드 폴더를 편의상 제외하지 않습니다. 성능 문제가 의심되면 역할별 공식 권고와 실제 측정을 바탕으로 판단하세요.

방화벽 프로필과 실제 적용 규칙을 확인합니다

Get-NetConnectionProfile
Get-NetFirewallProfile | Select-Object Name,Enabled,DefaultInboundAction,DefaultOutboundAction
Get-NetFirewallRule -PolicyStore ActiveStore | Where-Object Enabled -eq 'True' | Select-Object DisplayName,Direction,Action,Profile

Domain·Private·Public 프로필은 네트워크의 인식 상태에 따라 적용됩니다. 도메인 서버가 Domain으로 보이지 않으면 DNS·도메인 통신부터 확인하고 프로필을 임의로 바꿔 원인을 덮지 않습니다. GPO와 로컬 규칙 중 무엇이 실제 적용되는지도 확인하세요.

Windows Firewall 개요는 방화벽 전체 비활성화를 권장하지 않습니다. 앱이 연결되지 않을 때는 수신 서비스·포트·원격 주소와 프로필을 구분해 필요한 규칙만 검토합니다. 더 넓은 허용 규칙이 남아 있으면 좁은 규칙 하나를 추가해도 접근 범위가 줄지 않을 수 있습니다.

실습 규칙 하나를 만들고 원복합니다

FS1과 CLIENT1이 같은 신뢰된 격리망에 있을 때 ICMPv4 echo 요청만 허용해 볼 수 있습니다. CLIENT1 주소는 DHCP로 바뀔 수 있으므로 콘솔에서 현재 값을 확인해 입력합니다. 아래는 FS1의 관리자 PowerShell에서 실행하며 도메인 프로필에서만 적용됩니다.

$clientAddress = [ipaddress](Read-Host 'Current CLIENT1 IPv4 address')
New-NetFirewallRule -Name 'Lab-ICMPv4-From-Client' -DisplayName 'Lab ICMPv4 from CLIENT1' -Direction Inbound -Protocol ICMPv4 -IcmpType 8 -RemoteAddress $clientAddress -Profile Domain -Action Allow

같은 이름의 규칙이 없다면 생성하고 CLIENT1에서 ping 172.24.50.20으로 확인합니다. 현재 FS1 프로필이 Domain이 아니라면 이 규칙은 그 조건에 맞지 않습니다. 비교 전에 이미 ICMP를 허용한 규칙이 있는지도 확인해야 합니다. 규칙 작성 방식은 방화벽 명령줄 관리에서 확인할 수 있습니다.

실습 후에는 직접 만든 이름의 규칙만 제거합니다. 제거 후 ping이 계속 성공한다면 다른 허용 규칙이 있는지 확인하고, 그렇다고 관련 규칙 전체를 삭제하지 않습니다.

Remove-NetFirewallRule -Name 'Lab-ICMPv4-From-Client'

보호 상태와 서비스 동작을 같이 검증합니다

보안 설정 변경 후에는 정상 관리자 접속, 도메인 인증·DNS, 파일 공유 또는 웹 응답 등 해당 역할의 기능을 확인합니다. 차단 로그와 보안 이벤트를 볼 때는 시험한 시각과 클라이언트 주소를 함께 기록하면 관련 없는 이벤트와 구분하기 쉽습니다.

문제가 생기면 바꾼 예외·정책만 원래 값과 비교해 되돌립니다. 보안 제품의 보호가 꺼져 서비스가 살아난 상태를 최종 해결로 두지 말고, 필요한 통신·파일·프로세스를 근거로 예외를 다시 설계하세요. 콘솔과 백업이라는 복구 경로도 유지합니다.