본문 바로가기
Security/SK 쉴더스 루키즈 23기

[클라우드 기반 시스템 운영 & 구축 실무] 로그 수집 및 분석

by seoyamin 2025. 4. 11.

1. CloudWatch

  • EC2와 같은 리소스로부터 생성된 로그를 Watch로 수집
  • 리소스(CPU, Memory, HDD 등)의 사용량 정보를 수집

 

1.1. CloudTrail vs. CloudWatch

  • 사용자 행위 정보 로그 (로그인, 로그아웃, 정책생성 등) : CloudTrail
  • 시스템 행위 정보 로그 (EC2, RDS 등) : CloudWatch

 

1.2. CloudWatch 실습

(1) IAM > Role > Create Role

  • EC2
  • CloudWatchAgentServerPolicy

 

(2) IAM > User > Security Credential > Access Key 생성

 

 

(3) EC2 환경 설정

3-1) EC2 생성

3-2) IAM Role 연결

3-3) 다운로드

yum install httpd -y
yum install amazon-cloudwatch-agent -y
yum install collectd -y

 

 

3-4) httpd 실행

systemctl start httpd

 

 

3-5) aws cli 설정

 

3-6) Agent 설정

/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard 입력하여 agent 마법사 실행

/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizard

 

위 메시지 나오면 만든 role 이름 넣고 쭉 엔터 누르기. 아래 메시지가 출력되면 성공 Successfully put config to parameter store final_2024. Program exits now.

 

[agent 설정 확인]

/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json

 


2. Splunk Log

(1) 사전 준비

ubuntu 및 kali (둘다 MEMORY 4gb 이상 설정)

 

(2) splunk 설치

# kali 기준
dpkg -i splunk-9.1.2-b6b9c8185839-linux-2.6-amd64.deb

 

(3) splunk 활성화

# kali 기준
cd /opt/splunk/bin

./splunk enable boot-start

q하고 id, pw 설정

./splunk start

http://kali:8000 접속

 

(4) index 생성

 

(5) index 구성

# kali 기준
cd /opt/splunk/etc/system/local

mousepad inputs.conf

 

 

input.conf에 아래 내용 입력

[splunktcp://9997]
disabled = false

 

cd /opt/splunk/bin

./splunk restart 로 input.conf 실행

 

 

(6) forwarder를 타겟 시스템에 설치

1. forwarder가 있는 경로에서 아래 명령어 실행

python3 -m http.server 8080

 

2. 우분투에서 파이어폭스 실행 후 kaliip:8080 으로 접속 후 deb 파일 받기

 

3. 우분투에서 forwarder 설치

apt install curl -y
dpkg -i ~~~ .deb

 

4. inputs.conf, outputs.conf 생성

mousepad inputs.conf
[monitor:///var/log/apache2/access.log]
disabled = false
index = logtest >>splunk 서버에서 만든 index이름 넣기
sourcetype = apache_log >> db로 치면 table을 생성

 

[monitor:///var/log/apache2/error.log]
disabled = false
index = logtest
sourcetype = error_log

 

mousepad outputs.conf
[tcpout]
defaultGroup = my_splunk : 그룹 이름
[tcpout:my_splunk]
server = 192.168.111.128:9997 >>>splunk serverIP:포트

 

 

(7) splunkforwarder 실행

cd /opt/splunkforwarder/bin
./splunk start >>> q >> y 입력 >> id pw 입력 후 enter