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

ทำไมรายการวิธีการจึงดูเหมือนบันได

บรรทัดเช่น aaa authentication login default group radius local อ่านจากซ้ายไปขวา และคนส่วนใหญ่อ่านว่าให้ลอง RADIUS แล้วลองฐานข้อมูลภายในเครื่อง ไวยากรณ์ชวนให้อ่านเช่นนั้นเพราะรายการคือลำดับ ความหมายแคบกว่า: รายการระบุชื่อวิธีการพิสูจน์ตัวตน และกฎการไปจากวิธีหนึ่งไปยังวิธีถัดไปขึ้นอยู่กับผลของวิธีก่อนหน้า ไม่ใช่การให้ผู้ใช้ลองอีกครั้ง

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

แยกรายการวิธีการออกจากกลุ่มเซิร์ฟเวอร์

รายการวิธีการเป็นชั้นหนึ่งและกลุ่มเซิร์ฟเวอร์เป็นอีกชั้นหนึ่ง คำสำคัญ group radius ระบุชื่อกลุ่มที่ลำดับภายใน การลองซ้ำ เวลาหมดอายุ และการตรวจจับเซิร์ฟเวอร์ที่ตายแล้วเป็นของกลุ่ม ขณะที่วิธีการภายในเครื่องเป็นชั้นเหนือขึ้นไป ดังนั้นการปรับสิ่งใดภายในกลุ่มจึงไม่สามารถเปลี่ยนการปฏิเสธเป็นเส้นทางสำรองได้ ยืนยันว่าบริการอ้างอิงรายการใดจริงก่อนเปลี่ยนชั้นใดชั้นหนึ่ง

พิมพ์การกำหนดค่า AAA และอ่านรายการที่บริการชี้ไป ไม่ใช่ค่าเริ่มต้นที่คุณจำได้ว่าเขียนไว้ ทำจากอุปกรณ์ที่บริการสิ้นสุดจริง

show running-config | section aaa
show radius server-group RAD-GRP
show aaa servers

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

อ่านคำตอบก่อนอ่านบันทึก

รหัสตอบกลับระบุชื่อผลลัพธ์และบอกเป็นนัยถึงขั้นตอนถัดไปของตัวเอง Access-Reject หมายความว่าแบ็กเอนด์ได้ตัดสินใจแล้ว ดังนั้นหลักฐานที่มีประโยชน์คือนโยบายที่ตรงกันและสถานะบัญชีที่อยู่เบื้องหลัง Access-Challenge หมายความว่าการแลกเปลี่ยนต้องการขั้นตอนที่รองรับอีกขั้น เช่นปัจจัยที่สอง และเส้นทางสำรองภายในเครื่องจะข้ามข้อกำหนดของนโยบายไปอย่างเงียบ ๆ

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

test aaa group RAD-GRP svc-ops 'LabPass!24' legacy
debug radius authentication

รายการไคลเอนต์ RADIUS ที่หายไปหรือไม่รู้จักเป็นสาเหตุทั่วไปของเวลาหมดอายุแบบเงียบ เพราะเซิร์ฟเวอร์ได้รับคำขอ ไม่พบคำจำกัดความไคลเอนต์ที่ตรงกัน และทิ้งคำขอนั้นโดยไม่ตอบ ความไม่ตรงกันของความลับที่ใช้ร่วมกันก็มักดูเหมือนเวลาหมดอายุ เพราะคำตอบไม่ผ่านการตรวจสอบและถูกทิ้ง ไม่มีสิ่งใดในเหล่านี้ดูเหมือน Access-Reject และไม่มีสิ่งใดได้รับการแก้ไขด้วยการเพิ่มบัญชีภายในเครื่อง ตรวจสอบคำจำกัดความไคลเอนต์และความลับทั้งสองฝ่ายก่อนแตะรายการวิธีการ

ทำไมบัญชีภายในเครื่องจึงไม่เคยพิสูจน์อะไร

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

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

การทดสอบที่สำคัญเป็นความตั้งใจ และจะขัดขวางการเข้าสู่ระบบระหว่างที่ทำงาน เหตุนี้เองจึงอยู่ในหน้าต่างที่กำหนดเวลาไว้โดยเขียนขั้นตอนย้อนกลับไว้ก่อน

ตรวจสอบเส้นทางสำรองระหว่างหน้าต่างบำรุงรักษา

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

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

show aaa servers
show running-config | include aaa authentication
test aaa group RAD-GRP svc-ops 'LabPass!24' legacy

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

บทความที่เกี่ยวข้อง