Rsyslog 설치 및 설정

Rsyslog 설치 및 설정

SplunkServer가 rsyslog server가 되고, 나머지는 로그를 전송하는 rsyslog client로 설정

=> 각 시스템에서 생긴 로그들을 서버에게 전송

=> 여기서 ZeekIDS나 WebServer는 리눅스 기반이기 때문에 Syslog가 돌아가고 있지만, Sysmon의 경우는 운영체제가 완전히 달라서 Agent를 설치해서 로그를 전송해야함


1. (Ubuntu : SplunkServer) rsyslog server 설치

0) 관리자로 들어가기

$ sudo su - root

1234

 

1) apt 업데이트 및 rsyslog 설치

# apt update

# apt-get install -y rsyslog # rsyslog 서버 설치

 

2) 환경설정(포트 활성화 : 514, 로그저장우치 지정)

# nano /etc/rsyslog/conf

=> 주석 해제

=> 새로운 코드 추가

=> 외부에서 들어오는 로그를 저장하는 저장소 지정

$template remote-incoming-logs, "/var/log/192.168.10.0/client.log"
*.*?remote-incoming-logs

주석 해제
새로운 코드 추가

#tail /etc/rsyslog.conf # 작성내용 확인

 

3) 방화벽 활성화

# ufw allow 514/tcp

# ufw allow 514/udp

# ufw reload

 

4) 서비스 활성화

#systemctl restart rsyslog

# systemctl status rsyslog

 

5) 설정확인

# cd /var/log

# ls -l

# cd /var/log/192.168.10.0

# cat client.log

 

2. (Ubuntu : ZeekIDS) rsyslog client 설치

0) 관리자로 들어가기

$ sudo su - root

1234

 

1) apt 업데이트 및 rsyslog 설치

# apt update

# apt-get install -y rsyslog

 

2) 환경설정(룰 생성)

# nano /etc/rsyslog/conf

=> 이곳은 클라이언트이기 때문에 udp, tcp 주석을 풀 필요가 없음

=> 새로운 코드 추가

*.*		@@192.168.10.10:514
*.*		@192.168.10.10:514

=> @은 udp, @@은 tcp

=> *.* @@192.168.10.10:514 - tcp 방식으로 전송

=> *.* @ 192.168.10.10:514 - udp 방식으로 전송

=> tcp는 실패하면 재전송함, udp는 실패하면 그냥 실패

 

#tail /etc/rsyslog.conf

 

3) 서비서 활성화

#systemctl restart rsyslog

# systemctl status rsyslog

=> 방화벽(ufw)은 서버만 여는 것

 

4) 설정 확인

Splunk로 이동하여 로그가 전송되었는지 확인

# cat client.log | grep zeekids

 

 

3. (Cent OS 7 : WebServer) rsyslog client 설치

1) rsyslog 설치 확인

# rpm -qa | grep rsyslog

 

2) hostname 설정

# hostname webserver

# systemctl restart rsyslog #설정 변경으로 인해 restart

 

3) 환경설정(룰 생성)

# nano /etc/rsyslog/conf

=> 이곳은 클라이언트이기 때문에 udp, tcp 주석을 풀 필요가 없음

=> 새로운 코드 추가

*.*		@@192.168.10.10:514
*.*		@192.168.10.10:514

 

#tail /etc/rsyslog.conf

 

4) 서비스 활성화

#systemctl restart rsyslog

# systemctl status rsyslog

 

5) 설정 확인

Splunk로 이동하여 로그가 전송되었는지 확인

# cat client.log | grep webserver