ยินดีต้อนรับสู่ show running-config ครับ

บล็อก show running-config นี้สร้างไว้เพื่อเป็นแหล่งรวบรวมเทคนิคการตั้งค่าอุปกรณ์เครือข่าย Cisco ไม่ว่าจะเป็น Cisco IOS Router, Cisco Catalyst Swtich, Cisco ASA Firewall, Cisco Mars เป็นต้น รวมทั้งอาจจะมีเทคนิคการตั้งค่าอุปกรณ์ในยี่ห้ออื่น ๆ บ้างเล็กน้อยครับ

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

Saturday, October 30, 2010

ทำความรู้จักกับ AAA model

          ในการใช้งานอุปกรณ์ 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