728x90
Kibana를 설치하고 구성하는 방법(SSL/TLS 암호화 구성)
- 주요 단계
- ElasticSearch 및 Kibana 패키지 저장소에 대한 APT 키를 추가합니다.
- ElasticSearch와 Kibana를 설치합니다.
- Kibana의 암호화 키를 생성합니다.
- ElasticSearch 시스템 사용자의 초기 비밀번호를 재설정합니다.
- SSL/TLS를 위해 필요한 인증서 및 키를 설정합니다.
- Kibana의 keystore를 생성하고 ElasticSearch에 대한 사용자 이름과 비밀번호를 저장합니다.
- Kibana 서비스를 시작하고 상태를 확인합니다.
apt-transport-https 패키지 설치
sudo apt-get install -y apt-transport-https
GPG 공개 키 다운로드
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
ElasticSearch 패키지 저장소를 APT의 소스 리스트에 추가
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
APT 저장소 업데이트
sudo apt-get update
Kibana 설치
sudo apt-get install -y kibana
Kibana의 암호화 키 생성
/usr/share/kibana/bin/kibana-encryption-keys generate
cat <<EOF >> /etc/kibana/kibana.yml
## Kibana Encryption Key Generation Utility
xpack.encryptedSavedObjects.encryptionKey: 2166ff6f34647031ff5fb304a5c35b84
xpack.reporting.encryptionKey: 1f5e7bffff8efce35f31d9f4c603eb0a
xpack.security.encryptionKey: bf0689be9f67e514657a1abdbde3846c
EOF
kibana_system 사용자의 비밀번호 재설정
/usr/share/elasticsearch/bin/elasticsearch-reset-password -i -u kibana_system
$ /usr/share/elasticsearch/bin/elasticsearch-reset-password -i -u kibana_system
This tool will reset the password of the [kibana_system] user.
You will be prompted to enter the password.
Please confirm that you would like to continue [y/N]y
Enter password for [kibana_system]:
Re-enter password for [kibana_system]:
Password for the [kibana_system] user successfully reset.
728x90
Kibana의 SSL/TLS 인증서를 저장할 디렉토리를 생성
mkdir -p /etc/kibana/certs
CA 파일을 Kibana의 인증서 디렉토리로 복사
cp /etc/elasticsearch/certs/elastic-stack-ca.p12 /etc/kibana/certs/.
인증서 파일을 Kibana의 인증서 디렉토리로 복사
cp /etc/elasticsearch/certs/elastic-certificates.p12 /etc/kibana/certs/.
인증서 파일에서 CA 인증서를 추출하여 PEM 형식으로 저장
openssl pkcs12 -in elastic-certificates.p12 -cacerts -nokeys -out CA.pem
인증서 파일에서 개인 키를 추출하여 저장
openssl pkcs12 -in elastic-certificates.p12 -nocerts -nodes -out client.key
인증서 파일에서 공개 키를 추출하여 저장
openssl pkcs12 -in elastic-certificates.p12 -clcerts -nokeys -out client.crt
파일 소유자를 Kibana로 변경
chown -R kibana.kibana /etc/kibana/certs
keystore 생성
/usr/share/kibana/bin/kibana-keystore create
keystore에 ElasticSearch에 대한 사용자 이름을 추가
/usr/share/kibana/bin/kibana-keystore add elasticsearch.username
keystore에 ElasticSearch에 대한 비밀번호를 추가
/usr/share/kibana/bin/kibana-keystore add elasticsearch.password
kibana.yml 편집
vim /etc/kibana/kibana.yml
server.port: 5601
server.host: "0.0.0.0"
#elasticsearch.hosts: ["https://instance:9200"]
elasticsearch.hosts: ["https://node1:9200","https://node2:9200","https://node3:9200"]
elasticsearch.username: "kibana_system"
elasticsearch.password: "kibana_system_pass"
elasticsearch.ssl.certificate: /etc/kibana/certs/client.crt
elasticsearch.ssl.key: /etc/kibana/certs/client.key
elasticsearch.ssl.certificateAuthorities: [ "/etc/kibana/certs/CA.pem" ]
#elasticsearch.ssl.verificationMode: full
elasticsearch.ssl.verificationMode: certificate
logging:
appenders:
file:
type: file
fileName: /var/log/kibana/kibana.log
layout:
type: json
root:
appenders:
- default
- file
pid.file: /run/kibana/kibana.pid
xpack.encryptedSavedObjects.encryptionKey: 2166ff6f34647031ff5fb304a5c35b84
xpack.reporting.encryptionKey: 1f5e7bffff8efce35f31d9f4c603eb0a
xpack.security.encryptionKey: bf0689be9f67e514657a1abdbde3846c
Kibana 서비스 시작 및 활성화
sudo systemctl --now enable kibana.service
더보기
---
/usr/share/kibana/bin/kibana --allow-root
---
Kibana 서비스를 재시작
sudo systemctl restart kibana.service
Kibana 서비스의 상태를 확인
sudo systemctl status kibana.service
728x90
'리눅스' 카테고리의 다른 글
우분투에 HAProxy를 설치하는 방법 (0) | 2024.02.23 |
---|---|
우분투에서 Elasticsearch 8.x 설치 및 클러스터 구성 방법 (0) | 2024.02.22 |
Elasticsearch에서 SSL/TLS를 구성하는 방법 (0) | 2024.02.22 |
우분투에서 Elasticsearch를 설치하고 Kibana를 사용하여 클러스터 상태를 확인하는 방법 (0) | 2024.02.18 |
[draft] Helm을 사용하여 Ingress Controller를 설치하는 방법 (0) | 2024.02.17 |