ค้นหาเว็บไซต์

วิธีตรวจสอบความปลอดภัยของเซิร์ฟเวอร์ 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