[Graylog] [LAB] [Phần1] Hướng dẫn cài đặt graylog 3.1 trên CentOS 7

30/12/2020

Graylog là một nền tảng mạnh mẽ cho phép quản lý log tập trung dễ dàng. Graylog nhận dữ liệu từ các máy khách được cài đặt trên các máy chủ khác nhau. Có giao diện web, trực quan hóa dữ liệu và cho phép làm việc với các bản ghi được tổng hợp bởi máy chủ chính.

Trong bài này, mình sẽ cấu hình graylog 3.1 sử dụng CentOS 7 làm client và server, client sẽ sử dụng sidecar để đẩy log .

1 . Mô hình

Mô hình LAB được triển khai như sau:

Mô hình ip planning được triển khai như sau:

2 . Cài đặt

2.1 Yêu cầu và thiết lập môi trường.

Yêu cầu :

  • Elastisearch 5 hoặc 6.
  • MongoDB 3.6 hoặc 4.0.
  • Oracle Java SE 8.
  • Thực hiện với quyền root

Thiết lập môi trường :

  • Thực hiện update và cài đặt gói bổ trợ :
yum install -y epel-release yum update -y yum install -y git wget curl byobu yum install -y pwgen yum install -y httpd
  • Khởi động dịch vụ http
systemctl start httpd  systemctl enable httpd 
  • Thiết lập hostname
hostnamectl set-hostname graylogserver echo  "127.0.0.1 localhost graylogserver" > /etc/hosts echo  "192.168.161.50 graylogserver" >> /etc/hosts
  • Tắt selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
  • Khởi động lại hệ thống
reboot

2.2 Cài đặt NTP

Cấu hình thời gian là 1 bước rất quan trọng vì để nhận log 1 cách chính xác nhất thì thời gian cũng phải chính xác.

Có 2 cách cài ntp là ta có thể cấu hình thủ công trong file ntp.conf hoặc sử dụng máy chủ ntp từ mạng bên ngoài.

Trong trường hợp này ta sẽ cài đặt và sử dụng máy chủ ntp từ mạng bên ngoài.

  • Tiến hành cấu hình ntp trên cả máy client và server :
yum install -y chrony
  • Khởi động và kích hoạt chrony :
systemctl start chronyd systemctl enable chronyd
  • Kiểm tra đồng bộ hóa thời gian với máy chủ ntp :
chronyc sources
210 Number of sources = 4 MS Name/IP address         Stratum Poll Reach LastRx Last sample =============================================================================== /etc/host.conf: line 1: bad command `Graylogserver.local' ^* 162.159.200.1                 3   6    17     9   -364us[-2797us] +/-   59ms ^+ no-ptr.123host.vn             3   6    17     9  +3878us[+1444us] +/-  148ms ^? static.vnpt.vn                0   6     0     -     +0ns[   +0ns] +/-    0ns ^+ mail.khangthong.vn            2   6    17    10  -3581us[-6015us] +/-  133ms 
  • Kiểm tra lại thời gian bằng lệnh timedatectl, , thu được kết quả như dưới là đã thành công .
[root@client01 ~]# timedatectl       Local time: Wed 2019-12-25 00:27:42 +07   Universal time: Tue 2019-12-24 17:27:42 UTC         RTC time: Tue 2019-12-24 17:27:43        Time zone: Asia/Ho_Chi_Minh (+07, +0700)      NTP enabled: yes NTP synchronized: yes  RTC in local TZ: no       DST active: n/a
[root@Graylogserver ~]# timedatectl       Local time: Wed 2019-12-25 00:26:36 +07   Universal time: Tue 2019-12-24 17:26:36 UTC         RTC time: Tue 2019-12-24 17:26:36        Time zone: Asia/Ho_Chi_Minh (+07, +0700)      NTP enabled: yes NTP synchronized: yes  RTC in local TZ: no       DST active: n/a 

2.3 Cài đặt java

Dịch vụ graylog được viết bằng java nên trước khi cài graylog ta phải cài java.

yum install -y java-1.8.0-openjdk

2.4 Cài đặt MongoDB

  • Khai báo repo cho MongoDB

Tiến hành tạo file /etc/yum.repos.d/mongodb-org-4.0.repo và khai báo nội dung như sau :

cat <<EOF> /etc/yum.repos.d/mongodb-org-4.0.repo [mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc EOF
  • Cài đặt MongoDB :
yum install -y mongodb-org
  • Khởi động MongoDB :
systemctl daemon-reload systemctl enable mongod.service systemctl start mongod.service
  • Kiểm tra trạng thái của MongoDB :
systemctl status mongod

2.5 Cài đặt Elaticsearch

  • Khai báo repo cho Elaticsearch :

Tạo file /etc/yum.repos.d/elasticsearch.repo và khai báo nội dung như sau :

cat <<EOF> /etc/yum.repos.d/elasticsearch.repo [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF
  • Cài đặt Elaticsearch
yum install -y elasticsearch
  • Sửa file cấu hình /etc/elasticsearch/elasticsearch.yml của elaticsearch như sau :
sed -i 's/#cluster.name: my-application/cluster.name: graylog/g' /etc/elasticsearch/elasticsearch.yml
  • Khởi động lại Elaticsearch
systemctl daemon-reload systemctl enable elasticsearch.service systemctl restart elasticsearch.service
  • Kiểm tra trạng thái của elasticseach
systemctl status elasticsearch.service

2.6 Cài đặt graylog

  • Tải về repo của graylog
rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.1-repository_latest.rpm
  • Cài đặt graylog 3.1
yum install -y graylog-server
  • Sử dụng pwgen để tạo 1 chuỗi hash gồm 96 ký tự để khai báo cho password_secret sau đó lưu vào file cấu hình :
pass_secret=$(pwgen -N 1 -s 96) sed -i -e 's|password_secret =|password_secret = '$pass_secret'|' /etc/graylog/server/server.conf

Pass_Secret – thiết lập 1 mật khẩu bí mật được sử dụng để mã hóa mật khẩu và thêm salting (muối – độ mặn) tăng độ phức tạo của quá trình băm để giảm thiếu các cuộc tấn công mật khẩu.

  • Tiếp theo, tạo mật khẩu đăng nhập cho tài khoản admin để đăng nhập graylog :
echo -n thuctapsinh@123 | sha256sum

Lưu ý : thuctapsinh@123 là mật khẩu được sử dụng cho tài khoản admin.

Sau khi tạo, mật khẩu sẽ có dạng như sau :

993f2322f02ec3ce3d7849391b6f3668124130e83d32b96074bfa29c15d051b8
  • Lưu lại và gán cho root_password_sha2.
sed -i 's|root_password_sha2 =|root_password_sha2 = 993f2322f02ec3ce3d7849391b6f3668124130e83d32b96074bfa29c15d051b8|g' /etc/graylog/server/server.conf
  • Sửa thời gian
sed -i 's|#root_timezone = UTC|root_timezone = Asia/Ho_Chi_Minh|' /etc/graylog/server/server.conf
  • Để truy cập trang web bằng địa chỉ ip máy Graylog, ta cần sửa địa chỉ ip mặc định thành địa chỉ ip của máy.
sed -i 's|#http_bind_address = 127.0.0.1:9000|http_bind_address = 10.10.34.101:9000|' /etc/graylog/server/server.conf
  • Khởi động dịch vụ graylog-server
systemctl daemon-reload systemctl enable graylog-server.service systemctl start graylog-server.service
  • Kiểm tra trạng thái của graylog-server :
systemctl status graylog-server
  • Để truy cập graylog qua port 9000, ta cần tiến hành mở port trên firewall :
firewall-cmd --zone=public --add-port=9000/tcp --permanent firewall-cmd --reload
  • Sau đó kiểm tra lại xem các port của graylog đã xuất hiện chưa
ss -lan | egrep "9000|27017|9200|9300"

2.7 Đăng nhập

Mở trình duyệt và nhập đường link đã tạo trong file config của graylog 10.10.34.101:9000, đăng nhập bằng tài khoản admin và mật khẩu thuctapsinh@123

Sau khi đăng nhập sẽ có giao diện như bên dưới :

Chúc các bạn thành công !

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

How to Install Dropbox on Manjaro Linux

If you’re an internet user for quite some time, then you may have already heard the name of Dropbox, or you’re already...
29/12/2020

Find UUID of Storage Devices in Linux

UUID is a unique identifier used in partitions to uniquely identify partitions in Linux operating systems. UUID is a property...
29/12/2020

Refind Boot Manager

Most Linux systems boot using GRUB, however alternatives are always worth exploring. When the BURG project was started,...
29/12/2020