
แนวคิด: ปูพื้นฐานความเข้าใจก่อนเข้าสู่หัวข้อเชิงเทคนิค — บทนี้ครอบคลุมแนวคิดหลัก, โมเดล CIA Triad, ประเภทของภัยคุกคาม, ระบบความมั่นคงพื้นฐาน, กรอบการทำงานมาตรฐานสากล และบทบาทของผู้เกี่ยวข้องในสาขา Network Security
ก่อนเข้าสู่เนื้อหาเชิงเทคนิค จำเป็นต้องเข้าใจความแตกต่างของคำศัพท์ที่มักใช้แทนกันบ่อยครั้ง:
graph TD
direction LR
IS["🔐 Information Security\n(ความมั่นคงปลอดภัยสารสนเทศ)\nข้อมูลทุกรูปแบบ: ดิจิทัล + กายภาพ"]
CS["💻 Cybersecurity\n(ความมั่นคงทางไซเบอร์)\nระบบดิจิทัล + เครือข่าย + ข้อมูล"]
NS["🌐 Network Security\n(ความมั่นคงเครือข่าย)\nโครงสร้างเครือข่าย + โปรโตคอล + อุปกรณ์"]
IS -->|"ครอบคลุม (includes)"| CS
CS -->|"ครอบคลุม (includes)"| NS
ในยุคที่ทุกสิ่งเชื่อมต่อกันด้วยอินเทอร์เน็ต ภัยคุกคามทางเครือข่ายมีความรุนแรงเพิ่มขึ้นอย่างต่อเนื่อง:
flowchart TB
subgraph ERA1["🕰️ ยุค 1960s–70s - ARPANET & รากฐาน"]
direction LR
A1["ARPANET\n(1969)\nเครือข่ายแรกของโลก"]
A2["Unix\nSecurity\n(1971)"]
A3["DES Standard\n(1977)\nมาตรฐานเข้ารหัสแรก"]
A1 --> A2 --> A3
end
subgraph ERA2["🖥️ ยุค 1980s - PC & Virus ระบาด"]
B1["Morris Worm\n(1988)\nหนอนอินเทอร์เน็ตตัวแรก"]
B2["First Firewall\n(1988)\nไฟร์วอลล์รุ่นแรก"]
B3["CERT ก่อตั้ง\n(1988)\nทีม Response แรก"]
B1 --> B2 --> B3
end
subgraph ERA3["🌐 ยุค 1990s - WWW & SSL"]
C1["WWW & HTTP\n(1991)\nเวิลด์ไวด์เว็บ"]
C2["SSL Protocol\n(1995)\nการเข้ารหัสเว็บ"]
C3["SSH Protocol\n(1995)\nการเข้าถึงปลอดภัย"]
C1 --> C2 --> C3
end
subgraph ERA4["📡 ยุค 2000s - Network Attacks"]
D1["Wi-Fi WPA\n(2003)\nมาตรฐานไร้สาย"]
D2["Stuxnet\n(2010)\nCyberweapon แรก"]
D3["NIST CSF\n(2014)\nกรอบมาตรฐาน"]
D1 --> D2 --> D3
end
subgraph ERA5["☁️ ยุค 2020s - Cloud & Zero Trust"]
E1["Zero Trust\nArchitecture"]
E2["AI-Powered\nSecurity"]
E3["Post-Quantum\nCryptography"]
E1 --> E2 --> E3
end
ERA1 --> ERA2 --> ERA3 --> ERA4 --> ERA5
ตรวจสอบสถานะเครือข่ายพื้นฐาน (Basic Network Status Check):
# 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
# 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
ผลลัพธ์ตัวอย่าง (Sample Output):
# ip addr show (ตัวอย่าง)
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> 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)
CIA Triad คือหลักการสามเสาหลักของความมั่นคงปลอดภัยสารสนเทศ (Information Security Triad) ซึ่งเป็นกรอบแนวคิดพื้นฐานที่ใช้ประเมิน วิเคราะห์ และออกแบบระบบความมั่นคงปลอดภัยทุกระดับ
graph TD
CIA["🔐 CIA Triad\nหลักการความมั่นคงสารสนเทศ\nInformation Security Foundation"]
C["🔒 Confidentiality\nการรักษาความลับ\n\nข้อมูลเข้าถึงได้เฉพาะ\nผู้มีสิทธิ์เท่านั้น\n\nTools: Encryption, ACL"]
I["✅ Integrity\nความครบถ้วนสมบูรณ์\n\nข้อมูลถูกต้องและ\nไม่ถูกแก้ไขโดยไม่ได้รับอนุญาต\n\nTools: Hash, Digital Signature"]
A["⚡ Availability\nความพร้อมใช้งาน\n\nระบบและข้อมูลพร้อมใช้\nเมื่อผู้มีสิทธิ์ต้องการ\n\nTools: Redundancy, Backup"]
CIA --> C
CIA --> I
CIA --> A
Confidentiality (การรักษาความลับ) หมายถึง การป้องกันไม่ให้ข้อมูลถูกเปิดเผยต่อบุคคล, กระบวนการ, หรือระบบที่ไม่ได้รับอนุญาต — ไม่ว่าจะเป็นขณะจัดเก็บ (at rest) หรือขณะรับส่ง (in transit)
เทคนิคที่ใช้รักษา Confidentiality:
xxxx-xxxx-xxxx-1234 สำหรับหมายเลขบัตรเครดิตตัวอย่างการละเมิด Confidentiality:
ทดลองด้วย Linux — ตรวจสอบ File Permissions และการเข้ารหัส:
# === ทดสอบ File Permissions (สิทธิ์ไฟล์) ===
# สร้างไฟล์ข้อมูลสำคัญจำลอง
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 (ถูกต้อง!)
# === เข้ารหัสไฟล์ด้วย 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
# ผลลัพธ์: ข้อมูลลับ: API_KEY=sk-abc123xyz, DB_PASS=P@ssw0rd!
# === เข้ารหัสด้วย GPG (GNU Privacy Guard) ===
gpg --symmetric --cipher-algo AES256 /tmp/secret.txt
# สร้างไฟล์ /tmp/secret.txt.gpg
# ถอดรหัส GPG
gpg --decrypt /tmp/secret.txt.gpg
Integrity (ความครบถ้วนสมบูรณ์) หมายถึง การรับประกันว่าข้อมูลถูกต้อง, ครบถ้วน และไม่ถูกแก้ไขโดยไม่ได้รับอนุญาต ทั้งขณะจัดเก็บ (at rest) และขณะรับส่ง (in transit)
เทคนิคที่ใช้รักษา Integrity:
ทดลองด้วย Linux — ตรวจสอบ Hash (File Integrity Verification):
# === สร้างไฟล์ตัวอย่างและคำนวณ Hash ===
# สร้างเอกสารจำลอง
cat > /tmp/contract.txt << 'EOF'
สัญญาจ้างเลขที่: 2567-001
วันที่: 1 มิถุนายน 2567
ผู้รับจ้าง: บริษัท ABC จำกัด
มูลค่าสัญญา: 500,000 บาท
เงื่อนไข: ส่งมอบงานภายใน 90 วัน
EOF
# คำนวณ hash ด้วยหลายอัลกอริทึม
echo "=== Hash Values สำหรับไฟล์สัญญา ==="
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
echo "Hash บันทึกแล้วใน: /tmp/contract.txt.sha256"
cat /tmp/contract.txt.sha256
# === จำลองการแก้ไขไฟล์โดยไม่ได้รับอนุญาต ===
echo "แก้ไขมูลค่าสัญญา: 5,000,000 บาท (ปลอมแปลง!)" >> /tmp/contract.txt
# ตรวจสอบความสมบูรณ์
echo -e "\n=== ตรวจสอบ Integrity ==="
sha256sum -c /tmp/contract.txt.sha256
# ผลลัพธ์: /tmp/contract.txt: FAILED
# sha256sum: WARNING: 1 computed checksum did NOT match
# === ตรวจสอบ Integrity ของ Package ที่ดาวน์โหลด ===
# ตัวอย่าง: ตรวจสอบ ISO image ก่อนติดตั้ง
# (โดยทั่วไปเว็บไซต์ต้นทางจะให้ hash มาด้วย)
echo "ตัวอย่างการตรวจสอบ Ubuntu ISO:"
echo "sha256sum ubuntu-24.04-desktop-amd64.iso"
echo "เปรียบเทียบกับค่าจากเว็บ: 8762f7e74e4d64d72fceb5f70682e6b069932dee..."
# === File Integrity Monitoring ด้วย AIDE ===
# ติดตั้ง AIDE
sudo apt install aide -y 2>/dev/null
# สร้าง database อ้างอิง (ทำครั้งแรก)
sudo aideinit
# ตรวจสอบ (ทำทุกวัน)
sudo aide --check
Availability (ความพร้อมใช้งาน) หมายถึง ระบบ, บริการ และข้อมูลต้องพร้อมใช้งานเมื่อผู้มีสิทธิ์ต้องการ โดยไม่มีการหยุดชะงักที่ไม่ได้รับอนุญาต การโจมตีที่กระทบ Availability มากที่สุดคือ DoS/DDoS (Denial of Service)
เทคนิคที่ใช้รักษา Availability:
สูตรคำนวณ Availability:
โดยที่:
ตัวอย่างการคำนวณ Availability แบบละเอียด:
สถานการณ์: เซิร์ฟเวอร์ขององค์กรมีค่า MTBF = 720 ชั่วโมง (ประมาณ 30 วัน) และ MTTR = 4 ชั่วโมง
ขั้นตอนที่ 1: แทนค่าในสูตร
ขั้นตอนที่ 2: คำนวณ Downtime ต่อปี (ถ้า Availability = 99.45%)
ตาราง 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) |
ทดลองด้วย Linux — ตรวจสอบ Uptime และคำนวณ Availability:
# === ตรวจสอบ 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} นาที')
print(f'Uptime รวม: {uptime_sec:.0f} วินาที')
"
# ดูประวัติการ reboot
last reboot | head -5
# === Script คำนวณ Availability ===
python3 << 'PYEOF'
def calc_availability(mtbf, mttr):
"""คำนวณ 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"Availability Calculator")
print(f"{'='*50}")
print(f"MTBF (Mean Time Between Failures): {mtbf} ชั่วโมง")
print(f"MTTR (Mean Time To Repair): {mttr} ชั่วโมง")
print(f"{'─'*50}")
print(f"Availability = {mtbf}/({mtbf}+{mttr}) = {availability:.6f}")
print(f"Availability = {availability*100:.4f}%")
print(f"{'─'*50}")
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
ผลลัพธ์ที่คาดหวัง:
==================================================
Availability Calculator
==================================================
MTBF (Mean Time Between Failures): 720 ชั่วโมง
MTTR (Mean Time To Repair): 4 ชั่วโมง
──────────────────────────────────────────────────
Availability = 720/(720+4) = 0.994475
Availability = 99.4475%
──────────────────────────────────────────────────
Downtime ต่อปี: 48.40 ชั่วโมง
Downtime ต่อปี: 2904.0 นาที
==================================================
| หัวข้อ | 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) |
| 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 |
ความเข้าใจความแตกต่างของคำสามคำต่อไปนี้เป็นพื้นฐานสำคัญของ Security:
สูตรคำนวณ Risk (แบบพื้นฐาน):
สูตรคำนวณ Risk (แบบ NIST SP 800-30):
โดยที่:
สถานการณ์จำลอง: เซิร์ฟเวอร์เว็บขององค์กรที่ไม่ได้รับการอัปเดต patch มา 6 เดือน และเปิดให้เข้าถึงจากอินเทอร์เน็ต
| ปัจจัย | ค่า (1–10) | คำอธิบาย |
|---|---|---|
| Threat | 8 | แฮกเกอร์พยายามโจมตีเซิร์ฟเวอร์ที่เปิดสู่อินเทอร์เน็ตตลอดเวลา |
| Vulnerability | 9 | มีช่องโหว่ที่ยังไม่ได้ patch หลายรายการ รวมถึง Critical CVEs |
| Impact | 7 | ข้อมูลลูกค้า 10,000 รายอาจรั่วไหล, ค่าปรับ PDPA สูงสุด 5 ล้านบาท |
| Risk | 504 | 504/1000 = ความเสี่ยงสูงมาก (Critical Risk) |
การคำนวณ:
ระดับ Risk และแนวทางจัดการ:
| ระดับ Risk | คะแนน | สี | แนวทางจัดการ |
|---|---|---|---|
| Low | 1–200 | 🟩 | Monitor ตามปกติ, แก้ไขในรอบ maintenance ถัดไป |
| Medium | 201–400 | 🟨 | วางแผนแก้ไขภายใน 30 วัน |
| High | 401–700 | 🟧 | แก้ไขเร่งด่วนภายใน 7–14 วัน |
| Critical | 701–1000 | 🟥 | แก้ไขทันทีหรือปิด service ชั่วคราว |
CVSS (Common Vulnerability Scoring System) คือระบบมาตรฐานสากลสำหรับประเมินและสื่อสารความรุนแรงของช่องโหว่ในซอฟต์แวร์
สูตร CVSS v3.1 Base Score (แบบย่อ):
ระดับคะแนน CVSS v3.1:
| คะแนน | ระดับ | ตัวอย่างช่องโหว่จริง | CVE |
|---|---|---|---|
| 0.0 | None | ไม่มีผลกระทบ | — |
| 0.1–3.9 | Low | ข้อมูล debug เปิดเผย | CVE-2021-xxxxx |
| 4.0–6.9 | Medium | Directory Traversal, XSS | CVE-2022-xxxxx |
| 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 |
graph TD
T["⚠️ ภัยคุกคาม\nThreats"]
subgraph HUMAN["👤 Human Threats - ภัยคุกคามจากมนุษย์"]
H1["🖥️ External Attackers\nแฮกเกอร์ภายนอก\nCybercriminals, APT Groups"]
H2["🏢 Insider Threats\nภัยจากภายในองค์กร\nพนักงานทุจริต, ความประมาท"]
H3["🏛️ Nation-State Actors\nรัฐบาลต่างชาติ\nCyber Espionage"]
H4["💰 Cybercriminals\nอาชญากรไซเบอร์\nRansomware Groups"]
end
subgraph NATURAL["🌪️ Environmental Threats - ภัยธรรมชาติและสิ่งแวดล้อม"]
N1["🌊 ภัยธรรมชาติ\nFlood, Earthquake\nTsunami"]
N2["🔥 ไฟไหม้\nFire, Explosion"]
N3["⚡ ไฟฟ้าขัดข้อง\nPower Outage\nUPS Failure"]
end
subgraph TECH["💻 Technical Threats - ภัยคุกคามทางเทคนิค"]
T1["🦠 Malware\nVirus, Worm\nRansomware, Trojan"]
T2["🕳️ Zero-Day Exploit\nช่องโหว่ไม่รู้จักมาก่อน"]
T3["💽 Hardware Failure\nดิสก์เสีย, เซิร์ฟเวอร์พัง"]
T4["📡 Supply Chain Attack\nโจมตีผ่าน Vendor"]
end
T --> HUMAN
T --> NATURAL
T --> TECH
| ประเภทการโจมตี | คำอธิบาย | ตัวอย่าง | กระทบ 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. ตรวจสอบ 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
# === 2. ตรวจสอบ CVE ของ Package ที่ติดตั้ง ===
# ดูเวอร์ชัน OpenSSL ที่ใช้อยู่
openssl version -a
# ดู kernel version
uname -r
# === 3. ใช้ 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
# === 4. ตรวจสอบ 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
# === 5. ตรวจสอบ World-Writable Files ===
echo "=== World-Writable Files (อันตราย!) ==="
find /etc -writable -type f 2>/dev/null | head -10
# === 6. ตรวจสอบ 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
# === 7. ใช้ nmap scan ports ตัวเอง (ต้องขออนุญาตก่อนทำ) ===
echo "=== Open Ports บนเครื่องตัวเอง ==="
nmap -sV localhost 2>/dev/null || echo "ติดตั้ง nmap: sudo apt install nmap"
Defense in Depth คือแนวทางการป้องกันหลายชั้น โดยไม่พึ่งพาชั้นป้องกันใดชั้นหนึ่งเพียงชั้นเดียว หากชั้นหนึ่งถูกเจาะ ชั้นถัดไปยังคงป้องกันอยู่
graph TB
Internet["🌐 Internet\nผู้ใช้ภายนอก / ผู้โจมตี"]
subgraph L1["🔴 ชั้นที่ 1: Perimeter Security (รั้วชั้นนอก)"]
direction LR
FW~~~WAF~~~DDOS
FW["🔥 Firewall / NGFW\nกรองแพ็กเก็ต, กฎ Stateful"]
WAF["🛡️ WAF (Web Application Firewall)\nป้องกัน SQLi, XSS, OWASP Top 10"]
DDOS["🌊 Anti-DDoS\nกรอง traffic โจมตี DDoS"]
end
subgraph L2["🟠 ชั้นที่ 2: Network Security (ความมั่นคงเครือข่าย)"]
direction LR
IDS~~~SEG~~~VPN
IDS["👁️ IDS/IPS (Snort/Suricata)\nตรวจจับและป้องกันการบุกรุก"]
SEG["📡 Network Segmentation\nDMZ, VLAN, Zero Trust Zones"]
VPN["🔐 VPN Gateway\nเข้ารหัสการสื่อสาร Remote Access"]
end
subgraph L3["🟡 ชั้นที่ 3: Host Security (ความมั่นคงโฮสต์)"]
direction LR
AV~~~PATCH~~~HIDS
AV["🦠 EDR/Antivirus\nตรวจจับ Malware, Behavioral Analysis"]
PATCH["🔧 Patch Management\nอัปเดต OS/Software ทันที"]
HIDS["📋 HIDS + FIM\nตรวจสอบ Log, Files, Integrity"]
end
subgraph L4["🟢 ชั้นที่ 4: Application Security (ความมั่นคงแอปพลิเคชัน)"]
direction LR
AUTH~~~AUTHZ~~~CRYPTO
AUTH["👤 Authentication (MFA)\nพิสูจน์ตัวตนหลายปัจจัย"]
AUTHZ["🔑 Authorization (RBAC)\nควบคุมสิทธิ์ตามบทบาท"]
CRYPTO["🔒 Encryption (TLS 1.3)\nเข้ารหัสข้อมูลขณะรับส่ง"]
end
subgraph L5["🔵 ชั้นที่ 5: Data Security (ความมั่นคงข้อมูล)"]
direction LR
DLP~~~BACKUP~~~CLASSIFY
DLP["💾 DLP (Data Loss Prevention)\nป้องกันข้อมูลรั่วไหล"]
BACKUP["📦 Backup & DR\nสำรองข้อมูลและกู้คืนระบบ"]
CLASSIFY["📁 Data Classification\nจัดประเภทและติดป้ายข้อมูล"]
end
Internet --> L1 --> L2 --> L3 --> L4 --> L5
Security Policy (นโยบายความมั่นคงปลอดภัย) คือเอกสารที่กำหนดกฎ, แนวทาง, และข้อปฏิบัติสำหรับการปกป้องสินทรัพย์สารสนเทศขององค์กร ซึ่งต้องได้รับการอนุมัติจากผู้บริหารระดับสูงและสื่อสารให้พนักงานทุกคนทราบ
ลำดับชั้นของ Security Documents:
ประเภทของ 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. ดู Password Policy ปัจจุบัน ===
sudo chage -l $(whoami)
# แสดง: Last password change, Password expires, Password inactive, etc.
# === 2. ตั้งค่า Password Aging Policy ===
# รหัสผ่านหมดอายุใน 90 วัน
sudo chage -M 90 username
# ต้องรอ 7 วันก่อนเปลี่ยนรหัสผ่านใหม่ได้
sudo chage -m 7 username
# แจ้งเตือนก่อนหมดอายุ 14 วัน
sudo chage -W 14 username
# ปิดบัญชีหลังรหัสผ่านหมดอายุ 30 วัน (ไม่เข้าสู่ระบบ)
sudo chage -I 30 username
# ดูผลหลังตั้งค่า
sudo chage -l username
# === 3. กำหนด Password Complexity ด้วย PAM ===
# ติดตั้ง libpam-pwquality
sudo apt install libpam-pwquality -y
# กำหนดค่าความซับซ้อน
sudo tee /etc/security/pwquality.conf << 'EOF'
# ความยาวขั้นต่ำ
minlen = 12
# ต้องมีตัวเลขอย่างน้อย 1 ตัว (-N = จำเป็น)
dcredit = -1
# ต้องมีตัวพิมพ์ใหญ่อย่างน้อย 1 ตัว
ucredit = -1
# ต้องมีตัวพิมพ์เล็กอย่างน้อย 1 ตัว
lcredit = -1
# ต้องมีอักขระพิเศษอย่างน้อย 1 ตัว
ocredit = -1
# ห้ามซ้ำเกิน 3 ตัวติดต่อกัน
maxrepeat = 3
# ห้ามมีส่วนของ username ในรหัสผ่าน
usercheck = 1
EOF
echo "Password policy ตั้งค่าแล้ว!"
# === 4. ทดสอบ password strength ===
python3 << 'PYEOF'
import re
def check_password_strength(password):
"""ตรวจสอบความแข็งแกร่งของรหัสผ่าน"""
score = 0
issues = []
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, points in checks:
status = "✅" if passed else "❌"
if passed:
score += points
else:
issues.append(desc)
print(f" {status} {desc}")
max_score = sum(p for _, _, p in checks)
percent = (score / max_score) * 100
if percent >= 80:
level = "💪 แข็งแกร่งมาก (Strong)"
elif percent >= 60:
level = "👍 ปานกลาง (Medium)"
else:
level = "⚠️ อ่อนแอ (Weak) — ต้องปรับปรุง!"
print(f"\n คะแนน: {score}/{max_score} ({percent:.0f}%)")
print(f" ระดับ: {level}")
passwords = ["123456", "Password1", "P@ssw0rd!2024#Secure"]
for pwd in passwords:
print(f"\nรหัสผ่าน: '{pwd}'")
check_password_strength(pwd)
PYEOF
Principle of Least Privilege (PoLP) คือหลักการให้สิทธิ์เพียงพอสำหรับการทำงานที่จำเป็นเท่านั้น ไม่มากกว่านั้น เพื่อลดความเสียหายหากบัญชีถูกโจมตีหรือพนักงานทุจริต
# === ตรวจสอบ Privilege ของผู้ใช้ ===
# ดู 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 "^$"
# === สร้างผู้ใช้ที่มีสิทธิ์จำกัดตาม PoLP ===
# สร้าง service account สำหรับ web server เท่านั้น
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)
NIST CSF (National Institute of Standards and Technology Cybersecurity Framework) คือกรอบการทำงานที่พัฒนาโดยสถาบัน NIST ของสหรัฐอเมริกา เพื่อช่วยองค์กรทุกขนาดในการบริหารจัดการความเสี่ยงด้าน Cybersecurity ประกอบด้วย 6 ฟังก์ชันหลัก (CSF 2.0, 2024) ที่ต้องดำเนินการต่อเนื่อง:
graph LR
GV["🏛️ GOVERN\nกำกับดูแล\nนโยบาย + Roles\n(ใหม่ใน CSF 2.0)"]
ID["🔍 IDENTIFY\nระบุสินทรัพย์\nและความเสี่ยง"]
PR["🛡️ PROTECT\nป้องกัน\nและควบคุม"]
DE["👁️ DETECT\nตรวจจับ\nเหตุการณ์"]
RE["⚡ RESPOND\nตอบสนอง\nต่อเหตุการณ์"]
RC["🔄 RECOVER\nกู้คืน\nระบบและบริการ"]
GV --> ID
ID --> PR
PR --> DE
DE --> RE
RE --> RC
RC -->|"ปรับปรุงอย่างต่อเนื่อง\n(Continuous Improvement)"| ID
รายละเอียดแต่ละฟังก์ชัน 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, Communication | Restore จาก Backup | rsync, Veeam |
ISO/IEC 27001 คือมาตรฐานสากลสำหรับระบบบริหารจัดการความมั่นคงปลอดภัยสารสนเทศ (Information Security Management System — ISMS) ใช้วงจร PDCA (Plan-Do-Check-Act) และมี 93 Controls ใน Annex A (ปรับปรุงใน 2022)
flowchart TD
subgraph PLAN["📋 PLAN: วางแผน - (กำหนดขอบเขตและประเมินความเสี่ยง)"]
P1["1️⃣ กำหนดขอบเขต ISMS\n(Define Scope)"]
P2["2️⃣ Risk Assessment\n(ประเมินความเสี่ยง)"]
P3["3️⃣ Risk Treatment Plan\n(แผนจัดการความเสี่ยง)"]
P4["4️⃣ Statement of Applicability\n(SoA — ระบุ Controls ที่ใช้)"]
P1 --> P2 --> P3 --> P4
end
subgraph DO["⚙️ DO: ดำเนินการ - (ติดตั้งมาตรการและดำเนินงาน)"]
D1["5️⃣ Implement Controls\n(ติดตั้ง 93 Controls ตาม Annex A)"]
D2["6️⃣ Security Awareness Training\n(อบรมพนักงาน)"]
D3["7️⃣ Documentation\n(จัดทำเอกสารหลักฐาน)"]
D1 --> D2 --> D3
end
subgraph CHECK["🔍 CHECK: ตรวจสอบ - (วัดผลและตรวจสอบ)"]
C1["8️⃣ Internal Audit\n(ตรวจสอบภายในองค์กร)"]
C2["9️⃣ Management Review\n(ทบทวนโดยผู้บริหาร)"]
C3["🔟 Performance Measurement\n(วัดผล KPI ความมั่นคง)"]
C1 --> C2 --> C3
end
subgraph ACT["🔄 ACT: ปรับปรุง - (แก้ไขและปรับปรุงต่อเนื่อง)"]
A1["1️⃣1️⃣ Corrective Actions\n(แก้ไขข้อบกพร่องที่พบ)"]
A2["1️⃣2️⃣ Continual Improvement\n(ปรับปรุง ISMS อย่างต่อเนื่อง)"]
A1 --> A2
end
PLAN --> DO
DO --> CHECK
CHECK --> ACT
ACT -->|"วนซ้ำ (Iterative)"| PLAN
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 |
| หัวข้อ | NIST CSF 2.0 | ISO/IEC 27001:2022 |
|---|---|---|
| ที่มา | NIST สหรัฐอเมริกา | ISO — องค์กรมาตรฐานสากล |
| ลักษณะ | Voluntary Framework (ไม่บังคับ, ยืดหยุ่น) | Certifiable Standard (ขอใบรับรองได้) |
| โครงสร้าง | 6 Functions (Govern, Identify, Protect, Detect, Respond, Recover) | 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 สำหรับธุรกิจ |
| มาตรฐาน/กฎหมาย | สาระสำคัญ | กลุ่มเป้าหมาย | บทลงโทษ |
|---|---|---|---|
| PDPA 2562 | คุ้มครองข้อมูลส่วนบุคคล, หน้าที่ Data Controller/Processor | ทุกองค์กรที่ประมวลผลข้อมูลส่วนบุคคล | ปรับสูงสุด 5 ล้านบาท, จำคุก 6 เดือน |
| พ.ร.บ. คอมพิวเตอร์ 2560 | ความผิดเกี่ยวกับคอมพิวเตอร์ | ทุกคนในไทย | จำคุก 1–7 ปี |
| พ.ร.บ. ไซเบอร์ 2562 | ความมั่นคงปลอดภัยโครงสร้างพื้นฐานสำคัญ | CII (เช่น พลังงาน, การเงิน, สาธารณสุข) | มาตรการทางปกครอง |
| ISO 27001:2022 | ISMS มาตรฐานสากล | องค์กรที่ต้องการ Certification | — |
| NIST CSF 2.0 | กรอบบริหาร Cybersecurity Risk | อ้างอิงสำหรับทุกองค์กร | — |
| PCI-DSS v4.0 | ความมั่นคงข้อมูลบัตรชำระเงิน | ธุรกิจที่รับ/ประมวลบัตรเครดิต | ค่าปรับสูง, เพิกถอนสิทธิ์รับบัตร |
# === Script ตรวจสอบ Security Baseline (อ้างอิง NIST CSF + CIS Benchmarks) ===
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' # No Color
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
}
echo "========================================"
echo "NIST CSF Security Baseline Check"
echo "Date: $(date)"
echo "Host: $(hostname)"
echo "========================================"
echo -e "\n--- [IDENTIFY] Asset & Configuration ---"
check "OS อัปเดตแล้ว (มี updates < 10 รายการ)" \
"[ $(apt list --upgradable 2>/dev/null | wc -l) -lt 10 ]"
echo -e "\n--- [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' || iptables -L INPUT 2>/dev/null | grep -q 'DROP\|REJECT'"
echo -e "\n--- [PROTECT] Encryption & Hardening ---"
check "ไม่มี world-writable files ใน /etc" \
"[ -z \"\$(find /etc -writable -type f 2>/dev/null)\" ]"
check "SSH Protocol version 2 เท่านั้น" \
"grep -q 'Protocol 2' /etc/ssh/sshd_config 2>/dev/null || ssh -V 2>&1 | grep -q 'OpenSSH_[89]'"
echo -e "\n--- [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 -e "\n========================================"
echo -e "ผลสรุป: ${GREEN}PASS: $pass${NC} | ${RED}FAIL: $fail${NC} | ${YELLOW}WARN: $warn${NC}"
echo "========================================"
SCRIPT
chmod +x /tmp/nist_check.sh
sudo /tmp/nist_check.sh
graph TD
BOARD["🏦 Board of Directors\nคณะกรรมการบริษัท"]
CEO["👔 CEO / ผู้บริหารสูงสุด"]
CISO["🔐 CISO\n(Chief Information Security Officer)\nผู้บริหารความมั่นคงสารสนเทศสูงสุด"]
subgraph BLUE["🔵 Blue Team — ป้องกันและตรวจจับ"]
direction TB
SA["🏗️ Security Architect\nออกแบบสถาปัตยกรรม"]
SOC["📊 SOC Manager\nบริหารทีม Security Operations"]
SOC1["👁️ SOC Analyst L1\nMonitor & Triage"]
SOC2["🔍 SOC Analyst L2\nInvestigate & Escalate"]
SOC3["⚔️ SOC Analyst L3\nThreat Hunt & Forensics"]
IR["🚨 Incident Responder\nตอบสนองเหตุการณ์"]
SE["⚙️ Security Engineer\nติดตั้งระบบป้องกัน"]
SOC --> SOC1 --> SOC2 --> SOC3
SA~~~IR~~~SE
end
subgraph RED["🔴 Red Team — ทดสอบเจาะระบบ"]
PT["⚔️ Penetration Tester\nEthical Hacking"]
VA["🔍 Vulnerability Assessor\nประเมินช่องโหว่"]
TI["🕵️ Threat Intelligence\nวิเคราะห์ภัยคุกคาม"]
end
subgraph GRC_TEAM["⚖️ GRC — ธรรมาภิบาล, ความเสี่ยง, ความสอดคล้อง"]
GRC["📋 GRC Analyst\nGovernance, Risk & Compliance"]
AUDIT["🔎 Security Auditor\nตรวจสอบความสอดคล้อง"]
end
BOARD --> CEO --> CISO
CISO --> BLUE
CISO --> RED
CISO --> GRC_TEAM
| ตำแหน่ง | ความรับผิดชอบหลัก | ทักษะที่ต้องการ | เครื่องมือที่ใช้ |
|---|---|---|---|
| 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 |
| 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 |
graph TB
subgraph RED["🔴 Red Team - ผู้โจมตี (Attacker Mindset)"]
direction LR
R1["Penetration Testing\nทดสอบเจาะระบบ"]
R2["Social Engineering\nจิตวิทยาการหลอกลวง"]
R3["APT Simulation\nจำลองการโจมตีขั้นสูง"]
R4["Zero-Day Research\nค้นหาช่องโหว่ใหม่"]
R1~~~R2~~~R3~~~R4
end
subgraph PURPLE["🟣 Purple Team - สะพานเชื่อม Red & Blue"]
direction LR
P1~~~P2~~~P3~~~P4
P1["Adversary Emulation\nจำลองพฤติกรรมโจมตีจริง"]
P2["Detection Engineering\nพัฒนา Detection Rules"]
P3["Table-top Exercises\nซ้อมแผน Incident Response"]
P4["Knowledge Transfer\nถ่ายทอดความรู้ Red → Blue"]
end
subgraph BLUE["🔵 Blue Team - ผู้ป้องกัน (Defender Mindset)"]
direction LR
B1~~~B2~~~B3~~~B4
B1["Security Monitoring\nตรวจสอบเหตุการณ์ตลอด 24/7"]
B2["Incident Response\nตอบสนองเหตุการณ์"]
B3["Threat Hunting\nค้นหาภัยคุกคามที่ซ่อนอยู่"]
B4["Security Hardening\nเสริมความมั่นคงระบบ"]
end
RED <-->|"แบ่งปัน TTPs\n(Tactics, Techniques, Procedures)"| PURPLE
PURPLE <-->|"ปรับปรุง Detection\nและ Response"| BLUE
# === งานทั่วไปของ SOC Analyst — ตรวจสอบ Logs ===
# 1. ตรวจสอบ 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}'
# 2. ดู successful logins
echo -e "\n=== Successful SSH Logins (10 รายการล่าสุด) ==="
grep "Accepted" /var/log/auth.log 2>/dev/null | tail -10 | \
awk '{print $1,$2,$3,"| User:",$9,"| From:",$11}'
# 3. ดู sudo commands (privilege escalation monitoring)
echo -e "\n=== Recent sudo Commands ==="
grep "COMMAND" /var/log/auth.log 2>/dev/null | tail -15
# 4. ตรวจสอบ crontab ที่น่าสงสัย (Persistence Mechanism)
echo -e "\n=== System Crontabs ==="
crontab -l 2>/dev/null && echo "--- (current user) ---"
ls -la /etc/cron.d/ 2>/dev/null
ls -la /etc/cron.daily/ 2>/dev/null
# 5. ดู network connections ที่น่าสงสัย
echo -e "\n=== Established Connections ==="
ss -tunp | grep ESTAB | \
awk '{print $5, "→", $6, "PID:"$7}' | head -20
# 6. ตรวจสอบ processes ที่กิน CPU/Memory สูงผิดปกติ
echo -e "\n=== 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}'
# 7. สร้าง simple log analysis script
cat > /tmp/soc_triage.sh << 'TRIAGE'
#!/bin/bash
# Simple SOC Triage Script
echo "=========================================="
echo "SOC TRIAGE REPORT — $(date)"
echo "Host: $(hostname) | IP: $(hostname -I | awk '{print $1}')"
echo "=========================================="
# Check for multiple failed logins from same IP
THRESHOLD=5
echo -e "\n[!] 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"}' | \
head -10
# Check for new user accounts created recently
echo -e "\n[!] 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}'
# Check for listening services
echo -e "\n[!] Services ที่กำลัง Listen:"
ss -tlnp | grep LISTEN | awk '{print " Port:"$4, "Process:"$6}'
echo -e "\n=========================================="
echo "Triage Complete"
TRIAGE
chmod +x /tmp/soc_triage.sh
sudo /tmp/soc_triage.sh
| ระดับ | 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 บาท |
| สูง | 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 ได้ปูพื้นฐานที่จำเป็นสำหรับการศึกษา Network Security ทั้งหมด โดยครอบคลุมประเด็นสำคัญดังนี้:
1. แนวคิดพื้นฐาน ความแตกต่างระหว่าง Information Security (ขอบเขตกว้างสุด), Cybersecurity และ Network Security (เฉพาะเจาะจง) พร้อมวิวัฒนาการตั้งแต่ยุค ARPANET จนถึง Zero Trust ในปัจจุบัน
2. CIA Triad — สามเสาหลัก
3. Threats, Vulnerabilities, Attacks ความสัมพันธ์ Threat × Vulnerability × Impact = Risk, ระบบ CVSS สำหรับประเมินช่องโหว่ (0.0–10.0) และประเภทการโจมตีทั้ง Passive/Active
4. Defense in Depth การป้องกัน 5 ชั้น: Perimeter → Network → Host → Application → Data พร้อม Security Policies และหลัก Least Privilege
5. NIST CSF 2.0 และ ISO/IEC 27001:2022
6. บทบาทใน Security CISO ดูแลภาพรวม, Blue Team ป้องกัน, Red Team ทดสอบ, Purple Team เชื่อมกัน และ GRC ดูแลการปฏิบัติตามมาตรฐาน
หลักการสำคัญที่ต้องจำ:
- ไม่มีระบบที่ปลอดภัย 100% — เป้าหมายคือ ลดความเสี่ยงให้อยู่ในระดับที่ยอมรับได้
- Security เป็น กระบวนการต่อเนื่อง ไม่ใช่ผลิตภัณฑ์ที่ซื้อแล้วจบ
- Human factor คือจุดอ่อนที่ใหญ่ที่สุดเสมอ — เทคโนโลยีดีแค่ไหน ก็สู้การหลอกลวงคนไม่ได้
NIST Cybersecurity Framework 2.0 — National Institute of Standards and Technology (2024). https://www.nist.gov/cyberframework
ISO/IEC 27001:2022 — Information Security, Cybersecurity and Privacy Protection. International Organization for Standardization. https://www.iso.org/standard/27001
IBM Cost of a Data Breach Report 2023 — IBM Security. https://www.ibm.com/security/data-breach
OWASP Top 10 (2021) — Open Web Application Security Project. https://owasp.org/Top10/
MITRE ATT&CK Framework v15 — MITRE Corporation. https://attack.mitre.org/
Common Vulnerability Scoring System (CVSS) v3.1 Specification — FIRST.org. https://www.first.org/cvss/specification-document
CIS Benchmarks — Center for Internet Security. https://www.cisecurity.org/cis-benchmarks
พ.ร.บ. คุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562 (PDPA) — ราชกิจจานุเบกษา, 27 พฤษภาคม 2562. https://www.pdpa.go.th/
พ.ร.บ. การรักษาความมั่นคงปลอดภัยไซเบอร์ พ.ศ. 2562 — ราชกิจจานุเบกษา. https://www.ncsa.or.th/
Stallings, W. (2022). Cryptography and Network Security: Principles and Practice (8th ed.). Pearson Education.
Anderson, R. (2020). Security Engineering: A Guide to Building Dependable Distributed Systems (3rd ed.). Wiley.
CompTIA Security+ Study Guide (SY0-701) — CompTIA. https://www.comptia.org/certifications/security
The Linux Command Line (2nd Ed.) — William Shotts. No Starch Press. https://linuxcommand.org/tlcl.php
man pages ที่เกี่ยวข้อง:
man sshd_config, man iptables, man sha256sum, man chage, man openssl, man ss, man lynis