0Pricing
Security+ Academy · บทเรียน

การเสริมความแข็งแกร่งให้ OS: การติดตั้งแพตช์ การกำหนดค่าพื้นฐาน และเกณฑ์มาตรฐาน CIS

ประยุกต์ใช้เทคนิคเสริมความแข็งแกร่งให้ OS ได้แก่ การปิดบริการที่ไม่จำเป็น การบังคับใช้การกำหนดค่าพื้นฐาน และการใช้เกณฑ์มาตรฐาน CIS เพื่อลดพื้นผิวการโจมตี

การเสริมความแข็งแกร่งให้ OS: การติดตั้งแพตช์ การกำหนดค่าพื้นฐาน และเกณฑ์มาตรฐาน CIS เป็นบทเรียน Security+ Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Security+ Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Security+ Academy มีบทเรียนทั้งหมด 4 บทเรียน

การเสริมความปลอดภัยของ OS คืออะไร

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

การจัดการแพตช์

การจัดการแพตช์ คือกระบวนการระบุ ทดสอบ และนำการอัปเดตซอฟต์แวร์ที่แก้ไขช่องโหว่ด้านความปลอดภัยมาใช้ ระบบที่ไม่ได้รับแพตช์เป็นหนึ่งในเป้าหมายที่ถูกโจมตีได้ง่ายที่สุด การรั่วไหลครั้งใหญ่หลายครั้ง เช่น Equifax ในปี 2017 และ WannaCry ในปี 2017 ใช้ประโยชน์จากช่องโหว่ที่ทราบอยู่แล้วและมีแพตช์พร้อมใช้งาน แต่องค์กรยังไม่ได้ติดตั้ง กระบวนการจัดการแพตช์ที่มีประสิทธิภาพต้องกำหนดสิ่งต่อไปนี้: การระบุแพตช์ (สมัครรับคำแนะนำจากผู้จำหน่ายและฟีด CVE) การจัดประเภทความสำคัญ (Emergency/Critical/High/Medium) กรอบเวลาการทดสอบ (แพตช์สำคัญภายใน 48–72 ชั่วโมงในกรอบการทำงานหลายประเภท) และ การตรวจสอบการติดตั้ง

# Patch criticality SLA example
CVSS Score     SLA           Notes
----------     ----------    ----------------------
9.0 - 10.0     48 hours      Emergency patch cycle
7.0 - 8.9      7 days        Critical patch cycle
4.0 - 6.9      30 days       Standard patch cycle
0.1 - 3.9      90 days       Routine patch cycle

# Verify patch application:
# Windows: Get-HotFix | Where-Object {$_.HotFixID -eq 'KB5023706'}
# Linux:   dpkg -l | grep package_name

การปิดใช้งานบริการที่ไม่จำเป็น

บริการที่กำลังทำงานอยู่ทุกตัวอาจเป็นช่องทางการโจมตีได้ การเสริมความปลอดภัยของ OS เริ่มต้นด้วย การตรวจสอบบริการ: แสดงรายการบริการทั้งหมดที่กำลังทำงาน ระบุวัตถุประสงค์ของแต่ละบริการ และปิดใช้งานบริการที่ไม่จำเป็นต่อบทบาทของระบบ บน Windows Server มักปิดใช้งานบทบาทต่าง ๆ เช่น Print Spooler, Remote Registry และ LLMNR บนเซิร์ฟเวอร์ที่ไม่จำเป็นต้องใช้บริการเหล่านี้ ส่วนบน Linux บริการอย่าง rpcbind, cups (การพิมพ์) และ avahi (mDNS) มักเป็นตัวเลือกสำหรับปิดใช้งาน หลักการคือ หากไม่จำเป็นต้องใช้ ให้ปิดใช้งาน

# Windows: disable unnecessary service
SC config 'Spooler' start= disabled
SC stop 'Spooler'

# Linux: disable unused services
systemctl disable cups
systemctl stop cups
systemctl disable avahi-daemon
systemctl stop avahi-daemon

# Verify no unnecessary ports are listening:
ss -tulnp  # Linux
netstat -an | findstr LISTENING  # Windows

การนำซอฟต์แวร์ที่ไม่จำเป็นออก

ซอฟต์แวร์ที่ติดตั้งไว้แต่ไม่ได้ใช้งานถือเป็นความเสี่ยงที่ไม่จำเป็น แพ็กเกจทุกตัวอาจนำช่องโหว่มาได้ แม้แต่ซอฟต์แวร์ที่ได้รับการดูแลอย่างดีก็ยังมี CVE การเสริมความปลอดภัยของ OS รวมถึงการนำ รันไทม์ภาษาการเขียนโปรแกรม ที่แอปพลิเคชันไม่จำเป็นต้องใช้ ออกไป เช่น Python, Perl และ Ruby บนเว็บเซิร์ฟเวอร์ การนำ เครื่องมือพัฒนา ออก เช่น คอมไพเลอร์และดีบักเกอร์บนระบบใช้งานจริง และการนำ แพ็กเกจแอปพลิเคชันเริ่มต้น ที่มากับอิมเมจ OS ออก เช่น เซิร์ฟเวอร์ FTP ไคลเอ็นต์ telnet และเอเจนต์ SNMP อิมเมจคอนเทนเนอร์ก็ควรใช้ อิมเมจพื้นฐานขนาดเล็ก เช่น Alpine, scratch และ distroless ด้วยเหตุผลเดียวกัน

# Remove unused packages (Debian/Ubuntu)
apt purge telnet ftp netcat python2 perl
apt autoremove

# Remove unused packages (RHEL/CentOS)
yum remove telnet ftp nmap-ncat

# Check what is installed:
dpkg -l | grep -i 'telnet\|ftp\|netcat'

การรักษาความปลอดภัยของบัญชีเริ่มต้น

บัญชีเริ่มต้นที่มีชื่อผู้ใช้และรหัสผ่านที่เป็นที่รู้จัก เป็นหนึ่งในสิ่งแรก ๆ ที่ผู้โจมตีจะลองใช้ ขั้นตอนการเสริมความปลอดภัย ได้แก่ ปิดใช้งานบัญชี Administrator ในตัว (Windows) และเปลี่ยนชื่อบัญชีดังกล่าวหากไม่สามารถปิดใช้งานได้ เปลี่ยนชื่อบัญชี root หรือจำกัดการเข้าสู่ระบบ SSH ของ root (Linux) เปลี่ยนรหัสผ่านเริ่มต้นทั้งหมด บนอุปกรณ์เฉพาะทาง ฐานข้อมูล และแอปพลิเคชันก่อนนำไปใช้งานจริง ลบบัญชีผู้เยี่ยมชม และ ปิดใช้งานบัญชีบริการ ที่ไม่จำเป็นต้องเข้าสู่ระบบแบบโต้ตอบ เครื่องมือสแกนอย่าง Nessus จะระบุข้อมูลรับรองเริ่มต้นเป็นประเด็นสำคัญอย่างยิ่ง

# Linux: disable root SSH login
# Edit /etc/ssh/sshd_config:
PermitRootLogin no
PasswordAuthentication no
AllowUsers admin_user service_user

# Restart SSH:
systemctl restart sshd

# Windows: disable built-in Administrator
net user Administrator /active:no

# Rename (via Group Policy):
# Computer Config > Windows Settings > Security Settings
# > Local Policies > Security Options
# > 'Accounts: Rename administrator account'

สิทธิ์ของระบบไฟล์และสิทธิ์เท่าที่จำเป็น

สิทธิ์ของระบบไฟล์ที่ปลอดภัยช่วยบังคับใช้หลักสิทธิ์เท่าที่จำเป็นบน OS กระบวนการของเว็บเซิร์ฟเวอร์ไม่ควรมีสิทธิ์เขียนในไดเรกทอรีที่ตนให้บริการ บัญชีแอปพลิเคชันไม่ควรมีสิทธิ์อ่านไฟล์การกำหนดค่าที่มีข้อมูลรับรอง บน Linux ควรตรวจสอบ ไบนารี setuid และ setgid เนื่องจากไบนารีเหล่านี้ทำงานด้วยสิทธิ์ระดับสูงไม่ว่าใครจะเป็นผู้เรียกใช้ก็ตาม บน Windows สิทธิ์ NTFS และ การตรวจสอบ DACL ช่วยให้มั่นใจว่าไดเรกทอรีสำคัญ (กลุ่มรีจิสทรี SAM สำเนาเงา และที่จัดเก็บข้อมูลรับรอง) เข้าถึงได้เฉพาะกระบวนการที่ได้รับอนุญาต

# Find setuid/setgid binaries (Linux)
find / -perm /4000 -o -perm /2000 2>/dev/null

# Secure web root permissions
chown -R root:www-data /var/www/html
chmod -R 755 /var/www/html
chmod 640 /var/www/html/config.php

# Check overly permissive files
find /etc -perm -o+w 2>/dev/null  # world-writable in /etc

เกณฑ์มาตรฐาน CIS

เกณฑ์มาตรฐาน CIS คือคู่มือการเสริมความปลอดภัยที่พัฒนาโดยชุมชนและเปิดให้ใช้งานฟรี สำหรับ OS แอปพลิเคชัน และแพลตฟอร์มคลาวด์แต่ละประเภท เกณฑ์มาตรฐานแต่ละชุดประกอบด้วยคำแนะนำการกำหนดค่าเฉพาะหลายร้อยรายการ พร้อมเหตุผล ขั้นตอนการแก้ไข และคำสั่งตรวจสอบ เกณฑ์มาตรฐาน CIS ใช้โปรไฟล์สองระดับ ได้แก่ ระดับ 1 — การกำหนดค่าพื้นฐานที่ใช้ได้อย่างกว้างขวางและไม่จำกัดการทำงาน และ ระดับ 2 — การกำหนดค่าขั้นสูงสำหรับสภาพแวดล้อมที่มีความปลอดภัยสูง ซึ่งอาจส่งผลต่อความสะดวกในการใช้งาน มีเกณฑ์มาตรฐานสำหรับ Windows Server, Ubuntu/RHEL, macOS, Docker, Kubernetes, AWS, Azure, GCP เบราว์เซอร์ และฐานข้อมูล

# CIS Benchmark check example (Linux L1)
# CIS Ubuntu 22.04 - 1.1.1.1 Disable cramfs
modprobe -n -v cramfs 2>&1 | grep -q 'Module cramfs not found'
# Expected: Module cramfs not found OR 'install /bin/false'

# Remediate:
echo 'install cramfs /bin/false' >> /etc/modprobe.d/CIS.conf

# CIS Windows - Account Lockout threshold
# secedit /export /cfg secpol.txt
# Check: LockoutBadCount = 5 (not 0)

การจัดการการกำหนดค่าพื้นฐาน

พื้นฐานด้านความปลอดภัย คือชุดการตั้งค่าการกำหนดค่าที่จัดทำเป็นเอกสาร ซึ่งทุกระบบในหมวดหมู่บทบาทเดียวกันต้องเป็นไปตามนั้น พื้นฐานเหล่านี้นำไปใช้ผ่าน Group Policy Objects (GPOs) บน Windows ผ่าน คู่มือการทำงานของ Ansible ผ่าน ชุดตำรา Chef หรือผ่าน ไฟล์กำหนดค่า Puppet บน Linux เครื่องมือจัดการการกำหนดค่าช่วยให้สามารถ ตรวจจับการเบี่ยงเบน ได้ หากระบบแตกต่างจากพื้นฐานที่อนุมัติไว้ (เช่น มีการเปิดใช้บริการอีกครั้ง) การแจ้งเตือนอัตโนมัติและการแก้ไขอัตโนมัติจะทำให้ระบบกลับมาเป็นไปตามข้อกำหนด NIST SP 800-128 ให้คำแนะนำเกี่ยวกับการจัดการการกำหนดค่าที่มุ่งเน้นด้านความปลอดภัยสำหรับระบบของรัฐบาลกลาง

# Ansible hardening playbook snippet
- name: Disable ICMP redirects
  sysctl:
    name: net.ipv4.conf.all.accept_redirects
    value: '0'
    state: present
    reload: yes

- name: Enable address space layout randomization
  sysctl:
    name: kernel.randomize_va_space
    value: '2'
    state: present
    reload: yes

การบันทึกการตรวจสอบและการเฝ้าติดตาม

การเสริมความปลอดภัยไม่ได้มีเพียงการป้องกันเท่านั้น — การบันทึกและการเฝ้าติดตาม ก็มีความสำคัญไม่แพ้กัน กำหนดค่านโยบายการตรวจสอบเพื่อบันทึก: เหตุการณ์การยืนยันตัวตน (สำเร็จและล้มเหลว) การยกระดับสิทธิ์ การเข้าถึงวัตถุ (การอ่านไฟล์สำคัญ) การสร้างกระบวนการ (พร้อมอาร์กิวเมนต์บรรทัดคำสั่ง) และ เหตุการณ์การเชื่อมต่อเครือข่าย ต้องส่งต่อบันทึกไปยัง SIEM แบบรวมศูนย์เกือบเรียลไทม์ เพื่อให้ผู้โจมตีภายในที่มีสิทธิ์ผู้ดูแลระบบไม่สามารถลบร่องรอยด้วยการล้างบันทึกเหตุการณ์ได้ ควรเก็บรักษาบันทึกไว้อย่างน้อย 12 เดือนตามกรอบการปฏิบัติตามข้อกำหนดส่วนใหญ่

# Enable Windows audit policy (Group Policy)
auditpol /set /category:'Logon/Logoff' /success:enable /failure:enable
auditpol /set /category:'Process Creation' /success:enable
auditpol /set /subcategory:'Privilege Use' /success:enable /failure:enable

# Linux: configure auditd for privilege use
echo '-a always,exit -F arch=b64 -S execve -k exec_track' >> /etc/audit/rules.d/audit.rules
echo '-w /etc/sudoers -p wa -k priv_change' >> /etc/audit/rules.d/audit.rules
augenrules --load

การสแกนการปฏิบัติตามข้อกำหนดโดยอัตโนมัติ

การตรวจสอบเกณฑ์มาตรฐานการเสริมความปลอดภัยด้วยตนเองในทุกระบบไม่เหมาะสำหรับการดำเนินงานในวงกว้าง เครื่องมือสแกนการปฏิบัติตามข้อกำหนด ช่วยทำการตรวจสอบนี้โดยอัตโนมัติ OpenSCAP (โอเพนซอร์ส) นำเนื้อหา SCAP ไปใช้กับระบบ Linux และสร้างรายงาน HTML ที่แสดงการตรวจสอบที่ผ่าน ไม่ผ่าน และไม่เกี่ยวข้อง Nessus มีนโยบายเกณฑ์มาตรฐาน CIS ในตัว ชุดเครื่องมือการปฏิบัติตามข้อกำหนดด้านความปลอดภัยของ Microsoft ประเมินระบบ Windows เทียบกับพื้นฐานของ Microsoft เครื่องมือเหล่านี้ทำงานตามกำหนดเวลาเป็นประจำ (รายสัปดาห์หรือรายเดือน) และความเบี่ยงเบนจะทำให้เกิดใบงานการแก้ไขในระบบจัดการการเปลี่ยนแปลง

# OpenSCAP compliance scan (RHEL/CentOS)
oscap xccdf eval \
  --profile xccdf_org.ssgproject.content_profile_cis \
  --results results.xml \
  --report report.html \
  /usr/share/xml/scap/ssg/content/ssg-rhel9-ds.xml

# Generate remediation script
oscap xccdf generate fix \
  --fix-type bash \
  --result-id '' \
  results.xml > remediation.sh

Group Policy และแม่แบบความปลอดภัย

ในโดเมน Windows Group Policy Objects (GPOs) เป็นกลไกหลักสำหรับนำพื้นฐานด้านความปลอดภัยไปใช้และบังคับใช้ในวงกว้าง แม่แบบความปลอดภัย (ไฟล์ .inf ที่สร้างไว้ล่วงหน้าหรือกำหนดเอง) สามารถนำเข้าไปยัง GPO เพื่อกำหนดค่าการตั้งค่าหลายร้อยรายการพร้อมกัน ได้แก่ นโยบายบัญชี นโยบายการตรวจสอบ การกำหนดสิทธิ์ผู้ใช้ ตัวเลือกความปลอดภัย และค่าของรีจิสทรี ส่วนเสริม การกำหนดค่าและการวิเคราะห์ความปลอดภัย และเครื่องมือบรรทัดคำสั่ง secedit จะเปรียบเทียบการตั้งค่าปัจจุบันกับแม่แบบที่กำหนดไว้ และสร้างรายงานการปฏิบัติตามข้อกำหนด GPO จะมีผลเมื่อเริ่มต้นระบบและตามช่วงเวลาปกติ เพื่อให้ความเบี่ยงเบนจากพื้นฐานได้รับการแก้ไขโดยอัตโนมัติ

# Apply security template via secedit
secedit /configure /db %windir%\security\local.sdb \
  /cfg C:\Templates\CIS_Level1_Server2022.inf \
  /log secedit_apply.log

# Analyze current config vs template
secedit /analyze /db %windir%\security\local.sdb \
  /cfg C:\Templates\CIS_Level1_Server2022.inf \
  /log secedit_analysis.log

# View result: settings marked as compliant or non-compliant

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ทดสอบความเข้าใจแนวคิด CompTIA Security+ (SY0-701) จากบทเรียนนี้

สรุปบทเรียน

ในบทเรียนนี้ คุณได้เรียนรู้ว่า การเสริมความปลอดภัยของ OS ช่วยลดพื้นผิวการโจมตีด้วยการปิดใช้งานบริการ ลบซอฟต์แวร์ รักษาความปลอดภัยของบัญชี และใช้สิทธิ์เท่าที่จำเป็น การจัดการแพตช์ ช่วยปิดช่องโหว่ที่เป็นที่รู้จักด้วย SLA ตามระดับความสำคัญ และ เกณฑ์มาตรฐาน CIS ให้คำแนะนำการกำหนดค่าระดับ 1 (พื้นฐาน) และระดับ 2 (ขั้นสูง) ซึ่งบังคับใช้ผ่านเครื่องมือสแกนการปฏิบัติตามข้อกำหนดโดยอัตโนมัติ บทถัดไป เราจะศึกษาเกี่ยวกับการจัดการอุปกรณ์เคลื่อนที่และนโยบาย BYOD

คำถามที่พบบ่อย

บทเรียน “การเสริมความแข็งแกร่งให้ OS: การติดตั้งแพตช์ การกำหนดค่าพื้นฐาน และเกณฑ์มาตรฐาน CIS” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การเสริมความแข็งแกร่งให้ OS: การติดตั้งแพตช์ การกำหนดค่าพื้นฐาน และเกณฑ์มาตรฐาน CIS” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Security+ Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Security+ Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การเสริมความแข็งแกร่งให้ OS: การติดตั้งแพตช์ การกำหนดค่าพื้นฐาน และเกณฑ์มาตรฐาน CIS”

ประยุกต์ใช้เทคนิคเสริมความแข็งแกร่งให้ OS ได้แก่ การปิดบริการที่ไม่จำเป็น การบังคับใช้การกำหนดค่าพื้นฐาน และการใช้เกณฑ์มาตรฐาน CIS เพื่อลดพื้นผิวการโจมตี คุณปฏิบัติ Security+ Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Security+ Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Security+ Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “การเสริมความแข็งแกร่งให้ OS: การติดตั้งแพตช์ การกำหนดค่าพื้นฐาน และเกณฑ์มาตรฐาน CIS” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Security+ Academy นี้ได้ไหม

ได้ บทเรียน Security+ Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. แพลตฟอร์ม Antivirus, EDR และ XDR
  2. การเสริมความแข็งแกร่งให้ OS: การติดตั้งแพตช์ การกำหนดค่าพื้นฐาน และเกณฑ์มาตรฐาน CIS
  3. การจัดการอุปกรณ์เคลื่อนที่ (MDM) และนโยบาย BYOD
  4. ไฟร์วอลล์บนเครื่องโฮสต์และการอนุญาตรายการแอปพลิเคชัน
← กลับไปที่ Security+ Academy