วิธีตรวจสอบความปลอดภัยของเซิร์ฟเวอร์ Linux ด้วย Osquery
Osquery เป็นเฟรมเวิร์กระบบปฏิบัติการ SQL แบบโอเพ่นซอร์สที่มีประสิทธิภาพและข้ามแพลตฟอร์ม การตรวจสอบ และการวิเคราะห์สำหรับระบบ Linux, FreeBSD, Windows และ Mac/OS X ที่สร้างโดย เฟสบุ๊ค. มันเป็น explorer ระบบปฏิบัติการที่เรียบง่ายและใช้งานง่าย
มันรวมเครื่องมือจำนวนหนึ่งที่ทำการวิเคราะห์และติดตามระบบปฏิบัติการระดับต่ำ เครื่องมือเหล่านี้เผยให้เห็นระบบปฏิบัติการในฐานะฐานข้อมูลเชิงสัมพันธ์ที่มีประสิทธิภาพสูง เช่น MySQL/MariaDB, PostgreSQL และอื่นๆ โดยที่แนวคิดของ OS แสดงอยู่ใน รูปแบบตารางทำให้ผู้ใช้สามารถใช้คำสั่ง SQL เพื่อดำเนินการตรวจสอบและวิเคราะห์ระบบได้
Osquery ใช้ปลั๊กอินและ API ส่วนขยายที่เรียบง่ายเพื่อใช้ตาราง SQL มีคอลเลกชันของตารางที่พร้อมใช้งาน และยังมีอีกมากมายที่กำลังเขียนอยู่ ตารางบางตารางสามารถพบได้บนระบบปฏิบัติการเฉพาะเท่านั้น ตัวอย่างเช่น คุณจะพบเฉพาะตาราง kernel_modules บนระบบ Linux
นอกจากนี้ คุณยังสามารถเรียกใช้การสืบค้นเพื่อตรวจสอบและวิเคราะห์สถานะของระบบปฏิบัติการบนโฮสต์เดียวผ่านทาง osqueryi shell หรือบนหลายโฮสต์บนเครือข่ายผ่านทางตัวกำหนดเวลา หรือดำเนินการจากแอปพลิเคชันที่กำหนดเองใดๆ ของคุณโดยใช้ osquery Thrift API
วิธีการติดตั้ง Osquery ใน Linux
Osquery สามารถติดตั้งได้จากพื้นที่เก็บข้อมูลอย่างเป็นทางการโดยใช้เครื่องมือการจัดการแพ็กเกจ apt yum หรือ dnf บนระบบปฏิบัติการ Linux ของคุณตามที่แสดง
บนเดเบียน/อูบุนตู
export OSQUERY_KEY=1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $OSQUERY_KEY
sudo add-apt-repository 'deb [arch=amd64] https://pkg.osquery.io/deb deb main'
sudo apt update
sudo apt install osquery
บน RHEL/CentOS
curl -L https://pkg.osquery.io/rpm/GPG | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-osquery
sudo yum-config-manager --add-repo https://pkg.osquery.io/rpm/osquery-s3-rpm.repo
sudo yum-config-manager --enable osquery-s3-rpm-repo
sudo yum install osquery
บน Fedora 22+
curl -L https://pkg.osquery.io/rpm/GPG | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-osquery
dnf config-manager --add-repo --add-repo https://pkg.osquery.io/rpm/osquery-s3-rpm.repo
sudo dnf config-manager --set-enabled osquery-s3-rpm
sudo dnf install osquery
วิธีตรวจสอบและวิเคราะห์ Linux โดยใช้ Osquery
เมื่อคุณติดตั้ง Osquery บนระบบของคุณสำเร็จแล้ว ให้เปิดเชลล์ osqueryi เพื่อเริ่มค้นหาสถานะของระบบปฏิบัติการของคุณดังที่แสดง
osqueryi
Using a virtual database. Need help, type '.help'
osquery>
หากต้องการรับข้อมูลระบบ Linux แบบสรุปให้รันคำสั่งต่อไปนี้
osquery> SELECT * FROM system_info;
หากต้องการรับรายชื่อผู้ใช้ทั้งหมดที่มีการจัดรูปแบบอย่างดีบนระบบ Linux ให้รันแบบสอบถามต่อไปนี้
osquery> SELECT * FROM users;
หากต้องการรับรายการโมดูลเคอร์เนล Linux ทั้งหมดและสถานะ ให้เรียกใช้แบบสอบถามต่อไปนี้
osquery> SELECT * FROM kernel_modules;
หากต้องการรับรายการแพ็คเกจ RPM ที่ติดตั้งทั้งหมดบน CentOS, RHEL และ Fedora ให้เรียกใช้แบบสอบถามต่อไปนี้
osquery> .all rpm_packages;
หากต้องการรับข้อมูลเกี่ยวกับการรันกระบวนการ Linux ให้รันแบบสอบถามต่อไปนี้
osquery> SELECT DISTINCT processes.name, listening_ports.port, processes.pid FROM listening_ports JOIN processes USING (pid) WHERE listening_ports.address = '0.0.0.0';
หากคุณใช้ osquery บนเดสก์ท็อปและติดตั้ง Firefox หรือ Chrome คุณสามารถแสดงรายการส่วนเสริมทั้งหมดของคุณโดยใช้คำค้นหาต่อไปนี้
osquery> .all firefox_addons;
osquery> .all chrome_extensions;
หากต้องการแสดงรายการตารางที่ใช้งานทั้งหมดใน Linux ให้ใช้คำสั่ง .tables ตามที่แสดง
osquery> .tables; #list all implemented tables
osquery> .help; #view help message
Osquery ยังมีการตรวจสอบความสมบูรณ์ของไฟล์ (FIM) และคุณลักษณะการตรวจสอบกระบวนการและซ็อกเก็ต และอื่นๆ ดังนั้นจึงเป็นเครื่องมือตรวจจับการบุกรุก แต่จะต้องใช้การกำหนดค่าบางอย่างก่อนจึงจะสามารถทำได้ ปรับใช้เพื่อจุดประสงค์ดังกล่าว คุณสามารถค้นหาข้อมูลเพิ่มเติมได้จากที่เก็บ Osquery Github