Skip to content

Latest commit

 

History

History
324 lines (252 loc) · 10.5 KB

02.2.cai_dat_graylog_3.x.md

File metadata and controls

324 lines (252 loc) · 10.5 KB

Hướng dẫn cài đặt graylog 3.x

1. Mô hình

Mô hình LAB graylog được triển khai theo hình dưới.

Mo_hinh_Lab_Graylog

2. IP Planning

  • Các IP được sử dụng trong mô hình LAB như sau:

IP_Planning_Lab_Graylog

3. Cài đặt

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

  • Thực hiện update và cài đặt gói bổ trợ.

    yum update -y
    yum install -y epel-release 
    yum install -y git byobu wget vim pwgen
    
  • Thiết lập IP, lưu ý: trong hệ thống này sử dụng card mạng có tên là ens32

    echo "Setup IP  ens32"
    nmcli con modify ens32 ipv4.addresses 192.168.56.11/24
    nmcli con modify ens32 ipv4.gateway 192.168.56.1
    nmcli con modify ens32 ipv4.dns 8.8.8.8
    nmcli con modify ens32 ipv4.method manual
    nmcli con modify ens32 connection.autoconnect yes
    
  • Thiết lập hostname

    hostnamectl set-hostname graylogserver
    echo  "127.0.0.1 localhost graylogserver" > /etc/hosts
    echo  "192.168.56.11 graylogserver" >> /etc/hosts
    
  • Cấu hình các chế độ mạng và firewall

    sudo systemctl disable firewalld
    sudo systemctl stop firewalld
    sudo systemctl disable NetworkManager
    sudo systemctl stop NetworkManager
    sudo systemctl enable network
    sudo systemctl start network
    
    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 OS

    reboot
    

3.2. Cài đặt NTP

  • Sử dụng chrony để khai báo cấu hình NTP cho máy graylog server. Đây là một yêu cầu khá quan trọng khi cấu hình hệ thống log tập trung bởi vì thời gian cần đảm bảo chuẩn xác để nhận log được đúng.

    yum install -y chrony
    
  • Khởi động và kích hoạt chrony

    systemctl start chronyd
    
    systemctl enable chronyd
    
  • Kiểm tra xem chrony đã được đồng bộ hay chưa.

    chronyc sources
    
  • Kết quả ta thấy xuất hiện dấu ^* ở đầu dòng IP của máy chủ NTP server là ok.

    210 Number of sources = 4
    MS Name/IP address         Stratum Poll Reach LastRx Last sample
    ===============================================================================
    ^* 162.159.200.123               3   6    17     8  -3908us[-5035us] +/-   66ms
    ^+ 162.159.200.1                 3   6    17     9  -6079us[-7206us] +/-   67ms
    ^+ no-ptr.123host.vn             3   6    17     8  +4295us[+3167us] +/-  164ms
    ^- mail.khangthong.vn            2   6    17     8    -64ms[  -65ms] +/-  207ms
    [root@graylogserver ~]# timedatectl
        Local time: Sun 2019-12-01 23:36:41 +07
    Universal time: Sun 2019-12-01 16:36:41 UTC
            RTC time: Sun 2019-12-01 16:36:41
        Time zone: Asia/Ho_Chi_Minh (+07, +0700)
        NTP enabled: yes
    NTP synchronized: yes
    RTC in local TZ: no
        DST active: n/a
    
  • Kiểm tra lại bằng lệnh timedatectl, ta thu được kết quả thời gian đã được đồng bộ như bên dưới là OK.

chronyd

Nếu bạn sử dụng máy chủ NTP server nội bộ, hãy tìm thêm tài liệu để cấu hình chrony cho phù hợp. Trong hướng dẫn này sẽ sử dụng NTP server ở mạng bên ngoài.

3.3. Cài đặt java

  • Đăng nhập lại hệ thống và cài đặt java
    yum install -y epel-release
    yum install -y java-1.8.0-openjdk
    

3.4. Cài đặt elasticsearch

  • Khai báo repor cho elasticseach

    tee /etc/yum.repos.d/elasticsearch.repo <<EOF
    [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 elasticsearch, khởi động và kích hoạt eleasticsearch

    yum install -y elasticsearch
    systemctl daemon-reload && systemctl enable elasticsearch
    
  • Dùng lệnh sed để sửa file /etc/elasticsearch/elasticsearch.yml, ta sửa thành dòng cluster.name: graylog

    sed -i 's/#cluster.name: my-application/cluster.name: graylog/g' /etc/elasticsearch/elasticsearch.yml
    
  • Khởi động lại eleasticsearch

    systemctl restart elasticsearch
    
  • Kiểm tra trạng thái của elasticsearch

    systemctl restart elasticsearch
    
  • Cần chờ từ 5-10s để eleasticseach khởi động xong, sau đó kiểm tra xem elasticseach hoạt động hay chưa bằng lệnh dưới.

    curl -X GET http://localhost:9200
    
  • Kết quả trả về sẽ như bên dưới

    {
    "name" : "CMdKdkb",
    "cluster_name" : "graylog",
    "cluster_uuid" : "Pwn3GwbKSaWPfxnVh7tn_A",
    "version" : {
        "number" : "6.8.5",
        "build_flavor" : "default",
        "build_type" : "rpm",
        "build_hash" : "78990e9",
        "build_date" : "2019-11-13T20:04:24.100411Z",
        "build_snapshot" : false,
        "lucene_version" : "7.7.2",
        "minimum_wire_compatibility_version" : "5.6.0",
        "minimum_index_compatibility_version" : "5.0.0"
    },
    "tagline" : "You Know, for Search"
    }
    

3.5. Cài đặt MongoDB

  • Khai báo repo cho MongoDB

    tee /etc/yum.repos.d/mongodb-org-4.0.repo <<EOF
    [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 start mongod && systemctl enable mongod
    
  • Kiểm tra hoạt động của MongoDB

    systemctl status mongod
    
  • Kết quả của MongoDB như bên dưới là đã hoạt động OK

    ● mongod.service - MongoDB Database Server
    Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
    Active: active (running) since Sat 2019-11-30 23:41:06 +07; 9s ago
        Docs: https://docs.mongodb.org/manual
    Main PID: 9895 (mongod)
    CGroup: /system.slice/mongod.service
            └─9895 /usr/bin/mongod -f /etc/mongod.conf
    
    Nov 30 23:41:05 graylogserver systemd[1]: Starting MongoDB Database Server...
    Nov 30 23:41:05 graylogserver mongod[9892]: about to fork child process, waiting until server is ready for connections.
    Nov 30 23:41:05 graylogserver mongod[9892]: forked process: 9895
    Nov 30 23:41:06 graylogserver systemd[1]: Started MongoDB Database Server.
    

3.6. Cài đặt Graylog

  • Tải repo của Graylog 3.1

    rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.1-repository_latest.rpm
    
  • Cài đặt Graylog

    yum install -y graylog-server
    
  • Sinh ra chuỗi 96 ký tự.

    pwgen -N 1 -s 96
    
  • Ta có kết quả dạng

    7G2SvQReyrO3G8S4XxoZSKp6nSGA1HxbArsWarJt0kj0LdaDQ1OI7igFeKOHxELYxZPZUsNH2X6xOSKkhEMKq9G7ZUD47zPD
    

Lưu ý: Ghi nhớ lại chuỗi này để khai báo cho bước kế tiếp cho dòng password_secret.

  • Thực hiện mã hóa chuỗi mật khẩu cho tài khoản admin, trong hướng dẫn này chuỗi đó sẽ là Welcome123. Lưu ý, đây chính là mật khẩu của tài khoản admin của graylog sau này.

    echo -n Welcome123 | sha256sum
    
  • Ta sẽ thu về một chuỗi, hay ghi nhớ chuỗi này để khai báo trong dòng root_password_sha2.

    925d2e9bb3679c1b9dd58ab20bb974fdc61f3ff4db5e12bb54fab0600261c7b3  -
    

Lưu ý: Ta sẽ dùng chuỗi không bao gồm khoảng trắng và dấu trừ.

  • Mở file /etc/graylog/server/server.conf bằng vi hoặc nano. Tìm các dòng cấu hình bên dưới và sửa giống như thế.

    root_timezone = Asia/Ho_Chi_Minh
    
    root_email = "[email protected]"
    
    http_bind_address = 192.168.56.11:9000
    
    elasticsearch_shards = 1
    
    password_secret = THAY_BANG_CHUOI_SINH_RA_O_TREN
    root_password_sha2 = THAY_BANG_CHUOI_SINH_RA_O_TREN
    
  • Khởi động lại graylog-server

    systemctl daemon-reload &&  systemctl restart graylog-server && systemctl enable graylog-server
    
  • Kiểm tra xem graylog server hoạt động hay chưa

    systemctl status graylog-server 
    
  • Kết quả như hình bên dưới là ok

    
    
  • Kiểm tra thêm xem các port mà graylog sử dụng đã xuất hiện hay chưa

    ss -lan | egrep "9000|27017|9200|9300"
    
  • Kết quả

    ● graylog-server.service - Graylog server
    Loaded: loaded (/usr/lib/systemd/system/graylog-server.service; enabled; vendor preset: disabled)
    Active: active (running) since Sat 2019-11-30 23:54:36 +07; 8s ago
        Docs: http://docs.graylog.org/
    Main PID: 10047 (graylog-server)
    CGroup: /system.slice/graylog-server.service
            ├─10047 /bin/sh /usr/share/graylog-server/bin/graylog-server
            └─10077 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:+CMSClassU...
    
    Nov 30 23:54:36 graylogserver systemd[1]: Started Graylog server.
    Nov 30 23:54:36 graylogserver graylog-server[10047]: OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from ...hreads=N
    Hint: Some lines were ellipsized, use -l to show in full.
    

4. Đăng nhập vào graylog web

Mở trình duyệt web với địa chỉ http://192.168.56.11:9000 và đăng nhập với tài khoản admin, mật khẩu Welcome123.

Login Graylog Server

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

Login Graylog Server

Tới bước này, chuyển sang bước setup cho client để có thể thu thập log. Ta có thể thu thập log qua nhiều hình thức (input mà Graylog hỗ trợ). Trong hướng dẫn tiếp theo sẽ sử dụng input là syslog hoặc graylog sidecar.

[Hướng dẫn cấu hình graylog thu thập log thông qua syslog]