일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Flutter
- 안드로이드
- Coroutines
- scroll
- binding
- Button
- 테스트
- appbar
- Kotlin
- data
- 계측
- livedata
- textfield
- intent
- 앱
- DART
- TEST
- tabbar
- activity
- viewmodel
- android
- drift
- CustomScrollView
- LifeCycle
- 앱바
- Navigation
- ScrollView
- Compose
- textview
- Dialog
- Today
- Total
Study Record
[리눅스 서버보안] Graylog Server 구축 실습 본문
※ Graylog Server 는 보안쪽에서 로그를 쌓고 분석하고 시각화하는 기능을 제공하는 프로그램이다. 다음 실습은 Centos 7버전에서 진행한 내용이다.
Graylog Server 구축 실습
[사전 작업]
# yum install epel-release -y
# yum-config-manager --enable epel --enable epel-release
# yum install pwgen -y
# yum install java-1.8.0-openjdk-headless.x86_64 -y
[Mongodb 설치]
㉮ YUM 레파지토리를 설정한다.
# gedit /etc/yum.repos.d/mongodb-org.repo & (= vi /etc/yum.repos.d/mongodb-org.repo)
[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
㉯ Mongodb 를 설치한 후 서비스를 기동한다.
# yum install mongodb-org -y
# systemctl daemon-reload
# systemctl enable --now mongod.service
# systemctl start mongod.service
# systemctl status mongod.service
[elasticsearch 설치 및 서비스 기동]
㉮ YUM 레파지토리를 설정한다.
# gedit /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
㉯ elasticsearch 를 설치한다.
# yum install elasticsearch-oss -y
㉰ elasticsearch 설정 파일을 수정한다.
# vi /etc/elasticsearch/elasticsearch.yml
cluster.name: graylog
㉱ elasticsearch 서비스를 기동한다.
# systemctl daemon-reload
# systemctl enable --now elasticsearch
# systemctl status elasticsearch.service
+ 필요하다면 방화벽 설정도 해준다.
# firewall-cmd --permanent --add-port=9200/tcp
# firewall-cmd --reload
[Graylog Server 설치]
㉮ 레포지토리를 설정한다.
# rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-4.1-repository_latest.rpm
# ls /etc/yum.repos.d/
graylog.repo 가 생긴 것을 볼 수 있다.
㉯ graylog-server 를 설치한다.
# yum install graylog-server -y
㉰ 계정의 패스워드를 설정 및 환경 설정을 한다. 패스워드는 “admin”으로 고정한다.
# vi /etc/graylog/server/server.conf
root_timezone = Asia/Seoul
elasticsearch_shards = 1
password_secret = O9CRLB3IO9skGeVcrDhWksaGKcIqqm4KznHeDf5HDGvKDBMhbbrHO2VUuqLCjjdhobxDZN2WEjEB4zW26M9yUHYpSNUzY7oV
root_password_sha2 = 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
㉱ graylog-server 서비스를 기동한다.
# systemctl start graylog-server.service
# systemctl status graylog-server.service
㉲ firefox 를 통해 GrayLog 웹 페이지에 접속한다. (시간이 오래 걸릴수도 있다.)
# firefox http://localhost:9000 &
admin/admin 으로 로그인한다.
㉳ System -> inputs 에서 Inputs 부분에 “Syslog UDP” 를 선택하고 “Launch new Input” 을 클릭한다.
㉴ 아래와 같이 설정한 뒤, save 버튼을 누른다.
㉵ 이제 로그를 보내볼 차례다. 현재 GrayLog Server의 ip 는 192.168.20.200 이고 port 는 1514 로 설정되어 있다. 이를 유념하여 다수의 로그를 보내는 스크립트를 만들어 본다. (port 는 1514로 설정해서 고정이지만 ip는 graylog server가 기동되고 있는 pc의 ip 로 한다.)
# vi /root/bin/msg2.sh
#!/bin/bash
logger -n 192.168.20.200 -P 1514 -d -p local0.warning "hello syslog($RANDOM) from linux200"
sleep 0.5
logger -n 192.168.20.200 -P 1514 -d -p local0.crit "Test syslog($RANDOM) from linux200"
# vi /root/bin/msgloop.sh
#!/bin/bash
num=$1
for i in $(seq $num)
do
/root/bin/msg2.sh
sleep 1
done
/root/bin 에서 msg2.sh 와 msgloop.sh 를 스크립트를 만들었다. (필요시, chmod +x /root/bin/*.sh)
㉶ GrayLog Server 로 로그를 보낸다. (총 약 60개의 로그를 보냈다.)
# cd /root/bin
# ./msgloop.sh 30
㉷ GrayLog 웹 페이지로 돌아와서 “Show received messages” 를 누른다.
보냈던 로그가 잘 도착한 것을 볼 수 있다.
+ 서비스 중지하기
# systemctl disable --now mongod
# systemctl disable --now elasticsearch
# systemctl disable --now graylog-server
'서버보안 > 리눅스 서버보안' 카테고리의 다른 글
[리눅스 서버보안] iptables (0) | 2021.12.24 |
---|---|
[리눅스 서버보안] 방화벽 (0) | 2021.12.24 |
[리눅스 서버 보안] Window에서 syslog 서버 구축하기 (0) | 2021.12.23 |
[리눅스 서버보안] root 사용자 암호 복구 방법 (0) | 2021.12.14 |
[리눅스 서버보안] root 계정의 원격 접속 제한 (0) | 2021.12.14 |