Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
dmz-security-monitoring-hardening — CY376 블루팀 프로젝트 — pfSense DMZ, Suricata IDS/IPS, 및 CVE-2014-6271에 대한 자동화된 호스트 하드닝 | Kitploit
도구/GitHubGitHub/freeguy-6/dmz-security-monitoring-hardening
Defensive ToolsVulnerability AnalysisConfiguration AuditingWeb SecurityNetwork SecurityIntrusion DetectionLearning & EducationLog Analysis

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
freeguy-6/dmz-security-monitoring-hardening

dmz-security-monitoring-hardening

CY376 블루팀 프로젝트 — pfSense DMZ, Suricata IDS/IPS, 및 CVE-2014-6271에 대한 자동화된 호스트 하드닝

저장소 보기
121개월 전아직 검토되지 않음

DMZ 보안 모니터링 및 강화

CY376: 네트워크 모니터링, 보안 및 감사 — 학기말 프로젝트 Blue Team | University of Mines and Technology, Tarkwa

저자: Kennedy Kumi Holomah 색인 번호: FCM.41.018.148.23 학생 ID: 9013004623

개요

이 프로젝트는 완전히 격리된 VMware Workstation 실습 환경에서 pfSense 방화벽 뒤에 호스팅된 공개용 Ubuntu/Apache 웹 서버를 호스팅하는 비무장지대(DMZ)를 구축하고, 보호하며, 모니터링합니다. University of Mines and Technology(Tarkwa)의 CY376(네트워크 모니터링, 보안 및 감사)을 위한 Blue Team 실습으로 제작되었으며, 단일 통제 수단이 아닌 전체 방어 수명 주기, 즉 세분화된 네트워크 경계, 해당 경계에서의 인라인 탐지, 명명된 CVE에 대한 실제 공격 시도, 자동화된 복구, 그리고 수정으로 인해 실제로 취약점이 차단되었는지에 대한 재검증을 보여줍니다.

이 프로젝트는 의도적으로 각 방어 계층을 단순한 구성 스크린샷이 아닌 증거와 함께 제시합니다. Suricata의 탐지 기능이 실시간으로 Shellshock 공격 시도를 포착하는 모습, 동일한 페이로드가 강화 적용 후 완전히 실패하는 모습, 그리고 그 과정에서 마주친 명확하지 않은 인프라 문제들(패킷 캡처를 조용히 차단하는 하드웨어 오프로드 설정, 방향성 시그니처를 조용히 깨뜨리는 기본 HOME_NET 범위, 서버를 보호하려던 강화 스크립트의 자체 권한 잠금으로 인해 서버가 손상된 사례)이 편집되지 않고 그 자체로 발견 사항으로 문서화됩니다.

  • 탐지: Suricata는 Emerging Threats(ET) Open 규칙 세트를 사용하여 DMZ 인터페이스에서 인라인(IPS 모드)으로 실행되며, HOME_NET이 DMZ 서브넷으로 올바르게 범위가 지정되어 LAN에서 발생한 공격 트래픽이 외부 트래픽으로 처리됩니다.
  • 공격 및 검증: Kali 공격자로부터 DMZ 호스트를 대상으로 실제 CVE 매핑 익스플로잇(CVE-2014-6271, "Shellshock")이 실행됩니다. Suricata는 이를 탐지하고(SID 2022028) 사용자 지정 드롭 규칙을 통해 능동적으로 차단할 수 있습니다.
  • 강화: 멱등성을 갖춘 Bash 스크립트(scripts/dmz_web_hardening.sh)가 Bash를 패치하고, Shellshock이 사용하는 CGI 핸들러를 비활성화하며, SSH를 LAN으로 제한하고, 호스트 방화벽(UFW)과 fail2ban을 활성화하며, 웹 루트 권한을 잠급니다.
  • 재검증: 동일한 Shellshock 페이로드가 강화 후 다시 실행되며, 실행되지 않고 HTTP 404를 반환하여 취약점이 차단되었음을 확인합니다.
  • 모니터링: 중앙 집중식 로그 및 파일 무결성 모니터링을 위해 Wazuh 매니저(OVA 어플라이언스)가 LAN에 배포되며, DMZ 에이전트 등록은 진행 중인 다음 단계입니다.

전체 보고서, 증거 스크린샷 및 분석: docs/CY376_DMZ_Report_Kennedy_Kumi_Holomah.pdf.

사용된 도구

  • VMware Workstation — 격리된 호스트 전용 실습 환경(WAN/LAN/DMZ VMnet)
  • pfSense(커뮤니티 에디션) — 방화벽, 라우팅, WAN/LAN/DMZ 세분화
  • Suricata(pfSense 패키지) — DMZ 인터페이스의 인라인 IDS/IPS
  • Emerging Threats(ET) Open 규칙 세트 — 시그니처 적용 범위
  • Kali Linux — 공격자 호스트(Nmap, curl 기반 익스플로잇)
  • Ubuntu Server + Apache — DMZ 웹 서버(대상 / 보호 자산)
  • Wazuh(OVA 어플라이언스) — 중앙 집중식 로그 수집 및 파일 무결성 모니터링
  • UFW, fail2ban, unattended-upgrades — DMZ 서버의 호스트 수준 강화

실습 토폴로지

모든 세그먼트 간 트래픽은 오직 pfSense를 통해서만 전달되며, 방화벽을 우회하는 경로는 없습니다.

저장소 구조

root@kitploit:~
.
├── README.md
├── .gitignore
├── scripts/
│   └── dmz_web_hardening.sh   # DMZ 웹 서버용 호스트 강화 스크립트
├── docs/
│   └── CY376_DMZ_Report_Kennedy_Kumi_Holomah.pdf   # 전체 프로젝트 보고서
└── evidence/
    └── figure01_lab_topology.png ... figure11_wazuh_dashboard.png
        # 보고서에 사용된 11개의 캡션 포함 스크린샷으로,
        # docs/CY376_DMZ_Report_*.pdf 전체에서 사용된 그림 번호와 일치하도록 번호가 매겨져 있습니다.

강화 스크립트 사용

scripts/dmz_web_hardening.sh는 DMZ Ubuntu/Apache 호스트를 대상으로 합니다. 다시 실행해도 안전하도록 작성되었습니다. 스크립트가 수정하는 모든 구성 파일은 먼저 백업되며(.bak-YYYYmmdd-HHMMSS 접미사), 모든 작업은 /var/log 아래의 타임스탬프가 있는 파일에 기록됩니다.

root@kitploit:~
# DMZ 웹 서버에서
sudo bash scripts/dmz_web_hardening.sh

실행 전에 스크립트 상단의 CONFIG 섹션(LAN 서브넷, HTTP/HTTPS 포트)을 검토하여 자신의 토폴로지에 맞게 조정하십시오.

수행 작업:

  1. 시스템 패키지를 업데이트하고 Bash를 명시적으로 패치합니다(CVE-2014-6271의 실제 수정).
  2. SSH가 있으면 강화합니다(루트 로그인 및 암호 인증 비활성화, LAN 서브넷으로 제한).
  3. UFW를 구성합니다: 인바운드 기본 거부, HTTP/HTTPS 개방, SSH는 LAN으로 제한.
  4. Apache를 강화합니다: 버전 배너 숨기기, 디렉터리 목록 비활성화, mod_cgi/mod_cgid 비활성화 프롬프트(Shellshock 공격 표면을 완전히 제거), 웹 루트 소유권/권한 잠금.
  5. SSH 및 Apache 전용 jail에 대해 fail2ban을 설치하고 구성합니다.
  6. 무인 보안 업그레이드(unattended security upgrades)를 활성화합니다.
  7. 레거시 고위험 서비스(telnet, ftp, rsh)가 있으면 제거합니다.

완료 요약이 마지막에 출력되며, 각 단계에 대한 자세한 내용은 보고서에 있습니다.

주요 결과

알려진 제한 사항

  • Suricata의 SID 관리 변경(SID 2022028을 알림 전용에서 활성 드롭으로 전환)은 pfSense GUI의 규칙 재빌드를 거쳐도 유지되지 않았습니다. 공개 이슈로 기록됨.
  • DMZ 호스트에 대한 Wazuh 에이전트 등록은 시작되었지만, 작성 시점 기준 보고가 아직 확인되지 않았습니다.
  • 탐지 기능은 잘 문서화된 하나의 CVE에 대해서만 검증되었습니다. ET Open 규칙 세트의 신규/애플리케이션별 취약점 적용 범위는 이 실습에서 다루지 않습니다.

전체 논의는 보고서의 섹션 6(분석 및 권장 사항)을 참조하십시오.

참고 자료

  • MITRE ATT&CK T1190 — 공개 애플리케이션 악용(Exploit Public-Facing Application)
  • NVD — CVE-2014-6271
  • pfSense 문서
  • Suricata 사용자 가이드
  • Emerging Threats 오픈 규칙 세트
  • Wazuh 문서
도구 다운로드
호스트역할인터페이스 / VMnetIP 주소
pfSense방화벽 / 라우터WAN(em0)192.168.248.138(DHCP, NAT)
pfSense방화벽 / 라우터LAN(em2)192.168.20.1/24
pfSense방화벽 / 라우터DMZ(em1)192.168.10.1/24
Kali Linux공격자 호스트VMnet4(LAN)192.168.20.102
LAN 클라이언트일반 LAN 호스트VMnet4(LAN)192.168.20.100
DMZ 웹 서버대상 / 보호 자산VMnet3(DMZ)192.168.10.10
Wazuh 매니저SIEM / 로그 플랫폼VMnet4(LAN)192.168.20.103
테스트강화 전강화 후
Shellshock 공격 시도페이로드 수락됨; Suricata 알림 발생(SID 2022028)HTTP 404 — CGI 핸들러 제거됨
LAN(Kali)에서 SSH사용 가능, 제한 없음사용 가능, 192.168.20.0/24로 제한
웹 루트 접근기본 콘텐츠 제공강화 중 일시적으로 403, 이후 복원됨
사용자 지정 Suricata 드롭 규칙해당 없음일치 시 활성 차단 확인됨