- NSM, SMS 통합 => ESM => Advanced ESM => SEIM(Splunk)
- 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
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
이제 인터넷 연결이 가능하다.
카카오에서 제공하는 우분투 패키지 저장소를 사용해 현재 우분투에 없는 패키지 목록을 비교해 없는 내용을 다운로드 받자.
- deb http://ftp.daumkakao.com/ubuntu/ focal main
deb http://archive.ubuntu.com/ubuntu/ focal main- deb http://ftp.daumkakao.com/ubuntu/ focal universe
deb http://archive.ubuntu.com/ubuntu/ focal universe- deb http://ftp.daumkakao.com/ubuntu/ focal multiverse
deb http://archive.ubuntu.com/ubuntu/ focal multiverse- deb http://ftp.daumkakao.com/ubuntu/ focal restricted
deb http://archive.ubuntu.com/ubuntu/ focal restricted
터미널에서 sudo su 로 root 로 접속 후, 파이어폭스 브라우저에서 깃허브 우분투 패키지 저장소 위치를 가져와 /etc/apt/sources.list에 추가
sudo su -> root / 1234
apt update 명령어 우분투 패키지 업데이트
apt install -y net-tools
ifconfig 명령어 사용 툴
ifconfig 로 네트워크 설정 확인 가능.
(SplunkServer 설치) 방법과 동일하게 네트워크 및 가상 머신을 추가해준다.
ZeekIDS /1234
를 참고해 SplunkServer과 동일하게 apt update를 해주자.
apt update 이후 ifcofnig 명령어 사용 툴을 설치한다.
apt install -y net-tools
ifconfig 명령어 사용 툴
ifconfig 명령어로 IP 설정 확인 가능.
CentOS 7 설치
https://mirror.kakao.com/centos/7.9.2009/isos/x86_64/
경로에서 아래와 같은 ISO 이미지 다운로드 받는다.
Custom - Vmnet8 (NAT) 로 설정한다.
디스크에 다운로드 받은 CentOS7 ISO 이미지를 설정한다.
계정 생성
1q2w3e4r! / 1q2w3e4r!
사용자 생성
위사진과 같이 1개의 NTP 서버, 3개의 NTP 클라이언트의 시간 동기화를 위해 NTP를 서버-클라이언트 관계로 설정한다.
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란? 원자시계로부터 시간을 받아 전달하는 장비
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로부터 시간을 사용한다.
동기화 시간 확인
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
Synmon로 사용하는 Win10에서 NTP 설정해보자.
메모장을 관리자권한으로 생성 후, 아래의 hosts 파일내용을 작성하고, ~/etc 내부에 덮어쓰기 한다. 이때 파일이름은 hosts.txt가 아닌 hosts로 설정.
제어판 - 시계 및 국가 - 날짜 및 시간 - 인터넷 시간, 설정 변경에서 spunkserver 또는 192.168.10.10 을 설정 후 업데이트 확인하고, 시간을 설정한다.
NTP 설정 확인
C드라이브에서 아래와 같은 명령어로 NTP 확인
w32tm /query /satus
w32tm /dumpreg /subkey:parameters
이로써 NTP가 아래 사진과 같이 설정되었다.