01 / 40

ENGSE214

OS SECURITY &
HARDENING

เรียนรู้วิธีสร้างป้อมปราการดิจิทัล ตั้งแต่ระดับรากฐานของระบบปฏิบัติการ

Week 4

Software Engineering Year 3

Instructor Profile

อาจารย์ธนิต เกตุแก้ว

Full-stack Developer & Security Specialist

CISSP OSCP CompTIA+

Goal for Today

"เปลี่ยนจากการเป็นแค่ผู้ใช้งาน (User) มาเป็นผู้ดูแลระบบ (Admin) ที่เข้าใจกลไกการป้องกันตัวเอง"

Software ที่ดีต้องไม่ใช่แค่ "ทำงานได้" แต่ต้อง "ทำงานได้อย่างปลอดภัย"

Agenda: Week 4

01 Foundation

  • Defense in Depth
  • CIA Triad in OS
  • Threats to OS

02 Core Concepts

  • AAA Framework
  • User Privileges
  • Win vs Linux Models

03 Action!

  • OS Hardening
  • Secure Configuration
  • Lab: Hands-on

"The only secure system is one that is powered off..."

"...cast in a block of concrete and sealed in a lead-lined room with armed guards."

- Gene Spafford

แต่นั่นไม่ใช่ระบบที่มีประโยชน์... หน้าที่ของเราคือทำให้มัน "ใช้งานได้" และ "ปลอดภัย"

Recap Week 3

Vulnerabilities & Risk

  • Vulnerability: ช่องโหว่ (Internal) เช่น รหัสผ่านง่าย, บั๊กในโค้ด
  • Threat: ภัยคุกคาม (External) เช่น Hacker, Malware
  • Risk: ความเสี่ยงที่จะเกิดความเสียหาย

The Risk Formula

Risk = Threat × Vulnerability × Impact

ถ้าไม่มีช่องโหว่ (Vulnerability = 0) ความเสี่ยงก็จะเป็น 0!

Learning Objectives

เมื่อจบคลาสนี้ นักศึกษาจะสามารถ:

Understand

อธิบายหลักการ OS Security และความต่างของ Windows/Linux Model

Apply AAA

ประยุกต์ใช้ Authentication, Authorization, Accounting ได้ถูกต้อง

Manage Users

จัดการสิทธิ์ตามหลัก Least Privilege ไม่ให้สิทธิ์เกินความจำเป็น

Harden OS

ลงมือปรับแต่ง OS ให้แข็งแกร่ง (Hardening) ปิดช่องโหว่พื้นฐาน

Hacker's Mindset

"ถ้าคุณจะแฮกเครื่อง Server นี้... คุณจะเริ่มที่ไหน?"

Common Targets:

  • 01 User Accounts: รหัสผ่านอ่อนแอ, Default Password
  • 02 Open Services: Port ที่เปิดทิ้งไว้ไม่ได้ใช้
  • 03 Unpatched OS: Windows/Linux เวอร์ชันเก่า
  • 04 Misconfiguration: ตั้งค่าสิทธิ์ไฟล์ผิด (777)

Why OS Security Matters?

OS เปรียบเสมือน "ฐานราก" ของตึก

  • ถ้า OS พัง... Database ก็พัง
  • ถ้า OS พัง... Web Server ก็พัง
  • ถ้า OS พัง... Security Software ก็โดนปิด
Critical: การโจมตีระดับ OS (Root/Admin Compromise) คือ "Game Over" เพราะแฮกเกอร์จะควบคุมทุกอย่างได้

🛡️ Defense in Depth

กลยุทธ์ "หัวหอม" (Onion) - สร้างเกราะป้องกันหลายชั้น

Defense in Depth Diagram
คลิกที่รูปเพื่อขยาย (Click to Zoom)

CIA Triad in OS Context

Confidentiality

OS Mechanism:
File Permissions, Encryption (BitLocker/LUKS)

ป้องกันไม่ให้คนไม่มีสิทธิ์มาอ่านไฟล์เงินเดือน

Integrity

OS Mechanism:
System File Protection, Hashing, Logs

ป้องกัน Malware แอบแก้ไฟล์ system32

Availability

OS Mechanism:
Resource Quotas, Backups, Cluster

ป้องกัน OS ล่มจนใช้งานไม่ได้ (Blue Screen)

PART 2: AAA FRAMEWORK

หัวใจสำคัญของการควบคุมการเข้าถึง (Access Control)

Authentication

Authorization

Accounting

AAA Framework Diagram

AAA Framework
คลิกเพื่อขยาย

1. Authentication (การยืนยันตัวตน)

"Who are you? - คุณคือใคร?"

Factors of Authentication

  • Something you KNOW: Password, PIN
  • Something you HAVE: Token, OTP, Phone
  • Something you ARE: Fingerprint, FaceID

Password Reality

123456 แตกใน 0.1 วินาที

P@ssw0rd แตกใน 1 นาที

MyD0gN@meIsJ0hn! ใช้เวลาเป็นปี


Recommendation: Use Passphrase + MFA

🔐 Multi-Factor Authentication (MFA)

การใช้ปัจจัยมากกว่า 1 อย่างเพื่อยืนยันตัวตน ปลอดภัยกว่า Password อย่างเดียวถึง 99%

SMS OTP

Not Recommended (SIM Swap)

Authenticator App

Good (Google Auth, Microsoft Auth)

Hardware Key

Best (YubiKey)

2. Authorization (การกำหนดสิทธิ์)

"What can you do? - คุณทำอะไรได้บ้าง?"

  • หลังจาก Login ผ่านแล้ว (AuthN) ระบบจะเช็คสิทธิ์ (AuthZ)
  • RBAC (Role-Based Access Control): กำหนดสิทธิ์ตาม "บทบาท" เช่น HR, IT, Manager
  • File Permissions: Read, Write, Execute
# Linux Permissions Example -rwxr-xr-- 1 user staff presentation.pdf # r = Read (4) # w = Write (2) # x = Execute (1) Owner (user): rwx (4+2+1 = 7) -> Full Control Group (staff): r-x (4+0+1 = 5) -> Read/Run Others: r-- (4+0+0 = 4) -> Read only

💻 Interactive: chmod Calculator

ลองผสมสิทธิ์เพื่อดูค่าตัวเลข (Octal)

User (Owner)
Read (4) Write (2) Execute (1)
Group
Read (4) Write (2) Execute (1)
Others
Read (4) Write (2) Execute (1)

Command Result

000
chmod 000 filename

3. Accounting (การบันทึกและตรวจสอบ)

"What did you do? - คุณทำอะไรไปบ้าง?"

ถ้าไม่มีการบันทึก (Logging) เราจะไม่รู้เลยว่าใครแอบเข้ามา หรือใครลบไฟล์ทิ้ง

Logs ที่สำคัญ:
  • Auth Logs: Login สำเร็จ/ล้มเหลว
  • System Logs: Service error, Restart
  • Access Logs: ใครเข้าไฟล์ไหน
Dec 16 10:23:01 server sshd[1234]: Failed password for root from 192.168.1.5 port 22 Dec 16 10:23:05 server sshd[1234]: Accepted password for admin from 10.0.0.5 port 5432 Dec 16 10:24:12 server sudo: admin : TTY=pts/0 ; PWD=/home/admin ; USER=root ; COMMAND=/bin/rm -rf /var/www
tail -f /var/log/auth.log

PART 3: USER PRIVILEGES

"With great power comes great responsibility"

Principle of Least Privilege

Definition

"ให้สิทธิ์ผู้ใช้หรือโปรแกรม เท่าที่จำเป็น ในการทำงานเท่านั้น ไม่มากไปกว่านั้น"

  • Bad: ให้ทุกคนเป็น Admin เพื่อความสะดวก
  • Good: ให้สิทธิ์ User ธรรมดา ถ้าจะลงโปรแกรมค่อยขอสิทธิ์ชั่วคราว

User Privilege Hierarchy

Privilege Hierarchy
คลิกเพื่อขยาย

User Types in OS

Standard User

✅ ใช้งานทั่วไป (Web, Office)

✅ แก้ไขไฟล์ตัวเองได้

❌ แก้ไขไฟล์ระบบไม่ได้

❌ ลงโปรแกรมไม่ได้

Administrator / Root

⚡ พระเจ้าของเครื่อง

⚡ ทำได้ทุกอย่าง (ลบ OS ทิ้งก็ได้)

⚠ ความเสี่ยงสูงที่สุด

System / Service

🤖 บัญชีสำหรับโปรแกรม (เช่น Apache, MySQL)

🚫 มักจะ Login ไม่ได้ (No Shell)

🔒 จำกัดสิทธิ์เฉพาะงานของ Service

Linux: sudo vs su

การขอยืมสิทธิ์ Root มาใช้

sudo (SuperUser DO)

sudo apt update

  • Recommended
  • รันคำสั่งเดียวด้วยสิทธิ์ Root
  • ใช้ Password ของ User เอง
  • มีการบันทึก Log (Accounting)

su (Switch User)

su -

  • Not Recommended
  • แปลงร่างเป็น Root ค้างไว้เลย
  • ต้องรู้ Password ของ Root (ต้องแชร์รหัส)
  • เสี่ยงลืมตัว และเผลอลบไฟล์ผิด

Windows: User Account Control (UAC)

กลไกที่ถามว่า "Do you want to allow this app to make changes?"

ช่วยป้องกันไม่ให้ Malware แอบทำงานในสิทธิ์ Admin โดยที่เราไม่รู้ตัว

Warning: อย่าปิด UAC (Never Notify) เด็ดขาด!

User Account Control

Do you want to allow this app to make changes to your device?

PART 4: WINDOWS vs LINUX

เปรียบเทียบโมเดลความปลอดภัย

Security Model Comparison

Comparison Table
คลิกเพื่อขยาย

Key Differences

Windows

  • Users: Local or Active Directory (AD)
  • Permissions: ACL (Access Control Lists) ซับซ้อนและละเอียด
  • Firewall: Windows Defender Firewall (GUI)
  • Updates: Windows Update (บังคับรีสตาร์ทบ่อย)

Linux

  • Users: /etc/passwd, LDAP
  • Permissions: rwx bits (Simple) + SELinux (Advanced)
  • Firewall: iptables, ufw, firewalld (CLI)
  • Updates: Package Manager (apt, yum) อัปเดตได้โดยไม่ต้องรีบูต (ส่วนใหญ่)

💻 Try It: Terminal Simulation

ลองพิมพ์คำสั่งจัดการ User บน Linux (เช่น sudo useradd john)

Welcome to Linux Secure Shell Type 'help' for available commands.
student@server:~$

PART 5: OS HARDENING

การเสริมความแข็งแกร่งให้ระบบ

"Default Installation is NOT Secure Installation"

OS Hardening Workflow

Hardening Workflow
คลิกเพื่อขยาย

1. Disable Unnecessary Services

"ปิดประตูที่ไม่ได้ใช้ เพื่อลดช่องทางเข้าของโจร (Attack Surface)"

Windows to Disable

  • Remote Registry
  • Print Spooler (ถ้าไม่ใช่เครื่อง Print Server)
  • Telnet (ห้ามใช้เด็ดขาด!)
  • Xbox Live Services (บน Server)

Linux to Disable

  • CUPS (Printing Service)
  • FTP (ใช้ SFTP แทน)
  • Telnet / RSH
  • Avahi-daemon (ถ้าไม่ใช้ mDNS)

2. Configure Firewall

✅ Strategy: Default Deny

1. ปิดกั้นการเชื่อมต่อขาเข้า (Inbound) ทั้งหมด ก่อน

2. อนุญาต (Allow) เฉพาะพอร์ตที่จำเป็นต้องใช้จริงๆ

เช่น Web Server: Allow 80, 443 และ SSH 22 (เฉพาะ IP แอดมิน)

# Ubuntu UFW (Uncomplicated Firewall) # 1. Deny all incoming sudo ufw default deny incoming # 2. Allow outgoing sudo ufw default allow outgoing # 3. Allow SSH (Don't lock yourself out!) sudo ufw allow ssh # 4. Turn on sudo ufw enable

🧪 Lab 1: OS Hardening Exercise

Mission

ทำความสะอาดและล็อกประตู VM จำลอง

Checklist:

  • User Mgmt: สร้าง User แยก Admin/Standard
  • Password: ตั้ง Policy ให้ยาก (12+ chars)
  • Services: ปิด Service ที่ไม่จำเป็น
  • Firewall: ตั้ง Default Deny
  • SSH (Linux): ปิด Root Login

Case Study: WannaCry (2017)

What happened?

Ransomware เรียกค่าไถ่ที่แพร่กระจายไปทั่วโลก 200,000+ เครื่อง

Root Cause:

  • ช่องโหว่ใน SMBv1 Protocol (Service เก่าที่ควรปิด)
  • Windows ออก Patch แล้ว แต่คน ไม่อัปเดต (Unpatched OS)

Ooops, your files have been encrypted!

Send $300 in Bitcoin

Case Study: SolarWinds (2020)

Supply Chain Attack

แฮกเกอร์ฝัง Backdoor ในตัว "Software Update" ของ SolarWinds Orion

องค์กรกว่า 18,000 แห่ง (รวม Pentagon) โดนเจาะเพราะ "เชื่อใจ" การอัปเดต

Lessons for OS Security:

  • Least Privilege: แม้แต่ Software Monitor ก็ไม่ควรได้สิทธิ์สูงเกินไป
  • Egress Filtering: Firewall ควรบล็อกการเชื่อมต่อขาออก (Outbound) ไปหา Server แฮกเกอร์ด้วย

📚 Standards & Benchmarks

ไม่ต้องเดาเองว่าจะปิดอะไร ให้ทำตามมาตรฐานโลก

CIS Benchmarks

คู่มือ Hardening ที่ละเอียดที่สุด (มีเป็นเล่ม PDF แจกฟรี)

มีสำหรับ Windows 10/11, Server, Ubuntu, CentOS, Docker ฯลฯ

cisecurity.org

NIST Cybersecurity Framework

Identify -> Protect -> Detect -> Respond -> Recover

มาตรฐานหลักที่ใช้ในองค์กรและภาครัฐ

🚀 Career Path

ใครชอบเรื่องนี้ ไปทางไหนได้บ้าง?

SysAdmin / DevOps

ดูแล Server ให้ทำงานได้และปลอดภัย (เงินเดือน: 30k - 80k)

Security Engineer

ออกแบบและติดตั้งระบบป้องกัน Firewall, EDR (เงินเดือน: 50k - 100k+)

Pentester

แฮกเกอร์สายขาว เจาะระบบเพื่อหาช่องโหว่ (เงินเดือน: 50k - 150k+)

📝 Summary Week 4

  • OS คือหัวใจ: ถ้า OS ไม่รอด App ก็ไม่รอด
  • AAA Framework: ยืนยันตัวตน -> กำหนดสิทธิ์ -> บันทึก
  • Least Privilege: ให้สิทธิ์น้อยที่สุดเท่าที่จำเป็น
  • Hardening: ปิด Service, เปิด Firewall, อัปเดต Patch
  • Default Deny: บล็อกทุกอย่างก่อนเสมอ

Next Step:

Lab 1: OS Hardening

(ทำบน VM ห้ามทำบนเครื่องจริงถ้ายังไม่ชัวร์!)

🔮 Next Week: Network Security

เมื่อเครื่องเราแข็งแกร่งแล้ว... มาดูถนนที่เชื่อมต่อโลกกันบ้าง

TCP/IP & OSI

Network Firewall

Packet Sniffing (Wireshark)

🔗 Useful Links & Resources

Tools

  • Nmap: Network Scanner
  • Wireshark: Packet Analyzer
  • VirtualBox: VM for Lab

Q & A

Any Questions?

instructor@university.ac.th