SK shieldus Rookies 16기 (클라우드기반 시스템 운영/구축 실무 #02)

만두다섯개·2024년 1월 4일
0

SK 루키즈 16기

목록 보기
41/52

주요 정보

  • 교육 과정명 : 클라우드기반 스마트융합보안 과정 16기
  • 교육 회차 정보 : '24. 01. 04. 모의해킹 실무 #02

학습 요약

  1. NSM, SMS 통합 => ESM => Advanced ESM => SEIM(Splunk)
  2. Network Maintenance Tools (NTP, SNMP, Syslog, Wireshark)

기초환경 세팅

목표 네트워크 환경

D드라이브에 SEIM 폴더 내 SplunkServer, Sysmon, WebServer, ZeekDS 를 생성한다.

아래와 같은 가상환경 파일을 다운로드

VMware Workstation 17 Pro (이하 VMware)
Ubuntu 20.04 - ubuntu-20.04.desktop-amd64.iso (이하 Ubuntu 20.04 이미지)
CentOS8 - CentOS-8-X86-1905-dvd.iso
Windows10 Download - 64 bit

네트워크 환경설정


SplunkServer 설치

VMware에 Ubuntu 20.04 이미지를 추가해 아래와 같은 설정으로 Ubuntu 설치

NAT
프로세서 2/2
40GB 용량

가상머신 추가 후, Network Adapter 에서 NAT 8 추가

이미지는 설치한 가상 이미지 사용

NAT08 번 선택

가상머신 실행

바탕화면의 Ubuntu 20.04 LTS 설치 - 기본 설정으로 설정

이름 : Splunk
컴퓨터 이름 : splunk
암호 : 1234

설치 완료 시, OS 재부팅.
네트워크 설정

Splunk Server (Ubuntu OS) 네트워크 설정값
IPv4 : 192.168.10.10
Netmask :255.255.255.0
GateWAY : 192.168.10.2
DNS : 192.168.10.2

이제 인터넷 연결이 가능하다.

우분투 패키지 저장소 사용

카카오에서 제공하는 우분투 패키지 저장소를 사용해 현재 우분투에 없는 패키지 목록을 비교해 없는 내용을 다운로드 받자.

터미널에서 sudo su 로 root 로 접속 후, 파이어폭스 브라우저에서 깃허브 우분투 패키지 저장소 위치를 가져와 /etc/apt/sources.list에 추가
sudo su -> root / 1234

apt update 명령어 우분투 패키지 업데이트

apt install -y net-tools
ifconfig 명령어 사용 툴

ifconfig 로 네트워크 설정 확인 가능.

ZeekDS 설치

(SplunkServer 설치) 방법과 동일하게 네트워크 및 가상 머신을 추가해준다.

ZeekIDS /1234



를 참고해 SplunkServer과 동일하게 apt update를 해주자.

apt update 이후 ifcofnig 명령어 사용 툴을 설치한다.

apt install -y net-tools
ifconfig 명령어 사용 툴

ifconfig 명령어로 IP 설정 확인 가능.

WebServer 설치

CentOS 7 설치
https://mirror.kakao.com/centos/7.9.2009/isos/x86_64/
경로에서 아래와 같은 ISO 이미지 다운로드 받는다.

Custom - Vmnet8 (NAT) 로 설정한다.
디스크에 다운로드 받은 CentOS7 ISO 이미지를 설정한다.

계정 생성
1q2w3e4r! / 1q2w3e4r!
사용자 생성

Synmon 설치

NTP 설정

위사진과 같이 1개의 NTP 서버, 3개의 NTP 클라이언트의 시간 동기화를 위해 NTP를 서버-클라이언트 관계로 설정한다.

1. SplunkServer NTP Client Installation

SplunkServer를 NTP 서버로 설정한다.
NTP 서버 설정 목적으로 기준이 되는 NTP Pool을 설정해야한다.
https://www.ntppool.org/zone/kr
위 주소를 참고해 기준이 되는 NTP Pool을 가져와 설정한다.

pool.ntp.org 이름들은 매 시간마다 변하면서 임의의 서버들을 지정

SplunkServer로 사용하는 Ubuntu OS에 접속한다.

#apt update
#apt-get install -y ntp
#sntp --version

#nano /etc/ntp.conf 에서 NTP Pool 변경 (Ctrl + o 저장 및 Ctrl + x 로 나가기)

server 1.kr.pool.ntp.org iburst
server 2.asia.pool.ntp.org iburst
server 3.asia.pool.ntp.org iburst

NTP 서버 재기동 및 상태 확인

방화벽 설정
NTP를 위해 SplunkServer로 사용하는 Ubuntu OS에서 123 UDP 포트를 개방한다.

#ufw enable
#ufw allow from any to any port 123 proto udp
#ufw status

설정된 시간 확인

#ntpq –p // 현재 동기화중인 NTP 서버정보를 출력
#date –R // 리눅스 날짜 명령어
#timedatectl //현재 날짜, 시간, 타임존, 타임서버와의 동기화 여부를 모두 확인 가능

Stratum

Stratum란? 원자시계로부터 시간을 받아 전달하는 장비

2. ZeekIDS NTP Client Installation

ZeekIDS로 사용하는 Ubuntu OS에 접속한다.
ntpdate 설치

#sudo su
#apt-get install ntpdate

호스트 파일에서 NTP 서버의 IP 및 호스트 이름 지정

#nano /etc/hosts 에서 192.168.10.10 splunkserver 로 추가


NTP 서버와 동기화되었는지 확인

#ntpdate splunkserver

systemd timesyncd 서비스 비활성화

timedatectl set-ntp off

  • 시스템 시간(리눅스 커널시간 또는 소프트웨어시간) 동기화를 비활성화
  • 해당 시스템에서 사용중인 시스템 시간을 OFF해 NTP로부터 시간을 사용한다.

동기화 시간 확인

3. WebServer NTP Client Installation

CentOS7에서도 시간 동기화는 chrony로 진행한다.
유선 인터넷이 켜져있는지 확인한다.

터미널 접속 후

su - // root 로 권한상승
• Redhat 계열 리눅스 기본 시간 동기화 프로그램

<< chrony 사용법>>

  • CentOS 7에 기본적으로 설치되어있다.
  • 설정 파일에 해당 지역의 NTP 서버 등록
  • chrony 서비스 재시작
  • 시간 동기화 적용 확인, NTP 서버 동작 확인

rpm -qa | grep chrony // 현재 설치 목록에 chrony 확인

NTP 호스트명 등록

gedit /etc/hosts

NTP 서버 등록

gedit /etc/chrony.conf

chronyd 서비스 활성화와 상태 확인

#systemctl restart chronyd
#systemctl status chronyd

4. Synmon NTP Client Installation

Synmon로 사용하는 Win10에서 NTP 설정해보자.
메모장을 관리자권한으로 생성 후, 아래의 hosts 파일내용을 작성하고, ~/etc 내부에 덮어쓰기 한다. 이때 파일이름은 hosts.txt가 아닌 hosts로 설정.


제어판 - 시계 및 국가 - 날짜 및 시간 - 인터넷 시간, 설정 변경에서 spunkserver 또는 192.168.10.10 을 설정 후 업데이트 확인하고, 시간을 설정한다.

NTP 설정 확인
C드라이브에서 아래와 같은 명령어로 NTP 확인

w32tm /query /satus
w32tm /dumpreg /subkey:parameters

이로써 NTP가 아래 사진과 같이 설정되었다.

profile
磨斧爲針

0개의 댓글