Skip to content

AUTHENTICATION สอนอย่างไรให้เข้าใจล้ำลึก


คลาส FireLearn เป็นคลาสที่ปลูกฝังทฤษฎีพื้นฐานเข้าไปในความคิดของนักเรียน เพื่อนำมาสู่ Configuration ของ Firebox ของ WatchGuard คลาสเพิ่งจบไปเมื่อไม่นานมานี้ คอร์ส 2 วัน ผมสอนเอง 
 
มีอยู่ตอนหนึ่งในชั้นเรียน เป็น Lab ที่ให้นักเรียนได้ลองทำ Config ของ User authentication แบบ Web captive portal พอทำเสร็จ นักเรียนก็ยกมือขึ้นถามว่า
 
“อาจารย์ครับ ทำไมเครื่องที่ Authen แล้วก็ออกเน็ตได้ และเครื่องที่ไม่ Authen ก็ออกเน็ตได้เหมือนกัน จริง ๆ แล้วเครื่องที่ไม่ Authen มันน่าจะออกเน็ตไม่ได้ ไม่ใช่เหรอครับ”
 
นั่นคือประตูในแบบเรียนที่ผมเปิดล่อเอาไว้ เป็นกับดักให้นักเรียนที่เข้าใจผิดเรื่อง Authentication เดินเข้าประตูนั้น และผมจงใจสร้างความสับสนให้นักเรียน ลบล้างความคิดเรื่อง Authentication ที่เขาเคยมี กวนน้ำให้ขุ่น นักเรียนจะได้เลือกเทน้ำเดิมทิ้ง เทน้ำใหม่ใส่ความคิดใหม่เข้าไป
 
ผมถามนักเรียนว่า VLAN เป็น Authentication ได้หรือไม่ แล้ว IP address หรือ Subnet เป็น Authentication ได้หรือไม่ การที่ Client กำลัง connect กับ AP หรือ SSID บน Wifi สามารถเป็น Authentication ได้หรือไม่ ในระหว่างที่นักเรียนทั้งหมดกำลังงงกับคำถาม ผมชิงตอบว่า “ได้”
 
สิ่งที่ก่อกวนอยู่ในหัวของนักเรียน และทำให้เขาดิ้นไม่หลุดคือ “Authentication = Web captive portal” ทุกครั้งที่พูดคำว่า “User authen” ภาพของ Web captive portal จะลอยขึ้นมา ผมต้องลบภาพนี้ออกจากความคิดของนักเรียนก่อน
 
 
Authentication ก็คืออะไรก็ได้ที่ทำให้เรารู้ว่า เขาคือ “คนที่ใช่” 
 
ไม่จำเป็นจะต้องเป็น Username ครับ จะเป็นอะไรก็ได้ เพราะเรามีบางอย่างที่จะมอบแก่คนที่ใช่ อันนี้เราเรียกว่า Authorization พูดง่าย ๆ คือ 
 
 
ถ้าคุณคือคนที่ใช่ คุณจะได้รับ Authorize
 
ผมสอนนักเรียนให้คิดใหม่ คิดแยกกัน สมมติว่า Authorization คือ สามารถเข้าถึง Server-A ใน DMZ ได้ คำถามคือ แล้วคุณสมบัติของเครื่องที่จะเข้าได้คืออะไร นั่นคือ Authentication แค่เครื่องอยู่ใน VLAN office เอา Authentication แค่นี้เพียงพอมั้ยที่จะได้รับ Authorize คือเข้าถึง Server-A ได้ 
 
ซึ่งการอยู่ใน VLAN office ก็คือแค่เสียบสาย LAN หรือต่อ Wifi ก็แปลว่าเครื่องนั้นอยู่ใน VLAN office ถูกมั้ย คำตอบคือใช่ โดยไม่มีการป้อน Username/password ซะด้วย Authentication มันก็เกิดขึ้นแล้ว จุดนี้แหละครับ ความคิดก้อนใหม่ก้อนเล็ก ๆ นี่แหละ ที่ต้องแปะให้ติด
 
Authentication ไม่ใช่การป้อน Username/Password เสมอไป ถ้าแกะความคิดเก่าตรงนี้ไม่หลุด ก็คือยังไม่ผ่าน
 
เลิกใช้คำว่า “แสดงตัวตน” แต่ให้คิดใหม่ว่า 
 
 
จะต้องมีคุณสมบัติอะไร (Authentication) เพื่อได้รับสิทธิ์ในการทำอะไร (Authorization) 
 
ถ้าคิดได้แบบนี้ ถือว่าเข้าใจแล้ว Authentication คือ การตรวจคุณสมบัติ คิดแบบนี้ดีกว่า จะได้หลุดพ้นจาก Username/Password
 
แม้แต่เรื่องในชีวิตปกติของเรา คุณ Authenticate ด้วยการใส่เสื้อผ้า เพราะฉะนั้น คุณจึงได้รับ Authorize ให้ออกนอกบ้าน ไปไหนมาไหนได้ ถ้าคุณแก้ผ้าออกมานอกบ้าน นั่นคือการไม่ได้ Authenticate คุณจะโดนข้อหาอนาจาร และโดนจับไปสงบสติอารมณ์ที่ไหนซักที่ ก็คือไม่ได้รับ Authorization ให้เดินถนนเหมือนคนทั่วไป
 
ถ้าคิดแยกกันได้แล้ว มาดูกันอีกรอบ Authentication คือการที่เครื่องอยู่ใน VLAN office มีคุณสมบัติพอที่จะได้รับ Authorization คือสามารถเข้าถึง Server-A ได้ เห็นมั้ยครับ Authenticate แบบไม่มี Username/Password ไม่ใช่เรื่องแปลกเลย เป็นระบบปกติซะด้วยซ้ำ
 
ทีนี้ผมก็กลับโจทย์ครับ ผมสมมติว่า ออฟฟิศนี้มี Wifi แบบ 802.1x ที่จะต้องมีการ Logon กับ RADIUS server ก่อน จึงจะสามารถสร้าง Wifi connection ได้ ผมถามนักเรียนไปว่า ถ้า Wifi connect แล้ว แปลว่าเขา Authen แล้ว ระบบรู้ Username ของเครื่องนี้แล้ว เครื่องนี้จะออกเน็ตได้หรือไม่
 
ผมจงใจจะงัดข้อกับคำว่า “จะออกเน็ตต้อง Authen” ซึ่งก็น่าดีใจ ที่นักเรียนบางคนเริ่มเข้าใจ และตอบว่า “แล้วแต่”
 
ซึ่งเป็นคำตอบที่ถูกครับ
 
Authenticate แล้ว ระบบรู้ว่าเครื่องนั้นมี Identity หรือมีคุณสมบัติอย่างไรแล้ว ที่เหลือจะได้รับสิทธิ์อะไร มันก็เป็นอีกเรื่องนึง ไม่ได้ผูกกันครับ ผมจงใจแหย่เรื่อง Authen กับออกเน็ต เพราะ 2 ตัวนี้ผูกติดกันหนาแน่นเหนือเกิน ป้อน Username/Password เพื่อออกเน็ตได้ มันเกาะเป็นเรื่องเดียวกันเหมือนมีใครมาทากาวช้างยึด 2 เรื่องนี้เอาไว้เหมือนเป็นเรื่องเดียวกัน คลาสนี้มุ่งเน้นในการจัดระเบียบความคิดของนักเรียนให้เป็นไปตามทฤษฎีที่ถูกต้อง จึงต้องสอนให้นักเรียนแกะ 2 คำนี้ออกจากกันให้ได้
 
เมื่อเข้าใจเรื่องนี้ ผมจึงพาคลาสไปสู่ A ตัวที่สาม Accounting 
 
 
การ Authenticate ทำให้ระบบสามารถติดตามเครื่องนั้นและบันทึกได้ว่า เครื่องนั้นไปทำอะไรกับระบบบ้าง สิ่งนี้เรียกว่า Accounting
 
Authentication ทำให้ระบบรู้ว่า จะมอบสิทธิ์อะไร (Authorization) ให้กับเครื่องนั้นบ้าง และในขณะเดียวกัน ระบบ “อาจจะ” เก็บบันทึก (Accounting) การใช้สิทธิ์นั้น หรือจะไม่บันทึกก็ได้ เช่น เก็บ Log ในการเข้าถึงเซิร์ฟเวอร์ เป็นต้น
 
ทีนี้ผมก็ชวนนักเรียนหันกลับมาดูภาพที่คุ้นเคย ก็คือ Login ด้วยหน้า web เพื่อออกเน็ตได้ แล้วก็มีการเก็บ Log ตาม พรบ. แบบที่ทั่วประเทศไทยเราคุ้นเคยกัน แต่ทีนี้ให้คลาสอธิบายซะใหม่ แกะเป็นชิ้น ๆ ตามแบบทฤษฎีของ Network security ก็จะแตกขบวนการออกมาตามทฤษฎีได้ 3 ขบวนการ คือ Authentication ด้วย Web captive portal จึงได้รับ Authorize ให้ออกเน็ตได้ และมีการทำ Accounting ไปด้วยก็คือการเก็บ Log ครบ AAA พอดีครับ 
 
ผมคิดว่า ผมประสบความสำเร็จในการทำให้นักเรียนทำเข้าใจ แม้ว่าจะใช้เวลาไปมากก็ตาม เวลานักเรียนไปเจอกับคำว่า AAA บนหน้าจอของอุปกรณ์ จะยี่ห้อไหนรุ่นอะไรก็เถอะ นักเรียนในคลาสนี้พึงจะได้ซาบซึ้งกับภาพใหญ่มหึมาของ AAA ที่มันยิ่งใหญ่กว้างไกลกว่าหน้า web login เพื่อออกเน็ต
 
ผมชี้ให้นักเรียนเห็นว่า ในระบบหนึ่งมี Authentication และ Authorization เกิดขึ้นมากมายโดยที่เรามองข้ามไป L2 VLAN, subnet segmentation, AD user sign in, Mail logon, Event log ของ Windows, ระบบแตะนิ้วเข้าประตู หรือแม้แต่บัญชีสาวสวย (Authentication) เดินมาขอ support จาก IT แล้วพี่คนนั้นดูจะ supportive เป็นพิเศษ (Authorization) เราก็แอบเก็บมาเม้าท์ซะ (Accounting) ถ้ามองให้ออก จะเห็นว่าชีวิตของเรามันก็ล้อมรอบด้วย AAA โดยธรรมชาติอยู่แล้ว ทำตัวให้คุ้นเคย นำความรู้นี้ไปออกแบบระบบอย่างยืดหยุ่นและเป็นมิตรกับผู้ใช้ 
 
ขึ้นรถเมล์ ก็ต้อง Authenticate ด้วยการจ่ายค่าโดยสาร ก็จะได้ Authorize ให้นั่งรถเมล์ไปจนถึงที่หมาย และมีตั๋วรถเมล์เป็น Accounting 
 
อ่านบทความนี้แล้วลองไปนึก ๆ ฝึก ๆ กันดูครับ คุณจะเห็น AAA ลอยอยู่เต็มไปหมดเลย
 
คลาสที่ขุดความคิดฝังแน่นของนักเรียนออกมาเขย่า และปลูกถ่ายวิชาการกลับลงไป จะค่อยเป็นค่อยไปในลักษณะนี้ครับ หัวข้อเดียวก็เล่นเข้าไปเกือบชั่วโมงแล้ว แต่ก็หวังเป็นอย่างยิ่งว่า เราจะได้สร้างบุคลากรระดับมืออาชีพสู่ตลาดครับ และหวังว่าท่านจะได้รับประโยชน์ไปใช้ในการสร้าง Authentication / Authorization / Accounting ที่ชัดเจนแข็งแรงครับ