29 พฤษภาคม 2014

Elasticsearch (http://www.elasticsearch.org/) เป็นเซิร์ฟเวอร์การค้นหาแบบโอเพนซอร์สที่ได้รับความนิยม เมื่อเร็วๆ นี้เราได้ทราบถึงปัญหาด้านความปลอดภัยที่อาจเกิดขึ้นกับซอฟต์แวร์นี้สองประการ ระหว่างที่ยังไม่เกิดปัญหากับ AWS นี้ เราต้องการให้มั่นใจว่าลูกค้าของเรารับทราบ เพื่อให้ลูกค้าดำเนินการได้อย่างเหมาะสม

ปัญหาแรก คือ การกำหนดค่าเริ่มต้นที่ไม่ปลอดภัยสำหรับซอฟต์แวร์นี้ในเวอร์ชันก่อนหน้า 1.2 ซึ่งระบุไว้ใน CVE-2014-3120 (http://bouk.co/blog/elasticsearch-rce/) ผู้โจมตีที่ใช้ประโยชน์จากการตั้งค่าที่ไม่ปลอดภัยนี้สามารถเรียกใช้คำสั่งแปลกปลอมกับสิทธิ์ของดีมอน Elasticsearch ได้ตามต้องการ

ปัญหาที่สอง คือ ไม่มีการควบคุมสิทธิ์เข้าถึงที่บังคับใช้กับทุกเวอร์ชันของ Elasticsearch ผู้ที่เชื่อมต่อกับพอร์ตการค้นหาสามารถสืบค้นหรือเปลี่ยนดัชนีใดๆ ก็ได้บนเซิร์ฟเวอร์ ปัญหาเหล่านี้แสดงให้เห็นความเสี่ยงสูงสุดเมื่อเซิร์ฟเวอร์ Elasticsearch เปิดรับอินเทอร์เน็ตทั้งหมด และมีการเรียกใช้บนพอร์ตเริ่มต้น หรือ 9200/tcp

วิธีที่ได้ผลที่สุดในการหลีกเลี่ยงปัญหาเหล่านี้ คือการรับรองว่าเซิร์ฟเวอร์การค้นหาของคุณไม่สามารถเข้าถึงได้จากโฮสต์ทุกรายการบนอินเทอร์เน็ต คุณสามารถใช้กลุ่มความปลอดภัยของ EC2 เพื่อจำกัดสิทธิ์เข้าถึง 9200/tcp ให้เหลือเพียงโฮสต์ที่ควรมีการสืบค้นดัชนีการค้นหาของคุณ ดูข้อมูลเพิ่มเติมเกี่ยวกับกลุ่มความปลอดภัยของ EC2 ได้ที่นี่: http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html

นอกจากนี้ หากคุณเรียกใช้ Elasticsearch ในเวอร์ชันก่อน 1.2 คุณควรปิดใช้การสนับสนุนการดำเนินการของสคริปต์แบบไดนามิกใน Elasticsearch ดูข้อมูลเพิ่มเติมได้ที่นี่: http://bouk.co/blog/elasticsearch-rce/#how_to_secure_against_this_vulnerability

หากคุณใช้ Elasticsearch ในการผลิตอยู่ เราขอแนะนำให้คุณตรวจสอบกลุ่มความปลอดภัย และหากจำเป็น ให้ดำเนินการอย่างเหมาะสมเพื่อจำกัดสิทธิ์เข้าถึงเซิร์ฟเวอร์ Elasticsearch ของคุณ