ในการใช้งานอุปกรณ์ Cisco IOS นั้น เชื่อว่าเพื่อน ๆ ก็คงจะมีการกำหนด username และpassword ให้กับผู้ใช้หรือสำหรับตัวเอง เพื่อใช้สำหรับให้ผู้ใช้สามารถ login ผ่านการ remote หรือผ่าน console เข้ามาบนอุปกรณ์ได้ ซึ่งในการเก็บรายชื่อผู้ใช้นี้ สามารถที่จะเก็บไว้บนตัวอุปกรณ์Cisco IOS เอง (LOCAL) หรือจะใช้งาน Server ที่ทำงานในการเก็บข้อมูลผู้ใช้ เช่น Radius Server, Tacacs+ Server หรือ Kerberos ก็ได้
ในการพิสูจน์ตัวตนผู้ใช้รวมทั้งการกำหนดสิทธิผู้ใช้บนอุปกรณ์ Cisco IOS นั้น จะมีการใช้โมเดลที่เรียกว่า AAA model ในการทำงาน สำหรับเพื่อน ๆ ที่อยากรู้ถึงวิธีการทำงานของ AAA modelก็ เชิญติดตามบทความนี้ได้เลยครับ
AAA model เป็นแนวทางในการพิสูจน์ตัวตนบน Cisco IOS Software สามารถทำงานร่วมกับโปรโตคอล เช่น Radius, Tacacs+ และ Kerberos ได้ สามารถรองรับการพิสูจน์ตัวตนและการกำหนดสิทธิการใช้งานได้หลากหลาย โดยจะประกอบไปด้วย 3 ส่วน ดังนี้
- Authentication คุณเป็นใคร เช่น ชื่อผู้ใช้อะไร
- Authorization คุณสามารถทำอะไรได้บ้าง เช่น ผู้ใช้ A สามารถเข้าถึง Server ผ่านTCP พอร์ต 23 ได้
- Accounting คุณทำอะไรไปบ้าง เช่น ผู้ใช้ A เข้าใช้งาน Server โดยใช้โปรโตคอลTelnet เป็นเวลา 15 นาที
ในวันนี้ จะขอพูดถึงการคอนฟิกการตั้งค่า AAA โดยใช้รายชื่อผู้ใช้บนตัวอุปกรณ์ Cisco IOS (LOCAL) ให้ผู้ใช้ ใช้ในการ remote ผ่านโปรโตคอล Telnet เข้ามายังอุปกรณ์ก่อนนะครับ สำหรับขั้นตอนในการคอนฟิก ก็มีดังนี้ครับ
ขั้นตอนที่ 1: เข้าสู่ Global Configuration Mode
ขั้นตอนที่ 2: เปิดการทำงาน AAA โดยใช้คำสั่ง aaa new-model
ขั้นตอนที่ 3: ตั้งค่า AAA authentication lists.
ขั้นตอนที่ 4: ตั้งค่า AAA authorization สำหรับการกำหนดสิทธิการใช้งานผู้ใช้
ขั้นตอนที่ 5: ตั้งค่า line vty
ในการที่เพื่อน ๆ ต้องการที่จะทำการคอนฟิก AAA อันดับแรกที่จะต้องทำก็คือการเปิดการทำงานของAAA ด้วยการใช้คำสั่ง "aaa new-model" ในโหมด global configuration ก่อนครับ
ตัวอย่าง
Router(config)#aaa new-model
เมื่อเปิดการทำงานของ AAA แล้ว เพื่อน ๆ ก็จะสามารถสร้าง Authentication lists ได้ ด้วยการใช้คำสั่ง “aaa authentication” ครับ ซึ่งสามารถนำไปใช้ได้หลายรูปแบบ ดังนี้
- aaa authentication arap ใช้สำหรับ AppleTalk Remote Access Protocol
- aaa authentication banner ใช้สร้างข้อความ banner ที่จะแสดงในหน้า login
- aaa authentication enable default ใช้ในการพิสูจน์ตัวตนของผู้ที่มีสิทธิเข้าถึงPrivileged level
- aaa authentication fail-message ใช้สร้างข้อความเมื่อ User ทำการ login ไม่สำเร็จ
- aaa authentication local-override ให้ใช้ local database ในการพิสูจน์ตัวตนก่อนที่จะไปใช้ database อื่น
- aaa authentication login ใช้ในการพิสูจน์ตัวตนในการเข้าสู่เราเตอร์
- aaa authentication nasi ใช้สำหรับ NetWare Access Server Interface
- aaa authentication password-prompt ใช้กำหนด Password Prompt ที่จะแสดงในหน้า login
- aaa authentication ppp ใช้พิสูจน์ตัวตนสำหรับ serial interface ที่ใช้ ppp
- aaa authentication username-prompt ใช้กำหนด Username Prompt ที่จะแสดงในหน้า login
ในวันนี้จะขอพูดถึงการพิสูจน์ตัวตนในกรณีที่ผู้ใช้ต้องการ remote หรือ console เข้ามายัง CLI บนอุปกรณ์ก่อนนะครับ ซึ่งจะต้องใช้คำสั่ง “aaa authentication login” ครับ
ตัวอย่าง
Router(config)#aaa authentication login ?
WORD Named authentication list.
default The default authentication list.
ซึ่งเมื่อเพื่อน ๆ ใช้คำสั่ง “aaa authentication” และตามด้วยเครื่องหมาย ? แล้ว ก็จะพบว่ามีสองทางเลือกเท่านั้น นั่นก็คือการใช้ค่า default หรือการตั้ง authentication list ขึ้นมาเอง โดยการกำหนดชื่อauthentication list ครับ ในส่วนนี้ผมขอเลือกที่จะตั้งค่า authentication list ขึ้นมาเองโดยใช้ชื่อว่า“remote” และใช้ database บนตัวอุปกรณ์โดยการใช้ keyword ว่า local ตามหลังครับ
ตัวอย่าง
Router(config)#aaa authentication login remote local
จากนั้นก็ทำการตั้งค่าในการกำหนดสิทธิผู้ใช้ ว่าให้ใช้สิทธิตามระดับที่กำหนดไว้บนตัวอุปกรณ์ หรือจะให้ใช้ Server ภายนอกครับ ในที่นี้ขอใช้บนตัวอุปกรณ์นะครับ สำหรับคำสั่งที่จะใช้งานในขั้นตอนนี้ก็คือ “aaa authorization” ครับ ซึ่งสามารถนำ Authorization list ไปใช้ได้หลายรูปแบบ ดังนี้
- Network ใช้ร่วมกับ network ประเภทต่างๆ รวมถึง PPP, SLIP, ARA
- EXEC นำไปใช้กับการใช้งาน EXEC Terminal session
- Commands ใช้ในการกำหนดถึงคำสั่งที่ผู้ใช้สามารถใช้งานได้ในโหมด EXEC
- Reverse Access ใช้กับ Reverse Telnet
- Configuration ใช้กับการดาวน์โหลดค่าคอนฟิกจาก AAA
ในกรณีนี้เราจะเลือกใช้คำสั่ง “aaa authorization exec” ครับและใช้การกำหนด authorization listเองรวมทั้งใช้ database บนตัวอุปกรณ์ครับ
ตัวอย่าง
Router(config)#aaa authorization exec remote local
เมื่อทำการตั้งค่า authentication list และ authorization list แล้ว ก็อย่าลืมที่จะตั้งค่ารายชื่อผู้ใช้ โดยการใช้คำสั่ง “username” ด้วยนะครับ ไม่งั้นแม้ว่าจะทำเสร็จแล้ว แต่บนตัวอุปกรณ์ไม่มีรายชื่อผู้ใช้เลย ก็ไม่สามารถใช้งานได้นะครับ โดยในตัวอย่างนี้จะกำหนด Privilege level ไว้ในระดับ 5 นะครับ
ตัวอย่าง
Router(config)#username user5 privilege 5 password ****
จากนั้นก็มาทำการตั้งค่า line VTY กันครับ ซึ่งจะต้องทำการตั้งค่าให้ใช้การพิสูจน์ตัวตนตามauthentication list และ authorization list ที่เราสร้างขึ้นมาครับ
ตัวอย่าง
Router(config)#line vty 0 15
Router(config-line)#login authentication remote
Router(config-line)#authorization exec remote
เท่านี้ก็เสร็จแล้วครับ เมื่อผู้ใช้ทำการ Telnet เข้ามาใช้งาน CLI บนอุปกรณ์ ก็จะได้รับสิทธิการใช้งานตามแต่ละระดับ Privilege level ของตนครับ อย่างเช่นในระดับ Privilege level 5 นี้จะไม่สามารถ เข้าสู่โหมด Configure และไม่สามารถเรียกดูค่า running-config ได้ครับ
ตัวอย่าง
User Access Verification
Username: user5
Password:
Router#show privilege
Current privilege level is 5
Router#conf t
^
% Invalid input detected at '^' marker.
Router#show run
^
% Invalid input detected at '^' marker.
เพื่อน ๆ จะเห็นว่าในการ remote เข้ามายังอุปกรณ์ถ้าไม่มีการใช้งาน aaa model ร่วมด้วย เมื่อผู้ใช้ remote เข้ามายังอุปกรณ์ ผู้ใช้จะได้รับสิทธิในการใช้งานตามค่า privilege level ที่ได้กำหนดไว้ในแต่ละ line vty ซึ่งโดย default จะมีค่าเท่ากับ 1
ทำให้ผู้ใช้นั้นจะเข้าสู่โหมด User EXEC ก่อน จากนั้นจึงเข้าสู่โหมด Privilage EXEC ด้วยการใช้คำสั่ง enable ซึ่งจะทำให้ผู้ใช้ได้ระดับในการใช้งานเป็น 15 ซึ่งจะสามารถที่จะใช้คำสั่งทั้งหมดบนอุปกรณ์ตัวนั้นได้
แต่ในกรณีที่ต้องการกำหนดสิทธิการใช้งานให้กับผู้ใช้ เช่น ในองค์กรของผมอาจจะมี ผู้ใช้บางคน (เช่น outsource) ที่ผมไม่ต้องการให้ทำการตั้งค่าใด ๆ บนอุปกรณ์ ให้สามารถที่จะเข้ามาดูสถานะการทำงานต่าง ๆ ของอุปกรณ์ได้เท่านั้น ก็จะต้องใช้งาน AAA model ร่วมกับการตั้งค่า line vtyตามตัวอย่างนี้ครับ
No comments:
Post a Comment