구축환경
CentOS 7.6 Minimal - (www.centos.org)
VirtualBox 7.0 - (www.virtualbox.org)
Loganalyzer 4.1.13 - (https://loganalyzer.adiscon.com/download/)
rsyslog
MariaDB
HTTP
알고가기
Loganalyzer는 리눅스기반이며 php 언어로 이루어져 있다.
로그(log) - 어떤 사건(이벤트)에 대한 기록을 남겨두는 것
보안로그 - 보안 사건(이벤트)에 대한 기록을 남겨두는 것
[탐지]
정탐(패턴에 의거하여 정확하게 패턴을 인지하는 것)
오탐(실제 패턴을 정상적인 트래픽으로 인지 혹은 정상적인 패턴인데 악의적인 트래픽이라 인식하는 것)
미탐(탐지기능이 죽어있는 것)
[로그 레벨]
Trace > Debug > INFO > WARN > ERROR > FATAL
Trace -> log4j에서 신규로 추가됨
DEBUG(버그를 없애는 작업) -> 개발 시 디버그 용도로 사용한 메시지를 나타냄
INFO -> 로그인, 로그아웃 등의 상태 변경과 같은 정보성 메시지를 나타냄
WARN -> 처리 가능한 문제지만 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지를 나타냄
ERROR -> 요청을 처리하는 중 문제가 발생한 상태에 대한 메시지를 나타냄
FATAL -> 아주 심각한 에러를 발생한 상태에 대한 메시지를 나타냄
wget이란?
웹 서버로부터 콘텐츠를 가져오는 컴퓨터 프로그램으로, GNU 프로젝트의 일부이다. 이 프로그램의 이름은 www과 get에서 가져온 것이다. HTTP, HTTPS, FTP 프로토콜을 통해 내려받기를 지원한다.
현재 내가 사용할 머신들은 지난 포스팅들로 인해 모두 rsyslog, mariadb, http는 설치가 되어 있는 상태이다. 따라서 해당 과정은 생략하고 진행하겠다.
이번 구축 연습은 아래와 같은 순서로 진행된다.
1. rsyslog
2. database
3. loganalyzer 설치 및 DB연동
yum install -y rsyslog-mysql → rsyslog-mysql 설치
yum install -y php php-mysql → php, php-mysql 설치
cd /usr/share/doc/rsyslog-8.24.0 → /usr/share/doc/rsyslog-8.24.0 로 이동해보면 mysql-createDB.sql 파일이 생성된 것을 볼 수 있음
DB 및 rsyslog 설정
mysql -u root -p < /usr/share/doc/rsyslog-8.24.07/mysql-createDB.sql → 명령어 실행 후 비밀번호 입력
mysql -u root -p → 데이터베이스 접속
show databases → 데이터베이스 목록 불러온 후 Syslog 데이터베이스가 있는지 확인
grant all on Syslog.* to 'rsyslog'@'localhost' identified by 'password'; → 권한부여
flush privileges; → 저장
exit → 나가기
cp /etc/rsyslog.conf /etc/rsyslog.conf.org → rsyslog.conf 파일을 rsyslog.conf.org로 복사 (cp= copy)
vi /etc/rsyslog.conf → rsyslog.conf 파일 vi 모드 진입
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
15번, 16번, 19번, 20번 확인하기
(혹시 주석처리가 되어있다면 주석(#)을 제거하라는 뜻이다.)
모듈추가
22번$ModLoad ommysql
23번*.*:ommysql:192.168.10.10,Syslog,rsyslog,비밀번호
wq! → 저장 후 나가기
systemctl restart rsyslog→ rsyslog 재시작
adiscon loganalyzer 다운로드 페이지에서 받고싶은 버전을 클릭한다. 나는 최신버전을 받아보겠다.
그러면 새로운 창이 뜨면서 다운로드를 받을 수 있는 링크가 보이는데, 우리는 리눅스 머신에 wget으로 설치해야하기 때문에 일단 개발자 도구를 열어 링크를 확보한다.
그다음 Copy → Copy element 순서로 카피한 뒤 아래와 같이 메모장에 붙여넣기 한다.
블럭 설정한 부분만 복사
yum install -y wget→ wget 설치
● 일단 일반 리눅스 서버의 경우에는 윈도우에서 복사한 내용을 바로 붙여넣기가 불가능하다.
그래서 Putty로 원격접속을 하여 진행했다. Putty는 복붙 가능.(윈도우에서 내용 복사한 뒤, Putty 창에서 우클릭하면 붙여넣기 됨)
wget https://download.adiscon.com/loganalyzer/loganalyzer-4.1.13.tar.gz -P /tmp
→ 위 명령어로 tmp폴더 밑에 설치시작
tmp 디렉토리로 가보면 다운로드가 된 것을 확인할 수 있다.
tar -xzvf /tmp/loganalyzer-4.1.13.tar.gz -C /tmp → tmp 폴더에 압축해제
확인해보면 압축해제된 것을 볼 수 있다.
mkdir /var/www/html/loganalyzer → /var/www/html/ 밑에 loganalyzer 디렉토리 생성해주기
cp -r /tmp/loganalyzer-4.1.13/src/* /var/www/html/loganalyzer → /var/www/html/loganalyzer 밑에 /tmp/loganalyzer-4.1.13/src/밑에 있는 모든 파일 복사
cp /tmp/loganalyzer-4.1.13/contrib/configure.sh /var/www/html/loganalyzer → /var/www/html/loganalyzer 밑에 /tmp/loganalyzer-4.1.13/contrib/밑에 configure.sh 파일 복사
cd /var/www/html/loganalyzer → /var/www/html/loganalyzer로 이동
bash ./configure.sh → bash cell로 configure 스크립트 실행
chcon -h -t httpd_sys_script_rw_t config.php → 권한연결(웹서비스에 대한 스트립트를 읽고 쓸 수 있는 권한을 가져서 연결할 수 있도록한다)
chcon 명령어를 실행하면 현재는 오류가 나는데 이 오류에 대해서 조금 더 알아봐야할 것 같다.
rsyslog 514번 포트 열어주기
firewall-cmd --permanent --add-port=514/tcp
firewall-cmd --permanent --add-port=514/udp
firewall-cmd --permanent --reload → 재시작
웹을 열어서 머신IP주소/loganalyzer 를 입력하면 해당 화면이 뜬다.
here 버튼 클릭
1. Enable User Database에 Yes 버튼을 누른다.
2. Database Name에 우리 DB이름 Syslog 입력
3. Table prefix에는 Syslog 밑에 있는 테이블 이름인 'SystemEvents' 입력
4. Database User은 우리가 아까 권한 설정을 한 'rsyslog' 입력
5. Databases Password에는 비밀번호입력
NEXT
여기서는 Loganalyzer에 로그인 하기위한 어드민 계정을 만들어주는 것이다.
쉽게 설명하자면 간편한 회원가입이라고 생각하면 될거 같다.
자신이 원하는 Username과 Password를 입력해준 뒤 Next.
1. Source Type을 MYSQL Native로 변경
2. Database Name을 Syslog
3. Database Tablename을 SystemEvents
4. Database User을 rsyslog
5. Database Password는 비밀번호 입력
Finish 버튼을 누르고 완료
완료가 되면 이제 Loganalyzer이 잘 구축되어서 시스템에서 발생하는 이벤트를 웹상에서 쉽게 확인할 수 있게 된다.
'정보보안실무 > 서버, 클라우드' 카테고리의 다른 글
S-Part. 14 utmp, wtmp, btmp와 각종 명령어들 - [인스테도뷰] (0) | 2023.03.20 |
---|---|
S-Part. 13 Zabbix 구축하기 - [인스테도뷰] (0) | 2023.03.20 |
S-Part. 11 DNS 구축하기 - [인스테도뷰] (0) | 2023.03.19 |
S-Part. 10 Log서버와 클라이언트 구축하기(rsyslog, loganalyzer) - [인스테도뷰] (0) | 2023.03.18 |
S-Part. 09 NFS 서버와 클라이언트 구축하기 - [인스테도뷰] (0) | 2023.03.18 |