เนื้อหาวันที่ : 2011-07-29 15:13:55 จำนวนผู้เข้าชมแล้ว : 7685 views

มารู้จักโปรโตคอล SNMP (ตอนที่ 3)

SNMPv2 ถูกพัฒนาขึ้นต่อจาก SNMPv1ที่มีปัญหาในการใช้งานเรื่องเอกสารในยุคแรกเริ่มที่ไม่เป็นมาตรฐาน หรือเป็นดราฟต์ รวมทั้งข้อจำกัดในเรื่องความปลอดภัย

การสื่อสารข้อมูลในงานอุตสาหกรรม
ตอนที่ 12 มารู้จักโปรโตคอล SNMP ตอนที่ 3

พิชิต จินตโกศลวิทย์ 
pichitor@yahoo.com

SNMPv2
          สืบเนื่องจากข้อจำกัดของ SNMPv1 ที่ออกแบบให้ใช้งานได้ง่าย แต่ก็มีปัญหาในการใช้งานในเรื่องเอกสารยุคแรกเริ่มไม่เป็นมาตรฐาน หรือเป็นดราฟต์ รวมทั้งข้อจำกัดในเรื่องความปลอดภัย การรายงานความผิดพลาดจากเอเยนต์ที่ยังไม่สมบูรณ์ ชนิดข้อมูลที่ออกแบบไว้มีจำนวนน้อยเกินไปสำหรับงานที่ซับซ้อนขึ้น รวมไปถึงประสิทธิภาพในการทำงานที่ค่อนข้างต่ำในกรณีต้องดึงข้อมูลจำนวนมาก ดังนั้นจึงได้มีการพัฒนาเวอร์ชันใหม่ขึ้นมานั้นคือ SNMPv2 ซึ่งได้มีการกำหนดมาตรฐาน RFC สำหรับ SNMPv2 โดยที่สำคัญมีดังต่อไปนี้

          * RFC 2578 - Structure of Management Information 
          * RFC 2579 - Textual Conventions 
          * RFC 2580 - Conformance Statements

          สำหรับ SNMPv2 นั้นจะมาควบคู่กับมาตรฐานโครงสร้าง SMIv2 ซึ่งเป็นการกำหนดวิธีการสร้างบรานช์เพิ่มเติมภายใต้ซับทรี Internet จากโครงสร้าง SNMPv1 โดยได้มีการสร้างชนิดข้อมูลใหม่เพิ่มเติมจากมาตรฐาน SMIv1 ดังรูปที่ 5 แสดงตำแหน่งออปเจ็กต์ของ SNMPv2 ในโครงสร้างต้นไม้มาตรฐาน จะสังเกตได้ว่าหมายเลข OID ของบรานช์ใหม่จะเท่ากับ 1.3.6.1.6.3.1.1 หรือ iso.org.dod.internet.snmpV2.snmpModules.snmpMIB.snmpMIBObjects.SMIv2 โดยจะมีชนิดข้อมูลใหม่เพิ่มเติมจาก SNMPv1 ดังตารางชนิดข้อมูลที่สนับสนุนโดย SMIv2 ด้านล่าง

รูปที่ 5 โครงสร้างต้นไม้ของ SMI สำหรับ SNMPv2

ตาราง ชนิดข้อมูลที่สนับสนุนโดย SMIv2

          สำหรับวิธีการนิยามออปเจ็กต์ใน SMIv2 จะมีความแตกต่างจาก SMIv1 เล็กน้อย โดยจะมีฟิลด์ให้เลือกเพิ่มเติมสำหรับการควบคุมการเข้าถึงตัวออปเจ็กต์ และยังอนุญาตให้ทำการขยายขนาดตารางข้อมูลโดยการเพิ่มจำนวนคอลัมน์ ทำให้สามารถใส่ข้อมูล หรือคำอธิบายเพิ่มเติมได้มากขึ้น โดยซินแทกซ์ที่เพิ่มเติมจะถูกขีดเส้นใต้ เพื่อให้สังเกตได้ง่าย รวมทั้งแสดงความหมายแสดงในตารางคำสั่งเพิ่มเติมสำหรับ SMIv2 ด้านล่าง


          <name> OBJECT-TYPE
                    SYNTAX <datatype>
                    UnitsParts <Optional, ดูรายละเอียดจากตารางด้านล่าง>
                    MAX-ACCESS <ดูรายละเอียดจากตารางด้านล่าง>
                    STATUS <ดูรายละเอียดจากตารางด้านล่าง>
                    DESCRIPTION
                              “Textual description describing this particular managed object.”
                    AUGMENTS {<name of table>}
                    ::= {<Unique OID that defines this object>}

 
ตาราง คำสั่งเพิ่มเติมสำหรับ SMIv2

          SMIv2 ยังกำหนดตัวแปรระบบเพิ่มเติมที่ได้ตกลงเป็นทางการในการสร้างออปเจ็กต์โดยใช้หมายเลขมาตรฐาน RFC2579 เป็นตัวกำหนด ดังตารางตัวแปรเพิ่มเติมการสร้างออปเจ็กต์สำหรับ SMIv2 ด้านล่าง

ตาราง ตัวแปรเพิ่มเติมการสร้างออปเจ็กต์สำหรับ SMIv2


          1. GetBulk
          ถ้ากล่าวถึงฟังก์ชันการทำงานสำหรับการเข้าถึงข้อมูลและเขียนข้อมูลของ SNMPv2 ก็มีความคล้ายคลึงกับ SNMPv1 มาก แต่ที่มีแตกต่างและโดดเด่นก็คือ ฟังก์ชันทราปของ SNMPv2 มีการกำหนดใหม่ให้มีฟอร์แมตเมสเซจเหมือนกับคำสั่ง Get และ Set แต่ที่โดดเด่นจริง ๆ นั้นคือการเพิ่มฟังก์ชัน GetBulk ซึ่งสามารถใช้ดึงข้อมูลจำนวนมากด้วยคำสั่งเพียงคำสั่งเดียว หรือทรานแซกชันเดียว แตกต่างจากคำสั่ง Get ที่ต้องทำงานคู่กับคำสั่ง GetNext โดยการทำงานต้องส่งคำสั่งขอข้อมูลหลายครั้งตามจำนวนข้อมูลที่ต้องการทำให้เสียเวลาในการดึงข้อมูล โดยรายละเอียดการทำงานจะกล่าวในบทความตอนสุดท้าย

รูปที่ 6 การวัดประสิทธิภาพการดึงข้อมูลระหว่าง SNMPv1 และ SNMPv2

2. การใช้โปรโตคอลระดับทรานสปอร์ต
          ข้อแตกต่างในการออกแบบที่สำคัญอย่างหนึ่งนั้นคือ SNMPv1 ที่จริงถูกออกแบบให้ใช้กับโปรโตคอล UDP เท่านั้น ดังนั้นจะทำงานกับโปรโตคอลชนิดอื่นไม่ได้ประสิทธิภาพสูงสุด ซึ่งอันที่จริงแล้วยังมีอุปกรณ์เครือข่ายที่ใช้ชุดโปรโตคอลอื่นที่ไม่ใช่ TCP/IP ถึงแม้ในปัจจุบันจะเป็นจำนวนน้อยก็ตาม แต่ก็จะละเลยไม่ได้ ดังนั้นจึงได้ทำการแก้ไขข้อผิดพลาดนี้ โดยออกแบบให้ SNMPv2 สามารถรองรับโปรโตคอลในระดับทรานสปอร์ตตัวอื่น ๆ ได้ เช่น CLNS (OSI), DDP (AppleTalk) และ IPX(Netware)

SNMPv3
          ปัจจุบันระบบเครือข่ายมีความซับซ้อนสูงขึ้นเรื่อย ๆ และก็มีจำนวนบุคคล และซอฟต์แวร์ที่ไม่พึงประสงค์เพิ่มขึ้นด้วย ส่งผลก่อให้เกิดการพัฒนา SNMPv3 อันที่จริงโปรโตคอล SNMPv3 ไม่ได้ถูกสร้างใหม่ทั้งหมดแต่เกิดจากการนำร่างมาตรฐาน SNMPv2 มาปรับปรุง (RFC 1902-1908) ให้รองรับความต้องการใหม่ ผลที่ได้นั้นเทียบเคียงกับโปรโตคอล SNMPv2 ที่มีระดับความปลอดภัยที่สูง และสามารถรองรับความต้องการการจัดการสำหรับอนาคตที่ดีกว่าเวอร์ชันก่อน ๆ แต่อย่างไรก็ตามก็ไม่ได้เป็นที่นิยมใช้งานมากนัก เนื่องจากมีความยุ่งยากในการใช้งานเพิ่มขึ้น ยกเว้นระบบที่ต้องการความปลอดภัยในระดับที่สูง ส่วนคุณสมบัติสำคัญที่เพิ่มขึ้น ได้แก่

          ความปลอดภัย (Security)
          * การพิสูจน์ตัวตน (Authentication) และการรักษาข้อมูล (Privacy)
          * การตรวจสิทธิการใช้งาน (Authorization) และการควบคุมการเข้าถึง (Access Control)
          การบริหารจัดการ (Administrative Framework)
          * การตั้งชื่อเอนติตี้ (Naming of Entity)
          * การบริหารจัดการผู้ใช้ (Policies, Username and Key Management )
          * การแจ้งเตือนจากเอเยนต์ (Notification Destination)
          * การจัดการพร็อกซี่ (Proxy Management)
          * การคอนฟิกระยะไกลด้วยคำสั่งของ SNMP (Remotely Configurable via SNMP Operations)

รูปที่ 7 รูปแบบการทำงานประสานระหว่าง SNMPv3 และ SNMPv1, 2

          สำหรับมาตรฐาน RFC ที่สำคัญของ SNMPv3 มีดังต่อไปนี้ 
          * RFC 3410 (Informational) - Introduction and Applicability Statements for Internet Standard Management Framework (December 2002) 
          * RFC 3411 - An Architecture for Describing SNMP Management Frameworks (December 2002) 
          * RFC 3412 - Message Processing and Dispatching (December 2002) 
          * RFC 3413 - SNMP Applications (December 2002) 
          * RFC 3414 - User-based Security Model (December 2002) 
          * RFC 3415 - View-based Access Control Model (December 2002)

รูปที่ 8 SNMPv3 RFCs

          1. การรักษาความปลอดภัยของ SNMPv3
          SNMPv3 ถูกออกแบบให้สามารถป้องกันการบุกรุกจากช่องทางการสื่อสารของการจัดการเครือข่ายจากผู้ที่ไม่มีอำนาจหน้าที่หรือสิทธิ (Unauthorized) และให้จดจำไว้ว่าการรักษาความปลอดภัยของ SNMPv3 จะปกป้องเฉพาะส่วนระบบจัดการเครือข่ายเท่านั้น ดังนั้นในระบบเครือข่ายจริง ๆ ยังต้องการระบบการรักษาความปลอดภัยอื่น ๆ ที่ปกป้องเครือข่ายทั้งระบบ การบุกรุกคุกคามจากช่องทางสื่อสารกับเอเยนต์โดยทั่วไปสามารถแบ่งการบุกรุกทางเทคนิคได้ดังต่อไปนี้

          * Modification of Information คือการที่เมสเสจ SNMP ถูกแก้ไขอย่างไม่พึงประสงค์โดยผู้ไม่หวังดีระหว่างการทำทรานแซกชัน ทำให้เมสเซจนั้นเสียหาย

          * Masquerade คือการบุกรุกแบบการปลอมแปลงตัวจากการเป็นผู้ที่ไม่มีสิทธิให้สามารถทำการจัดการระบบเครือข่ายได้ ซึ่งเป็นการบุกรุกที่ร้ายแรง เพราะสามารถทำอะไรก็ได้เหมือนผู้ดูแลระบบ

          * Disclosure คือการบุกรุกจากผู้ที่ไม่มีสิทธิ์โดยการทำการดักฟังหรือดักจับเพื่อเอาข้อมูลระบบระหว่างการทำทรานแซกชัน

          * Message Stream Modification คือการบุกรุกที่ทำให้เมสเซจ SNMP เกิดการจัดลำดับที่ผิดพลาด หรือ ทำให้เกิดการหน่วง หรือส่งซ้ำ ส่งผลกระทบในการจัดการระบบเครือข่าย โดยอาจจะเกิดจากการบุกรุกแบบที่หนึ่งแต่กระทำการอย่างต่อเนื่อง

          * Unauthorized Access คือการบุกรุกโดยผู้ไม่มีสิทธิโดยการผิดพลาดในการจัดการระบบ

          2. เซอร์วิสของ SNMPv3 ที่ลดการบุกรุกระบบจัดการเครือข่าย 
          โปรโตคอล SNMPv3 ป้องกันการบุกรุกเข้าในการสื่อสารเพื่อการจัดการระบบเครือข่ายโดยการให้บริการดังต่อไปนี้ 

          * Data Integrity การให้ความมั่นใจว่าข้อมูลจะไม่ถูกเปลี่ยนแปลง หรือ ถูกทำลาย โดยผู้ไม่มีสิทธิ์ Data Integrity ป้องกันการแก้ไขข้อมูล โดยเฉพาะ การป้องกันการเขียนทับ การเพิ่มข้อมูลที่ไม่ต้องการ การลบ หรือ การเรียงลำดับข้อมูลใหม่โดยผู้ที่ไม่มีสิทธิ์ 

          * Sequence Integrity ป้องกันการแก้ไขลำดับการส่งเมสเสจจากผู้ไม่พึงประสงค์

          * Message Timeliness เป็นการป้องกันการตรวจสอบเมสเซจถูกหน่วงเวลา หรือส่งใหม่ โดยใช้หน้าต่างเวลา (Window) เป็นเครื่องมือตรวจสอบ

          * Authentication ให้การรับรองในการตรวจสอบเอนทิตี้ที่ทำการสื่อสารแบบระหว่างกัน เช่น ระหว่าง NMS และเอเยนต์ ว่ามีตัวตนและสิทธิ์จริง

          * Privacy (Confidentiality) ให้ความไว้วางใจว่าข้อมูลจะไม่ถูกเปิดเผยไปยังผู้ไม่สิทธิ์

          * Access Control ให้ความมั่นใจว่าแหล่งข้อมูลไม่ถูกใช้โดยผู้ไม่มีสิทธิ์ รวมทั้งการกระทำที่ไม่สิทธิ์ ถึงแม้จะเข้าไปในระบบได้แล้วก็ตาม Access Control นั้นจะทำงานร่วมกับ Authentication เพื่อช่วยพิสูจน์ว่าเอนทิตี้ใดมีสิทธิเข้าถึงแหล่งข้อมูลเฉพาะหรือกลุ่มข้อมูลที่มีจุดประสงค์พิเศษ

          3. กลไกการรักษาความปลอดภัยของ SNMPv3 
          3.1 กลไกของการบริการ USM (User Security Model)
          SNMP USM ให้บริการทั้งในเรื่อง Data Integrity, Message Timeliness, Data Origin Authentication รวมทั้ง Privacy ในส่วน Data Integrity และ Data Origin Authentication จะถูกป้องกันโดยใช้ฟังก์ชันแฮช (Cryptographic Hash Function) โดยจะทำงานร่วมกับวิธีการที่เรียกว่า Message Authentication Code Scheme  ในส่วน Privacy จะถูกป้องกันด้วยการเข้ารหัสซึ่งเป็นเรื่องปกติผู้ที่ดักจับเมสเซจจะไม่สามารถเข้าใจความหมายของเมสเสจได้โดยตรง

รูปที่ 9 การทำงานของฟังก์ชันแฮชและ MAC

          * ฟังก์ชันแฮช (Hash Function)
          ฟังก์ชันแฮช คือการเข้ารหัสแบบหนึ่งที่จะทำให้อ่านข้อมูลโดยตรงไม่ได้ ส่งผลทำให้เพิ่มระดับของ Data Integrity โดยฟังก์ชันแฮชจะทำการแมปปิ้งข้อมูลตามกระบวนการดังนี้:
          M h(M)  m
          โดยที่  M คือข้อมูลเข้าที่มีความยาวเท่าไรก็ได้
          m คือผลลัพธ์ของฟังก์ชันที่ซึ่งจะเป็นค่าที่มีความยาวคงที่

          จดจำไว้ว่า กลไกการทำงานของฟังก์ชันแฮชนั้นแตกต่างจากกลไกอื่นที่การทำงานหลักเป็นเพียงการตรวจสอบหาข้อผิดพลาดและเพื่อแก้ไขข้อผิดพลาดในเมสเซจ แต่ฟังก์ชันแฮชยังให้คุณสมบัติที่เรียกว่า Pre-image Resistance  ซึ่งหมายความว่าจากผลลัพธ์ของฟังก์ชันแฮชจะไม่สามารถประมวลผลย้อนกลับเพื่อหาเมสเซจที่เป็นอินพุตได้ หรือที่เรียกว่าการเข้ารหัสทิศทางเดียว

ส่วนคุณสมบัติที่สองของฟังก์ชันแฮชเรียกว่า Collision Resistance คือไม่สามารถหาเมสเซจ vb อินพุตที่มีความแตกต่างกันแล้วได้ผลลัพธ์จากฟังก์ชันแฮชที่เหมือนกันได้ สองคุณสมบัติที่กล่าวมานี้ทำให้ฟังก์ชันแฮชมีความปลอดภัยและความเสถียรเหนือกว่าวิธีอื่น ๆ เช่น CRC เป็นต้น เพราะสามารถตรวจสอบการเปลี่ยนแปลงจากผู้ไม่ประสงค์ดีหรือจากการผิดพลาดของระบบเครือข่ายได้อย่างแม่นยำ สำหรับ SNMPv3 USM ยังมีฟังก์ชันแฮชจำนวน 2 มาตรฐาน นั้นคือ MD5 (Message Digest 5) และ SHA-1 (the Secure Hash Algorithm Revision One SHA-1) ให้เลือกใช้ผู้ดูแลระบบต้องทำการใช้งานให้ถูกต้อง

* วิธีการ HMAC Message Authentication Code Scheme
          Message Authentication Code (MAC) คือกลไกลการตรวจสอบสิทธิ์ข้อมูลจากแหล่งกำเนิดที่มีตัวตน หรือ Origin Authentication รวมทั้ง Data Integrity รหัส MAC จะถูกสร้างโดยใช้ฟังก์ชันแฮชและพารามิเตอร์หรือรหัสกุญแจซึ่งถือได้ว่าเป็นความลับ รหัส MAC ได้การสร้างเมสเซจด้วยฟังก์ชันแฮชแต่มีรหัสกุญแจเพื่อปกป้องข้อมูลอีกขั้น ดังกระบวนดังนี้: MhK(M)t  ดังนั้นการใช้ฟังก์ชันแฮชที่มีกุญแจรหัสผู้ส่งข้อมูลและผู้รับข้อมูลต้องมีการตกลงกันล่วงหน้าและรับทราบรหัสกุญแจทั้งสองฝั่ง เพื่อปกป้องข้อมูลในการส่งผู้ส่งต้องคำนวณเข้ารหัสข้อมูลพร้อมด้วยกุญแจรหัส (AuthKey) และส่งทั้งข้อมูลอินพุตและรหัส MAC ที่ได้ไปให้ผู้รับ ห

ลังจากนั้นผู้รับจะทำการคำนวณเช่นเดียวกันอีกครั้งด้วยกุญแจรหัสเดียวกัน และตรวจสอบว่าค่ารหัส MAC ที่ทำการคำนวณใหม่เป็นค่าที่ถูกต้องกับรหัส MAC ที่ได้รับจากเมสเซจ ดังรูปที่ 9 ดังนั้นส่วน Data Integrity จะได้รับจากฟังก์ชันแฮชที่กล่าวมาก่อนหน้านี้ สำหรับส่วน Authentication จะได้รับถ้าผู้ส่งได้ใช้วิธีการกุญแจรหัสร่วมด้วย ผู้บุกรุกที่พยายามแก้ไขข้อมูลจะไม่สามารถทำได้เนื่องจากไม่รู้กุญแจรหัส สำหรับ The SNMPv3 USM MAC Scheme วิธีการนี้ใช้อย่างแพร่หลายในชื่อ Hashed Message Authentication Code (HMAC)

* วิธีการ Message Time Tag
          Time Tag ถูกใช้เพื่อตรวจสอบกรอบเวลาหรือระยะเวลาของเมสเซจ หรือ Message Timeliness โดยใช้วิธีประทับเวลา หรือ Time Tagging ผู้รับเมสเซจต้องประเมินด้วยหน้าต่างเวลา หรือกรอบเวลาสำหรับเมสเซจที่ได้รับว่าอยู่ในกรอบเวลา ผู้รับเมสเซจจะปฏิเสธการรับเมสเซจที่อยู่นอกกรอบหน้าต่างเวลาเนื่องจากอาจจะเป็นเมสเซจจากผู้ไม่หวังดี หรือเป็นเมสเซจที่เกิดจากทรานแซกชันก่อนหน้า หลักการของโมเดล USM จะใช้ตัวนับ (Counter) จำนวนสองตัว เพื่อสนับสนุนการทำงานของฟังก์ชัน Timeliness

ตัวนับเหล่านี้จะเกี่ยวข้องกับตัว SNMP Engine ในอุปกรณ์ โดยมีชื่อว่าsnmpEngineBoots และ snmpEngineTime ตามลำดับ เมื่อ SNMP engine ถูกเริ่มใช้งานบนระบบ ค่าเริ่มแรกของตัวนับทั้งคู่จะเป็นศูนย์  โดยที่ snmpEngineTime จะถูกเพิ่มค่าทุกวินาที ถ้า snmpEngineTime ถึงค่าสูงสุดเมื่อไร มันจะรีเซตตัวมันเอง และตัวนับ snmpEngineBoots จะถูกเพิ่มค่า การใช้กลไกการเข้าจังหวะ ของ SNMP Engine จะรักษาการประเมินค่าของเวลาสำหรับการจัดการระบบ ค่าที่ประเมินเหล่านี้จะถูกวางไว้ในแต่ละเมสเซจที่ส่งออก และ Receiving Engine จะประเมินด้วยหน้าต่างเวลา 150 วินาทีว่าเกินหรือไม่

* วิธีการเข้ารหัสแบบ DES Encryption
          โมเดล USM ปัจจุบันยังมีการใช้การเข้ารหัสแบบ DES (Data Encryption Standard Encryption Scheme) วิธีการ DES คือเทคนิคการเข้ารหัสแบบสมมาตรที่ต้องการการตกลงล่วงหน้าระหว่างผู้ส่งและผู้รับคล้ายคลึงกับ HMAC แต่อย่างไรก็ตาม DES โดยปกติจะถูกเจาะเข้าง่าย หรือเป็นวิธีการเข้ารหัสที่อ่อนแอก็ว่าได้ในปัจจุบัน ดังนั้นจึงมีข้อเสนอแนะให้แทนที่ด้วยการเข้ารหัสแบบใหม่ เช่น 3DES หรือ AES

* การจัดการ Key Management
          จากวิธีการที่กล่าวมาแล้วข้างต้น ตัวเมเนเจอร์ และเอเยนต์ ต้องทำการตกลงกันล่วงหน้าในการใช้กุญแจรหัสร่วมกัน ปัจจุบันได้มีการนิยามเทคนิคการสร้างกุญแจสำหรับ SNMPv3 ซึ่งมีสองขั้นตอนที่สำคัญ ขั้นตอนแรกคือการสร้างกุญแจรหัสจากรหัสผ่านของระบบ ซึ่งรหัสนี้จะเป็นของ SNMP Engine นั้น ๆ หรือเรียกวิธีนี้ว่า Key Localization Technique ซึ่งทำให้รหัสกุญแจสามารถอ้างอิงถึงตัวอุปกรณ์หรือระบบนั้น ๆ

          รหัสผ่านที่นำมาสร้างกุญแจนี้เป็นรหัสผ่านผู้ใช้นั้นเองแต่จะนำมาดัดแปลงโดยการต่อรหัสซ้ำเข้ากับตัวมันเองจนได้ความยาว 220 ออกเทตหรือไบต์ (1,048,576 ออกเทต) ผลลัพธ์ที่ได้จากการต่อจะนำมาคำนวณโดยฟังก์ชันแฮชโดยใช้อัลกอริทึมแบบ SHA-1 เพื่อเข้ารหัสและบีบขนาดให้ได้ขนาดคงที่ 20 ออกเทต หลังจากนั้นผลลัพธ์ที่ได้จากวิธีการ Key Localization จะถูกนำมาประมวลผลอีกครั้งพร้อมกับหมายเลข snmpEngineID โดยนำค่า snmpEngineID มาต่อท้ายผลลัพธ์จาก Key localization หลังจากนั้นก็จะนำมาประมวลผลด้วยฟังก์ชันแฮชและได้รหัสกุญแจขนาด 20 ออกเทต ซึ่งเป็นรหัสกุญแจที่ฝั่งรับเมสเซจต้องทราบ

          3.2 การให้บริการ VACM (View-based Access Control Model) Services
          โมเดล SNMP VACM จะให้บริการการควบคุมการเข้าถึงหรือ Access Control นั้นหมายความว่าผู้ใช้ที่สิทธิ์เท่านั้นถึงจะดำเนินการจัดการระบบเครือข่ายตามสิทธิ์ที่ตนมี โดยทั่วไป Access Control จะคอยควบคุมการดำเนินการโดยตัวจัดการ ซึ่งมีคำเรียกทางเทคนิคว่า Principal ซึ่งอาจจะจัดการเป็นรายออปเจ็กต์ หรือเป็นรายกลุ่มออปเจ็กต์ก็ได้

          ตัว Principal หลายตัวอาจจะถูกนำมาควบรวมก็ได้ตามความจำเป็นในการเข้าถึงของออปเจ็กต์นั้น ๆ สำหรับการจัดการจะมีสองพารามิเตอร์ที่สำคัญนั้นคือ securityModel และ securityName โดยที่ตัว securityModel จะถูกกำหนดโมเดลในการประมวลผลของเมสเซจร้องขอ เช่น โมเดลความปลอดภัยของ SNMPv3 USM หรือ SNMPv1   ส่วนตัว securityName จะกำหนดตัว Principal ให้แต่ละกลุ่มออปเจ็กต์

          แต่ละออปเจ็กต์ที่เกี่ยวกับการจัดการจะมีความสามารถขึ้นอยู่กับพารามิเตอร์ หรือ แอตทริบิวต์ (Attribute) ของ Access Contol เช่น variableName (หมายเลข OID), contextName, viewType (เช่น read, write หรือ notify) และ securityLevel ดังรูปที่ 10

          ในการทำงาน SNMPv3 VACM จะเตรียมช่องทางการเข้าถึง เช่น ฟังก์ชัน isAcccessAllowed ที่ต้องการพารามิเตอร์ตรวจสอบดังนี้ securityModel, securityName, securityLevel, viewType, contextName และ variableName หลังจากนั้นก็จะประมวลผลและให้ผลลัพธ์บ่งบอกว่าสามารถเข้าถึงระบบได้ตามร้องขอหรือไม่
    

รูปที่ 10 รูปแบบการทำงานของ Access Control

          สำหรับในบทความถัดไปจะเป็นบทความตอนสุดท้ายของ SNMP ที่จะแสดงการทำงานของโปรโตคอล SNMP และการประยุกต์ใช้งานจริงโดยการสร้างและอ่านเฟรมของโปรโตคอล SNMP ตามมาตรฐาน ASN.1 โปรดติดตามนะครับ

เอกสารอ้างอิง
1. Subramanian, Mani. Network Management. Addison-Wesley, 2000
2. Stallings, W. SNMP, SNMPv1, SNMPv3 and RMON 1 and 2. Addison-Wesley, 1999
3. Douglas Mauro, Kevin Schmidt. Essential SNMP. O’Reilly, 2001
4. IETF SNMPv3 working group (Web sites).
5. Andrew Tanenbaum, Computer Networks (fourth edition), Prentice Hall, Upper Saddle River, NJ, 2003, ISBN 0-13-038488-7.
    

สงวนลิขสิทธิ์ ตามพระราชบัญญัติลิขสิทธิ์ พ.ศ. 2539 www.thailandindustry.com
Copyright (C) 2009 www.thailandindustry.com All rights reserved.

ขอสงวนสิทธิ์ ข้อมูล เนื้อหา บทความ และรูปภาพ (ในส่วนที่ทำขึ้นเอง) ทั้งหมดที่ปรากฎอยู่ในเว็บไซต์ www.thailandindustry.com ห้ามมิให้บุคคลใด คัดลอก หรือ ทำสำเนา หรือ ดัดแปลง ข้อความหรือบทความใดๆ ของเว็บไซต์ หากผู้ใดละเมิด ไม่ว่าการลอกเลียน หรือนำส่วนหนึ่งส่วนใดของบทความนี้ไปใช้ ดัดแปลง โดยไม่ได้รับอนุญาตเป็นลายลักษณ์อักษร จะถูกดำเนินคดี ตามที่กฏหมายบัญญัติไว้สูงสุด