ก่อนเริ่มหลักสูตร เราได้เตรียมแปลเนื้อหาที่น่าสนใจ

AIDE ย่อมาจาก “Advanced Intrusion Detection Environment” และเป็นหนึ่งในระบบที่ได้รับความนิยมมากที่สุดสำหรับการตรวจสอบการเปลี่ยนแปลงในระบบปฏิบัติการบน Linux AIDE ใช้เพื่อป้องกันมัลแวร์ ไวรัส และตรวจจับกิจกรรมที่ไม่ได้รับอนุญาต เพื่อตรวจสอบความสมบูรณ์ของไฟล์และตรวจจับการบุกรุก AIDE จะสร้างฐานข้อมูลข้อมูลไฟล์และเปรียบเทียบสถานะปัจจุบันของระบบกับฐานข้อมูลนี้ AIDE ช่วยลดเวลาในการสืบสวนเหตุการณ์โดยมุ่งเน้นไปที่ไฟล์ที่ได้รับการแก้ไข
คุณสมบัติผู้ช่วย:
- รองรับคุณสมบัติไฟล์ต่างๆ รวมถึง: ประเภทไฟล์, inode, uid, gid, การอนุญาต, จำนวนลิงก์, mtime, ctime และ atime
- รองรับการบีบอัด Gzip, SELinux, XAttrs, Posix ACL และแอตทริบิวต์ระบบไฟล์
- รองรับอัลกอริธึมต่าง ๆ รวมถึง md5, sha1, sha256, sha512, rmd160, crc32 เป็นต้น
- การส่งการแจ้งเตือนทางอีเมล
ในบทความนี้ เราจะดูวิธีการติดตั้งและใช้ AIDE สำหรับการตรวจจับการบุกรุกบน CentOS 8
ข้อกำหนดเบื้องต้น
- เซิร์ฟเวอร์ที่ใช้ CentOS 8 พร้อม RAM อย่างน้อย 2 GB
- การเข้าถึงรูท
เริ่มต้นใช้งาน
แนะนำให้อัพเดตระบบก่อน เมื่อต้องการทำเช่นนี้ ให้เรียกใช้คำสั่งต่อไปนี้
dnf update -yหลังจากอัปเดตแล้ว ให้รีสตาร์ทระบบเพื่อให้การเปลี่ยนแปลงมีผล
การติดตั้งผู้ช่วย
AIDE มีอยู่ในพื้นที่เก็บข้อมูลเริ่มต้นของ CentOS 8 คุณสามารถติดตั้งได้อย่างง่ายดายโดยใช้คำสั่งต่อไปนี้:
dnf install aide -yเมื่อการติดตั้งเสร็จสมบูรณ์ คุณสามารถดูเวอร์ชัน AIDE ได้โดยใช้คำสั่งต่อไปนี้:
aide --versionคุณควรเห็นสิ่งต่อไปนี้:
Aide 0.16
Compiled with the following options:
WITH_MMAP
WITH_PCRE
WITH_POSIX_ACL
WITH_SELINUX
WITH_XATTR
WITH_E2FSATTRS
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_CURL
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf" ตัวเลือกที่มี aide สามารถดูได้ดังนี้:
aide --help 
การสร้างและเริ่มต้นฐานข้อมูล
สิ่งแรกที่คุณต้องทำหลังจากติดตั้ง AIDE คือการเริ่มต้นใช้งาน การเริ่มต้นประกอบด้วยการสร้างฐานข้อมูล (สแนปชอต) ของไฟล์และไดเร็กทอรีทั้งหมดบนเซิร์ฟเวอร์
ในการเริ่มต้นฐานข้อมูล ให้รันคำสั่งต่อไปนี้:
aide --initคุณควรเห็นสิ่งต่อไปนี้:
Start timestamp: 2020-01-16 03:03:19 -0500 (AIDE 0.16)
AIDE initialized database at /var/lib/aide/aide.db.new.gz
Number of entries: 49472
---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------
/var/lib/aide/aide.db.new.gz
MD5 : 4N79P7hPE2uxJJ1o7na9sA==
SHA1 : Ic2XBj50MKiPd1UGrtcUk4LGs0M=
RMD160 : rHMMy5WwHVb9TGUc+TBHFHsPCrk=
TIGER : vkb2bvB1r7DbT3n6d1qYVfDzrNCzTkI0
SHA256 : tW3KmjcDef2gNXYqnOPT1l0gDFd0tBh9
xWXT2iaEHgQ=
SHA512 : VPMRQnz72+JRgNQhL16dxQC9c+GiYB8g
uZp6uZNqTvTdxw+w/IYDSanTtt/fEkiI
nDw6lgDNI/ls2esijukliQ==
End timestamp: 2020-01-16 03:03:44 -0500 (run time: 0m 25s) คำสั่งดังกล่าวจะสร้างฐานข้อมูลใหม่ aide.db.new.gz ในแคตตาล็อก /var/lib/aide. สามารถดูได้โดยใช้คำสั่งต่อไปนี้:
ls -l /var/lib/aideผล:
total 2800
-rw------- 1 root root 2863809 Jan 16 03:03 aide.db.new.gz AIDE จะไม่ใช้ไฟล์ฐานข้อมูลใหม่นี้จนกว่าจะเปลี่ยนชื่อเป็น aide.db.gz. ซึ่งสามารถทำได้ดังนี้:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gzขอแนะนำให้คุณอัปเดตฐานข้อมูลนี้เป็นระยะเพื่อให้แน่ใจว่ามีการตรวจสอบการเปลี่ยนแปลงอย่างเหมาะสม
คุณสามารถเปลี่ยนตำแหน่งของฐานข้อมูลได้โดยการเปลี่ยนพารามิเตอร์ DBDIR ในไฟล์ /etc/aide.conf.
กำลังดำเนินการตรวจสอบ
ขณะนี้ AIDE พร้อมใช้ฐานข้อมูลใหม่แล้ว ดำเนินการตรวจสอบ AIDE ครั้งแรกโดยไม่ทำการเปลี่ยนแปลงใดๆ:
aide --checkคำสั่งนี้จะใช้เวลาสักครู่จึงจะเสร็จสมบูรณ์ ขึ้นอยู่กับขนาดของระบบไฟล์และจำนวน RAM บนเซิร์ฟเวอร์ของคุณ เมื่อการสแกนเสร็จสิ้น คุณจะเห็นสิ่งต่อไปนี้:
Start timestamp: 2020-01-16 03:05:07 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!ผลลัพธ์ข้างต้นบอกว่าไฟล์และไดเร็กทอรีทั้งหมดตรงกับฐานข้อมูล AIDE
ผู้ช่วยทดสอบ
ตามค่าเริ่มต้น AIDE จะไม่ติดตามไดเรกทอรีรากของ Apache เริ่มต้น /var/www/html. มากำหนดค่า AIDE เพื่อดูกันเถอะ ในการทำเช่นนี้คุณจะต้องเปลี่ยนไฟล์ /etc/aide.conf.
nano /etc/aide.conf เพิ่มบรรทัดด้านบน "/root/CONTENT_EX" ต่อไปนี้:
/var/www/html/ CONTENT_EX จากนั้นสร้างไฟล์ aide.txt ในแคตตาล็อก /var/www/html/โดยใช้คำสั่งต่อไปนี้:
echo "Test AIDE" > /var/www/html/aide.txtตอนนี้ให้รันการตรวจสอบ AIDE และตรวจสอบให้แน่ใจว่าตรวจพบไฟล์ที่สร้างขึ้น
aide --checkคุณควรเห็นสิ่งต่อไปนี้:
Start timestamp: 2020-01-16 03:09:40 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
Summary:
Total number of entries: 49475
Added entries: 1
Removed entries: 0
Changed entries: 0
---------------------------------------------------
Added entries:
---------------------------------------------------
f++++++++++++++++: /var/www/html/aide.txt เราเห็นว่าตรวจพบไฟล์ที่สร้างขึ้น aide.txt.
หลังจากวิเคราะห์การเปลี่ยนแปลงที่ตรวจพบแล้ว ให้อัพเดตฐานข้อมูล AIDE
aide --updateหลังจากการอัพเดตคุณจะเห็นสิ่งต่อไปนี้:
Start timestamp: 2020-01-16 03:10:41 -0500 (AIDE 0.16)
AIDE found differences between database and filesystem!!
New AIDE database written to /var/lib/aide/aide.db.new.gz
Summary:
Total number of entries: 49475
Added entries: 1
Removed entries: 0
Changed entries: 0
---------------------------------------------------
Added entries:
---------------------------------------------------
f++++++++++++++++: /var/www/html/aide.txt คำสั่งดังกล่าวจะสร้างฐานข้อมูลใหม่ aide.db.new.gz ในแคตตาล็อก
/var/lib/aide/คุณสามารถดูได้ด้วยคำสั่งต่อไปนี้:
ls -l /var/lib/aide/ผล:
total 5600
-rw------- 1 root root 2864012 Jan 16 03:09 aide.db.gz
-rw------- 1 root root 2864100 Jan 16 03:11 aide.db.new.gzตอนนี้เปลี่ยนชื่อฐานข้อมูลใหม่อีกครั้งเพื่อให้ AIDE ใช้ฐานข้อมูลใหม่เพื่อติดตามการเปลี่ยนแปลงเพิ่มเติม คุณสามารถเปลี่ยนชื่อได้ดังนี้:
mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gzรันการตรวจสอบอีกครั้งเพื่อให้แน่ใจว่า AIDE กำลังใช้ฐานข้อมูลใหม่:
aide --checkคุณควรเห็นสิ่งต่อไปนี้:
Start timestamp: 2020-01-16 03:12:29 -0500 (AIDE 0.16)
AIDE found NO differences between database and filesystem. Looks okay!!เราดำเนินการตรวจสอบโดยอัตโนมัติ
เป็นความคิดที่ดีที่จะทำการตรวจสอบ AIDE ทุกวันและส่งรายงานทางไปรษณีย์ กระบวนการนี้สามารถเป็นแบบอัตโนมัติโดยใช้ cron
nano /etc/crontabหากต้องการรันการตรวจสอบ AIDE ทุกวันเวลา 10:15 น. ให้เพิ่มบรรทัดต่อไปนี้ที่ท้ายไฟล์:
15 10 * * * root /usr/sbin/aide --checkขณะนี้ AIDE จะแจ้งให้คุณทราบทางไปรษณีย์ คุณสามารถตรวจสอบเมลของคุณด้วยคำสั่งต่อไปนี้:
tail -f /var/mail/rootสามารถดูบันทึก AIDE ได้โดยใช้คำสั่งต่อไปนี้:
tail -f /var/log/aide/aide.logข้อสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีใช้ AIDE เพื่อตรวจจับการเปลี่ยนแปลงไฟล์และระบุการเข้าถึงเซิร์ฟเวอร์ที่ไม่ได้รับอนุญาต สำหรับการตั้งค่าเพิ่มเติม คุณสามารถแก้ไขไฟล์การกำหนดค่า /etc/aide.conf ได้ ด้วยเหตุผลด้านความปลอดภัย ขอแนะนำให้จัดเก็บฐานข้อมูลและไฟล์การกำหนดค่าไว้ในสื่อแบบอ่านอย่างเดียว ข้อมูลเพิ่มเติมสามารถพบได้ในเอกสารประกอบ .
ที่มา: will.com
