در تجهیزات سیسکو معمولاً چند نفر میتوانند همزمان SSH بزنند و وارد دستگاه شوند. این موضوع برای تیم عملیات شبکه لازم است، اما وقتی چند نفر همزمان وارد configuration mode شوند، ریسک خراب شدن تغییرات بالا میرود. یکی یک ACL را تغییر میدهد، نفر بعدی route را عوض میکند، و آخر کار مشخص نیست دقیقاً کدام تغییر باعث مشکل شده است.
برای کم کردن این ریسک، Cisco IOS امکان configuration mode exclusive را دارد. با این قابلیت میشود کاری کرد که وقتی یک نفر در حال تغییر تنظیمات است، نفر دیگر نتواند همزمان وارد همان فضای تغییرات شود یا حداقل مجبور شود صبر کند.
مشکل تغییر همزمان چیست؟
در شبکههای کوچک شاید تغییر همزمان کم پیش بیاید، اما در محیطهای عملیاتی، مخصوصاً زمان incident، چند نفر ممکن است روی یک روتر یا سوییچ کار کنند. اگر کنترل و هماهنگی نباشد، تغییرات همدیگر را overwrite میکنند، troubleshooting سختتر میشود و rollback هم مبهم میماند.
حتی اگر همه افراد باتجربه باشند، همزمانی تغییرات روی یک تجهیز حساس میتواند باعث خطای انسانی شود. برای همین بهتر است علاوه بر change process، خود دستگاه هم تا حدی جلوی تغییر همزمان را بگیرد.
فعال کردن Configuration Lock
برای فعال کردن حالت exclusive میتوان از دستور زیر استفاده کرد:
configure terminal
configuration mode exclusive auto
در حالت auto وقتی یک کاربر وارد configuration mode میشود، lock به صورت خودکار اعمال میشود و کاربر دیگر نمیتواند همزمان تغییر تنظیمات انجام دهد. این حالت برای بیشتر محیطها سادهتر و امنتر است.
اگر بخواهید lock دستی باشد، میتوانید از حالت manual استفاده کنید:
configure terminal
configuration mode exclusive manual
در این روش، ادمین بعد از ورود به configuration mode باید خودش lock را فعال کند:
configure terminal lock
بررسی وضعیت Lock
برای دیدن اینکه چه کسی lock را گرفته و وضعیت فعلی چیست، از این دستور استفاده میشود:
show configuration lock
در خروجی، اطلاعاتی مثل owner، نوع lock، مدت فعال بودن و درخواستهای pending دیده میشود. این خروجی هنگام troubleshooting مفید است، مخصوصاً وقتی یکی از اعضای تیم میگوید نمیتواند وارد configuration mode شود.
نکات عملیاتی
اگر این قابلیت را فعال میکنید، تیم عملیات باید بداند چرا فعال شده و در چه شرایطی ممکن است منتظر lock بماند. بهتر است قبل از تغییرات مهم، owner تغییر مشخص باشد و بعد از پایان کار هم session باز و رها شده باقی نماند.
این قابلیت جایگزین AAA، accounting و change management نیست. هنوز باید بدانیم چه کسی وارد دستگاه شده، چه دستوری زده و چرا. Configuration lock فقط جلوی یک بخش از خطای انسانی را میگیرد: همزمانی تغییرات روی یک تجهیز.
Configuration Lock را کجا در فرایند تغییر بگذاریم؟
اگر روی یک روتر یا سوییچ حساس کار میکنید، فعال بودن configuration lock باید قبل از پنجره تغییر مشخص باشد، نه وسط incident. بهترین حالت این است که تیم عملیات بداند چه زمانی lock خودکار فعال میشود، چه کسی owner تغییر است، و اگر session باز ماند یا کاربر قبلی از دستگاه خارج نشد چه مسیری برای آزاد کردن lock وجود دارد. این موضوع مخصوصاً در تغییرهای ACL، NAT، routing و policyهای مرزی مهم است؛ چون یک تغییر همزمان کوچک میتواند مسیر برگشت را از بین ببرد و علت قطعی را مبهم کند.
در مستند رسمی Cisco برای Exclusive Configuration Change Access هم همین تفکیک دیده میشود: حالت auto هنگام ورود به configuration mode قفل را میگیرد و حالت manual فقط وقتی فعال میشود که ادمین عمداً از configure terminal lock استفاده کند. برای بیشتر تیمهای عملیاتی، auto انتخاب سادهتری است؛ اما اگر چند تیم همزمان روی دستگاه کار میکنند، باید قبل از فعالسازی، روی رفتار مورد انتظار و زمان انتظار برای lock توافق شود.
کنترل بعد از فعالسازی
بعد از فعال کردن این قابلیت، فقط به ذخیره شدن config اکتفا نکنید. یک بار با کاربر دوم تست کنید که ورود همزمان به configuration mode چه پیامی میدهد، خروجی show configuration lock را ببینید، و مطمئن شوید لاگ AAA یا accounting همچنان مشخص میکند چه کسی وارد دستگاه شده و چه تغییری انجام داده است. اگر AAA و accounting ندارید، configuration lock فقط جلوی همزمانی تغییر را میگیرد و برای ردیابی مسئولیت تغییر کافی نیست.
این کنترل کنار هاردنینگ تجهیزات شبکه و مانیتورینگ امنیت شبکه معنی کاملتری پیدا میکند. هدف این نیست که کار تیم کند شود؛ هدف این است که هنگام تغییر روی تجهیز حساس، وضعیت owner، زمان تغییر و مسیر rollback قابل توضیح باشد.