# บทที่ 1 — Introduction to Network Security ## พื้นฐานความมั่นคงปลอดภัยเครือข่าย **ผู้จัดทำ:** อรรถพล คงหวาน --- # Outline * 1.1 แนวคิดพื้นฐานด้าน Cybersecurity และ Network Security * 1.2 CIA Triad: Confidentiality, Integrity, Availability * 1.3 ประเภทของภัยคุกคาม (Threats), ช่องโหว่ (Vulnerabilities) และการโจมตี (Attacks) * 1.4 ระบบความมั่นคงพื้นฐาน (Basic Security Systems) และ Security Policies * 1.5 กรอบการทำงานด้านความมั่นคงปลอดภัย: NIST, ISO/IEC 27001 * 1.6 บทบาทและความรับผิดชอบในการรักษาความมั่นคงปลอดภัย --- ## 1.1 แนวคิดพื้นฐานด้าน Cybersecurity และ Network Security --- ### 1.1.1 ความแตกต่างระหว่าง Information Security, Cybersecurity และ Network Security - **Information Security (ความมั่นคงปลอดภัยสารสนเทศ)** — ขอบเขตกว้างที่สุด ครอบคลุมการปกป้องข้อมูลทุกรูปแบบ ทั้งดิจิทัลและกายภาพ เช่น เอกสารกระดาษ, สื่อบันทึกข้อมูล, และข้อมูลที่จัดเก็บในระบบ - **Cybersecurity (ความมั่นคงปลอดภัยทางไซเบอร์)** — เน้นการปกป้องระบบคอมพิวเตอร์, เครือข่าย และข้อมูลในโลกดิจิทัลจากการโจมตีทางไซเบอร์ทุกรูปแบบ - **Network Security (ความมั่นคงปลอดภัยเครือข่าย)** — ขอบเขตเฉพาะเจาะจง ครอบคลุมนโยบาย, กระบวนการ, และเทคโนโลยีที่ป้องกันการเข้าถึงเครือข่ายโดยไม่ได้รับอนุญาต รวมถึงการป้องกันการโจมตีที่ผ่านโครงสร้างเครือข่าย --- ### 1.1.1 ความสัมพันธ์ระหว่าง IS, Cybersecurity และ Network Security ```mermaid graph TD direction LR IS["
🔐 Information Security
(ความมั่นคงปลอดภัยสารสนเทศ)
ข้อมูลทุกรูปแบบ: ดิจิทัล + กายภาพ"] CS["
💻 Cybersecurity
(ความมั่นคงทางไซเบอร์)
ระบบดิจิทัล + เครือข่าย + ข้อมูล"] NS["
🌐 Network Security
(ความมั่นคงเครือข่าย)
โครงสร้างเครือข่าย + โปรโตคอล + อุปกรณ์"] IS -->|"ครอบคลุม (includes)"| CS CS -->|"ครอบคลุม (includes)"| NS ``` --- ### 1.1.2 ทำไม Network Security จึงสำคัญ - **Sensitive Data** ถูกรับส่งผ่านเครือข่ายตลอดเวลา เช่น ข้อมูลทางการเงิน, บันทึกสุขภาพ, ความลับทางการค้า - **Critical Infrastructure** เช่น ระบบไฟฟ้า, ประปา, โรงพยาบาล ล้วนพึ่งพาเครือข่ายคอมพิวเตอร์ - **Data Breach Cost** เฉลี่ยอยู่ที่ 4.45 ล้านดอลลาร์สหรัฐต่อเหตุการณ์ (IBM Cost of Data Breach Report 2023) - **Legal Impact** เช่น PDPA (พ.ร.บ. คุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562), GDPR ของยุโรป - **Business Continuity** การโจมตีเพียงครั้งเดียวอาจทำให้ธุรกิจต้องหยุดชะงักหรือล้มละลายได้ --- ### 1.1.3 วิวัฒนาการของ Network Security ```mermaid flowchart TB subgraph ERA1["🕰️ ยุค 1960s–70s - ARPANET & รากฐาน"] direction LR A1["ARPANET
(1969)
เครือข่ายแรกของโลก"] A2["Unix
Security
(1971)"] A3["DES Standard
(1977)
มาตรฐานเข้ารหัสแรก"] A1 --> A2 --> A3 end subgraph ERA2["🖥️ ยุค 1980s - PC & Virus ระบาด"] B1["Morris Worm
(1988)
หนอนอินเทอร์เน็ตตัวแรก"] B2["First Firewall
(1988)
ไฟร์วอลล์รุ่นแรก"] B3["CERT ก่อตั้ง
(1988)
ทีม Response แรก"] B1 --> B2 --> B3 end subgraph ERA3["🌐 ยุค 1990s - WWW & SSL"] C1["WWW & HTTP
(1991)
เวิลด์ไวด์เว็บ"] C2["SSL Protocol
(1995)
การเข้ารหัสเว็บ"] C3["SSH Protocol
(1995)
การเข้าถึงปลอดภัย"] C1 --> C2 --> C3 end subgraph ERA4["📡 ยุค 2000s - Network Attacks"] D1["Wi-Fi WPA
(2003)
มาตรฐานไร้สาย"] D2["Stuxnet
(2010)
Cyberweapon แรก"] D3["NIST CSF
(2014)
กรอบมาตรฐาน"] D1 --> D2 --> D3 end subgraph ERA5["☁️ ยุค 2020s - Cloud & Zero Trust"] E1["Zero Trust
Architecture"] E2["AI-Powered
Security"] E3["Post-Quantum
Cryptography"] E1 --> E2 --> E3 end ERA1 --> ERA2 --> ERA3 --> ERA4 --> ERA5 ``` --- ### 1.1.4 Linux Tools — Basic Network Status Check (1) ```bash # 1. ตรวจสอบ network interfaces และ IP addresses ip addr show # 2. ดู routing table — เส้นทางการส่งข้อมูล ip route show # 3. ตรวจสอบ TCP/UDP connections ที่กำลัง LISTEN อยู่ ss -tuln # 4. แสดง network statistics สรุป ss -s ``` --- ### 1.1.4 Linux Tools — Basic Network Status Check (2) ```bash # 5. ตรวจสอบ DNS resolution dig +short google.com # 6. ทดสอบ connectivity พื้นฐาน ping -c 4 8.8.8.8 # 7. Traceroute — ดูเส้นทางของ packet traceroute 8.8.8.8 # 8. ดู ARP cache — การ mapping IP ↔ MAC arp -n ``` --- ### 1.1.4 ผลลัพธ์ตัวอย่าง (Sample Output) ``` # ip addr show (ตัวอย่าง) 2: ens3:
mtu 1500 qdisc fq_codel state UP inet 192.168.1.100/24 brd 192.168.1.255 scope global ens3 inet6 fe80::5054:ff:fe12:3456/64 scope link # ss -tuln (ตัวอย่าง port ที่เปิดอยู่) Netid State Local Address:Port Process tcp LISTEN 0.0.0.0:22 sshd ← SSH tcp LISTEN 0.0.0.0:80 nginx ← HTTP tcp LISTEN 0.0.0.0:443 nginx ← HTTPS tcp LISTEN 127.0.0.1:3306 mysqld ← MySQL (เฉพาะ localhost) ``` --- ## 1.2 CIA Triad: Confidentiality, Integrity, Availability --- ### 1.2 CIA Triad — หลักการสามเสาหลัก **CIA Triad** คือหลักการสามเสาหลักของความมั่นคงปลอดภัยสารสนเทศ ใช้ประเมิน วิเคราะห์ และออกแบบระบบความมั่นคงปลอดภัยทุกระดับ ```mermaid graph TD CIA["
🔐 CIA Triad
หลักการความมั่นคงสารสนเทศ
Information Security Foundation"] C["
🔒 Confidentiality
การรักษาความลับ
ข้อมูลเข้าถึงได้เฉพาะ
ผู้มีสิทธิ์เท่านั้น
Tools: Encryption, ACL"] I["
✅ Integrity
ความครบถ้วนสมบูรณ์
ข้อมูลถูกต้องและ
ไม่ถูกแก้ไขโดยไม่ได้รับอนุญาต
Tools: Hash, Digital Signature"] A["
⚡ Availability
ความพร้อมใช้งาน
ระบบและข้อมูลพร้อมใช้
เมื่อผู้มีสิทธิ์ต้องการ
Tools: Redundancy, Backup"] CIA --> C CIA --> I CIA --> A ``` --- ### 1.2.1 Confidentiality (การรักษาความลับ) **Confidentiality** หมายถึง การป้องกันไม่ให้ข้อมูลถูกเปิดเผยต่อบุคคล, กระบวนการ, หรือระบบที่ไม่ได้รับอนุญาต ทั้งขณะจัดเก็บ (at rest) หรือขณะรับส่ง (in transit) **เทคนิคที่ใช้รักษา Confidentiality:** - **Encryption** — แปลงข้อมูลให้อ่านไม่ออกสำหรับผู้ที่ไม่มีกุญแจถอดรหัส เช่น AES-256, RSA - **Access Control** — กำหนดสิทธิ์ว่าใครเข้าถึงข้อมูลใดได้บ้าง (ACL, RBAC) - **Data Classification** — แบ่งระดับความลับ: Public → Internal → Confidential → Secret → Top Secret - **Need-to-Know Principle** — ให้สิทธิ์เฉพาะข้อมูลที่จำเป็นต้องรู้สำหรับงาน ไม่มากกว่านั้น - **Data Masking** — ซ่อนส่วนของข้อมูล เช่น `xxxx-xxxx-xxxx-1234` สำหรับหมายเลขบัตรเครดิต --- ### 1.2.1 ตัวอย่างการละเมิด Confidentiality - การดักฟังการสื่อสาร (Eavesdropping/Sniffing) บน Wi-Fi สาธารณะ - การรั่วไหลของฐานข้อมูลรหัสผ่าน (Password Database Leak) - การเข้าถึงไฟล์โดยไม่ได้รับอนุญาตผ่านช่องโหว่ระบบ - การใช้บัญชีที่ถูกขโมย (Credential Theft) เพื่ออ่านข้อมูลลับ --- ### 1.2.1 Linux — File Permissions และการเข้ารหัส (1) ```bash # สร้างไฟล์ข้อมูลสำคัญจำลอง echo "ข้อมูลลับ: API_KEY=sk-abc123xyz, DB_PASS=P@ssw0rd!" > /tmp/secret.txt # ดูสิทธิ์ปัจจุบัน (มีปัญหา: ทุกคนอ่านได้!) ls -la /tmp/secret.txt # -rw-r--r-- 1 user user 51 Jun 1 10:00 /tmp/secret.txt # ^^^ rw = owner r-- = group r-- = others (ปัญหา!) # แก้ไขสิทธิ์ให้เฉพาะเจ้าของเท่านั้น chmod 600 /tmp/secret.txt ls -la /tmp/secret.txt # -rw------- 1 user user 51 Jun 1 10:00 /tmp/secret.txt # ^^^ rw = owner --- = group --- = others (ถูกต้อง!) ``` --- ### 1.2.1 Linux — File Permissions และการเข้ารหัส (2) ```bash # เข้ารหัสด้วย OpenSSL (AES-256-CBC) openssl enc -aes-256-cbc -pbkdf2 -in /tmp/secret.txt -out /tmp/secret.txt.enc # (ระบบจะถามรหัสผ่านสำหรับการเข้ารหัส) # ดูไฟล์ที่เข้ารหัสแล้ว (อ่านไม่ออก) xxd /tmp/secret.txt.enc | head -5 # ถอดรหัส openssl enc -aes-256-cbc -pbkdf2 -d -in /tmp/secret.txt.enc -out /tmp/secret_decrypted.txt cat /tmp/secret_decrypted.txt # เข้ารหัสด้วย GPG (GNU Privacy Guard) gpg --symmetric --cipher-algo AES256 /tmp/secret.txt # สร้างไฟล์ /tmp/secret.txt.gpg # ถอดรหัส GPG gpg --decrypt /tmp/secret.txt.gpg ``` --- ### 1.2.2 Integrity (ความครบถ้วนสมบูรณ์) **Integrity** หมายถึง การรับประกันว่าข้อมูลถูกต้อง, ครบถ้วน และไม่ถูกแก้ไขโดยไม่ได้รับอนุญาต ทั้งขณะจัดเก็บ (at rest) และขณะรับส่ง (in transit) **เทคนิคที่ใช้รักษา Integrity:** - **Hash Functions** — สร้าง "ลายนิ้วมือ" ดิจิทัลของข้อมูล เช่น SHA-256, SHA-3 - **Digital Signatures** — พิสูจน์ว่าข้อมูลมาจากแหล่งที่เชื่อถือได้และไม่ถูกแก้ไข - **Checksums** — ใช้ตรวจสอบความถูกต้องของข้อมูลระหว่างการรับส่ง - **Version Control** — Git ช่วยติดตามการเปลี่ยนแปลงทุกครั้ง - **File Integrity Monitoring (FIM)** — เครื่องมือเช่น AIDE, Tripwire ตรวจจับการเปลี่ยนแปลงไฟล์สำคัญ - **Write-Once Storage** — สื่อบันทึกที่เขียนครั้งเดียว ป้องกันการแก้ไข (WORM: Write Once Read Many) --- ### 1.2.2 Linux — Hash Verification (1) ```bash # สร้างเอกสารจำลอง cat > /tmp/contract.txt << 'EOF' สัญญาจ้างเลขที่: 2567-001 วันที่: 1 มิถุนายน 2567 ผู้รับจ้าง: บริษัท ABC จำกัด มูลค่าสัญญา: 500,000 บาท เงื่อนไข: ส่งมอบงานภายใน 90 วัน EOF # คำนวณ hash ด้วยหลายอัลกอริทึม echo "MD5 : $(md5sum /tmp/contract.txt | awk '{print $1}')" echo "SHA-1 : $(sha1sum /tmp/contract.txt | awk '{print $1}')" echo "SHA-256: $(sha256sum /tmp/contract.txt | awk '{print $1}')" echo "SHA-512: $(sha512sum /tmp/contract.txt | awk '{print $1}')" # บันทึก hash อ้างอิงไว้ sha256sum /tmp/contract.txt > /tmp/contract.txt.sha256 ``` --- ### 1.2.2 Linux — Hash Verification (2) ```bash # จำลองการแก้ไขไฟล์โดยไม่ได้รับอนุญาต echo "แก้ไขมูลค่าสัญญา: 5,000,000 บาท (ปลอมแปลง!)" >> /tmp/contract.txt # ตรวจสอบความสมบูรณ์ sha256sum -c /tmp/contract.txt.sha256 # ผลลัพธ์: /tmp/contract.txt: FAILED # sha256sum: WARNING: 1 computed checksum did NOT match # ตรวจสอบ integrity ของ Package ที่ดาวน์โหลด echo "ตัวอย่างการตรวจสอบ Ubuntu ISO:" echo "sha256sum ubuntu-24.04-desktop-amd64.iso" # File Integrity Monitoring ด้วย AIDE sudo apt install aide -y 2>/dev/null sudo aideinit # สร้าง database อ้างอิง (ทำครั้งแรก) sudo aide --check # ตรวจสอบ (ทำทุกวัน) ``` --- ### 1.2.3 Availability (ความพร้อมใช้งาน) **Availability** หมายถึง ระบบ, บริการ และข้อมูลต้องพร้อมใช้งานเมื่อผู้มีสิทธิ์ต้องการ การโจมตีที่กระทบ Availability มากที่สุดคือ **DoS/DDoS** **เทคนิคที่ใช้รักษา Availability:** - **Redundancy (ความซ้ำซ้อน)** — มีระบบสำรอง (Failover) เช่น RAID, Cluster - **Load Balancing** — กระจาย traffic ไปยังหลายเซิร์ฟเวอร์ป้องกัน overload - **Backup & Disaster Recovery** — สำรองข้อมูลและแผนกู้คืนระบบ (RTO/RPO) - **Monitoring & Alerting** — ตรวจจับปัญหาก่อนที่จะส่งผลกระทบต่อผู้ใช้งาน - **Anti-DDoS Protection** — ใช้ CDN, Rate Limiting, Scrubbing Center ป้องกัน DDoS --- ### 1.2.3 สูตรคำนวณ Availability
Availability
=
MTBF
MTBF
+
MTTR
×
100
%
- **MTBF (Mean Time Between Failures)** = เวลาเฉลี่ยระหว่างความล้มเหลว (หน่วย: ชั่วโมง) - **MTTR (Mean Time To Repair)** = เวลาเฉลี่ยในการซ่อมแซมและกู้คืนระบบ (หน่วย: ชั่วโมง) --- ### 1.2.3 ตัวอย่างการคำนวณ Availability สถานการณ์: เซิร์ฟเวอร์ที่มีค่า **MTBF = 720 ชั่วโมง** และ **MTTR = 4 ชั่วโมง** **ขั้นตอนที่ 1:** แทนค่าในสูตร
Availability
=
720
720
+
4
=
720
724
≈
0.99448
=
99.45
%
**ขั้นตอนที่ 2:** คำนวณ Downtime ต่อปี
Downtime/ปี
=
8760
×
(
1
-
0.9945
)
=
8760
×
0.0055
≈
48.2
ชั่วโมง/ปี
--- ### 1.2.3 ตาราง Availability Levels ("Nines") | ระดับ | Availability | Downtime/ปี | Downtime/เดือน | ตัวอย่างการใช้งาน | |---|---|---|---|---| | One Nine | 90% | 36.5 วัน | 72 ชั่วโมง | ระบบ dev/test ทั่วไป | | Two Nines | 99% | 3.65 วัน | 7.2 ชั่วโมง | เว็บไซต์ภายใน | | Three Nines | 99.9% | 8.76 ชั่วโมง | 43.8 นาที | เว็บไซต์องค์กร | | Four Nines | 99.99% | 52.6 นาที | 4.38 นาที | ระบบการเงิน, E-commerce | | Five Nines | 99.999% | 5.26 นาที | 25.9 วินาที | โทรคมนาคม, โรงพยาบาล | | Six Nines | 99.9999% | 31.5 วินาที | 2.59 วินาที | ระบบวิกฤต (Life-critical) | --- ### 1.2.3 Linux — ตรวจสอบ Uptime (1) ```bash # ตรวจสอบ Uptime ของระบบ uptime # 10:30:00 up 30 days, 5:22, 2 users, load average: 0.15, 0.10, 0.08 # อ่านค่า uptime แบบละเอียด (หน่วย: วินาที) cat /proc/uptime # 2621160.35 5180425.12 ← เวลาทำงาน / เวลา idle รวมทุก CPU cores # แปลงเป็นรูปแบบที่อ่านได้ python3 -c " uptime_sec = float(open('/proc/uptime').read().split()[0]) days = int(uptime_sec // 86400) hours = int((uptime_sec % 86400) // 3600) mins = int((uptime_sec % 3600) // 60) print(f'System Uptime: {days} วัน, {hours} ชั่วโมง, {mins} นาที') " # ดูประวัติการ reboot last reboot | head -5 ``` --- ### 1.2.3 Linux — Script คำนวณ Availability (2) ```bash python3 << 'PYEOF' def calc_availability(mtbf, mttr): availability = mtbf / (mtbf + mttr) total_hours_per_year = 8760 downtime_per_year = total_hours_per_year * (1 - availability) print(f"{'='*50}") print(f"MTBF: {mtbf} ชั่วโมง | MTTR: {mttr} ชั่วโมง") print(f"Availability = {mtbf}/({mtbf}+{mttr}) = {availability:.6f}") print(f"Availability = {availability*100:.4f}%") print(f"Downtime ต่อปี: {downtime_per_year:.2f} ชั่วโมง") print(f"Downtime ต่อปี: {downtime_per_year*60:.1f} นาที") print(f"{'='*50}") calc_availability(mtbf=720, mttr=4) PYEOF ``` --- ### 1.2.4 ตารางสรุปเปรียบเทียบ CIA Triad (1) | หัวข้อ | Confidentiality | Integrity | Availability | |---|---|---|---| | **เป้าหมาย** | ปกป้องจากการเปิดเผยโดยไม่ได้รับอนุญาต | ป้องกันการแก้ไขโดยไม่ได้รับอนุญาต | รับประกันการเข้าถึงได้ตลอดเวลา | | **ภัยคุกคามหลัก** | Eavesdropping, Data Leakage | Tampering, Man-in-the-Middle | DoS/DDoS, Hardware Failure | | **เครื่องมือหลัก** | Encryption, Access Control, Data Masking | Hashing, Digital Signature, FIM | Redundancy, Backup, Load Balancing | | **มาตรฐาน** | PDPA, GDPR, HIPAA | PCI-DSS, SOX, Code Signing | SLA Agreement, ISO 22301 (BCMS) | --- ### 1.2.4 ตารางสรุปเปรียบเทียบ CIA Triad (2) | หัวข้อ | Confidentiality | Integrity | Availability | |---|---|---|---| | **Linux Tools** | `gpg`, `openssl enc`, `chmod` | `sha256sum`, `aide`, `git` | `uptime`, `systemctl`, `rsync` | | **การวัดผล** | Encryption Coverage, Access Logs | Hash Verification Pass Rate | Availability %, RTO, RPO | | **ตัวอย่างการละเมิด** | Password DB Leak, Wiretapping | SQL Injection, File Tampering | DDoS Attack, Power Outage | --- ## 1.3 ประเภทของภัยคุกคาม (Threats), ช่องโหว่ (Vulnerabilities) และการโจมตี (Attacks) --- ### 1.3.1 นิยามและความสัมพันธ์ - **Threat (ภัยคุกคาม)** — สิ่งหรือบุคคลที่มีโอกาสสร้างความเสียหายให้ระบบ เช่น แฮกเกอร์, มัลแวร์, ภัยธรรมชาติ, พนักงานทุจริต - **Vulnerability (ช่องโหว่)** — จุดอ่อนหรือข้อบกพร่องในระบบที่อาจถูกใช้ประโยชน์ได้ เช่น ซอฟต์แวร์ที่ไม่ได้อัปเดต, รหัสผ่านอ่อน, การกำหนดค่าผิดพลาด - **Attack (การโจมตี)** — การดำเนินการโดยตั้งใจใช้ประโยชน์จากช่องโหว่เพื่อสร้างความเสียหาย - **Risk (ความเสี่ยง)** — ผลลัพธ์จากการรวมกันของโอกาสที่ภัยคุกคามจะใช้ช่องโหว่ และผลกระทบที่จะเกิดขึ้น --- ### 1.3.1 สูตรคำนวณ Risk (แบบพื้นฐาน)
Risk
=
Threat
×
Vulnerability
×
Impact
**สูตรคำนวณ Risk (แบบ NIST SP 800-30):**
Risk
=
Likelihood
×
Impact
- **Threat** = ระดับโอกาสที่ภัยคุกคามจะเกิดขึ้น (สเกล 1–10) - **Vulnerability** = ระดับช่องโหว่ของระบบ (สเกล 1–10) - **Impact** = ระดับผลกระทบหากถูกโจมตีสำเร็จ (สเกล 1–10) --- ### 1.3.2 ตัวอย่างการคำนวณ Risk สถานการณ์: เซิร์ฟเวอร์เว็บที่ไม่ได้รับการอัปเดต patch มา 6 เดือน และเปิดให้เข้าถึงจากอินเทอร์เน็ต | ปัจจัย | ค่า (1–10) | คำอธิบาย | |---|---|---| | Threat | 8 | แฮกเกอร์พยายามโจมตีเซิร์ฟเวอร์ที่เปิดสู่อินเทอร์เน็ตตลอดเวลา | | Vulnerability | 9 | มีช่องโหว่ที่ยังไม่ได้ patch หลายรายการ รวมถึง Critical CVEs | | Impact | 7 | ข้อมูลลูกค้า 10,000 รายอาจรั่วไหล, ค่าปรับ PDPA สูงสุด 5 ล้านบาท | | **Risk** | **504** | **504/1000 = ความเสี่ยงสูงมาก (Critical Risk)** |
Risk
=
8
×
9
×
7
=
72
×
7
=
504
--- ### 1.3.2 ระดับ Risk และแนวทางจัดการ | ระดับ Risk | คะแนน | สี | แนวทางจัดการ | |---|---|---|---| | Low | 1–200 | 🟩 | Monitor ตามปกติ, แก้ไขในรอบ maintenance ถัดไป | | Medium | 201–400 | 🟨 | วางแผนแก้ไขภายใน 30 วัน | | High | 401–700 | 🟧 | แก้ไขเร่งด่วนภายใน 7–14 วัน | | Critical | 701–1000 | 🟥 | แก้ไขทันทีหรือปิด service ชั่วคราว | --- ### 1.3.3 CVSS Score (Common Vulnerability Scoring System) **CVSS** คือระบบมาตรฐานสากลสำหรับประเมินและสื่อสารความรุนแรงของช่องโหว่ในซอฟต์แวร์ **สูตร CVSS v3.1 Base Score (แบบย่อ):**
BaseScore
=
Roundup
(
Minimum
(
10
×
ISCBase
×
Exploitability
10
,
10
)
)
| คะแนน | ระดับ | ตัวอย่างช่องโหว่จริง | CVE | |---|---|---|---| | 0.0 | None | ไม่มีผลกระทบ | — | | 0.1–3.9 | Low | ข้อมูล debug เปิดเผย | — | | 4.0–6.9 | Medium | Directory Traversal, XSS | — | | 7.0–8.9 | High | Remote Code Execution (มีเงื่อนไข) | CVE-2021-44228 | | 9.0–10.0 | Critical | Log4Shell (9.8), Heartbleed (7.5) | CVE-2021-44228 | --- ### 1.3.4 ประเภทของภัยคุกคาม (Types of Threats) ```mermaid graph TD T["⚠️ ภัยคุกคาม
Threats"] subgraph HUMAN["👤 Human Threats - ภัยคุกคามจากมนุษย์"] direction TB H1~~~H2~~~H3~~~H4 H1["🖥️ External Attackers
แฮกเกอร์ภายนอก
Cybercriminals, APT Groups"] H2["🏢 Insider Threats
ภัยจากภายในองค์กร
พนักงานทุจริต, ความประมาท"] H3["🏛️ Nation-State Actors
รัฐบาลต่างชาติ
Cyber Espionage"] H4["💰 Cybercriminals
อาชญากรไซเบอร์
Ransomware Groups"] end subgraph NATURAL["🌪️ Environmental Threats - ภัยธรรมชาติและสิ่งแวดล้อม"] direction TB N1~~~N2~~~N3 N1["🌊 ภัยธรรมชาติ
Flood, Earthquake
Tsunami"] N2["🔥 ไฟไหม้
Fire, Explosion"] N3["⚡ ไฟฟ้าขัดข้อง
Power Outage
UPS Failure"] end subgraph TECH["💻 Technical Threats - ภัยคุกคามทางเทคนิค"] direction TB T1~~~T2~~~T3~~~T4 T1["🦠 Malware
Virus, Worm
Ransomware, Trojan"] T2["🕳️ Zero-Day Exploit
ช่องโหว่ไม่รู้จักมาก่อน"] T3["💽 Hardware Failure
ดิสก์เสีย, เซิร์ฟเวอร์พัง"] T4["📡 Supply Chain Attack
โจมตีผ่าน Vendor"] end T --> HUMAN T --> NATURAL T --> TECH ``` --- ### 1.3.5 ประเภทของการโจมตี (Attack Categories) | ประเภทการโจมตี | คำอธิบาย | ตัวอย่าง | กระทบ CIA | |---|---|---|---| | **Passive Attack** | ดักฟัง/สังเกตโดยไม่แก้ไขข้อมูล | Sniffing, Eavesdropping | Confidentiality | | **Active Attack** | แก้ไข, ขัดขวาง หรือปลอมแปลงข้อมูล | DoS, MITM, Injection | Integrity, Availability | | **Insider Attack** | โจมตีจากภายในองค์กร | Data theft, Sabotage | ทั้ง 3 ด้าน | | **Outsider Attack** | โจมตีจากภายนอกองค์กร | Hacking, Phishing | ขึ้นอยู่กับเทคนิค | | **Targeted Attack (APT)** | เลือกเป้าหมายเฉพาะเจาะจง, ใช้เวลานาน | Spear Phishing, Zero-day | ทั้ง 3 ด้าน | | **Opportunistic Attack** | โจมตีเป้าหมายที่มีช่องโหว่โดยไม่เลือก | Ransomware, Worms | Availability, Confidentiality | --- ### 1.3.6 Linux — ตรวจสอบ Vulnerabilities (1) ```bash # ตรวจสอบ Security Updates ที่ค้างอยู่ (Ubuntu/Debian) apt list --upgradable 2>/dev/null | grep -i security | head -20 # นับจำนวน security updates echo "จำนวน Security Updates ค้างอยู่:" apt list --upgradable 2>/dev/null | grep -i security | wc -l # ดูเวอร์ชัน OpenSSL ที่ใช้อยู่ openssl version -a # ดู kernel version uname -r ``` --- ### 1.3.6 Linux — ตรวจสอบ Vulnerabilities (2) ```bash # ใช้ Lynis ตรวจสอบ Security Audit เบื้องต้น sudo apt install lynis -y 2>/dev/null || sudo pacman -S lynis # รัน quick audit sudo lynis audit system --quick 2>&1 | tail -30 # ตรวจสอบ SUID/SGID files (อาจใช้ Privilege Escalation ได้) echo "=== SUID Files (อาจเป็นช่องโหว่ Privilege Escalation) ===" find / -perm -4000 -type f 2>/dev/null | grep -v proc | head -20 echo "=== SGID Files ===" find / -perm -2000 -type f 2>/dev/null | grep -v proc | head -10 ``` --- ### 1.3.6 Linux — ตรวจสอบ Vulnerabilities (3) ```bash # ตรวจสอบ World-Writable Files echo "=== World-Writable Files (อันตราย!) ===" find /etc -writable -type f 2>/dev/null | head -10 # ตรวจสอบ failed login attempts echo "=== Failed SSH Login Attempts (24 ชั่วโมงล่าสุด) ===" journalctl -u sshd --since "24 hours ago" 2>/dev/null | \ grep "Failed password" | \ awk '{print $NF}' | sort | uniq -c | sort -rn | head -10 # ใช้ nmap scan ports ตัวเอง echo "=== Open Ports บนเครื่องตัวเอง ===" nmap -sV localhost 2>/dev/null || echo "ติดตั้ง nmap: sudo apt install nmap" ``` --- ## 1.4 ระบบความมั่นคงพื้นฐาน (Basic Security Systems) และ Security Policies --- ### 1.4.1 แนวคิด Defense in Depth (การป้องกันเชิงลึก) **Defense in Depth** คือแนวทางการป้องกันหลายชั้น โดยไม่พึ่งพาชั้นป้องกันใดชั้นหนึ่งเพียงชั้นเดียว หากชั้นหนึ่งถูกเจาะ ชั้นถัดไปยังคงป้องกันอยู่ --- ### 1.4.1 Defense in Depth — Diagram ```mermaid graph TB Internet["🌐 Internet
ผู้ใช้ภายนอก / ผู้โจมตี"] subgraph L1["🔴 ชั้นที่ 1: Perimeter Security (รั้วชั้นนอก)"] direction LR FW~~~WAF~~~DDOS FW["🔥 Firewall / NGFW
กรองแพ็กเก็ต, กฎ Stateful"] WAF["🛡️ WAF (Web Application Firewall)
ป้องกัน SQLi, XSS, OWASP Top 10"] DDOS["🌊 Anti-DDoS
กรอง traffic โจมตี DDoS"] end subgraph L2["🟠 ชั้นที่ 2: Network Security (ความมั่นคงเครือข่าย)"] direction LR IDS~~~SEG~~~VPN IDS["👁️ IDS/IPS (Snort/Suricata)
ตรวจจับและป้องกันการบุกรุก"] SEG["📡 Network Segmentation
DMZ, VLAN, Zero Trust Zones"] VPN["🔐 VPN Gateway
เข้ารหัสการสื่อสาร Remote Access"] end subgraph L3["🟡 ชั้นที่ 3: Host Security (ความมั่นคงโฮสต์)"] direction LR AV~~~PATCH~~~HIDS AV["🦠 EDR/Antivirus
ตรวจจับ Malware, Behavioral Analysis"] PATCH["🔧 Patch Management
อัปเดต OS/Software ทันที"] HIDS["📋 HIDS + FIM
ตรวจสอบ Log, Files, Integrity"] end subgraph L4["🟢 ชั้นที่ 4: Application Security (ความมั่นคงแอปพลิเคชัน)"] direction LR AUTH~~~AUTHZ~~~CRYPTO AUTH["👤 Authentication (MFA)
พิสูจน์ตัวตนหลายปัจจัย"] AUTHZ["🔑 Authorization (RBAC)
ควบคุมสิทธิ์ตามบทบาท"] CRYPTO["🔒 Encryption (TLS 1.3)
เข้ารหัสข้อมูลขณะรับส่ง"] end subgraph L5["🔵 ชั้นที่ 5: Data Security (ความมั่นคงข้อมูล)"] direction LR DLP~~~BACKUP~~~CLASSIFY DLP["💾 DLP (Data Loss Prevention)
ป้องกันข้อมูลรั่วไหล"] BACKUP["📦 Backup & DR
สำรองข้อมูลและกู้คืนระบบ"] CLASSIFY["📁 Data Classification
จัดประเภทและติดป้ายข้อมูล"] end Internet --> L1 --> L2 --> L3 --> L4 --> L5 ``` --- ### 1.4.2 Security Policies (นโยบายความมั่นคงปลอดภัย) **Security Policy** คือเอกสารที่กำหนดกฎ, แนวทาง, และข้อปฏิบัติสำหรับการปกป้องสินทรัพย์สารสนเทศขององค์กร **ลำดับชั้นของ Security Documents:** 1. **Policy (นโยบาย)** — ระดับสูงสุด, กำหนดทิศทางโดยรวม เช่น "องค์กรต้องรักษาความลับของข้อมูลลูกค้า" 2. **Standard (มาตรฐาน)** — ข้อกำหนดเฉพาะที่ต้องปฏิบัติตาม เช่น "รหัสผ่านต้องยาวอย่างน้อย 12 ตัวอักษร" 3. **Guideline (แนวทาง)** — คำแนะนำที่ควรปฏิบัติ (ไม่บังคับ) 4. **Procedure (ขั้นตอน)** — คำแนะนำปฏิบัติแบบ step-by-step --- ### 1.4.2 ประเภทของ Security Policies ที่สำคัญ | นโยบาย | เนื้อหา | กลุ่มเป้าหมาย | |---|---|---| | **Acceptable Use Policy (AUP)** | กำหนดการใช้งานอุปกรณ์และเครือข่ายที่ยอมรับได้ | พนักงานทุกคน | | **Password Policy** | ความซับซ้อน, อายุ, การเก็บรักษา รหัสผ่าน | พนักงานทุกคน | | **Remote Access Policy** | เงื่อนไขการเข้าถึงระบบจากระยะไกล | พนักงาน WFH, Vendor | | **Data Classification Policy** | ระดับความลับ: Public/Internal/Confidential | ทุกแผนก | | **Incident Response Policy** | ขั้นตอนตอบสนองเมื่อเกิดเหตุการณ์ | ทีม IT, Security | | **BYOD Policy** | กฎการใช้อุปกรณ์ส่วนตัวในการทำงาน | พนักงานที่ใช้ BYOD | | **Patch Management Policy** | กำหนดตารางและข้อกำหนดการอัปเดต | ทีม IT Operations | --- ### 1.4.3 Linux — ตั้งค่า Password Policy (1) ```bash # ดู Password Policy ปัจจุบัน sudo chage -l $(whoami) # แสดง: Last password change, Password expires, Password inactive, etc. # ตั้งค่า Password Aging Policy sudo chage -M 90 username # รหัสผ่านหมดอายุใน 90 วัน sudo chage -m 7 username # ต้องรอ 7 วันก่อนเปลี่ยนรหัสผ่านใหม่ได้ sudo chage -W 14 username # แจ้งเตือนก่อนหมดอายุ 14 วัน sudo chage -I 30 username # ปิดบัญชีหลังรหัสผ่านหมดอายุ 30 วัน # ดูผลหลังตั้งค่า sudo chage -l username ``` --- ### 1.4.3 Linux — กำหนด Password Complexity ด้วย PAM (2) ```bash # ติดตั้ง libpam-pwquality sudo apt install libpam-pwquality -y # กำหนดค่าความซับซ้อน sudo tee /etc/security/pwquality.conf << 'EOF' minlen = 12 # ความยาวขั้นต่ำ dcredit = -1 # ต้องมีตัวเลขอย่างน้อย 1 ตัว ucredit = -1 # ต้องมีตัวพิมพ์ใหญ่อย่างน้อย 1 ตัว lcredit = -1 # ต้องมีตัวพิมพ์เล็กอย่างน้อย 1 ตัว ocredit = -1 # ต้องมีอักขระพิเศษอย่างน้อย 1 ตัว maxrepeat = 3 # ห้ามซ้ำเกิน 3 ตัวติดต่อกัน usercheck = 1 # ห้ามมีส่วนของ username ในรหัสผ่าน EOF echo "Password policy ตั้งค่าแล้ว!" ``` --- ### 1.4.3 Linux — ทดสอบ Password Strength (3) ```python import re def check_password_strength(password): score = 0 checks = [ (len(password) >= 12, "ความยาว >= 12 ตัวอักษร", 2), (bool(re.search(r'[A-Z]', password)), "มีตัวพิมพ์ใหญ่ (A-Z)", 1), (bool(re.search(r'[a-z]', password)), "มีตัวพิมพ์เล็ก (a-z)", 1), (bool(re.search(r'\d', password)), "มีตัวเลข (0-9)", 1), (bool(re.search(r'[!@#$%^&*(),.?":{}|<>]',password)),"มีอักขระพิเศษ", 2), (not re.search(r'(.)\1{2,}', password), "ไม่มีตัวซ้ำเกิน 3 ตัว", 1), (len(password) >= 16, "ความยาว >= 16 (bonus)", 1), ] for passed, desc, pts in checks: score += pts if passed else 0 print(f" {'✅' if passed else '❌'} {desc}") print(f"\n คะแนน: {score}/9") for pwd in ["123456", "Password1", "P@ssw0rd!2024#Secure"]: print(f"\nรหัสผ่าน: '{pwd}'") check_password_strength(pwd) ``` --- ### 1.4.4 Principle of Least Privilege (หลักการสิทธิ์ขั้นต่ำ) **Principle of Least Privilege (PoLP)** คือหลักการให้สิทธิ์เพียงพอสำหรับการทำงานที่จำเป็นเท่านั้น ไม่มากกว่านั้น เพื่อลดความเสียหายหากบัญชีถูกโจมตีหรือพนักงานทุจริต ```bash # ดู sudoers privileges ของผู้ใช้ sudo -l -U username 2>/dev/null # ดู groups ที่ผู้ใช้เป็นสมาชิก groups username id username # ตรวจสอบผู้ใช้ที่มีสิทธิ์ root (UID=0) awk -F: '($3 == 0) {print "⚠️ Root-level user: "$1}' /etc/passwd # ตรวจสอบ sudoers file sudo cat /etc/sudoers | grep -v "^#" | grep -v "^$" ``` --- ### 1.4.4 Linux — Least Privilege (2) ```bash # สร้างผู้ใช้ที่มีสิทธิ์จำกัดตาม PoLP sudo useradd -r -s /bin/false -d /var/www webservice # -r = system account (UID < 1000) # -s /bin/false = ไม่สามารถ login ได้ # -d /var/www = home directory จำกัด # กำหนด sudo permission เฉพาะคำสั่งที่จำเป็น # เพิ่มด้วย visudo: # webadmin ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx # webadmin ALL=(ALL) NOPASSWD: /usr/bin/systemctl status nginx # ตรวจสอบไฟล์ sensitive และสิทธิ์ ls -la /etc/shadow # เฉพาะ root (000 หรือ 640) ls -la /etc/sudoers # เฉพาะ root (440) ls -la /root/ # เฉพาะ root (700) ``` --- ## 1.5 กรอบการทำงานด้านความมั่นคงปลอดภัย: NIST, ISO/IEC 27001 --- ### 1.5.1 NIST Cybersecurity Framework (CSF) 2.0 **NIST CSF** พัฒนาโดย NIST สหรัฐอเมริกา ช่วยองค์กรทุกขนาดในการบริหารจัดการความเสี่ยงด้าน Cybersecurity ประกอบด้วย **6 ฟังก์ชันหลัก** (CSF 2.0, 2024) ```mermaid graph LR GV["
🏛️ GOVERN
กำกับดูแล
นโยบาย + Roles
(ใหม่ใน CSF 2.0)"] ID["
🔍 IDENTIFY
ระบุสินทรัพย์
และความเสี่ยง"] PR["
🛡️ PROTECT
ป้องกัน
และควบคุม"] DE["
👁️ DETECT
ตรวจจับ
เหตุการณ์"] RE["
⚡ RESPOND
ตอบสนอง
ต่อเหตุการณ์"] RC["
🔄 RECOVER
กู้คืน
ระบบและบริการ"] GV --> ID ID --> PR PR --> DE DE --> RE RE --> RC RC -->|"ปรับปรุงอย่างต่อเนื่อง
(Continuous Improvement)"| ID ``` --- ### 1.5.1 รายละเอียดแต่ละฟังก์ชัน NIST CSF 2.0 | ฟังก์ชัน | กิจกรรมหลัก | ตัวอย่างการดำเนินงาน | เครื่องมือ | |---|---|---|---| | **Govern** | นโยบาย, Roles, Risk Strategy | จัดตั้ง CISO, ออกนโยบาย ISMS | GRC Platform | | **Identify** | Asset Inventory, Risk Assessment | ทำ CMDB, ประเมิน Risk | Nmap, Asset Manager | | **Protect** | Access Control, Encryption, Patch | ติดตั้ง Firewall, MFA, Patch | UFW, Ansible | | **Detect** | Monitoring, Log Analysis, Anomaly | ติดตั้ง SIEM, IDS/IPS | Wazuh, Suricata | | **Respond** | Incident Response, Communication | SOC รับมือเหตุการณ์ | TheHive, PagerDuty | | **Recover** | Recovery Plan, Backup | Restore จาก Backup | rsync, Veeam | --- ### 1.5.2 ISO/IEC 27001:2022 — ISMS **ISO/IEC 27001** คือมาตรฐานสากลสำหรับระบบบริหารจัดการความมั่นคงปลอดภัยสารสนเทศ (ISMS) ใช้วงจร **PDCA** และมี **93 Controls ใน Annex A** (ปรับปรุงใน 2022) ```mermaid flowchart LR subgraph PLAN["📋 PLAN: วางแผน - (กำหนดขอบเขตและประเมินความเสี่ยง)"] P1["1️⃣ กำหนดขอบเขต ISMS
(Define Scope)"] P2["2️⃣ Risk Assessment
(ประเมินความเสี่ยง)"] P3["3️⃣ Risk Treatment Plan
(แผนจัดการความเสี่ยง)"] P4["4️⃣ Statement of Applicability
(SoA — ระบุ Controls ที่ใช้)"] P1 --> P2 --> P3 --> P4 end subgraph DO["⚙️ DO: ดำเนินการ - (ติดตั้งมาตรการและดำเนินงาน)"] D1["5️⃣ Implement Controls
(ติดตั้ง 93 Controls ตาม Annex A)"] D2["6️⃣ Security Awareness Training
(อบรมพนักงาน)"] D3["7️⃣ Documentation
(จัดทำเอกสารหลักฐาน)"] D1 --> D2 --> D3 end subgraph CHECK["🔍 CHECK: ตรวจสอบ - (วัดผลและตรวจสอบ)"] C1["8️⃣ Internal Audit
(ตรวจสอบภายในองค์กร)"] C2["9️⃣ Management Review
(ทบทวนโดยผู้บริหาร)"] C3["🔟 Performance Measurement
(วัดผล KPI ความมั่นคง)"] C1 --> C2 --> C3 end subgraph ACT["🔄 ACT: ปรับปรุง - (แก้ไขและปรับปรุงต่อเนื่อง)"] A1["1️⃣1️⃣ Corrective Actions
(แก้ไขข้อบกพร่องที่พบ)"] A2["1️⃣2️⃣ Continual Improvement
(ปรับปรุง ISMS อย่างต่อเนื่อง)"] A1 --> A2 end PLAN --> DO DO --> CHECK CHECK --> ACT ACT -->|"วนซ้ำ (Iterative)"| PLAN ``` --- ### 1.5.2 Annex A Controls หลัก (ISO 27001:2022) | กลุ่ม Control | จำนวน Controls | ตัวอย่าง | |---|---|---| | **A.5 Organizational Controls** | 37 | นโยบาย, Roles, Risk Management | | **A.6 People Controls** | 8 | Background check, Training, Awareness | | **A.7 Physical Controls** | 14 | Physical Security, Clear Desk | | **A.8 Technological Controls** | 34 | Access Control, Encryption, Logging | --- ### 1.5.3 เปรียบเทียบ NIST CSF vs. ISO/IEC 27001 | หัวข้อ | NIST CSF 2.0 | ISO/IEC 27001:2022 | |---|---|---| | **ที่มา** | NIST สหรัฐอเมริกา | ISO — องค์กรมาตรฐานสากล | | **ลักษณะ** | Voluntary Framework (ไม่บังคับ, ยืดหยุ่น) | Certifiable Standard (ขอใบรับรองได้) | | **โครงสร้าง** | 6 Functions | PDCA Cycle + 93 Annex A Controls | | **เป้าหมาย** | Cybersecurity Risk Management | ISMS — ระบบบริหารจัดการ InfoSec | | **ความยาก** | ปานกลาง | สูง (ต้องมีเอกสารและหลักฐานมาก) | | **ค่าใช้จ่าย** | ฟรี (ดาวน์โหลด PDF ได้) | ค่า Certification สูง (~500K–2M บาท) | | **ปรับปรุงล่าสุด** | CSF 2.0 (กุมภาพันธ์ 2024) | ISO 27001:2022 | | **ใช้ในไทย** | ใช้เป็น reference / baseline | ขอ Certification สำหรับธุรกิจ | --- ### 1.5.4 กฎหมายและมาตรฐานที่เกี่ยวข้องในประเทศไทย | มาตรฐาน/กฎหมาย | สาระสำคัญ | กลุ่มเป้าหมาย | บทลงโทษ | |---|---|---|---| | **PDPA 2562** | คุ้มครองข้อมูลส่วนบุคคล | ทุกองค์กรที่ประมวลผลข้อมูลส่วนบุคคล | ปรับสูงสุด 5 ล้านบาท, จำคุก 6 เดือน | | **พ.ร.บ. คอมพิวเตอร์ 2560** | ความผิดเกี่ยวกับคอมพิวเตอร์ | ทุกคนในไทย | จำคุก 1–7 ปี | | **พ.ร.บ. ไซเบอร์ 2562** | ความมั่นคงโครงสร้างพื้นฐานสำคัญ | CII (พลังงาน, การเงิน, สาธารณสุข) | มาตรการทางปกครอง | | **ISO 27001:2022** | ISMS มาตรฐานสากล | องค์กรที่ต้องการ Certification | — | | **NIST CSF 2.0** | กรอบบริหาร Cybersecurity Risk | อ้างอิงสำหรับทุกองค์กร | — | | **PCI-DSS v4.0** | ความมั่นคงข้อมูลบัตรชำระเงิน | ธุรกิจที่รับ/ประมวลบัตรเครดิต | ค่าปรับสูง, เพิกถอนสิทธิ์รับบัตร | --- ### 1.5.5 Linux — Security Baseline Check ตาม NIST CSF (1) ```bash cat > /tmp/nist_check.sh << 'SCRIPT' #!/bin/bash # Security Baseline Checker — อ้างอิง NIST CSF 2.0 RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; NC='\033[0m' pass=0; fail=0; warn=0 check() { local desc="$1"; local cmd="$2" if eval "$cmd" &>/dev/null; then echo -e "${GREEN}[PASS]${NC} $desc"; ((pass++)) else echo -e "${RED}[FAIL]${NC} $desc"; ((fail++)) fi } warn_check() { local desc="$1"; local cmd="$2" if eval "$cmd" &>/dev/null; then echo -e "${GREEN}[PASS]${NC} $desc"; ((pass++) else echo -e "${YELLOW}[WARN]${NC} $desc"; ((warn++)) fi } ``` --- ### 1.5.5 Linux — Security Baseline Check ตาม NIST CSF (2) ```bash echo "=== [IDENTIFY] Asset & Configuration ===" check "OS อัปเดตแล้ว (มี updates < 10 รายการ)" \ "[ $(apt list --upgradable 2>/dev/null | wc -l) -lt 10 ]" echo "=== [PROTECT] Access Control ===" check "Root login SSH ถูกปิด" \ "grep -q 'PermitRootLogin no' /etc/ssh/sshd_config" check "SSH Password Auth ถูกปิด (ใช้ Key เท่านั้น)" \ "grep -q 'PasswordAuthentication no' /etc/ssh/sshd_config" warn_check "Firewall (ufw/iptables) เปิดใช้งาน" \ "ufw status 2>/dev/null | grep -q 'active'" echo "=== [PROTECT] Hardening ===" check "ไม่มี world-writable files ใน /etc" \ "[ -z \"\$(find /etc -writable -type f 2>/dev/null)\" ]" ``` --- ### 1.5.5 Linux — Security Baseline Check ตาม NIST CSF (3) ```bash echo "=== [DETECT] Logging & Monitoring ===" check "rsyslog/syslog ทำงานอยู่" \ "systemctl is-active rsyslog &>/dev/null || systemctl is-active syslog &>/dev/null" warn_check "auditd ติดตั้งและทำงาน" \ "systemctl is-active auditd &>/dev/null" echo "========================================" echo -e "PASS: ${pass} | FAIL: ${fail} | WARN: ${warn}" echo "========================================" SCRIPT chmod +x /tmp/nist_check.sh sudo /tmp/nist_check.sh ``` --- ## 1.6 บทบาทและความรับผิดชอบในการรักษาความมั่นคงปลอดภัย --- ### 1.6.1 โครงสร้างทีม Security ในองค์กร ```mermaid graph TD BOARD["🏦 Board of Directors
คณะกรรมการบริษัท"] CEO["👔 CEO / ผู้บริหารสูงสุด"] CISO["🔐 CISO
(Chief Information Security Officer)
ผู้บริหารความมั่นคงสารสนเทศสูงสุด"] subgraph BLUE["🔵 Blue Team — ป้องกันและตรวจจับ"] direction TB SA["🏗️ Security Architect
ออกแบบสถาปัตยกรรม"] SOC["📊 SOC Manager
บริหารทีม Security Operations"] SOC1["👁️ SOC Analyst L1
Monitor & Triage"] SOC2["🔍 SOC Analyst L2
Investigate & Escalate"] SOC3["⚔️ SOC Analyst L3
Threat Hunt & Forensics"] IR["🚨 Incident Responder
ตอบสนองเหตุการณ์"] SE["⚙️ Security Engineer
ติดตั้งระบบป้องกัน"] SOC --> SOC1 --> SOC2 --> SOC3 SA~~~IR~~~SE end subgraph RED["🔴 Red Team — ทดสอบเจาะระบบ"] PT["⚔️ Penetration Tester
Ethical Hacking"] VA["🔍 Vulnerability Assessor
ประเมินช่องโหว่"] TI["🕵️ Threat Intelligence
วิเคราะห์ภัยคุกคาม"] end subgraph GRC_TEAM["⚖️ GRC — ธรรมาภิบาล, ความเสี่ยง, ความสอดคล้อง"] GRC["📋 GRC Analyst
Governance, Risk & Compliance"] AUDIT["🔎 Security Auditor
ตรวจสอบความสอดคล้อง"] end BOARD --> CEO --> CISO CISO --> BLUE CISO --> RED CISO --> GRC_TEAM ``` --- ### 1.6.2 บทบาทและความรับผิดชอบโดยละเอียด (1) | ตำแหน่ง | ความรับผิดชอบหลัก | ทักษะที่ต้องการ | เครื่องมือที่ใช้ | |---|---|---|---| | **CISO** | กำหนดนโยบาย, บริหารความเสี่ยง, รายงานต่อ Board | Leadership, Risk Mgmt, Business | GRC Platform, SIEM | | **Security Architect** | ออกแบบสถาปัตยกรรมความมั่นคง, Threat Modeling | Network, Cloud, PKI, Zero Trust | Draw.io, Threat Modeler | | **SOC Analyst L1** | Monitor alerts, Triage events, Escalate | SIEM basics, Log reading | Splunk, QRadar, Wazuh | | **SOC Analyst L2** | Investigate incidents, Malware analysis | DFIR, Packet Analysis | Wireshark, Volatility | | **SOC Analyst L3** | Threat Hunting, Tool development | Advanced DFIR, Scripting, RE | YARA, Sigma, Python | --- ### 1.6.2 บทบาทและความรับผิดชอบโดยละเอียด (2) | ตำแหน่ง | ความรับผิดชอบหลัก | ทักษะที่ต้องการ | เครื่องมือที่ใช้ | |---|---|---|---| | **Incident Responder** | รับมือเหตุการณ์, กู้คืนระบบ, รายงาน | DFIR, Forensics, Communication | Velociraptor, TheHive | | **Penetration Tester** | ทดสอบเจาะระบบแบบมีจริยธรรม, รายงาน | Ethical Hacking, Exploit Dev | Metasploit, Burp Suite | | **Security Engineer** | ติดตั้ง, Config, ดูแล Security Controls | Linux, Networking, Scripting | Ansible, Terraform, pfSense | | **GRC Analyst** | ดูแลการปฏิบัติตามมาตรฐาน PDPA/ISO 27001 | ISO 27001, PDPA, Risk Assessment | Archer, ServiceNow GRC | | **Threat Intelligence** | วิเคราะห์ภัยคุกคามใหม่, IOC analysis | OSINT, Malware Analysis, CTI | MISP, OpenCTI, VirusTotal | --- ### 1.6.3 Red Team vs. Blue Team vs. Purple Team ```mermaid graph TB subgraph RED["🔴 Red Team - ผู้โจมตี (Attacker Mindset)"] direction LR R1["Penetration Testing
ทดสอบเจาะระบบ"] R2["Social Engineering
จิตวิทยาการหลอกลวง"] R3["APT Simulation
จำลองการโจมตีขั้นสูง"] R4["Zero-Day Research
ค้นหาช่องโหว่ใหม่"] R1~~~R2~~~R3~~~R4 end subgraph PURPLE["🟣 Purple Team - สะพานเชื่อม Red & Blue"] direction LR P1~~~P2~~~P3~~~P4 P1["Adversary Emulation
จำลองพฤติกรรมโจมตีจริง"] P2["Detection Engineering
พัฒนา Detection Rules"] P3["Table-top Exercises
ซ้อมแผน Incident Response"] P4["Knowledge Transfer
ถ่ายทอดความรู้ Red → Blue"] end subgraph BLUE["🔵 Blue Team - ผู้ป้องกัน (Defender Mindset)"] direction LR B1~~~B2~~~B3~~~B4 B1["Security Monitoring
ตรวจสอบเหตุการณ์ตลอด 24/7"] B2["Incident Response
ตอบสนองเหตุการณ์"] B3["Threat Hunting
ค้นหาภัยคุกคามที่ซ่อนอยู่"] B4["Security Hardening
เสริมความมั่นคงระบบ"] end RED <-->|"แบ่งปัน TTPs
(Tactics, Techniques, Procedures)"| PURPLE PURPLE <-->|"ปรับปรุง Detection
และ Response"| BLUE ``` --- ### 1.6.4 Linux — งาน SOC Analyst: Log Analysis (1) ```bash # ตรวจสอบ authentication failures (SSH Brute Force) echo "=== Top 10 IPs ที่พยายาม Brute Force SSH ===" grep "Failed password" /var/log/auth.log 2>/dev/null | \ grep -oP 'from \K[\d.]+' | \ sort | uniq -c | sort -rn | head -10 | \ awk '{printf " %-5s attempts: %s\n", $1, $2}' # ดู successful logins echo "=== Successful SSH Logins (10 รายการล่าสุด) ===" grep "Accepted" /var/log/auth.log 2>/dev/null | tail -10 | \ awk '{print $1,$2,$3,"| User:",$9,"| From:",$11}' # ดู sudo commands (privilege escalation monitoring) echo "=== Recent sudo Commands ===" grep "COMMAND" /var/log/auth.log 2>/dev/null | tail -15 ``` --- ### 1.6.4 Linux — งาน SOC Analyst: Log Analysis (2) ```bash # ตรวจสอบ crontab ที่น่าสงสัย (Persistence Mechanism) echo "=== System Crontabs ===" crontab -l 2>/dev/null ls -la /etc/cron.d/ 2>/dev/null ls -la /etc/cron.daily/ 2>/dev/null # ดู network connections ที่น่าสงสัย echo "=== Established Connections ===" ss -tunp | grep ESTAB | \ awk '{print $5, "→", $6, "PID:"$7}' | head -20 # ตรวจสอบ processes ที่กิน CPU สูงผิดปกติ echo "=== Top 10 Processes by CPU ===" ps aux --sort=-%cpu | head -11 | \ awk 'NR>1{printf " %-20s CPU:%-6s MEM:%-6s PID:%s\n", $11, $3, $4, $2}' ``` --- ### 1.6.4 Linux — SOC Triage Script (3) ```bash cat > /tmp/soc_triage.sh << 'TRIAGE' #!/bin/bash echo "=== SOC TRIAGE REPORT — $(date) ===" echo "Host: $(hostname) | IP: $(hostname -I | awk '{print $1}')" THRESHOLD=5 echo "[!] IPs ที่ fail login เกิน $THRESHOLD ครั้ง:" grep "Failed password" /var/log/auth.log 2>/dev/null | \ grep -oP 'from \K[\d.]+' | sort | uniq -c | \ awk -v t="$THRESHOLD" '$1 >= t {print " ALERT: IP "$2" failed "$1" times"}' echo "[!] User accounts ที่สร้างใหม่ใน 7 วัน:" find /home -maxdepth 1 -type d -newer /etc/passwd -mtime -7 2>/dev/null | \ awk -F/ '{if($3!="") print " New home dir: "$3}' echo "[!] Services ที่กำลัง Listen:" ss -tlnp | grep LISTEN | awk '{print " Port:"$4, "Process:"$6}' TRIAGE chmod +x /tmp/soc_triage.sh && sudo /tmp/soc_triage.sh ``` --- ### 1.6.5 Certifications ที่เกี่ยวข้องกับแต่ละบทบาท (1) | ระดับ | Certification | บทบาทที่เหมาะสม | ผู้ออก | ราคาประมาณ | |---|---|---|---|---| | **เริ่มต้น** | CompTIA Security+ | SOC L1, IT Security | CompTIA | ~10,000 บาท | | **เริ่มต้น** | CEH (Certified Ethical Hacker) | Penetration Tester เริ่มต้น | EC-Council | ~20,000 บาท | | **กลาง** | CompTIA CySA+ | SOC Analyst, Blue Team | CompTIA | ~12,000 บาท | | **กลาง** | OSCP | Penetration Tester มืออาชีพ | Offensive Security | ~35,000 บาท | | **สูง** | CISSP | Security Manager, Architect | (ISC)² | ~25,000 บาท | --- ### 1.6.5 Certifications ที่เกี่ยวข้องกับแต่ละบทบาท (2) | ระดับ | Certification | บทบาทที่เหมาะสม | ผู้ออก | ราคาประมาณ | |---|---|---|---|---| | **สูง** | CISM | Security Manager | ISACA | ~25,000 บาท | | **GRC** | ISO 27001 Lead Auditor | GRC Analyst, Auditor | Various CBs | ~30,000 บาท | | **เฉพาะทาง** | GREM (Malware RE) | Malware Analyst, SOC L3 | GIAC | ~45,000 บาท | | **เฉพาะทาง** | GCFA (Forensics) | Digital Forensics, IR | GIAC | ~45,000 บาท | | **Cloud** | AWS Security Specialty | Cloud Security Engineer | AWS | ~10,000 บาท | --- ## สรุปบทที่ 1 (Chapter 1 Summary) --- ### สรุปบทที่ 1 — แนวคิดพื้นฐานและ CIA Triad **1. แนวคิดพื้นฐาน** - ความแตกต่างระหว่าง Information Security, Cybersecurity และ Network Security - วิวัฒนาการตั้งแต่ยุค ARPANET (1969) จนถึง Zero Trust ในปัจจุบัน **2. CIA Triad — สามเสาหลัก** - **Confidentiality** — ปกป้องจากการเปิดเผยโดยไม่ได้รับอนุญาต ด้วย Encryption และ Access Control - **Integrity** — รับประกันความถูกต้องของข้อมูลด้วย Hash Functions (SHA-256) และ Digital Signatures - **Availability** — รับประกันระบบพร้อมใช้งาน คำนวณจาก MTBF/(MTBF+MTTR) × 100% --- ### สรุปบทที่ 1 — Threats, Frameworks และบทบาท **3. Threats, Vulnerabilities, Attacks** - Threat × Vulnerability × Impact = Risk, ระบบ CVSS (0.0–10.0) สำหรับประเมินช่องโหว่ **4. Defense in Depth** — การป้องกัน 5 ชั้น: Perimeter → Network → Host → Application → Data **5. NIST CSF 2.0 และ ISO/IEC 27001:2022** - NIST CSF: 6 ฟังก์ชัน (Govern, Identify, Protect, Detect, Respond, Recover) — ยืดหยุ่น, ฟรี - ISO 27001: PDCA Cycle + 93 Controls — ขอ Certification ได้, เหมาะธุรกิจระดับสากล - กฎหมายไทย: PDPA, พ.ร.บ. ไซเบอร์, พ.ร.บ. คอมพิวเตอร์ **6. บทบาทใน Security** — CISO ดูแลภาพรวม, Blue Team ป้องกัน, Red Team ทดสอบ, GRC ดูแลมาตรฐาน --- ### หลักการสำคัญที่ต้องจำ > ไม่มีระบบที่ปลอดภัย 100% — เป้าหมายคือ **ลดความเสี่ยงให้อยู่ในระดับที่ยอมรับได้** > Security เป็น **กระบวนการต่อเนื่อง** ไม่ใช่ผลิตภัณฑ์ที่ซื้อแล้วจบ > **Human factor** คือจุดอ่อนที่ใหญ่ที่สุดเสมอ — เทคโนโลยีดีแค่ไหน ก็สู้การหลอกลวงคนไม่ได้ --- ### เอกสารอ้างอิง (1) 1. **NIST Cybersecurity Framework 2.0** — https://www.nist.gov/cyberframework 2. **ISO/IEC 27001:2022** — https://www.iso.org/standard/27001 3. **IBM Cost of a Data Breach Report 2023** — https://www.ibm.com/security/data-breach 4. **OWASP Top 10 (2021)** — https://owasp.org/Top10/ 5. **MITRE ATT&CK Framework v15** — https://attack.mitre.org/ 6. **CVSS v3.1 Specification** — https://www.first.org/cvss/specification-document 7. **CIS Benchmarks** — https://www.cisecurity.org/cis-benchmarks --- ### เอกสารอ้างอิง (2) 8. **พ.ร.บ. คุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 (PDPA)** — https://www.pdpa.go.th/ 9. **พ.ร.บ. การรักษาความมั่นคงปลอดภัยไซเบอร์ พ.ศ. 2562** — https://www.ncsa.or.th/ 10. **Stallings, W. (2022).** *Cryptography and Network Security* (8th ed.). Pearson Education. 11. **Anderson, R. (2020).** *Security Engineering* (3rd ed.). Wiley. 12. **CompTIA Security+ Study Guide (SY0-701)** — https://www.comptia.org/certifications/security 13. **The Linux Command Line (2nd Ed.)** — https://linuxcommand.org/tlcl.php 14. **man pages:** `man sshd_config`, `man iptables`, `man sha256sum`, `man chage`, `man openssl`, `man ss`, `man lynis` --- # คำถาม - ข้อสงสัย