데이터 보안이 중요해진 세상에서 모든 기업은 네트워크 인프라의 상태를 정기적으로 평가해야 합니다. Windows에 내장된 명령줄 도구인 PowerShell은 이러한 감사를 효율적으로 수행할 수 있는 방법을 제공합니다. 이 문서에서는 다섯 가지 PowerShell 스크립트를 사용하여 하루 만에 취약점을 탐지하고 네트워크 보안을 강화하는 방법을 살펴보겠습니다. 이 스크립트는 네트워크의 다양한 측면을 분석할 뿐만 아니라 오늘날의 사이버 위협에 대한 보안 태세를 강화합니다.
PowerShell을 사용하여 Windows 방화벽 상태 확인
네트워크 보호에는 효과적인 방화벽 구현이 포함되는 경우가 많습니다. 다음 스크립트는 Windows 시스템에서 활성 방화벽 프로필의 상태를 확인합니다. 잘못 구성된 방화벽은 네트워크를 공격에 노출시킬 수 있으므로 이 첫 번째 단계는 필수적입니다.
Get-NetFirewallProfile 스크립트는 다양한 방화벽 프로필의 상태를 표시하는 데 사용됩니다. 여기에는 도메인, 개인 및 공용 네트워크 설정이 포함됩니다. 명령: Get-NetFirewallProfile | Select-Object Name, Enabled 함수:
- 각 프로필의 상태(활성화 또는 비활성화)를 표시합니다. 또한, 필요한 연결만 허용되도록 활성 방화벽 규칙을 나열하는 것이 중요합니다. 다음 스크립트를 사용하면 됩니다.
- 명령: Get-NetFirewallRule | Where-Object { $_.Enabled -eq $true } | Select-Object DisplayName, Direction, Action
함수:
- 활성화된 모든 규칙과 해당 방향(인바운드 또는 아웃바운드) 및 해당 동작을 표시합니다. 이 두 명령은 무단 접근을 방지하는 데 중요한 요소인 방화벽 구성에 대한 개요를 제공합니다. 방화벽 상태를 모니터링함으로써 위협을 예측하고 사고에 효과적으로 대응할 수 있습니다.
- 방화벽 프로필 상태
도메인
| 활성화됨 | 개인 |
|---|---|
| 비활성화됨 | 공용 |
| 활성화됨 | 네트워크 연결 분석 |
| 보안 감사의 또 다른 기본적인 측면은 활성 네트워크 연결을 모니터링하는 것입니다. 관리자는 다음 스크립트를 사용하여 시스템을 손상시킬 수 있는 의심스러운 연결을 식별할 수 있습니다. | 명령: |
Get-NetTCPConnection | Select-Object LocalAddress, LocalPort, RemoteAddress, RemotePort, State, OwningProcess
함수:
- 모든 TCP 연결을 표시하여 비정상적인 동작을 감지합니다. 이러한 연결을 분석하면 잠재적 침입이나 악의적인 통신을 식별하는 데 도움이 되며, 이는 데이터 무결성에 필수적입니다. 활성 연결이 있는 모든 프로세스는 공격을 방지하기 위해 면밀히 모니터링해야 합니다. https://www.youtube.com/watch?v=PIJIzePX8_M
- Windows Defender 상태 모니터링 온라인 위협이 증가함에 따라 로컬 방어 시스템을 제대로 구축하는 것이 필수적입니다. Windows Defender는 기본적인 수준의 보호 기능을 제공하지만, 그 효과는 구성 및 업데이트 수준에 따라 달라집니다. 다음 스크립트를 사용하여 프로그램 상태를 평가할 수 있습니다.
명령:
함수:
서명 업데이트 및 실시간 보호 활성화 여부를 포함한 Windows Defender 상태에 대한 세부 정보를 표시합니다.
- 소프트웨어 상태를 확인한 후에는 설치된 소프트웨어를 나열하고 보안 위험을 초래할 수 있는 소프트웨어를 파악하는 것도 도움이 됩니다. 소프트웨어 이름 버전
- 설치 날짜 McAfee Antivirus
21.0
| 2025년 2월 1일 | Visual Studio | 16.7 |
|---|---|---|
| 2024년 5월 15일 | Kaspersky | 20.0 |
| 2025년 1월 1일 | 비호환성 문제나 취약점을 방지하려면 소프트웨어 레지스트리를 유지하고 정기적으로 상태를 확인하는 것이 좋습니다. | 사용자 및 그룹 관리 |
| 조직 내 사용자 제어는 추가적인 보호 기능을 제공합니다. PowerShell 스크립트는 로컬 사용자를 관리하고 잠재적으로 손상되었거나 권한이 없는 계정을 식별하는 데 도움이 될 수 있습니다. 다음 명령은 모든 사용자를 나열합니다. | 명령: | Get-LocalUser | Select-Object Name, Enabled, LastLogon |
함수:
로컬 사용자, 상태(활성화 또는 비활성화) 및 마지막 로그온 날짜를 표시합니다.
또한 Administrators 그룹에 구성원이 있는지 확인하려면 다음 스크립트가 유용합니다.
- 명령: Get-LocalGroupMember -Group “Administrators”
- 함수: 구성원을 나열하여 권한이 있는 사용자만 중요한 권한에 액세스할 수 있도록 합니다. 사용자 이름
상태
- 마지막 로그인 날짜 관리자
- 활성 2025년 3월 20일
| 사용자1 | 비활성 | 2025년 2월 15일 |
|---|---|---|
| 보안 정책 관리 | 사용자를 위한 효과적인 보안 정책을 구현하면 사용자의 액세스 및 작업을 효과적으로 관리할 수 있습니다. 여기에는 암호 업데이트, 사용자 사이버 보안 교육, 원격 액세스 관리가 포함됩니다. 이러한 조치는 침해 및 데이터 유출을 방지하는 데 필수적입니다. | https://www.youtube.com/watch?v=HaV2da6hNuw |
| 예약된 작업 분석 및 지속 공격 방지 | 공격자는 예약된 작업을 이용하여 시스템에 지속적으로 접근할 수 있습니다. 따라서 활성 작업에 대한 정기적인 감사가 필요합니다. 다음 스크립트는 시스템에서 예약된 작업을 검색합니다. | 명령: |
Get-ScheduledTask | Where-Object {$_.State -eq ‘Ready’} | Select-Object TaskName, TaskPath
함수:
관리자는 정기적으로 이러한 작업을 검토하여 승인되지 않았거나 의심스러운 작업을 식별하고 제거해야 합니다. 이를 통해 비활성화된 백도어가 없는지 확인할 수도 있습니다.
작업 이름
- 상태 태스크1
- 준비가 된 태스크2
장애가 있는
| BitLocker로 디스크 보안 평가 | 하드 드라이브에 저장된 데이터를 보호하는 것이 최우선입니다. BitLocker는 Windows 시스템에서 디스크를 암호화하는 데 필수적인 도구입니다. 활성화되어 있는지 확인하는 것이 핵심 단계입니다. 다음 스크립트를 사용하면 BitLocker의 상태를 평가할 수 있습니다. |
|---|---|
| 주문하다 : | 관리-bde-상태 |
| 기능 : | 디스크가 암호화되었는지 여부를 표시합니다. |
암호화된 디스크는 장비 도난이나 분실 시 데이터 노출 위험을 크게 줄여줍니다. 이 단계는 올바른 사용자 및 연결 관리와 결합되어 데이터 방어를 강화합니다.
디스크
- BitLocker 상태 기음:
- 수치 디:
암호화되지 않음
| https://www.youtube.com/watch?v=cHqnTMrwIFw | 디스크 보안 보장을 위한 모범 사례 |
|---|---|
| 또한 정기적인 감사 절차를 따르고 보안 소프트웨어 업데이트, 액세스 확인, 사이버 보안 모범 사례에 대한 사용자 교육과 같은 사전 조치를 취하는 것도 중요합니다. 종합적으로 이러한 요소는 전반적인 네트워크 보안을 강화합니다. | 다음과 같은 솔루션이 제공됩니다. |
| 마이크로소프트 | , |
,
포티넷
, 팔로알토 네트웍스, 소포스, 검문소, 카스퍼스키, 맥아피, 크라우드스트라이크그리고 IBM모두 PowerShell 구성을 보완하기 위한 확실한 옵션입니다.
