มาเปลี่ยน 管理パスワードให้กับ オープンサーチกันเถอะ


    เนื่องด้วยตอนนี้จะทำอะไรแต่ละอย่างก็พยายามใช้ ドックเป็นหลักเพื่อความสะดวก ในทั้งตอน 開発する→ うん→ プロダクションจะได้ไปในท่าเดียวกันได้ทั้งหมด
    และมีโจทย์ที่จะ ログサーバの実装ขึ้นมาอีกตัว เลยนั่งนึกๆดู ปกติเรา サーチมา ログอะไรมันก็เป็น テキストベース検索ดังนั้นตัวที่เหมาะๆในการใช้งานน่าะเป็น 弾性検索スタックนี่แหละที่เหมาะที่สุด แต่ 弾性検索ก็ดันเปลี่ยน 許可ไปซะแล้ว ไหนๆก็ไหนๆ ใช้ ตัว オープンサーチเลยดีกว่า
    ซึ่งไปหาดูใน ウェブサイトของ オープンサーチก็แสนจะง่าย
https://opensearch.org/docs/latest/opensearch/install/docker/#run-the-image
$docker run -p 9200:9200 -p 9600:9600 -e "discovery.type=single-node" opensearchproject/opensearch:1.3.1
実行コマンドง่ายๆ แบบนี้เอง หลังจาก コンテナアップขึ้นมาแล้วก็ ทดสอบง่ายๆ ว่าสามารถใช้งานได้่ไหม โดยคำสั่ง
$curl -XGET https://localhost:9200 -u 'admin:admin' --insecure
$curl -XGET https://localhost:9200/_cat/nodes?v -u 'admin:admin' --insecure
$curl -XGET https://localhost:9200/_cat/plugins?v -u 'admin:admin' --insecure
ได้ 反応มาก็จะพบว่าใช้งานได้ละ
แต่ !!!!!!
    สังเกตอะไรไหมครับ ユーザー名และ パスワードมันช่างง่ายดายเสียนี่กระไร หากมีใครล่วงรู้ก็สามารถมาทำอะไรๆกับ オープンサーチของเราได้ล่ะสิ ​ดังนั้นควรจะเปลี่ยนมันซะเพื่อป้องกันการเข้าถึงที่ง่ายเกินไประดับนึง
    ดังนั้นจึงต้องไปแสดงหาวิธีการในการแก้ไข パスワードของ 管理อย่างง่ายๆเพื่อไม่ให้เปลืองพลังงานชีวิตจนเกินไป ก็พบทางสว่าง จาก linkนี้ที่เค้าทำการเปลี่ยน パスワード管理ของ 弾性検索บน オープンディストリビューション
    ดังนั้นมาลองกันเลยครับ
  • ตรวจสอบเสียก่อนว่า コンテナที่เรารันชื่ออะไรจะได้เข้าไปจัดการได้ถูก ランคำสั่งนี้ได้เลย
  • $docker ps -a
    
    ก็จะเจอ
    CONTAINER ID   IMAGE                                 COMMAND                  CREATED          STATUS                      PORTS                                                                NAMES
    9ce2cb3a905c   opensearchproject/opensearch:1.3.1    "./opensearch-docker…"   42 minutes ago   Up 42 minutes               0.0.0.0:9200->9200/tcp, 9300/tcp, 0.0.0.0:9600->9600/tcp, 9650/tcp   zen_lamarr
    
  • เจอแล้วก็เข้าไปข้างใน コンテナเพื่อจัดการครับ
  • $docker exec -it {ชื่อ container ที่ต้องการ} /bin/bash
    
  • ก็จะเข้ามาใน 端末ของ ドックได้แล้ว
  • [opensearch@9ce2cb3a905c ~]$
    
    คราวนี้ก็พร้อมให้เราจัดการแล้วครับ
  • ขั้นแรกจัดการสร้าง ハッシュของ パスワードใหม่เสียก่อน ด้วยคำสั่งนี้
  • [opensearch@9ce2cb3a905c ~]$ /usr/share/opensearch/plugins/opensearch-security/tools/hash.sh
    
    ระบบก็จะขึ้น プロンプト[パスワード:]เพื่อให้เราป้อนค่าที่ต้องการครับแล้วมันจะ ハッシュให้เราเลยแบบนี้
    [opensearch@9ce2cb3a905c ~]$ /usr/share/opensearch/plugins/opensearch-security/tools/hash.sh
    [Password:]
    $2y$12$L3hqnOTHLUTa1M9MCwboZ.74PHhcKsnzix2Tv34308U7qi11f2Uw6
    [opensearch@9ce2cb3a905c ~]$
    
  • จากนั้นตามหา ファイルの内部ユーザー.気象研เพื่อแก้ไข パスワードของ 管理ซึ่งมันจะอยู่ที่
  • /usr/share/opensearch/plugins/opensearch-security/securityconfig/internal_users.yml
    
    ยังดีครับ イメージนี้มี 六ให้เราใช้แก้ไข ファイルได้ บาง イメージเอาออกเกลี้ยงจะทำอะไรทีต้อง 法保ทับมันก็จะรันทดหน่อยๆ
    ก็จัดการมันครับ
    $vi /usr/share/opensearch/plugins/opensearch-security/securityconfig/internal_users.yml
    
    จะพบ セクションハッシュกันต่อหน้าต่อตาเลยทีเดียว
    # Define your internal users here
    
    ## Demo users
    
    admin:
      hash: "$2y$12$/yozwRC7sWQMzj.O3s5wvOR12gm9KpDgpMtxEypUTgcmlRnbpZtay"
      reserved: true
      backend_roles:
      - "admin"
      description: "Demo admin user"
    
    コピーハッシュที่เราได้มาใหม่ทับเลยครับ แต่ยังไม่จบ เมื่อเปลี่ยนแล้วต้องให้มันรู้จักครับว่าเปลี่ยน
  • 実行コマンドนี้เข้าไป
  • $cd /usr/share/opensearch/plugins/opensearch-security/tools
    $./securityadmin.sh -cd ../securityconfig/ -icl -nhnv -cacert /usr/share/opensearch/config/root-ca.pem  -cert /usr/share/opensearch/config/kirk.pem -key /usr/share/opensearch/config/kirk-key.pem
    
    เป็นอันเรียบร้อยครับ
  • ลองทดสอบดูด้วย ユーザ名/パスワードเดิมจะพบว่าใช้ไม่ได้แล้ว
  • $curl -XGET https://localhost:9200 -u 'admin:admin' --insecure
    $Unauthorized
    
    แต่เมื่อทดสอบด้วย パスワードใหทม่
    curl -XGET https://localhost:9200 -u 'admin:password' --insecure
    {
      "name" : "9ce2cb3a905c",
      "cluster_name" : "docker-cluster",
      "cluster_uuid" : "L4yL5lc1SMOVrmPty8msOA",
      "version" : {
        "distribution" : "opensearch",
        "number" : "1.3.1",
        "build_type" : "tar",
        "build_hash" : "c4c0672877bf0f787ca857c7c37b775967f93d81",
        "build_date" : "2022-03-29T18:35:30.372094Z",
        "build_snapshot" : false,
        "lucene_version" : "8.10.1",
        "minimum_wire_compatibility_version" : "6.8.0",
        "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "The OpenSearch Project: https://opensearch.org/"
    }
    
    ก็จะพบว่าใช้ได้แล้วตามปกติ
    เป็นอันว่าจบไปครับกับการเปลี่ยน 管理パスワードของ オープンサーチอย่างง่าย(ตรงไหน) เผื่อใครจะเอาไปใช้นะครับ