Security
น้องๆ หลายคนอาจจะงงๆ ว่า Zero Trust Network Access หรือ ZTNA มันคืออะไรวะพี่บอม? ง่ายๆ เลยนะ สมัยก่อนเราเชื่อใจคนที่อยู่ในเครือข่ายของเรา (Trust but Verify) แต่ ZTNA มันพลิกมุมมองเลยเว้ย มันบอกว่า "ไม่เชื่อใจใครเลย" (Never Trust, Always Verify) ไม่ว่าจะเป็นคนในหรือคนนอกองค์กรก็ตาม ต้องมีการตรวจสอบสิทธิ์ทุกครั้งก่อนเข้าถึงข้อมูล
สมัยผมทำร้านเน็ต SiamCafe แรกๆ เนี่ย เราไม่ได้คิดอะไรซับซ้อนขนาดนี้หรอก ใครต่อเน็ตได้ก็ใช้ได้เลย แต่พอโลกมันเปลี่ยนไป ภัยคุกคามมันเยอะขึ้น การป้องกันแบบเดิมๆ มันเอาไม่อยู่แล้ว ZTNA เลยเข้ามาตอบโจทย์ตรงนี้ ช่วยลดความเสี่ยงจากการถูกโจมตีได้เยอะเลย
ก่อนจะไปลงลึกเรื่อง ZTNA เรามาทำความเข้าใจพื้นฐานกันก่อนดีกว่า มี 2-3 เรื่องที่ควรรู้ไว้
หัวใจสำคัญของ ZTNA คือหลักการ Zero Trust นี่แหละ มันมี 3 ข้อหลักๆ:
ลองนึกภาพสมัยก่อนที่เราใช้ VPN พอต่อ VPN เข้ามาได้ ก็เหมือนได้กุญแจห้องทุกห้องในบ้าน แต่ ZTNA มันเหมือนให้กุญแจแค่ห้องที่จำเป็นต้องเข้าเท่านั้น ปลอดภัยกว่าเยอะเลย
Microsegmentation คือการแบ่งเครือข่ายออกเป็นส่วนย่อยๆ แต่ละส่วนจะมีนโยบายการรักษาความปลอดภัยที่แตกต่างกัน ทำให้ผู้โจมตีเข้าถึงข้อมูลได้ยากขึ้น แม้ว่าจะเจาะเข้ามาในระบบได้แล้วก็ตาม
สมัยผมทำร้านเน็ต เราก็เคยเจอเคสที่ลูกค้าติดไวรัสจากเว็บโป๊ (สมัยนั้นฮิตมาก) แล้วไวรัสมันลามไปเครื่องอื่นในร้าน ถ้าเรามี Microsegmentation เราจะสามารถจำกัดความเสียหายได้ ไม่ให้ไวรัสมันแพร่กระจายไปทั่วทั้งร้าน
IAM คือระบบที่ใช้จัดการข้อมูลผู้ใช้งานและการเข้าถึงทรัพยากรต่างๆ มันจะช่วยให้เรามั่นใจได้ว่าคนที่เข้าถึงข้อมูลเป็นคนที่ได้รับอนุญาตจริงๆ
ยกตัวอย่างเช่น ถ้าพนักงาน A ลาออกจากบริษัท เราก็สามารถใช้ IAM ในการยกเลิกสิทธิ์การเข้าถึงข้อมูลของพนักงาน A ได้ทันที ป้องกันไม่ให้เขาสามารถเข้าถึงข้อมูลของบริษัทได้อีก
เอาล่ะ พอเข้าใจหลักการพื้นฐานแล้ว เรามาดูกันว่าเราจะเริ่มใช้งาน ZTNA ได้ยังไง
การเริ่มต้นใช้งาน ZTNA อาจจะดูซับซ้อน แต่ถ้าเราทำตามขั้นตอนเหล่านี้ มันจะไม่ยากอย่างที่คิด:
ก่อนอื่นเลย เราต้องกำหนดก่อนว่าเราต้องการปกป้องอะไรบ้าง และเป้าหมายของเราคืออะไร เช่น ต้องการปกป้องข้อมูลลูกค้า ต้องการลดความเสี่ยงจากการถูกโจมตี หรือต้องการเพิ่มความคล่องตัวในการทำงาน
สมัยผมทำร้านเน็ต เป้าหมายหลักของเราคือการป้องกันไม่ให้ลูกค้าติดไวรัส และป้องกันไม่ให้แฮกเกอร์เข้ามาขโมยรหัสเกม ดังนั้น เราจึงต้องมีมาตรการรักษาความปลอดภัยที่เข้มงวด
ในตลาดมี ZTNA Solution ให้เลือกมากมาย แต่ละ Solution ก็มีข้อดีข้อเสียแตกต่างกันไป เราต้องเลือก Solution ที่เหมาะสมกับความต้องการและงบประมาณของเรา
ตัวอย่าง Solution ที่น่าสนใจ:
หลังจากเลือก Solution ได้แล้ว เราก็ต้องทำการ Implement และ Monitor ระบบอย่างต่อเนื่อง เพื่อให้มั่นใจว่าระบบทำงานได้อย่างถูกต้องและมีประสิทธิภาพ
อย่าลืมว่า ZTNA ไม่ใช่แค่การติดตั้ง Software แต่มันคือการเปลี่ยนแปลงวัฒนธรรมองค์กร เราต้องให้ความรู้แก่พนักงานเกี่ยวกับความสำคัญของการรักษาความปลอดภัย และสอนให้พวกเขาใช้งานระบบอย่างถูกต้อง
หลายคนอาจจะสงสัยว่า ZTNA มันต่างจาก VPN หรือ NAC (Network Access Control) ยังไง เรามาดูตารางเปรียบเทียบกันดีกว่า
| Feature | VPN | NAC | ZTNA |
|---|---|---|---|
| Access Control | Network-level | Network-level | Application-level |
| Trust Model | Trust but Verify | Trust but Verify | Never Trust, Always Verify |
| Granularity | Coarse-grained | Coarse-grained | Fine-grained |
| Complexity | Simple | Moderate | Complex |
| Use Case | Remote Access | Network Security | Application Security, Remote Access, Microsegmentation |
จากตารางจะเห็นได้ว่า ZTNA มีความละเอียดในการควบคุมการเข้าถึงมากกว่า และมีความยืดหยุ่นในการใช้งานมากกว่า แต่ก็มีความซับซ้อนในการ Implement มากกว่าเช่นกัน
สำหรับ Code snippet ที่เกี่ยวข้องกับ ZTNA โดยตรงอาจจะยากที่จะยกตัวอย่าง เพราะส่วนใหญ่จะเป็นการ Config บน Cloud Platform หรือ Software ที่เราเลือกใช้ แต่ถ้าเป็นเรื่องของการตรวจสอบสิทธิ์การเข้าถึง เราอาจจะใช้ Code ประมาณนี้:
def check_access(user, resource, permission):
# ตรวจสอบว่า user มีสิทธิ์ permission ในการเข้าถึง resource หรือไม่
# โดยอาจจะดึงข้อมูลจาก IAM หรือ Policy Engine
if user.has_permission(resource, permission):
return True
else:
return False
# ตัวอย่างการใช้งาน
user = get_user_from_request()
resource = "database"
permission = "read"
if check_access(user, resource, permission):
# อนุญาตให้เข้าถึง database
access_database(user)
else:
# ปฏิเสธการเข้าถึง
return "Access Denied"
หวังว่าน้องๆ จะเข้าใจเรื่อง ZTNA มากขึ้นนะครับ ถ้ามีคำถามอะไรเพิ่มเติม ก็ถามมาได้เลย หรือจะลองเข้าไปดูบทความอื่นๆ ใน SiamCafe Blog ก็ได้นะ มีเรื่อง IT น่าสนใจอีกเยอะเลย
ZTNA มันเป็นเทรนด์ที่กำลังมาแรง ถ้าใครอยากเก่ง IT ยุคใหม่ ต้องศึกษาเรื่องนี้ไว้นะครับ และอย่าลืมติดตาม SiamCafe Blog เรื่อยๆ จะมีอะไรใหม่ๆ มาอัปเดตให้ตลอด
เอาล่ะน้องๆ หลังจากปูพื้นฐาน ZTNA กันไปแล้ว มาดู Best Practices ที่ผมเจอมากับตัว สมัยทำร้านเน็ต SiamCafe กันบ้างดีกว่า บอกเลยว่าเรื่องพวกนี้สำคัญมาก เพราะมันคือ "ของจริง" ที่เจอในสนามรบ ไม่ใช่แค่ทฤษฎีสวยหรู
ZTNA เนี่ย เหมือนเราสร้างปราการด่านสุดท้ายให้ Server ของเราเลยนะ แต่ปราการจะแข็งแกร่งได้ มันต้องมีเคล็ดลับ ลองดูที่ผมสรุปมาให้ด้านล่างนี้เลย
สมัยก่อนเนี่ย เราชอบวางทุกอย่างไว้ในวง LAN เดียวกันหมด ใครเจาะเข้ามาได้ตัวนึง คือจบเห่เลย แต่ ZTNA สอนให้เรารู้จัก Microsegmentation คือการแบ่งเครือข่ายออกเป็นส่วนย่อยๆ ใครจะเข้าถึงอะไร ต้องขออนุญาตเป็นรายชิ้นไป
ลองนึกภาพว่า Server แต่ละตัว คือห้องในบ้าน ถ้าเราล็อคแค่ประตูบ้าน ใครเข้ามาได้ ก็เดินเข้าห้องไหนก็ได้ แต่ถ้าเราล็อคทุกห้อง ใครจะเข้าห้องไหน ต้องมีกุญแจเฉพาะ ถ้าโจรเข้าบ้านมาได้ ก็ยังเข้าห้อง Server เราไม่ได้อยู่ดี
# ตัวอย่างง่ายๆ การใช้ Firewall แบ่ง Segment
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT # อนุญาตเฉพาะวง LAN
iptables -A INPUT -j DROP # ปฏิเสธทุก traffic ที่เหลือ
อันนี้สำคัญมาก! อย่าให้สิทธิ์ใครเกินความจำเป็น สมัยก่อนผมเคยพลาด ให้สิทธิ์ Admin กับน้องในร้านไป พอโดน Hack เท่านั้นแหละ งานเข้าเลย เพราะฉะนั้น คิดเสมอว่า "ให้น้อยที่สุดเท่าที่จำเป็น" ใครต้องใช้สิทธิ์อะไร ก็ให้แค่นั้นจริงๆ
ZTNA บังคับให้เราคิดเรื่องนี้ตลอดเวลา ใครจะเข้าถึง Database Server ได้ ต้องเป็น DBA เท่านั้น Developer เข้าไม่ได้ ใครจะ Restart Server ได้ ต้องเป็น System Admin เท่านั้น Support เข้าไม่ได้
ZTNA ไม่ใช่แค่ติดตั้งแล้วจบ มันต้องมีการเฝ้าระวังตลอดเวลา ต้องมีระบบ Monitoring ที่คอยดูว่ามีใครพยายามเข้าถึง Server โดยไม่ได้รับอนุญาต มี traffic แปลกๆ เกิดขึ้นหรือไม่
สมัยผมทำร้านเน็ต ผมใช้โปรแกรม Snort ในการดักจับ Traffic ที่น่าสงสัย แล้วตั้ง Alert ไว้ ถ้าเจออะไรผิดปกติ จะมี SMS แจ้งเตือนมาที่มือถือผมทันที
Firewall เก่งเรื่องการป้องกันจากภายนอก แต่ ZTNA เก่งเรื่องการป้องกันจากภายใน Firewall เหมือนกำแพงเมือง แต่ ZTNA เหมือนทหารยามที่คอยตรวจตราทุกคนที่เดินอยู่ในเมือง ถึงแม้จะเข้ามาในเมืองได้แล้ว ก็ต้องแสดงตัวตนก่อน ถึงจะทำอะไรได้
จริงๆ แล้ว ZTNA เหมาะกับทุกขนาดองค์กร แต่ถ้าเป็นองค์กรขนาดใหญ่ ที่มี Server จำนวนมาก และมี User ที่เข้าถึง Server จากภายนอกบ่อยๆ ZTNA จะยิ่งมีประโยชน์ เพราะช่วยลดความเสี่ยงในการถูกโจมตีได้มาก
ZTNA มีหลาย Solution ให้เลือก บาง Solution ก็ซับซ้อน ติดตั้งยาก แต่บาง Solution ก็ง่าย เหมือน Plugin ตัวนึงที่ติดตั้งบน Server ได้เลย แต่สิ่งที่สำคัญที่สุดคือ ต้องเข้าใจ Concept ของ ZTNA ก่อน แล้วค่อยเลือก Solution ที่เหมาะสมกับความต้องการของเรา
VPN ให้สิทธิ์เข้าถึงเครือข่ายทั้งหมด แต่ ZTNA ให้สิทธิ์เข้าถึงเฉพาะ Application หรือ Server ที่จำเป็นเท่านั้น VPN เหมือนให้กุญแจบ้านทั้งหลัง แต่ ZTNA ให้กุญแจเฉพาะห้องที่จำเป็นต้องเข้า
ZTNA คือ Concept ที่ดีมากๆ ในการรักษาความปลอดภัยของ Server และ Application ของเรา มันช่วยลดความเสี่ยงในการถูกโจมตีได้มาก โดยเฉพาะอย่างยิ่งในยุคที่การทำงานจากระยะไกล (Remote Work) เป็นเรื่องปกติ
ลองเอาไปปรับใช้กันดูนะครับน้องๆ รับรองว่า Server ของเราจะปลอดภัยขึ้นเยอะเลย ถ้าอยากได้ Forex ดีๆ ต้อง iCafeForex นะครับ
อย่าลืมติดตามเรื่องราวและเทคนิค IT ดีๆ ได้ที่ SiamCafe Blog นะครับ