이 영역을 누르면 첫 페이지로 이동
우당탕탕 보안이야기 블로그의 첫 페이지로 이동

우당탕탕 보안이야기

페이지 맨 위로 올라가기

우당탕탕 보안이야기

- 모의 해킹 - 취약점 분석/진단 - AWS

[2] Linux에 ELK 환경구축(Losgstash)

  • 2022.08.27 00:49
  • OS/Linux X
반응형

-2022.08.27-

ELK 환경 구축

Elasticsearch Logstash Kibana

ELK


이전편은 아래 링크로!

[1]Linux에서 ELK환경 구축

 

실습 설명

여러가지 데이터들을 적재해보고 Logstash까지 설치후 패턴까지 생성해본다

 

 

 

실습 시작

 

 

 

 

Kibana 기능
Dev Tools
Dev Tools의 Console

 

 

Dev Tools에서 콘솔창을 열면 해당 명령문에 여러가지 규칙, 변수, 필터링등을 저장할 수 있다.

 

elasticsearch.yml

일반 유저계정에서 루트계정으로 전환 후 elasticsearch.yml파일을 열어 수정해준다.

Network 영역에서 network.host에는 이제 외부에서 접근이 가능하도록 0.0.0.0으로 수정하고

http.port는 9200으로 수정.

 

Discovery 영역에서 discovery.seed_hosts 앞에 있는 주석을 제거하여 위와 동일하게 세팅한다.

 

sudo su
//Enter the Password
cd /etc/elasticsearch
ls
vim elasticsearch.yml

 

 

외부에서 접속가능

IP 192.168.20.132를 입력하면 이제 외부에서도 쉽게 접속 할 수 있다. :)

 

external connected

외부에서도 이제 접속이 가능하다. :)

키바나는 바로 접속이 가능한것이 아니니 조금 기다렸다 접속해보자 :)

 

 

접속완료

 

 

엘라스틱서치와 키바나에 이제 외부로 접속 할 수 있다.

 

벌크를 이용해 데이터를 적재해 보자..

 

Dev Tools에서 콘솔로 들어가 명령어를 추가해준다.

POST _bulk
{ "index" : { "_index" : "test", "_id" : "1" } }
{ "name" : "ngnicky", "age" : 20, "gender": "M" }
{ "index" : { "_index" : "test", "_id" : "2" } }
{ "name" : "1111", "age" : 20, "gender": "M" }
{ "index" : { "_index" : "test", "_id" : "3" } }
{ "name" : "2222", "age" : 20, "gender": "M" }

그리고 조금전 root 터미널에서 명령어를 이용해준다.

curl -O https://download.elastic.co/demos/kibana/gettingstarted/8.x/shakespeare.json
cat shakespeare.json | more

 

적재 중

어느정도 적재가 되었으면 빠져나와준다.

 

shakespeare 입력

실행까지  꼭 해주자!

그리고 다시 dev tools로 가 그 밑 줄에 위와 같이 입력해준다.

PUT /shakespeare?pretty
{
  "mappings": {
    "properties": {
    "speaker": {"type": "keyword"},
    "play_name": {"type": "keyword"},
    "line_id": {"type": "integer"},
    "speech_number": {"type": "integer"}
    }
  }
}

그리고 root 터미널로 이동해서 아래 명령어를 입력!

curl -H 'Content-Type: application/x-ndjson' -XPOST '127.0.0.1:9200/shakespeare/_bulk?pretty' --data-binary @shakespeare.json

 

dir 생성

그리고 디렉토리가 생성된 것을 확인할 수 있다

 

 

패턴 생성

빨간 1번 박스를 누른 뒤 키바나에서 Index Patterns을 누르고 Create index pattern을 눌러준다.

패턴 이름은 shakespeare로 지정한다. 

 

 

Discover

 

이후에는 디스커버에서 해당 이름으로 시작되는 것들을 모두 모아서 확인 할 수 있다.

 

curl account.zip

루트 터미널로 돌아와 curl 명령어를 입력하여 account.zip을 다운받고 ls로 파일 목록까지 보아 확인한다.

curl -O https://download.elastic.co/demos/kibana/gettingstarted/8.x/accounts.zip
ls

 

zip해제

unzip명령어로 압축을 해제한다.

unzip accounts.zip

 

패치

엘라스틱에서 확인 할 수 있게 명령어를 입력하여 패치 한다.

curl -H 'Content-Type: application/x-ndjson' -XPOST '127.0.0.1:9200/bank/_bulk?pretty' --data-binary @accounts.json

 

 

 

bank 적재된것을 확인

bank 디렉터리가 적재된것을 확인 할 수 있다.

 

패턴생성

 

다시 돌아와 bank 패턴을 생성한다.

 

Dashboard Edit

대시보드로 들어가 좌측 상단의 Edit을 눌러준다.

 

 

Create new

Create new를 클릭해준다.

 

 

New Visualization

비쥬얼라이제이션에서 데이터 테이블을 누른다.

 

 

Metrics

 

Metrics II

위 처럼 매트릭스 옵션들을 수정해준다.

 

Import a CSV

Home으로 돌아와 데이터를 업로드 한다.

 

csv 업로드

 

파일 형식은 위에서 보이듯 csv,ndjson or log file 이 가능하다.

csv 파일로 업로드를 할텐데 무조건 csv파일이 되는것은  아니다. 한글이나 기타 폰트가 깨지지 않게 uft로 변환을 한번 해주어야한다.

CSV UTF-8

파일 변환을 해준다.

 

 

import

임포트를 눌러 데이터를 업로드한다.

 

hospital

최종적으로 이름을 입력하고 잠시 기다려준다.

 

Logstash 기반 구성

이제 Logstash 기반을 구성해보려고 한다.

ELK에 로그 스태시 서버를 만들어줘야하는데 ELK가 자바 환경이라 그것에 맞춰줘야한다.

apt update
apt-get install default-jre apt-transport-https wget gnupg ntpdate

 

java.sh

이후 구성 환경에 맞추기 위해 java.sh를 만들어 편집에 주어야한다.

vim /etc/profile.d/java.sh

위 명령어를 이용하여 경로로 이동하여 내용을 아래의 명령어로 채운다.

 

#/bin/bash
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

그리고 나서 재부팅 해준다.

 

reboot

로그스태쉬  다운로드

명령어를 이용하여 로그스태쉬를 다운로드 받는다.

sudo wget https://artifacts.elastic.co/downloads/logstash/logstash-7.8.1.deb

 

목록 확인

ls

 

install & start

로그 스태쉬를 설치후 서버를 시작한다.

sudo dpkg -i logstash-7.8.1.deb
sudo logstash start

 

입력받은 것을 출력하는 테스트진행

중간에 에러가 나와도 The stdin plugin is now waiting for input : 이 나올때 까지 기다린다.

 

입력받은 것을 그대로 출력한다.

111, hello를 입력하면 그대로 메세지를 통해 출력하는것을 확인 할 수 있다!

 

local to logstash

만약 로컬에 있는 파일을 보내고 싶다면? 혹은 원격에 있는 로그 파일을 보내고 싶다면 어떻게 해야 할까

 

위 명령어를 입력하여 경로로 이동 후 test_log.conf를 수정해보자

cd /etc/logstash/conf.d
ls

 

/conf.d/test_log.conf

sudo vim test_log.conf
input {
	file {
		path => "/var/log/elasticsearch/elasticsearch.log"
		start_position => "beginning"
	}
}

output {
	elasticsearch {
    	index=> "output"
	}
}

해당 명령어로 output에 elasticsearch의 데이터를 전송한다.

 

elasticsearch's log

./logstash -f /etc/logstash/conf.d/test_og.conf./logstash -f

명령어를 통해서 elasticsearch가 가진 로그들을 뿌린다.

 

output

ouput이 생긴것을 확인 할 수 있다.

 

패턴 생성

키바나에 들어가 패턴을 생성한다.

 

timestamp

타임스탬프로 설정을 하고 인덱스 패턴을 생성한다

 

 

 

 

 


마   치   며

ELK 구축이 한번 주르륵 할때 따라하기는 쉬웠는데

따라하기만 쉽고 막상 이해하며 구축하기가 어려웠다..

특히 logstash같은 경우에는 명령어도 복잡하고 여러 명령어와 필요한 구성요소를 다운받는게 어려웠다.

로그스태쉬는 보안관점보다는 개발자관점에서 해야하는게 맞는것 같다..ㅠ

 

 

 

반응형
저작자표시 비영리 동일조건 (새창열림)

'OS > Linux X' 카테고리의 다른 글

[3] Linux에 ELK환경구축(apache,filebeat,metricbeat)  (0) 2022.08.27
[1] Linux에 ELK 환경 구축(Elasticsearch, Kibana)  (0) 2022.08.25

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [3] Linux에 ELK환경구축(apache,filebeat,metricbeat)

    [3] Linux에 ELK환경구축(apache,filebeat,metricbeat)

    2022.08.27
  • [1] Linux에 ELK 환경 구축(Elasticsearch, Kibana)

    [1] Linux에 ELK 환경 구축(Elasticsearch, Kibana)

    2022.08.25
다른 글 더 둘러보기

정보

우당탕탕 보안이야기 블로그의 첫 페이지로 이동

우당탕탕 보안이야기

  • 우당탕탕 보안이야기의 첫 페이지로 이동

검색

메뉴

  • 홈

카테고리

  • 분류 전체보기 (66)
    • Whoami (1)
    • Malicious Code (9)
      • Analysis (5)
      • Review (4)
      • Recent Trend (0)
    • Digital Forensic (1)
    • Red Team (28)
      • Penetration Testing & CTF (13)
      • Tools (6)
      • 정보보안 (5)
      • Script (0)
      • AOS (4)
      • IOS (0)
    • Data Base (0)
    • Cloud System (3)
      • AWS (3)
    • OS (9)
      • Linux X (3)
      • Windows X (6)
    • Develope (14)
      • Dev Tools (3)
      • HTML (5)
      • CSS (4)
      • Python (1)
      • Source Code 분석 (1)
    • Synology (1)
      • NAS 서버 운영 (0)
      • NAS 서버 구축 (1)

정보

Wolfcall의 우당탕탕 보안이야기

우당탕탕 보안이야기

Wolfcall

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © Wolfcall. Designed by Fraccino.

티스토리툴바