수강생 프로젝트

수강생 프로젝트

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

rsyslog를 활용한 로그 관리 시스템 구축 및 분석

프로젝트 발표날짜 : 2025. 09. 05

KH IEI PROJECT
 
DMJ

(정보시스템구축)정보시스템 구축·운영 기반 정보보안 전문가 양성과정(2) 종일

팀장/팀원 임**(팀장) : 네트워크 및 시스템 구축 담당 주요 역할: 가상 네트워크 환경을 구축하고, 서버들을 네트워크에 연결하며, 프로젝트 전반의 문서를 작성한다. 상세 업무: 1. VMware 환경 구축: VMware Workstation을 이용하여 7대의 가상 PC를 생성한다. 각 PC에 운영체제(Rocky Linux 8, Windows 10)를 설치하고, IP 주소를 설정하여 외부망, 내부망, DMZ로 네트워크 대역을 분리한다. 라우터: DMZ, VMnet2 - 192.168.20.1, 내부망, VMnet3 - 192.168.30.1, 외부망, Bridged - 192.168.10.169 내부망 PC: 로그 서버 - 192.168.30.2, DB 서버 - 192.168.30.3, NFS 서버 - 192.168.30.4, 직원 PC - 192.168.30.5 DMZ PC: 웹서버 - 192.168.20.2, DNS 서버 - 192.168.20.3 2. 라우팅 및 통신 설정: 라우터 PC에 NIC 2개를 설정하고, 두 네트워크 대역 간의 통신이 가능하도록 정적 라우팅 규칙을 설정한다. iptables를 사용해 외부망, DMZ, 내부망 간 트래픽을 제어하고, 외부에서 내부망으로의 직접적인 접근을 차단한다. ping명령어를 사용하여 모든 PC 간의 네트워크 통신을 점검하고 확인한다. 3. NFS/Samba 구축: 내부망에 NFS 서버를 구축한다. NFS 서버의 exports 파일에 공유할 디렉터리를 설정하고 접근 권한을 명시해서 웹서버의 백업 시스템을 구축한다. 또한, Samba 서비스를 설치하고 smb.conf 파일을 수정하여 Windows 기반 직원 PC와의 웹 서버간 파일 공유 시스템을 구축하고 사용자 계정과 접근 권한을 설정한다. 4. 문서화: 프로젝트 기획부터 구현, 결과까지 모든 과정을 단계별로 상세하게 기록한다. 네트워크 구성도, 설정 파일 내용, 테스트 결과 등을 문서에 포함하여 체계적으로 관리한다.
김** : 웹 서비스 및 데이터베이스 관리 담당 주요 역할: 프로젝트의 핵심 데이터베이스를 관리하고 웹 서버와 연동한다. 상세 업무 1. 내부망 DB 서버 구축 및 연동 테스트 내부망에 DB 서버를 구축한다. 외부 접근 차단, 웹 서버 IP만 접속을 허용한다. apache 웹서버에서 접근할 데이터베이스와 사용자를 설정하고, 로그인 정보를 저장할 테이블을 생성한다. 방금 로그인한 기록(사용자 이름, 로그인 시간, 접속 서버의 IP 주소)이 성공적으로 저장되어 있는지 확인한다. 2. Apache 웹 서버 구축 및 기능 테스트 Apache 설치 및 구동을 확인한다 DB서버의 데이터베이스와 연동하여 웹 페이지를 서비스하고 로그인 처리를 한다. 서버 보안 설정 및 웹 페이지 기능을 검증한다. 3. 웹사이트 제작 로그인 처리를 담당하고 데이터베이스에 기록할 PHP 스크립트를 생성한다. 사용자 로그인을 위한 HTML 폼을 생성한다. 사이트에 입력된 값를 데이터 베이스 서버와 연동시킨다.
이** : 주요 역할: DNS server를 구축하고 각종 서버의 로그를 관리 및 백업한다. 상세 업무: 1. DNS server를 설치 및 구성하여 누구나 도메인(dmjcorp.dmj)으로 Apache web server(192.168.20.2)에 접근 가능하도록 한다. /etc/named.conf 파일을 수정한다. /var/named/dmjcorp.dmj.zone 파일을 생성하여 Authoritative server를 구성한다. 도메인으로 Apache web server에 정상적으로 접근할 수 있는지 확인한다. 2. rsyslog를 사용하여 로그를 관리 및 백업한다. rsyslog server의 /etc/rsyslog.conf 파일을 수정하여 각종 로그를 전달받을 tcp port를 설정한다. rsyslog client들의 /ect/rsyslog.conf 파일을 수정하여 로그를 전송할 호스트의 아이피(rsyslog server), 전송방식과 포트번호(514)를 설정한다. Apache web server의 경우 시스템 로그를 제외한 web server 로그만을 수집하여 rsyslog server에 전달하도록 설정한다. 로그 분석 툴 ‘goaccess’를 이용하여 수집한 web server 로그를 기반으로 자동으로 리포트를 작성할 수 있도록 셸 스크립트를 작성한다. 반복적인 404 에러 발생 또는 반복적인 로그인 실패 발생 시 알림을 띄울 수 있도록 셸 스크립트를 작성한다. 셸 스크립트들이 주기적으로 실행될 수 있도록 crontab으로 스케줄을 등록한다. DB server의 경우 느린 쿼리 로그를 활성화한 후 느린 쿼리 로그를 rsyslog server에 전달하도록 설정한다. DB 로그 분석 툴 ‘pt-query-digest’를 이용하여 성능에 영향을 미치는 쿼리 또는 자주 사용되는 쿼리를 리포트할 수 있도록 한다. ‘pt-query-digest’가 주기적으로 리포트를 생성할 수 있도록 crontab으로 스케줄을 등록한다.
개요 이 프로젝트는 통합 로그 관리 시스템 구축 및 관리를 목표로 한다. 단순히 시스템을 구축하는 것을 넘어, 실제 기업 환경에서 여러 서버로부터 발생하는 방대한 양의 로그를 rsyslog를 이용해 한곳에 모으고, 이를 체계적으로 분석하여 가치 있는 정보를 추출하는 것에 중점을 둔다. 이를 통해 로그의 중요성을 인지하고, 실무에서 필수적인 로그 수집 및 관리 역량을 기를 수 있다. 분석 툴 없이 로그 파일을 직접 확인하고 필터링하는 과정을 통해 시스템 상태와 잠재적 위협을 파악하는 데 집중한다.
VMware를 이용해 외부망, DMZ, 내부망으로 나뉜 가상의 회사 네트워크를 구성한다. 웹서버, DNS서버, NFS서버 등 각 역할을 담당하는 서버에서 발생하는 로그를 전용 로그 서버로 실시간 전송한다. 이 과정을 통해 시스템의 상태, 보안 위협, 그리고 침해 사고의 흔적을 파악하는 일련의 과정을 직접 경험하게 된다.
구현기능 네트워크 환경 구축: VMware Workstation을 이용해 7대의 가상 PC를 생성하고 네트워크를 설정한다.
• 로그 서버 위치: 로그 서버는 보안을 위해 내부망(192.168.30.0/24)에 위치한다.
네트워크 구성:
• 외부망(192.168.10.0/24): Host PC와 연결
• 내부망(192.168.30.0/24): 라우터, NFS 서버, DB 서버, 로그 서버, 직원 PC
• DMZ(192.168.20.0/24): 라우터, 웹 서버, DNS 서버

로그 중앙 집중화: rsyslog를 사용하여 웹 서버, NFS 서버 등에서 발생하는 로그를 로그 서버로 실시간 전송한다.
로그 필터링 및 관리: 로그 서버에 수집된 로그를 용도에 맞게 분류하고 저장하는 규칙을 설정한다.
로그 분석 : 수집된 로그를 분석하고 GoAccess와 같은 도구를 사용하여 보고서를 작성한다.
이상 징후 관리: 웹 디렉토리 스캐닝에 따른 다수의 404 에러 발생 등 보안 위협이 될 수 있는 로그 패턴을 로그 파일에서 직접 식별하는 방법을 익힌다.
알림 시스템 구현: 셸 스크립트를 사용하여 특정 이벤트(예: 404 에러의 반복적인 발생)가 발생했을 때 이를 감지하여 관리자에게 알려주는 시스템을 구축한다.네트워크 보안 강화: iptables를 사용해 라우터에서 외부망, DMZ, 내부망 간 트래픽을 제어하고, 외부에서의 불필요한 접근을 차단한다. MariaDB 포트(3306), HTTP(80), HTTPS(443) 포트 등 필요한 서비스 포트만 외부로 개방한다
시스템 보안 강화: 프로세스나 사용자가 자신의 권한을 벗어나 시스템 자원에 접근하는것을 제어한다. 웹서버와 브라우저간의 모든 통신을 SSL/TLS프로토콜을 사용하여 함호화한다
웹서비스 보안 강화: 사용자 비밀번호를 데이터베이스에 해싱하여 저장한다. 관리자 권한을 분리하여 일반사용자가 데이터베이스에 접근하지 못하도록 제한한다.
데이터베이스 보안 강화: 입력 유효성을 검사하고 SQL injection을 방지한다. 웹페이지에 사용자가 입력값을 출력할 떄 함수를 사용하여 XSS공격을 방지한다. 민감한 작업을 처리하는 POST요청에 일회용 CSRF토큰을 포함하고,서버에서 토큰을 검증한다.
세션 보안 강화: 쿠키 전달, 접근제어, 연결제한을 두어 PHP 세션탈취 및 세션고정 공격을 방지하여 사용자계정의 무단사용을 막는다.
설계의 주안점 네트워크 분리: 보안을 위해 웹 서비스가 위치한 DMZ와 내부 PC 및 로그 서버가 위치한 내부망을 물리적으로 분리한다.

기능별 서버 분리: 웹 서버, DB서버, DNS 서버, NFS 서버, 로그 서버를 각각 별도의 PC에 두어 서비스 간의 의존성을 명확하게 이해할 수 있도록 한다.

점진적 접근: 로그 중앙 집중화와 같은 기본적인 기능을 먼저 완성한 후, 로그 분석 및 알림 시스템과 같은 고급 기능을 순차적으로 추가한다.

효율적인 로그 관리: rsyslog와 GoAccess와 같은 도구를 사용하여 단기간에 가시적인 성과를 보여줄 수 있도록 설계한다.

보안 강화: 웹서버 및 DB서버 등 공격에 취약한 부분을 보안한다.
사용기술 및
개발환경
운영체제:
- 서버: Rocky Linux 8
- 클라이언트: Windows 10
가상화 도구: VMware Workstation Pro 17
주요 기술 및 역할
- mariadb: 데이터 저장
- rsyslog: 로그 수집기
- Apache: 로그 생성기
- GoAccess : 로그 분석 및 보고서 생성
- 셸 스크립트: 자동화, 알림 구현, 로그 필터링 및 분석
- iptables: 라우터의 방화벽 역할
이전글DateBase
KH정보교육원
  • 고용노동부 선정
  • 5년 인증 우수훈련기관 선정
  • 대한민국 브랜드 어워즈 대상
  • IT교육부문 4년 연속 대상 수상
  • 고용노동부
  • 장관 표창

빠른 상담

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

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

교육희망 과정

희망과정 선택


세부 교육과정

전화 아이콘
  • 1544-9970
  • 전국대표문의전화(연중무휴)

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

신청자 정보

- -

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

1544
9970

대표문의
(연중무휴)

개강일정

개강일정

국비대상자 간편조회

국비대상자
간편조회

온라인 상담

온라인 상담

오시는길

오시는길

카톡 상담

카톡 상담

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

1544-9970

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

  • 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
종로점 : 서울특별시 종로구 우정국로2길 21 대왕빌딩 3F, 5F (1호선 종각역 4번 출구 91m 도보 1분 거리)
논현점 : 서울특별시 강남구 논현로 132길 9 마루빌딩 1F, 2F, 3F
부산점 : 부산 부산진구 중앙대로 627 삼비빌딩 2F, 12F