iT邦幫忙

2

在Windows 10/11安裝Graylog - 使用Docker (給初學者的筆記)

  • 分享至 

  • xImage
  •  

ISO27001的日誌管理要求:

  • 附錄A:8.15存錄:紀錄活動、異常、錯誤及其他相關事件之日誌,應產生、儲存、保護及分析之。

TISAX ISA 6.03的日誌管理要求:

  • 5.2.4事件日誌的記錄與分析要實施到什麼程度?
    https://ithelp.ithome.com.tw/upload/images/20240618/20151950bxCTWt2opy.png

Graylog起源於2009年德國漢堡的一個開源項目。 作為一個事件紀錄分析系統,在處理大量資料方面,它能夠輕鬆將來自多台不同設備機器的Log檔彙整一處集中管理分析,並提供一個可視化網頁介面方便操作,主要可包含以下的功能: 全Web 化操作介面 收集多種格式與主機記錄。

  • 本篇文章為筆者在輔導中小企業使用OPEN SOURCE當成資安執行工具的一個解決方案,在Windows 10/11安裝Graylog的筆記,提供給有需要的邦友參考。
  • Logs自動化蒐集、告警及定期審查一直是資安重要的議題,我一直覺得沒靠系統工具的日誌審查都是假的。沒錢有沒錢的管理方式,但絕對不是說每天都會檢查每一台電腦的重要logs有沒有異常?或也沒自動化異常告警機制卻說靠3個月審查一次logs審查就能安全(那只是擺明著應付稽核而不是有在管理)。
  • 日誌蒐集需要工具,沒工具都是唬爛、用口號稱在做資安管理
  1. 安裝Docker Desktop
  • 首先,確保你已經安裝了Docker Desktop for Windows。如果還沒有安裝,可以從Docker官方網站下載並安裝Docker Desktop。
  1. 建立工作目錄
  • 筆者打開命令提示字元(CMD)的執行視窗,用以下指令建立一個工作目錄,並移動到工作目錄
mkdir graylog
cd graylog
  1. 建立Docker Compose文件
    在你的工作目錄下建立一個名為docker-compose.yml的文件,並加入以下內容:(筆者直接用Windows的打案總管,到工作目錄下-可能是user/graylog,用記事本建立這個檔案,複製內容並存檔)
version: '3'
services:
  mongo:
    image: mongo:4.2
    container_name: mongo
    networks:
      - graylog
    volumes:
      - mongo_data:/data/db

  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
    container_name: elasticsearch
    environment:
      - http.host=0.0.0.0
      - transport.host=127.0.0.1
      - network.host=0.0.0.0
      - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
      - discovery.type=single-node
    ulimits:
      memlock:
        soft: -1
        hard: -1
    mem_limit: 1g
    networks:
      - graylog
    volumes:
      - es_data:/usr/share/elasticsearch/data

  graylog:
    image: graylog/graylog:4.1
    container_name: graylog
    environment:
      - GRAYLOG_PASSWORD_SECRET=mysecretpassword
      - GRAYLOG_ROOT_PASSWORD_SHA2=<root_password_sha2>
      - GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/
    entrypoint: /usr/bin/tini -- wait-for-it elasticsearch:9200 -- /docker-entrypoint.sh
    networks:
      - graylog
    depends_on:
      - mongo
      - elasticsearch
    ports:
      - "9000:9000"
      - "12201:12201/udp"
      - "1514:1514"
      - "1514:1514/udp"

networks:
  graylog:
    driver: bridge

volumes:
  mongo_data:
    driver: local
  es_data:
    driver: local

  1. 產生SHA2密碼
  • 開啟PowerShell。
  • 執行以下命令來產生SHA256雜湊值:
$password = "yourpassword"
$bytes = [System.Text.Encoding]::UTF8.GetBytes($password)
$sha256 = [System.Security.Cryptography.SHA256]::Create()
$hash = $sha256.ComputeHash($bytes)
$hashString = -join ($hash | ForEach-Object { "{0:x2}" -f $_ })
$hashString
  • 將會yourpassword被你希望設定的密碼取代。執行完這些指令後,PowerShell會輸出一個SHA256雜湊值。
  • 假設你將密碼設為"mypassword123",輸出可能類似:(以下是範例,請copy你實際的輸出)
b6a89bc5c631f3638b20e2e49e32790ac993e19934b69d9e1cafe75d6c8f1938

4.設定密碼

  • 用記事本開啟之前建立的docker-compose.yml。
  • 將此3產生的雜湊值替換到docker-compose.yml檔案中的<root_password_sha2>位置。
    https://ithelp.ithome.com.tw/upload/images/20240618/20151950lcnuYXsuXo.png

5.啟動Docker Compose

  • 在命令提示字元(Command Prompt)或PowerShell中導覽至docker-compose.yml檔案所在的目錄,然後執行下列命令啟動Graylog:
docker-compose up -d
  • 這將安裝並啟動三個容器:MongoDB、Elasticsearch 和Graylog。
  1. 存取Graylog
  • 打開瀏覽器,訪問http://127.0.0.1:9000。使用admin作為使用者名稱和剛剛設定的密碼進行登
    https://ithelp.ithome.com.tw/upload/images/20240618/20151950XZ2S6EkYHc.png
    https://ithelp.ithome.com.tw/upload/images/20240618/20151950QF8eKKH2Uq.png
    https://ithelp.ithome.com.tw/upload/images/20240618/20151950dDtYPzJhNd.png

完成了安裝。可以開始在Graylog設定要管理的設備LOG來源了


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言