ทางบริษัท Elastic ได้ประกาศทางบทความ Security Elasticseach is now free
นั่นหมายความว่า Elasticsearch ตัวใหม่ตั้งแต่ version 6.8 และ 7.1 ขึ้นมา
จะมีความสามารถเรื่อง securirty มาให้ใช้งานแบบฟรี ๆ
ไม่ต้องไป config ข้างนอกเองอีกแล้ว
โดยมีความสามารถคร่าว ๆ ดังนี้

  • TLS สำหรับการเข้ารหัสของการติดต่อสื่อสารระหว่าง node
  • มีการจัดการเรื่อง Authentication
  • มีการจัดการเรื่อง Authorization แบบ roles-based (RBAC) ทั้งการใช้งานระดับ index และ cluter นั่นเอง

การปรับเปลี่ยนครั้งนี้

น่าจะมาจากความต้องการจากทาง Enterprise อย่างแน่นอน
เพราะว่า เรื่องนี้ถูกถามเยอะมาก ๆ
เนื่องจากค่า default ของ Elasticsearch คือไม่มี security อะไรเลย !!
หรือถ้าต้องไปใช้จริง ๆ อาจจะต้อง configuration ในระดับ network เอง
หรือต้องไปซื้อ subscription จากทาง Elastic นั่นเอง
ส่วนใครใช้งาน Elastic Cloud อยู่แล้ว ก็สบายไป !!

TLS สำหรับการเข้ารหัสของการติดต่อสื่อสารระหว่าง node

ถ้าไม่มี certificate ก็ทำการเตรียม command elasticsearch-certutil มาให้
สำหรับการสร้าง certificate ให้
เป็นขั้นตอนที่สำคัญ ต้องทำก่อนจึงจะเปิด security ได้นะ ดังนี้

จากนั้นลองเข้าใช้งาน Elasticsearch ดู แสดงดังรูป

ยังไม่พอนะยังเตรียม command elasticsearch-setup-passwords auto
สำหรับสร้าง password ในการใช้งานให้อีกด้วย
จะทำการสร้าง password ให้ครบเลย
ใน product หลัก ๆ ที่ต้องใช้งาน elasticsearch
ทั้ง APM, Kibana, Logstash, Beats และ Monitoring system

ส่วนเรื่องของ performance ก็ต้องลองทำ performance testing ดูกันนะ

ว่าจะ drop ลงไปเท่าไรกัน !!!

ส่วนการจัดการเรื่องของ Authentication และ Authorization นั้นจะทำผ่าน Kibana

ซึ่งค่า default นั้นเรื่องของ security จะปิดหมดเลย
(แต่ถ้าใครลงผ่าน X-Pack จะเปิดอยู่แล้ว)
ดังนั้นให้ไปเปิดในไฟล์ config/kibana.yml ดังนี้

เข้าใช้งาน Kibana กัน

ไปในส่วนของการ Setting จะมี section ของ Security ให้ใช้งาน
ทั้งการจัดการ users และ roles ดังรูป

มาลองใช้งานกันดู Security on Elasticsearch