수강생 프로젝트

수강생 프로젝트

KH정보교육원에서 진행된 프로젝트를 팀 단위로 보실 수 있습니다.

침입 탐지 및 대응을 위한 통합 시스템 구축

프로젝트 발표날짜 : 2025. 06. 10

KH IEI PROJECT
 
사랑의_하츄ping

(정보시스템구축) 정보시스템 구축·운영 기반 정보보안 전문가 양성과정A23(5) 1회차

팀장/팀원 이**(팀장) : 1.Oracle DB 서버 구축 및 설정 Oracle 19c 설치 및 운영 환경 구성으로 민감 데이터를 저장하는 핵심 DB로서 내부망(Internal)에 배치하고, 내부 네트워크의 Oracle DB 서버에 직접 접근은 차단한다. DMZ 영역의 접근은 최소 권한 원칙에 따라 서비스 제한 적용하여 높은 보안성을 유지한다. -Oracle DB를 설치할 리눅스의 환경 설정 관리 계정 및 그룹과 홈디렉토리를 설정하고, 오라클 서비스와 네트워크 접속을 위한 네트워크 설정 정보를 지정한다. 오라클의 설치용 패키지를 설치한다. -Oracle Listener 설정한다. 외부 연결을 위한 Listener 구성인 listener.ora, tnsnames.ora 설정한다. DB서버 부팅 시 Oracle DB 구동과 Listener도 자동으로 시작되도록 설정한다. -Oracle Client 연동 테스트한다. 웹 서버 및 관리용 PC에 설치된 Oracle Client가 접속이 이루어지도록 설정한다. 2. Web 서버(Apache + PHP) 구축 및 Oracle 연동 Apache 기반의 웹서버를 DMZ 영역에 설치 및 구성하고, 외부 사용자로부터의 웹접근 요청을 수신 할 수 있도록 보안 정책을 설정한다. PHP 환경 구축하고 Oracle Client 모듈과 함께 PHP 연동 설정한다. php.ini 수정, oci_connect()를 이용한 DB 접속 구현한다. Oracle 연동 테스트를 진행한다.게시판 시스템 구현을 통해 Oracle DB에 저장/조회하는 기능 구현과 로그인, 게시글 등록 등 실습 기반 기능 점검한다. 3.Samba 서비스 설정 원활한 웹페이지 만들기와 설정을 위해서 신뢰된 호스트(Trusted Host) PC에 Samba서비스를 진행한다. 신뢰된 호스트PC에게 서비스를 하기 위한 smb.conf 설정 및 방화벽 예외 처리를 설정한다. 4. 다양한 공격기법을 활용한 SIEM 로그 분석 ARP 스푸핑, Brute force 자동화 공격, Trinoo를 이용한 DDos 공격이 이루어졌을 때, 침입 탐지 로그와 해당 공격에 대한 대응이 어떻게 이루어졌는지 SIEM 기능을 이용하여 로그를 분석한다.
박** : 1. VMware Network 환경 구축 VMware NAT 환경에서 원활한 네트워크 구축을 위해 Linux와 Windows 서버에 대한 Base 가상 환경을 구축한다. Liux 구축환경은 Rocky Linux 8.10 버전을 활용하며 최초 설치 시 불필요하게 활성화된 시스템 설정을 정리하는 작업을 수행한다. 첫번째, cockpit.issue, cockpit을 제거한다. 두번째, SELINUX 설정을 disabled로 변경한다. 세번째 ntsysv 명령어를 이용하여 불필요한 데몬 서비스를 해제한다. Windows는 Windows10 버전을 사용하며 해당 환경은 향후 내부 관리자 PC로 사용된다. 2. Astaro SOPHOS UTM9 네트워크 방화벽 구축 SOPHOS UTM9 방화벽을 이용하여 보안 정책을 수립하고 내부 네트워크와 외부 네트워크 , DMZ 네트워크 영역 간의 통신을 제어한다. Host 컴퓨터같은 경우에는 사용자가 명확하고 IP가 지정되어있으므로 Trusted host로 판단한다. 또한 Internal에 구성된 192.168.0.0/24 네트워크는 오라클 서버에 대해 신뢰적인 네트워크로 구성한다. 위 구성을 바탕으로 SOPHOS UTM9 네트워크 방화벽을 통해 신뢰적인 시스템과 네트워크 영역으로 보안 정책을 지정한다. 2-1. 서비스 정의 및 그룹 설정 - group : internal_service service : dns, terminal applications, email messaging, file transfer - group : dnf service : http, https, dns - group : main_service service : terminal applications, web surfing, file transfer, samba 2-2. 네트워크 정의 및 그룹 설정 - group : dmz_network service : WEB, DNS, IDS - group : internal service : admin pc(win), SIEM, Oracle DB, logbackup - service : rsyslog 3. Firewalld 시스템 방화벽 구축 UTM9 네트워크 방화벽을 설정하고 기술적 보안 실무 표준에 따라 Firewalld를 이용해 내부 서버의 시스템 방화벽을 구축하여 보안을 강화한다. 공격 발생의 근원지는 정해져있지 않으므로 이것은 내부로부터 공격이 발생할 확률도 배제할 수 없다는 것을 의미한다. 따라서 네트워크 방화벽과 시스템 방화벽의 역할을 분리하여 구성한다. Firewalld 방화벽 Rule은 Public zone으로 설정한다. 불필요한 public 서비스는 삭제하고 UTM9에 적용된 정책을 기준으로 각 서버마다 Rule을 지정한다. Firewalld 에 적용될 서버 항목은 하위 6대의 서버로 확립한다. - WEB, DNS, IDS, SIEM, Oracle DB, LogBackup 4. 프로젝트 기술 구현 매뉴얼 Template 생성 네트워크 구축에 사용되는 기술을 매뉴얼화 하기위한 기술문서 서식 파일을 생성하여 문서작성 효율을 높인다. 5. 기대효과 네트워크 방화벽과 시스템 방화벽 설정을 통해 원활한 통신환경과 안전한 네트워크 환경을 구축할 수 있다.
손** : 1.Wazuh–Elastic Stack 기반 SIEM 구축 Wazuh, Elasticsearch, Kibana, Logstash를 연동하여 보안 로그 수집, 저장, 시각화, 분석 환경을 통합 구성한다. 2.IDS–SIEM 연동 구성 Snort 로그를 실시간으로 Wazuh로 전송되도록 설정한다. (rsyslog → alert.log → Wazuh 감시) 3.로그 전달 테스트 Snort 탐지 로그가 rsyslog를 통해 /var/log/snort/alert.log로 전달되고, Wazuh가 이를 탐지함을 검증한다. 4.SSH 기반 Active Response 구성 Wazuh에서 공격 발생 시 자동으로 웹서버에 접속해 firewall-cmd 명령어로 차단하도록 설정한다. SIEM 서버에서 키 쌍을 /var/ossec/.ssh/ 에 생성 후에 퍼미션을 설정한다. 웹서버의 루트 계정 authorized_keys에 공개키 등록한다. 5.Active Response 자동 차단 스크립트 구현 ossec.conf에 항목을 등록한다. firewalldrop 스크립트 생성 후 실행 권한 및 소유그룹을 변경한다. 공격 발생 시 자동으로 대상 웹서버의 IP를 차단한다. 6.WEB 서버 로그 자동 백업 시스템 구축 rsync 및 crontab을 이용해 Web 서버의 로그가 Logbackup 서버로 매일 정해진 시간에 자동 전송 및 보관되도록 구성한다.
이** : 1. Wazuh 설치 및 실행 Wazuh 서버 설치를 위해 GpG서명 키 등록과 Wazuh Manager 레파지토리를 설정한다. Wazuh 설치, 및 디렉토리를 확인한다. systemctl start wazuh-manager로 Wazuh Manager를 실행한다. 2. Elastic 설치 및 설정 파일 수정 Elastic 설치한다. Elasticsearch 레파지토리를 설정하고 Elasticsearch를 설치한다. # vi /etc/elasticsearch/elasticsearch.yml 에서 설정 파일을 수정한다. 3. Kibana 설치 및 설정 파일 수정 kibana를 설치한다. 방화벽을 오픈한다. # firewall-cmd --permanent --add-port=5601/tcp # firewall-cmd --reload vi /etc/kibana/kibana.yml 에서 설정파일을 수정한다. 서비스를 시작한다. # systemctl enable kibana # systemctl start kibana 3. Logstash 설정 파일 생성 vi /etc/logstash/conf.d/wazuh-elasticsearch.conf에 Logstash 설정 파일 을 생성한다. vi /var/ossec/etc/ossec.conf에 Wazuh 로그 수집 경로를 등록한다. 4. DNS 서버 설치 및 설정 (BIND9) bind 패키지를 설치한다. ( yum install -y bind) /etc/named.conf를 설정한다. /var/named/zone 파일을 작성한다. 방화벽 및 SELinux를 disabled로 설정한다 DNS 질의 테스트 (nslookup)로 정상 동작을 확인한다. 5. IDS 서버(Snort) 설치 및 설정 Snort, daq를 설치한다. snort 실행에 필요한 기본 디렉토리와 rule 파일을 생성하고 퍼미션을 조정한다. /etc/snort/rules/local.rules에 rule을 추가한다. /etc/snort/snort.conf 설정한다. snort -i ens160 -A console -c /etc/snort/snort.conf로 테스트한다.
개요 내부 네트워크망을 체계적으로 설계하고, 다양한 보안 위협에 대한 탐지 및 대응이 가능한 통합 보안 시스템을 구축하는 것을 목적으로 한다. 이를 통해 조직 내부 자산에 대한 침입 시도를 식별하고, 사전에 정의된 정책에 따라 자동 대응함으로써 보안 관리의 효율성과 정확성을 향상시키고자 한다.
구현기능 1. 네트워크 구성
VMware 를 사용해 NAT환경을 구축한다. 네트워크 구성은 외부네트워크(External), DMZ 영역(192.168.12.0/24), 내부네트워크(Internal)(192.168.0.0/24)으로 구분된다.
2. 도메인 서비스
DMZ 영역에 외부 서비스를 제공하는 DNS 서버를 구축하여 도메인 서비스 제공한다.
3. 웹 게시판 서비스
Apache 기반으로 Oracle DB 연동한 웹서버를 구축하여 웹 게시판 서비스를 운영한다.
4. Crontab을 활용한 자동 백업
웹서버에서 발생하는 error, access 로그를 rsync를 통해 내부 네트워크의 Log Backup서버로 전송하며, 해당 rsyslog 전송 명령어는 Crontab에 등록하여 주기적으로 실행되도록 구성한다.
5. 침입 탐지 시스템(IDS)
Snort를 활용하여 네트워크 트래픽 실시간 탐지하고, 이상 징후 발견 시 로그를 파일로 저장함과 동시에 rsyslog를 통해 실시간 경고 메시지를 출력한다.
6. 로그 수집 및 전송
rsyslog를 활용하여 각 서버의 로그를 SIEM에 전송한다.
7. DB서버 구성
내부 네트워크에 민감 데이터를 저장하는 Oracle 데이터베이스 서버를 구축한다.
8. 보안관제 시스템(SIEM)의 비정상 로그 탐지
Wazuh를 활용하여 보안 룰을 지정하고, 지정된 룰을 이용하여 비정상 로그를 탐지한다.
9. 보안관제 시스템(SIEM)의 자동 대응
설정된 룰과 매칭된 로그가 탐지되면, Wazuh의 ossec.conf 파일에 정의된 스크립트에 따라 Active Response 스크립트가 자동으로 실행된다.
10. 보안관제 이벤트 대시보드
Elasticsearch와 연동된 Kibana 툴을 사용하여 실시간 로그 데이터를 시각화하는 대시보드 제공한다.
11. 웹서버용 Log Backup : 로그 이중화
웹서버의 중요 에러 로그기록을 주기적으로 백업 받는 체계를 구축하여 추후 조사 및 분석을 위한 정확한 로그 확보가 가능하게 구축한다.
12. 내부 네트워크에 관리자 PC(admin PC)를 구축하여, 모든 서버를 관리한다.
설계의 주안점 1. 보안정책 적용 여부에 따른 네트워크 구성
:외부 네트워크, DMZ, 내부 네트워크(Internal) 영역으로 구성된 네트워크 설계를 기반으로, 방화벽 SOPHOS UTM9을 통해 외부 접근을 통제하고 영역 간 접근 제어 강화한다.
내부 네트워크의 Oracle DB 서버에 직접 접근은 차단되며, DMZ 영역도 최소 권한 원칙에 따라 서비스 제한 적용한다.

2.실시간 침입 탐지 체계 구축
:Snort 기반 IDS를 통해 내부 네트워크에서 실시간으로 비정상적인 행위를 탐지하고 경고 할 수 있도록 룰을 설정한다. 이 때, 탐지된 이상 행위는 rsyslog 통해 SIEM 서버로 전송될 수 있게 한다.

3.웹서버에서 발생한 취약점 관련 로그를 주기적으로 자동 백업
:웹 서비스의 취약점을 이용한 공격 시도와 관련된 error, access 로그를 파일별로 수집하고, rsync를 통해 내부 네트워크의 Log Backup 서버로 4시간 주기를 기준으로 전송한다. 주기적 전송은 crontab에 등록된 rsyslog 전송 명령어를 이용하여 구성한다.

4.정책 기반 자동 대응 구현
:SIEM 서버는 수집된 로그를 기반으로 자동 분석을 수행하며, 이상 행위 탐지 시 Wazuh의 ossec.conf 에 정의된 룰인 접근 시도 횟수 초과, 특정 포트 스캔 등에 대해 자동으로 차단 스크립트 실행한다.

5.보안 로그 수집 및 가시화 시스템 구축
:SIEM 서버를 중심으로 서버 및 보안 장비의 보안 로그를 수집·통합·시각화할 수 있게 Kibana 대시보드를 통해 침입 시도, 로그인 실패, 시스템 경고 등의 이벤트를 실시간으로 모니터링이 가능하게 한다.

6. 보안 운영의 확장성과 지속 가능성 확보
:시스템 구성요소는 Crontab, rsync, Wazuh 등 자동화 가능한 기술 중심으로 구성되어 있으며, 수동 개입 없이도 보안 탐지-분석-대응이 순환되도록 설계한다.
이를 통해 향후 확장, 정책 업데이트, 백업 서버 교체 등의 유지관리 작업이 간단히 이뤄질 수 있도록 하며, 실제 운영 환경에서도 안정적인 보안 정책 유지가 가능하도록 구현한다.
사용기술 및
개발환경
1. OS
- Kali-linux-2025.1a-vmware-amd64
- Rocky-8.10-x86_64-dvd1
- Windows 10 22H2 (OS 빌드 19045.5737)
- CentOS 6.10

2. DB
- Oracle Database 19c Enterprise Edition Version 19.3.0.0.0
- Oracle Instant Client 19c Basic Package Version 19.25.0.0.0
- Oracle Instant Client 19c SDK (Devel) Package Version 19.25.0.0.0
- Oracle Instant Client 19c SQL*Plus Package Version 19.25.0.0.0

3.WEB
- Apache HTTP Server Version 2.2.34
- PHP Version 7.4.33

4. Application
- VMware-workstation-full-17.6.3-24583834
- MobaXterm Version 25.1

5. UTM
- Sophos UTM Version 9.714-4.1

6.IDS
●Snort Version 2.9.20 GRE (Build 82)
- 설치 방식
: 수동 설치 (공식 웹사이트에서 .rpm 패키지 직접 다운로드 후 dnf 설치)
의존성 패키지 다수 설치 필요 (dnf, ln, epel 활용)
- 저장소 경로
: 직접 다운로드
https://snort.org/downloads/snort/snort-2.9.20-1.centos.x86_64.rpm
- 연동 대상:
Wazuh (Snort 로그 수집 및 경고 분석용)
rsyslog (Snort 로그를 시스템 로그처럼 전달)
Logstash / Elasticsearch / Kibana (SIEM 구성 내 분석 및 시각화용)

7. SIEM
● Wazuh-manager-4.12.0-1.x86_64
- 설치 방식: YUM 저장소 기반 dnf 패키지 설치 (RPM GPG 서명 포함)
- 저장소 경로:https://packages.wazuh.com/4.x/yum/
(레포지토리 설정 파일: /etc/yum.repos.d/wazuh.repo)
- 연동 대상:
Elasticsearch (로그 색인 및 저장용)
Kibana (보안 이벤트 시각화용)
rsyslog 또는 Filebeat (로그 수집기)
Crontab (주기적 로그 전송 자동화)

● Kibana-8.18.1-1.x86_64
- 설치 방식: YUM 저장소를 통한 패키지 설치
- 저장소 경로: https://artifacts.elastic.co/packages/8.x/yum
- 설치 명령어: dnf install -y kibana
- 연동 대상: Elasticsearch 8.18.1

● Elasticsearch-8.18.1-1.x86_64
- 설치 방식: YUM 저장소 기반 dnf 패키지 설치 (RPM GPG 키 등록 포함)
- 저장소 경로:https://artifacts.elastic.co/packages/8.x/yum
(레포지토리 설정 파일: /etc/yum.repos.d/elasticsearch.repo)
- 연동 대상: Kibana 8.18.1 (대시보드 시각화)
Logstash 8.18.1 (로그 파이프라인 구성)
Wazuh 4.12.0 (보안 이벤트 수집 및 분석)
rsyslog 또는 filebeat (로그 수집기)

● Logstash-8.18.1-1.x86_64
- 설치 방식: YUM 저장소 기반 dnf 패키지 설치
- 저장소 경로:https://artifacts.elastic.co/packages/8.x/yum
(Elasticsearch, Kibana와 동일 저장소)
- 연동 대상
: Wazuh (보안 경고 로그 수집: /var/ossec/logs/alerts/alerts.json)
Elasticsearch (로그 색인: wazuh-alerts-* 인덱스 형식으로 저장)
Kibana (시각화를 위한 인덱스 참조)

● Elasticsearch-8.18.1-1.x86_64

● Logstash-8.18.1-1.x86_64
KH정보교육원
  • 고용노동부 선정
  • 5년 인증 우수훈련기관 선정
  • 대한민국 브랜드 어워즈 대상
  • IT교육부문 4년 연속 대상 수상
  • 고용노동부
  • 장관 표창

빠른 상담

KH임직원은 수강생 한 분 한 분의 성공적인 취업을 위해 최선을 다하겠습니다.

No.1 국내 최대의 취업 실적을 보유한 KH정보교육원에 오신 것을 환영 합니다.
KH의 전 과정은 NCS(국가교육표준화)기준을 준수하며 100% 무료, 전액 국비지원을 받으실 수 있습니다.

교육희망 과정

희망과정 선택


세부 교육과정

전화 아이콘
  • 02-6952-6156
  • 전국대표문의전화(연중무휴)

교육희망 지점지점은 필수로 선택해주세요

신청자 정보

- -

기입 내용이 사실과 다를 시 상담 서비스가 원활하지 않을 수 있습니다.

02
6952
6156

대표문의
(연중무휴)

개강일정

개강일정

국비대상자 간편조회

국비대상자
간편조회

온라인 상담

온라인 상담

오시는길

오시는길

카톡 상담

카톡 상담

KH정보교육원
전국대표 문의전화
(연중무휴)

02-6952-6156

주말·공휴일에도 상담 및 접수 가능합니다.

  • 2023 당산지원

    5년 인증 우수
    훈련기관 선정

  • 2022 강남지원

    5년 인증 우수
    훈련기관 선정

  • 2022 종로지원

    5년 인증 우수
    훈련기관 선정

  • 2020 강남지원

    훈련 이수자 평가
    A등급 획득

  • 2020 종로지원

    훈련 이수자 평가
    A등급 획득

  • 2019 당산지원

    훈련 이수자 평가
    A등급 획득

  • 2019 IT교육부문

    브랜드 대상
    4년 연속 수상

  • 2018 당산지원

    4차 산업 선도
    훈련기관 선정

KH정보교육원 | 사업자등록번호 : 487-86-00763 | 사업자등록번호 : 851-87-00622 | 서울 강남 제2014-01호 | 대표자 : 양진선 | 책임자 : 양진선 |  개인정보관리책임자 : 양진선

강남지원 1관 : 서울특별시 강남구 테헤란로14길 6 남도빌딩 2F, 3F, 4F, 5F, 6F
강남지원 2관 : 서울특별시 강남구 테헤란로10길 9 그랑프리 빌딩 4F, 5F, 7F
강남지원 3관 : 서울특별시 강남구 테헤란로 130 호산빌딩 5F, 6F
종로점 : 서울특별시 중구 남대문로 120 그레이츠 청계(구 대일빌딩) 2F, 3F
당산점 : 서울특별시 영등포구 선유동2로 57 이레빌딩(구관) 19F, 20F
논현점 : 서울특별시 강남구 논현로 132길 9 마루빌딩 1F, 2F, 3F
부산점 : 부산 부산진구 중앙대로 627 삼비빌딩 2F, 12F