سوئیچ سیسکو، راهنمای سخت‌سازی امنیتی در 10 مرحله

دستگاه‌های زیرساخت شبکه (روترها، سوئیچ‌ها، متعادل‌کننده‌های بار، فایروال‌ها و غیره) از جمله دارایی‌های یک شرکت هستند که نقش مهمی در امنیت بازی می‌کنند و بنابراین نیاز به محافظت و پیکربندی متناسب با آن دارند.بسیاری از شرکت‌ها بر حفاظت از داده‌ها، سرورها، برنامه‌ها، پایگاه‌های داده و غیره تمرکز می‌کنند، اما امنیت دستگاه‌های شبکه را که گاهی با پیکربندی‌های خارج از جعبه نصب می‌شوند فراموش می‌کنند.به عنوان مثال، یک روتر آسیب‌دیده می‌تواند برای کل امنیت شرکت مخرب باشد، زیرا می‌تواند برای دسترسی به داده‌ها، پیکربندی مجدد برای هدایت ترافیک به مقصدهای دیگر، برای حمله به شبکه‌های دیگر، استفاده برای دسترسی به منابع داخلی دیگر استفاده شود. و غیره.بنابراین، سخت‌سازی خود دستگاه‌های شبکه برای افزایش امنیت کل سازمان ضروری است.سیسکو یک دستگاه شبکه را در 3 عنصر کاربردی به نام "Planes" یا هواپیما تقسیم می کند . این تقسیم ها شامل موارد زیر است:صفحه مدیریت : این در مورد مدیریت یک دستگاه شبکه است. صفحه مدیریت برای دسترسی، پیکربندی، مدیریت و نظارت بر یک دستگاه شبکه استفاده می شود.صفحه کنترل : صفحه کنترل شامل پروتکل ها و فرآیندهایی است که بین دستگاه های شبکه به منظور انتقال داده ها از مبدا به مقصد ارتباط برقرار می کند. این شامل پروتکل های مسیریابی مانند BGP، OSPF، پروتکل های سیگنالینگ و غیره است.صفحه داده : صفحه داده مسئول انتقال داده ها از مبدا به مقصد است. این جایی است که اکثر بسته های داده در دستگاه شبکه جریان دارند (معمولاً سخت افزار نیز شتاب می گیرد).از سه صفحه بالا، اولاً صفحه مدیریت و دوم صفحه کنترل مهمترین مواردی هستند که ایمن می شوند.در این مقاله ما بر روی امنیت صفحه مدیریت تمرکز می کنیم و 10 مرحله مهم برای سخت کردن یک دستگاه شبکه سیسکو IOS را مورد بحث قرار می دهیم. سخت‌سازی امنیتی برای سوئیچ‌های سیسکوچک لیست امنیتی زیر جامع نیست، اما شامل مهمترین دستورات و تنظیماتی است که دستگاه شبکه سیسکو IOS را قفل می کند و امنیت آن و کل شبکه را نیز افزایش می دهد. چک لیست زیر برای روترها و سوئیچ های سیسکو (خرید سوئیچ سیسکو با بهترین قیمت در آی تی تکنیکال)نیز اعمال می شود .1) یک رمز عبور مخفی فعال سازی کنیدبرای اعطای دسترسی مدیریتی ممتاز به دستگاه IOS، باید یک رمز عبور قوی "فعال کردن مخفی" ایجاد کنید. پیشنهاد می کنم از رمز عبوری با حداقل 10 کاراکتر متشکل از حروف عددی و علامت های خاص استفاده کنید.اطمینان حاصل کنید که از دستور "enable secret" استفاده کنید که رمز عبوری با رمزگذاری قوی ایجاد می کند.Router# config terminalRouter(config)# enable secret strongpassword2) رمزهای عبور را در دستگاه رمزگذاری کنیدتمام رمزهای عبور پیکربندی شده در دستگاه سیسکو (به جز "فعال کردن راز") به صورت متن واضح در فایل پیکربندی نشان داده می شوند. به منظور رمزگذاری رمزهای عبور متنی واضح و عدم نمایش آنها در فایل پیکربندی، از دستور جهانی "service password-encryption" استفاده کنید.Router# config terminalRouter(config)# service password-encryptionدستور بالا از یک رمز نسبتا ضعیف Vigenere استفاده می کند که می تواند با ابزارهای نرم افزاری رمزگشایی شود. عمدتاً برای جلوگیری از خواندن گذرواژه‌ها توسط ناظران معمولی استفاده می‌شود، مانند زمانی که به صفحه نمایش از روی شانه مدیر نگاه می‌کنند.3) از یک سرور AAA خارجی برای احراز هویت کاربر استفاده کنیدبه جای استفاده از حساب‌های کاربری محلی در هر دستگاه برای دسترسی سرپرست، استفاده از یک سرور AAA خارجی (TACACS+ یا RADIUS) برای رسیدگی به احراز هویت، مجوز و حسابداری دسترسی کاربران به دستگاه‌ها بسیار ایمن‌تر، انعطاف‌پذیرتر و مقیاس‌پذیرتر است .با یک سرور متمرکز AAA می‌توانید به راحتی رمزهای عبور حساب را تغییر/فعال/غیرفعال کنید، سیاست‌های رمز عبور قوی را اعمال کنید، استفاده از حساب و دسترسی کاربر را نظارت کنید.در اینجا خواهیم دید که چگونه سرورهای TACACS+ و RADIUS AAA را با رمز عبور "فعال کردن مخفی" به عنوان بازگشتی در صورت در دسترس نبودن سرور AAA پیکربندی کنیم.TACACS+Router# config terminalRouter(config)# enable secret K6dn!#scfw35 <- Create first an “enable secret” passwordRouter(config)# aaa new-model <- Enable the AAA serviceRouter(config)# aaa authentication login default group tacacs+ enable <-Use TACACS for authentication with “enable” password as fallbackRouter(config)# tacacs-server host 192.168.1.10 <- assign the internal AAA serverRouter(config)# tacacs-server key ‘secret-key’ <- secret key configured on AAA serverRouter(config)# line vty 0 4Router(config-line)# login authentication default <- Apply AAA authentication to VTY lines (Telnet, SSH etc)Router(config-line)# exitRouter(config)# line con 0 <- Apply AAA authentication to console portRouter(config-line)# login authentication defaultRADIUSRouter# config terminalRouter(config)# enable secret K6dn!#scfw35 <- Create first an “enable secret” passwordRouter(config)# aaa new-model <- Enable the AAA serviceRouter(config)# aaa authentication login default group radius enable <- Use RADIUS for authentication with “enable” password as fallbackRouter(config)# radius-server host 192.168.1.10 <- assign the internal AAA serverRouter(config)# radius-server key ‘secret-key’ <- secret key configured on AAA serverRouter(config)# line vty 0 4Router(config-line)# login authentication default <- Apply AAA authentication to VTY lines (Telnet, SSH etc)Router(config-line)# exitRouter(config)# line con 0 <- Apply AAA authentication to console portRouter(config-line)# login authentication default4) حساب های محلی جداگانه برای احراز هویت کاربر ایجاد کنیداگر همانطور که در بخش قبل توضیح داده شد نمی توانید یک سرور AAA خارجی نصب و استفاده کنید، حداقل برای هر کسی که به دستگاه های خود دسترسی داشته باشید حساب های محلی جداگانه ایجاد کنید.اگر به عنوان مثال 3 مدیر شبکه دارید و باید از حساب های دستگاه محلی برای آنها استفاده کنید، یک حساب کاربری شخصی سازی شده برای هر مدیر ایجاد کنید. این امر مسئولیت هر مدیر مختلف را در مورد اقدامات انجام شده در دستگاه انجام می دهد.علاوه بر این، از IOS نسخه 12.2 (8)T و نسخه های جدیدتر، می توانید "Enhanced Password Security" را برای حساب های محلی ایجاد شده در دستگاه پیکربندی کنید. این بدان معنی است که حساب های محلی با هش MD5 رمزگذاری می شوند.بیایید 3 حساب مختلف مدیر محلی را با "امنیت رمز عبور پیشرفته" پیکربندی کنیم.Router# config terminalRouter(config)# username john-admin secret Lms!a2eZSf*%Router(config)# username david-admin secret d4N3$6&%sfRouter(config)# username mary-admin secret 54sxSFT*&(zsd5) حداکثر تلاش های احراز هویت ناموفق را پیکربندی کنیدبرای جلوگیری از حملات بی رحمانه رمز عبور به دستگاه ها، می توانید حداکثر تعداد تلاش های ناموفق برای ورود به سیستم را پیکربندی کنید تا کاربر پس از این آستانه قفل شود.این برای حساب های کاربری محلی روی دستگاه ها کار می کند.Router# config terminalRouter(config)# username john-admin secret Lms!a2eZSf*%Router(config)# aaa new-modelRouter(config)# aaa local authentication attempts max-fail 5 <- max 5 failed login attemptsRouter(config)# aaa authentication login default local6) دسترسی مدیریت به دستگاه ها را فقط به IP های خاص محدود کنیداین احتمالاً یکی از مهم ترین تنظیمات امنیتی در دستگاه های شبکه سیسکو است. شما باید آدرس های IP را که می توانند Telnet یا SSH را به دستگاه های خود محدود کنید. این باید به چند سیستم مدیریتی محدود شود که مدیران برای مدیریت شبکه از آنها استفاده خواهند کرد.فرض کنید زیر شبکه مدیران 192.168.1.0/28 باشدRouter# config terminalRouter(config)# access-list 10 permit 192.168.1.0 0.0.0.15Router(config)# line vty 0 15Router(config)# access-class 10 in <- Apply IP restrictions to all VTY lines (for Telnet or SSH)محدود کردن دسترسی مدیریت به دستگاه ها را فقط به IP های خاص7)فعال سازی loggingثبت گزارش برای نظارت، پاسخ به حوادث و ممیزی بسیار مفید است. می توانید ورود به بافر داخلی دستگاه یا سرور Log خارجی را فعال کنید. دومی بسیار انعطاف‌پذیرتر و مفیدتر است زیرا می‌توانید داده‌های گزارش بسیار بیشتری را ذخیره کنید و تجزیه و تحلیل را بر روی گزارش‌ها بسیار آسان‌تر از ثبت محلی انجام دهید.8 سطح مختلف گزارش وجود دارد (از 0 تا 7) که هر یک جزئیات داده های گزارش را به تدریج بیشتر می کند. شما باید از ورود به سیستم سطح 7 (اشکال زدایی) اجتناب کنید زیرا باعث بارگیری بیش از حد دستگاه می شود.در اینجا ما هر دو ورود بافر (داخلی دستگاه) و ورود به یک سرور خارجی را مورد بحث قرار خواهیم داد. در صورت تمایل می توانید هر دو را مطابق شکل زیر داشته باشید.Router# config terminalRouter(config)# logging trap 6 <- Enable logging level 6 for logs sent to external serverRouter(config)# logging buffered 5 <- Enable logging level 5 for logs stored locally in bufferRouter(config)# service timestamps log datetime msec show-timezone <- Include timestamps in logs with millisecond precisionRouter(config)# logging host 192.168.1.2 <- Send logs to external log serverRouter(config)# logging source-interface ethernet 1/0 <- Use Eth1/0 to send log messages8) پروتکل زمان شبکه (NTP) را فعال کنیداین مرحله برای بخش قبلی در مورد ورود به سیستم ضروری است. شما باید تنظیمات ساعت دقیق و یکنواختی را در تمام دستگاه های شبکه داشته باشید تا داده های گزارش با زمان و منطقه زمانی صحیح مهر شوند. این امر کمک شایانی به مدیریت حوادث و نظارت و همبستگی مناسب گزارش می کند.شما می توانید یک سرور NTP داخلی یا خارجی را پیکربندی کنید (چندین سرور NTP عمومی وجود دارد.Router# config terminalRouter(config)# ntp server 1.1.1.1Router(config)# ntp server 2.2.2.29) در صورت امکان از پروتکل های مدیریت امن استفاده کنیدTelnet پروتکل مدیریت پیش فرض برای دسترسی خط فرمان به دستگاه های سیسکو است. با این حال، تمام ترافیک مدیریت با Telnet متن شفاف است. به دلایل امنیتی، SSH را برای مدیریت به جای Telnet ترجیح دهید. بیایید نحوه پیکربندی دسترسی SSH به دستگاه سیسکو را ببینیم.Router# config terminalRouter(config)# hostname LondonLondon(config)# ip domain-name mydomain.comLondon(config)# ip ssh version 2London(config)# crypto key generate rsa modulus 2048London(config)# ip ssh time-out 60London(config)# ip ssh authentication-retries 3London(config)# line vty 0 15London(config-line)# transport input sshSSH نیاز به پیکربندی نام میزبان و نام دامنه و همچنین تولید کلیدهای SSH دارد. همچنین در خطوط VTY فقط پروتکل SSH مجاز است.10) دسترسی SNMP را محدود و ایمن کنیدپروتکل مدیریت شبکه ساده (SNMP) می‌تواند برای جمع‌آوری اطلاعات از دستگاه‌های شبکه بسیار مفید باشد، اما اگر به درستی پیکربندی نشود، می‌تواند خطر امنیتی ایجاد کند.پروتکل SNMP از یک "رشته انجمن" استفاده می کند که به عنوان رمز عبور برای محدود کردن دسترسی (فقط خواندن یا خواندن/نوشتن) به داده های SNMP روی دستگاه عمل می کند. علاوه بر پیکربندی یک رشته قوی انجمن، فیلتر IP نیز باید اعمال شود تا دسترسی SNMP تنها از چند ایستگاه کاری مدیریتی امکان پذیر باشد.بیایید دو رشته Community را پیکربندی کنیم (یکی «فقط خواندن» و دیگری «READ/WRITE») و همچنین کنترل آدرس IP را با ACL اعمال کنیم.Router# config terminalRouter(config)# access-list 11 permit 192.168.1.0 0.0.0.15Router(config)# access-list 12 permit 192.168.1.1Router(config)# snmp-server community Cbd43@#w5SDF RO 11 <- Create Read Only (RO) community string and use ACL 11 to allow SNMP accessRouter(config)# snmp-server community Xcv4#56&454sdS RW 12 <- Create Read Write (RW) community string and use ACL 12 to allow SNMP accessدستورات فوق به زیرشبکه 192.168.1.0/28 مدیران اجازه می دهد تا به دستگاه ها فقط خواندنی SNMP دسترسی داشته باشند و همچنین به هاست 192.168.1.1 اجازه می دهد تا دسترسی کامل Read/Write SNMP به دستگاه ها را داشته باشد.