نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی

دسترسی از طریق پروتکل SSH به تجهیزات سیسکو. پیکربندی و ایمن سازی SSH

اگر در IT کار می کنید، احتمالاً هزاران بار با نیاز به ورود به یک دستگاه یا سرور از راه دور مواجه شده اید - چنین کاری را می توان به چندین روش انجام داد، دو مورد اصلی برای کنترل یک دستگاه از طریق خط فرمان است - شبکه راه دورو پوسته امن (SSH).

یک تفاوت اصلی بین آنها وجود دارد - در پروتکل شبکه راه دورتمام داده ها از طریق شبکه به صورت رمزگذاری نشده منتقل می شوند، و در مورد SSHتمام دستورات با یک کلید ویژه رمزگذاری می شوند. SSH به عنوان جایگزینی برای Telnet برای مدیریت ایمن دستگاه های شبکه بر روی یک شبکه ناامن مانند اینترنت توسعه داده شد. در هر صورت، به یاد داشته باشید که Telnet از پورت استفاده می کند 22 و SSH است 23 .

سفارشی سازی

اول، شما نیاز دارید ردیاب بسته- برنامه ای برای شبیه سازی شبکه ها از شرکت سیسکو. این برنامه کاملا رایگان است و پس از ثبت نام از سایت netacad.com قابل دانلود است. Packet Tracer را اجرا کنید و پیکربندی را ادامه دهید.

توپولوژی را مانند تصویر زیر بسازید - یک کامپیوتر و یک سوئیچ لایه 3. باید آنها را به هم متصل کنید و شروع به تنظیم کنید.

آماده؟ اکنون اتصال شبکه را ارائه می دهیم و رابط را پیکربندی می کنیم vlan 1در سوئیچ، برای انجام این کار، دستورات زیر را وارد کنید:

اگر بلافاصله پس از ایجاد در کنسول سوئیچ سؤالی وجود دارد که آیا باید گفتگوی پیکربندی اولیه را شروع کنید - پاسخ "خیر".
en conf t رابط vlan 1 آدرس IP 192.168.1.1 255.255.255.0 بدون خاموش شدن

اکنون بیایید سعی کنیم سوئیچ و شبکه راه دور را از رایانه شخصی خود به سوییچ به آن پینگ کنیم - و خواهید دید که به دلیل این واقعیت که ما هنوز تأیید هویت را روی سوئیچ پیکربندی نکرده ایم، اتصال رد می شود.


بیایید به تنظیم احراز هویت بپردازیم. این سیستم از 20 مجازی پشتیبانی می کند tty / vtyخطوط برای خدمات Telnet، SSH و FTP. هر جلسه با استفاده از پروتکل فوق یک خط را اشغال می کند. همچنین می‌توانید با تأیید درخواست‌های مجوز در دستگاه، امنیت کلی را افزایش دهید. بازگشت به حالت تنظیمات عمومی ( conf t) روی سوئیچ با استفاده از دستور exit و دستورات زیر را وارد کنید:

خط vty 0 15 رمز ورود سیسکو پایان

رمز عبور سیسکو استفاده شده در این مقاله فوق العاده است ناامنو صرفاً برای اهداف نمایشی خدمت می کند. اگر چنین رمز عبوری را روی سخت افزار واقعی بگذارید، احتمال هک شدن بی پایان است. بهتره از ما استفاده کن :)

اکنون دوباره سعی کنید Telnet را به سوییچ ببرید - همه چیز باید درست شود! با این حال، هنگامی که می خواهید به پیکربندی و اجرای دستور enable بروید، به دلیل تنظیم نشدن رمز عبور حالت جهانی، می بینید که این غیر ممکن است. فعال کردن.

برای رفع این مشکل، دستورات زیر را وارد کنید:

Conf t فعال کردن رمز عبور سیسکو

دوباره امتحان کنید - اکنون باید خوب باشید!


اکنون اجازه دهید SSH را روی سوئیچ پیکربندی کنیم - برای این کار، باید نام میزبان، نام دامنه را مشخص کنید و یک کلید رمزگذاری ایجاد کنید.

دستورات زیر را وارد کنید (از حالت پیکربندی اصلی):

نام میزبان merionet_sw1 نام دامنه IP merionet کلید رمزنگاری rsa تولید می کند

طول کلید را انتخاب کنید - به طور پیش فرض، مقدار برابر است 512 بیت، برای SSH نسخه 2 حداقل طول 768 بیت است. تولید کلید مدتی طول خواهد کشید.

پس از تولید کلید، پیکربندی سوئیچ را ادامه می دهیم:

IP ssh نسخه 2 خط vty 0 15 ورودی انتقال ssh

اکنون نمی‌توانید از طریق Telnet وارد شوید، زیرا ما آن را با SSH جایگزین کردیم. ssh را با استفاده از ادمین ورود پیش فرض امتحان کنید. بیایید آن را به چیزی مناسب تر تغییر دهیم (دوباره از conf t):

نام کاربری admin Secret Cisco line vty 0 15 Login local do wr

اکنون سعی کنید از ایستگاه کاری خود وارد سوئیچ شوید و مطمئن شوید که تنظیمات جدید اعمال می شوند.

آیا این مقاله برای شما مفید بود؟

لطفا به من بگو چرا؟

متاسفیم که مقاله برای شما مفید نبود: (لطفاً اگر کار را دشوار نمی کند، دلیل آن را ذکر کنید؟ برای پاسخ دقیق بسیار سپاسگزار خواهیم بود. از اینکه ما را در بهتر شدن یاری می کنید سپاسگزاریم!

سوال "چگونه یک اتصال به سیسکوتوسط پروتکل SSH؟" برای هر کسی که با این تجهیزات روبرو می شود رخ می دهد. پاسخ "ساده!"
بیایید مدل روتر را به عنوان مثال در نظر بگیریم سیسکو 881... دستورات برای پیکربندی روترهای دیگر (1841، 2800، 3825 ...) یا سوئیچ ها (2900، 3500، 4800 ...) مشابه خواهند بود. تنها تفاوت می تواند در تنظیمات رابط باشد. (پیکربندی دسترسی پروتکل SSHبه فایروال ها سیسکو ASAشرح داده شده در مقاله ""
بنابراین، در اختیار ما:

وظیفه:اتصال ایمن به روتر را تنظیم کنید سیسکوتوسط پروتکل SSHو مدیریت ایمن از راه دور را ارائه دهید.

مرحله 0. پیکربندی رابط

رابط باید روی روتر فعال باشد تا برای مدیریت استفاده شود. در مورد ما اینطور خواهد بود داخلی (LAN) رابط فاستترنت 0.

برای مرجع:
روی روتر سیسکو 881یک رابط وجود دارد 3مرحله فاستترنت 4(یکی که می توانید بلافاصله روی آن تنظیم کنید IPآدرس) و سوئیچ داخلی با چهار رابط 2مرحله ( Fastethernet 0 - Fastethernet 3). برای هر یک از این 4 اینترفیس، می توانید bind کنید یک (!)رابط مجازی 3مرحله. ( ولان).
برای رابط مدیریت روتر، اولین آدرس موجود در شبکه اداری را انتخاب کنید - 192.168.0.1 ... سپس به تنظیمات رابط مجازی بروید Vlan 1و این را اختصاص دهید ipآدرس. پس از آن ما آن را به یکی از فیزیکیرابط های روتر ( فاستترنت 0) و با دستور آن را روشن کنید نه بسته.

برای شفافیت:
آدرس IP => رابط Vlan X => رابط Fastethernet Y
تنظیم کردیم ipآدرس رابط Vlan 1
R-DELTACONFIG (پیکربندی) #
رابط Vlan 1
آدرس IP 192.168.0.1 255.255.255.0
بدون تعطیلی

بستن Vlan 1به رابط فیزیکی FastEthernet 0
R-DELTACONFIG (پیکربندی) #
رابط Fa 0
سوئیچ پورت دسترسی vlan 1
بدون تعطیلی

آخرین مرحله برای اطمینان از درست بودن تنظیمات انجام می شود. Vlan 1به طور پیش فرض به هر رابط محدود شده است 2سطح و خط فقط در صورت شماره در پیکربندی نمایش داده می شود ولانبا 1 متفاوت خواهد بود.
در مرحله بعد، باید در دسترس بودن رابط ایجاد شده را از خود روتر و سپس از هر ایستگاه کاری در دفتر، به عنوان مثال، از ایستگاه کاری یک مدیر بررسی کنید. یک بررسی ساده با دستور انجام خواهد داد. پینگ... به طور طبیعی، رابط روتر فاستترنت 0باید به یک سوئیچ LAN (یا مستقیماً به رایانه مدیر) وصل شود و آدرس رایانه ای که آزمایش از آن انجام می شود در همان شبکه آدرس رابط روتر است (مثلاً 192.168.0.10 ).

مرحله 1 ایجاد حساب مدیر

برای کنترل از راه دور، باید یک حساب کاربری ایجاد کنید، اگر قبلاً وجود ندارد.
R-DELTACONFIG (پیکربندی) #
نام کاربری مخفی مدیریت *****

به جای ستاره ******، رمز عبور حساب مدیریت را تعیین کنید.

مهم!
طبق قوانین فرم خوب، رمز عبور از حروف بزرگ و کوچک، اعداد و موارد خاص تشکیل شده است. کاراکترها، در عین حال کوتاهتر از 8 کاراکتر نباشد.

مرحله 2 تنظیم رمز عبور برای حالت پیکربندی

هنگامی که کنسول مدیریت روتر را باز می کنید، کاربر وارد حالت ساده شده می شود که از آنجا فقط می توان برخی از پارامترهای دستگاه و اطلاعات فنی مربوط به آن را مشاهده کرد. در این حالت، در کنار نام دستگاه علامت فلش وجود دارد. > »
R-DELTACONFIG>
برای مشاهده پیکربندی روتر و پیکربندی بیشتر آن، دستور را وارد کنید فعال کردن
> فعال کردن
#

در ابتدا، این حالت از رمز عبور محافظت نمی شود و هر کاربری که با کابل کنسول متصل شده باشد (در مورد کابل و نحوه اتصال توضیح داده شده است) می تواند وارد شود. حالت پیکربندی... از طرف دیگر، کاربری که از راه دور متصل شده است ( ssh / شبکه راه دور) که هیچ سطح امتیازی برای آن تنظیم نشده است (فقط مورد ما)، نمی تواند وارد حالت پیکربندی شود.
یک رمز عبور برای حالت ممتاز(علامت هش # در کنار نام روتر) با وارد کردن حالت پیکربندی ( conf t).
R-DELTACONFIG (پیکربندی) #
R-DELTACONFIG (پیکربندی) # فعال کردن مخفی ******

این رمز عبور برای همه کاربران یکسان خواهد بود.
می توانید در مورد حالت های پیکربندی بیشتر بخوانید.

مرحله 3. فعال کردن کنترل از راه دور

برای کنترل از راه دور باید روش احراز هویت کاربر را با دستور مشخص کنید ورود به سیستم محلی
R-DELTACONFIG (پیکربندی) #
خط vty 0 4
ورود به سیستم محلی

پس از انجام این مرحله و به شرطی که رابط مدیریتی روتر در دسترس کاربر باشد، امکان اتصال به روتر با استفاده از پروتکل وجود دارد. شبکه راه دور... برای انجام این کار، دستور را از خط فرمان ایستگاه کاری مدیر اجرا کنید
ج: \ اسناد و تنظیمات \ ***> telnet 192.168.0.1
باید یک درخواست برای کاربر و رمز عبوری که در آن تنظیم شده است وجود داشته باشد مرحله 1... پس از تایید موفقیت آمیز، در دسترس خواهد بود ساده شدهحالت مدیریت روتر (با فلش " > "). برای دسترسی ممتازحالت ( # ) باید دستور را وارد کنید فعال کردن، و پس از رمز عبور از گام 2.

مرحله 4 پیکربندی SSH

هنگام استفاده از پروتکل شبکه راه دور(درگاه TCP 23) تمام دستورات و داده های پیکربندی دستگاه به صورت متن واضح منتقل می شود که به طور بالقوه ناامن است. پروتکل برای ایمن سازی اتصال استفاده می شود SSH(پورت TCP 22).
برای راه اندازی یک اتصال پروتکل SSHشما باید یک نام دامنه (هر کدام) تنظیم کنید، یک کلید دسترسی رمزنگاری ایجاد کنید و خود پروتکل را فعال کنید SSHنسخه 2.
R-DELTACONFIG (پیکربندی) #
سایت نام دامنه ip
کلید کریپتو rsa تولید می کند
اندازه مدول کلید را در محدوده 360 تا 2048 برای خود انتخاب کنید
کلیدهای همه منظوره انتخاب مدول کلیدی بیشتر از 512 ممکن است طول بکشد
چند دقیقه.
// بعد از درخواست باید 1024 را مشخص کنید
چند بیت در مدول: 1024
% با تولید کلیدهای RSA 1024 بیتی، کلیدها غیرقابل صادرات خواهند بود...
ip ssh نسخه 2

پس از انجام این مرحله، امکان اتصال از طریق SSHبرای مثال با استفاده از یک برنامه خاص که از این عملکرد پشتیبانی می کند بتونه... می توانید این لینک را دانلود کنید.

مرحله 5. محدود کردن اتصال به روتر فقط از طریق SSH

به منظور حذف امکان اتصال به روتر از طریق پروتکل شبکه راه دورباید دستورات زیر را وارد کنید:
R-DELTACONFIG (پیکربندی) #
خط vty 0 4
ورودی انتقال ssh

پس از آن دسترسی از راه دور به کنسول دستگاه جز از طریق پروتکل SSH امکان پذیر نخواهد بود.
علاوه بر این، می‌توانید دسترسی به مدیریت روتر سیسکو را محدود کنید یا فقط از آدرس‌های IP خاصی سوئیچ کنید. نحوه انجام آن شرح داده شده است.

مهم!
مراقب دسترسی به دستگاه ها باشید. از حفاظت از اتصال و محدودیت دایره افراد مجاز به فعالیت غافل نشوید.

مهم!

فراموش نکن صرفه جوییپیکربندی تمام دستگاه ها با دستور نوشتنیا شروع اجرای کپی... در غیر این صورت، پس از راه اندازی مجدد، تمام تغییرات از بین خواهند رفت.
نوشتن
پیکربندی ساختمان ...

پروتکل SSH اغلب برای مدیریت از راه دور روترها و سوئیچ ها استفاده می شود. به ویژه، برای مدیریت تجهیزات شبکه سیسکو. پیکربندی این تجهیزات برای اتصال از طریق SSH در این مقاله مورد بحث قرار خواهد گرفت.

چرا SSH برای سیسکو

SSH یک پروتکل امن است که از جمع کننده ها و سارقانی که می خواهند تجهیزات شبکه سیسکو شما را تصاحب کنند، دلسرد می کند.

اما اگر می خواهید روتر شما ایمن باشد، پیکربندی مناسب ضروری است.

و برای سیسکو، پیکربندی پروتکل SSH طبق قوانین خاصی انجام می شود، نه به روش ایجاد مدیریت سرور از راه دور در Free BSD.

نحوه تنظیم اتصال SSH برای سیسکو

راه اندازی با این واقعیت شروع می شود که باید به حالت ممتاز وارد شوید. برای این کار از دستور زیر استفاده کنید: cisco> enable. بهتر است از یک کلید عمومی برای اتصال به تجهیزات استفاده کنید، بنابراین توصیه می شود RSA تولید کنید. و برای این کار، در سیسکو، باید تاریخ و زمان دقیق را تنظیم کنید، در غیر این صورت کلید کار نمی کند: cisco # clock set 17:10:00 28 Aug 2016. پس از آن، به حالت مستقیم تغییر تنظیمات بروید، که برای ایجاد یک اتصال از طریق پروتکل SSH مورد نیاز است: ترمینال پیکربندی سیسکو #

برای ایجاد یک کلید عمومی، باید نام دامنه ای را وارد کنید که مشتری تحت آن به تجهیزات شبکه متصل می شود. برای این کار از دستور: cisco (config) # ip domain name domain_name.ru استفاده کنید. پس از آن، می توانید یک کلید RSA با استفاده از ترکیب زیر ایجاد کنید: cisco (config) # کلید رمزنگاری تولید rsa. اگر می خواهید حفاظت از تجهیزات شبکه خود را تقویت کنید، می توانید از رمزهای عبور اضافی استفاده کنید، فقط ابتدا رمزگذاری آنها را با استفاده از دستور: cisco (config) # service password-encryption فعال کنید.

در مرحله بعد، باید یک کاربر ایجاد کنید، یک رمز عبور برای آن ایجاد کنید و سطح دسترسی را مشخص کنید: cisco (config) # نام کاربری امتیاز نام کاربری 15 رمز عبور 7 رمز عبور. فقط پس از ایجاد حداقل یک کاربر در سیستم، می توانید پروتکل AAA را با استفاده از دستور زیر راه اندازی کنید: cisco (config) # aaa new-model. و برای اینکه در نهایت خطوط ترمینال را از طریق پروتکل SSH راه اندازی کنید، باید به تنظیمات آنها بروید. برای انجام این کار، بنویسید: cisco (config) # line vty 0 4، که در آن می توانید مقدار پیکربندی را از 0 تا 4 مشخص کنید. پس از آن، می توانید اتصال را از طریق پروتکل SSH فعال کنید - سیسکو (config-line) # ورودی حمل و نقل را بنویسید. ssh

اگرچه قبلاً خطوط ترمینال را از طریق SSH شروع کرده اید، برای ذخیره تغییرات این تابع را وارد کنید: cisco (config-line) # logging synchronous، و همچنین مقدار زمان پایان جلسه SSH را یادداشت کنید: cisco (config-line) # exec-timeout 60 0. پس از آن، از config-line و config خارج شوید. در نهایت، تنظیمات جدیدی را به سیستم تجهیزات شبکه سیسکو اضافه کنید: cisco # copy running-config startup-config. کار تمام است، تجهیزات شما اکنون از طریق یک اتصال SSH ایمن کار خواهند کرد.

اتصال و پیکربندی Cisco Catalyst 2960 تفاوت های ظریف خاص خود را دارد و تا حدودی با اتصال تجهیزات سایر سازندگان متفاوت است.

اتصال و پیکربندی Cisco Catalyst 2960 تفاوت های ظریف خاص خود را دارد و تا حدودی با اتصال تجهیزات سایر سازندگان متفاوت است. راه‌اندازی اولیه به یک کابل تخت اختصاصی RJ-45-RS-232 (با نوار آبی، همراه با تجهیزات) و یک پورت COM روی مادربرد رایانه نیاز دارد که از طریق آن مراحل راه‌اندازی انجام می‌شود.


هیچ پورت COM در مادربردهای رایانه های مدرن وجود ندارد، بنابراین برای انجام تنظیمات به یک آداپتور ویژه نیاز است. سیسکو از کانکتورهای Mini-USB در سخت افزار کنسول خود استفاده می کند. برای پیکربندی از طریق پورت Mini-USB، برنامه درایور کنسول usb سیسکو را دانلود کنید.

پیکربندی هایپر ترمینال

اگر روش نصب با استفاده از سیستم عامل ویندوز 7/8 انجام شود، مشکل عدم وجود HyperTerminal وجود خواهد داشت. با کپی کردن پوشه مورد نیاز با سیستم عامل Windows XP در هر دایرکتوری ویندوز 7/8 می توان به سرعت آن را حل کرد. در ویندوز XP، پوشه در پوشه Program Files قرار دارد. برای اجرای برنامه از فایل hypertrm.exe استفاده می شود که در همان پوشه قرار دارد. برنامه دیگری به نام Putty نیز قابل استفاده است. علاوه بر اتصال به تجهیزات سیسکو، برای کار با روترها، سرورها، زمانی که برای اتصال آنها به پیکربندی SSH نیاز است، استفاده می شود.



برای تکمیل فرآیند اتصال، کابل باید به کانکتور RJ-45 وصل شود که روی پانل جلویی آن برچسب "کنسول" است. در مرحله بعد، باید منبع تغذیه سوئیچ را روشن کنید و در رایانه خود به HyperTerminal بروید. در این برنامه، باید رابط اتصال مربوط به COM1 و سرعت آن برابر با 9600 B / s را انتخاب کنید. برای تمام سوالات بعدی، باید پاسخ منفی "خیر" را انتخاب کنید. اگر تنظیمات VLAN را در رابط اسلات انتخاب کنید، می توانید آدرس IP دستگاه را روی آن پیکربندی کنید.



اصول کلی پیکربندی تجهیزات سیسکو

برای اطمینان از سطح بالایی از امنیت، سوئیچ های سیسکو از دو حالت ورود فرمان پشتیبانی می کنند:

  • سفارشی - برای بررسی وضعیت تجهیزات استفاده می شود.
  • دارای امتیاز - برای تغییر پیکربندی سوئیچ استفاده می شود (مشابه حالت مدیر برای ویندوز یا ریشه برای یونیکس است).

اگر یک کاراکتر "#" در خط قبل از دستور وجود داشته باشد، حالت ممتاز فعال است. مانند سیستم های یونیکس، رمز عبور با وارد کردن آن روی صفحه نمایش داده نمی شود. دستور enable برای ورود به حالت ممتاز و disable برای خروج استفاده می شود.

پیکربندی سوئیچ اولیه هنگامی که در اولین راه‌اندازی، جادوگر نصب یک پیام پیکربندی مرحله به مرحله را نشان می‌دهد، باید آن را رد کنید: با گفتگوی پیکربندی ادامه دهید؟ : نه این حالت سفارشی را بارگیری می کند: Switch>

Switch> enable

برای پیکربندی تنظیماتی که روی سوئیچ هستند، باید حالت پیکربندی سراسری را فعال کنید. برای پیکربندی رابط های فردی از حالت رابط مناسب استفاده کنید.

تنظیمات پایه سیسکو 2960

نام سوئیچ را تغییر دهید (در اصل Switch است):

ترمینال پیکربندی # سوئیچ

سوئیچ (پیکربندی) # نام میزبان Switch01 (نام جدیدی تنظیم شده است - Switch01)

Switch01 (پیکربندی) #

اگر سوئیچ های زیادی وجود دارد، هر کدام باید یک نام منحصر به فرد داشته باشند. در آینده، این به تعیین اینکه پیکربندی دقیقاً بر روی دستگاه مورد نیاز اجرا می شود کمک می کند. استفاده از نام های طولانی توصیه نمی شود، بهتر است نام های کوتاه را انتخاب کنید.

تنظیم آدرس IP برای پورت مدیریت سوئیچ

Switch01 (config) # interface fa0 / 0 (اینترفیس را برای پیکربندی تنظیم می کند)

Switch01 (config-if) # بدون خاموش شدن (رابط فعال است)

Switch01 (config-if) # آدرس IP 192.168.0.1 255.255.255.0 (آدرس IP و ماسک را تنظیم کنید)

Switch01 (config-if) # خروج (خروج از حالت پیکربندی رابط)

Switch01 (پیکربندی) #

تنظیم رمز عبور حالت ممتاز

Switch01 (پیکربندی) # enable secret pass1234 (password pass1234)

Switch01 (پیکربندی) # خروج

با توجه به اینکه اطلاعات در طول اتصالات تلنت به صورت متن واضح منتقل می شود، باید از اتصالات SSH استفاده کنید که رمزگذاری ترافیک را فراهم می کند.

Switch01 # conf t Switch01 (پیکربندی) # نام دامنه IP geek-nose.com (دامنه تنظیم شده است، اگر نوشته نشده باشد)

Switch01 (پیکربندی) # کلید رمزنگاری تولید rsa (تولید کلید RSA تحت ssh)

Switch01 (پیکربندی) # ip ssh نسخه 2 (نسخه پروتکل ssh)

Switch01 (پیکربندی) # ip ssh autentification - 3 تکرار (تعداد تلاش برای اتصال ssh)

Switch01 (پیکربندی) # سرویس رمزگذاری رمز عبور (ذخیره رمزهای عبور به صورت رمزگذاری شده)

Switch01 (پیکربندی) # خط vty 0 2 (انتقال به حالت خطوط conf و ترمینال)

Switch01 (config-line) # ورودی انتقال ssh (فقط اتصال ssh)

Switch01 (config-line) # exec timeout 20 0 (فعال کردن قطع خودکار جلسه ssh بعد از 20 دقیقه)

Switch01 (خط پیکربندی) # انتهای (خروج از حالت پیکربندی)

Switch01 # copy running-config startup-config

این یک راه اندازی اولیه SSH بود. پیشرفته تر به نظر می رسد:

Switch01 # conf t Switch01 (پیکربندی) # aaa مدل جدید (پروتکل AAA فعال است)

Switch01 (config) # username root privilege 15 secret pass1234 (یک کاربر ریشه با حداکثر سطح امتیاز 15 و رمز عبور pass1234 ایجاد می کند)

Switch01 (config) # access-list 01 permit 192.168.0 0.0.0.255 (یک قانون دسترسی با نام 01 از طریق ssh برای همه میزبان ها در شبکه 192.168.0.0/24 تنظیم شده است؛ یک آدرس IP خاص را می توان تنظیم کرد)

Switch01 (پیکربندی) # خط vty 0 2 (نگاه کردن به حالت خطوط conf و ترمینال) Switch01 (config-line) # امتیاز سطح 15 (مجوز ورود به حالت ممتاز)

Switch01 (config-line) # access-class 23 in (پیوند کردن قانون دسترسی ssh ایجاد شده به خط ترمینال)

Switch01 (خط پیکربندی) # ورود به سیستم همزمان

Switch01 (خط پیکربندی) # انتهای (خروج از حالت پیکربندی)

Switch01 # copy running-config startup-config (ذخیره تنظیمات).

این پیکربندی پایه سوئیچ Cisco 2960 را تکمیل می کند. در صورت لزوم، همیشه می توانید تنظیمات کارخانه را بازنشانی کنید و تنظیمات را "از ابتدا" انجام دهید.

SSH را نصب کنید

برای تجهیزات شبکه، این مرحله ضروری نیست - پشتیبانی SSH تقریباً همیشه حتی در حداقلی ترین نسخه سیستم عامل ادغام می شود. تنها استثنا، نسخه نسبتا قدیمی Cisco IOS W/O CRYPTO است.

این نسخه از IOS - با حذف عمدی همه آثار حتی ناچیز از آنچه که مربوط به رمزنگاری است (تا عدم وجود (پیکربندی) #فعال کردن راز) برای صادرات به کشورهای دارای قوانین سختگیرانه از نظر واردات رمزنگاری مورد نیاز بود. اتفاقاً این نه تنها کوبا + کره شمالی + سوریه + ایران است، بلکه مثلاً استرالیا هم مشخص است.

اگر یک IOS مشابه دارید - به عنوان مثال، این ممکن است در Catalyst 2950 باشد، که اگرچه قدیمی است، اما ممکن است در تولید با آن روبرو شود - آن را به روز کنید. بدون به روز رسانی، ویژگی های مورد نیاز برای SSH، به ویژه:

  • Secure Shell SSH نسخه 1 Integrated Client.
  • پشتیبانی از سرور Secure Shell SSH نسخه 1.
  • پشتیبانی از سرور Secure Shell SSH نسخه 2.

از نظر فیزیکی در IOS غایب خواهد بود.

افزودن پشتیبانی SSH به سرور ویندوز

با شروع ویندوز سرور 2016 بیلد 1709، پشتیبانی SSH به پلتفرم ویندوز اضافه شده است.

روشن کردن آن آسان است.

اولین قدم این است که بدانید چه نسخه ای از سرویس گیرنده و سرور OpenSSH در مخازن موجود برای نصب در حال حاضر موجود است. این امر ضروری است تا زمانی که نسخه ها بالا می روند (در زمان نگارش، نسخه یک، 1.0) با مشکلاتی مانند "چیزی که اسکریپت که نسخه خاصی را قرار می دهد کار نمی کند" مواجه نشویم. بیایید این کار را با cmdlet زیر انجام دهیم:

Get-WindowsCapability -Online | ? نام مانند "OpenSSH *"

من ویندوز سرور 2019 دارم، بنابراین خروجی به صورت زیر است:

می بینیم که کلاینت SSH در ابتدا نصب شده است، اما سرور SSH نصب نشده است. Windows Server 2016 خروجی کمی متفاوت خواهد داشت، در ابتدا چیزی در آنجا نصب نشده بود. خوب، بیایید یک سرور SSH نصب کنیم:

Add-WindowsCapability -Online -Name OpenSSH.Server ~~~~ 0.0.1.0

مشتری همانطور که مشخص است در صورت عدم حضور به همین ترتیب قرار می گیرد. تایلد - چهار تکه، اشتباه نکنید.

اگر خطای 0x800f0950 دریافت کردید، ناامید نشوید - فقط Feature-On-Demand نمی تواند مخزن را پیدا کند. آن را از طریق DISM خوب قدیمی امتحان کنید:

dism / Add-Capability /CapabilityName:OpenSSH.Server~~~~0.0.1.0 / LimitAccess / Online

بیایید بررسی کنیم که همه چیز نصب شده است:

Get-Service sshd

خوب، یا فقط دوباره بپرسید Get-WindowsCapability -Online | ? نام مانند "OpenSSH *":

اگر همه چیز درست باشد، سرویس sshd ظاهر شده است - با این حال، متوقف شده است. بلافاصله آن را روشن نکنید - ابتدا باید حداقل تنظیمات را انجام دهید که در بخش مربوطه مقاله توضیح داده خواهد شد.

تعمیر نسخه SSHv2

باغ وحش شروع نسخه های SSH SSH 1.3 است، سپس SSH 1.5، سپس "نسخه ویژه ای از سیسکو که نشان می دهد سرور می تواند هم نسخه 2.0 و هم قبلی را انجام دهد" که 1.99 اکنون کاملاً بی ربط است، زیرا همه نرم افزارها قادر به SSHv2 هستند. پیدا کردن نرم افزاری که فقط از SSH 1.x پشتیبانی کند یک چالش واقعی است. بنابراین، البته، مطمئن شوید که چنین نرم افزاری ندارید و در صورت لزوم به روز رسانی کنید - اما ما عملکرد و امنیت را تنها نسخه دوم SSH را در نظر خواهیم گرفت.

فعال کردن SSH 2.x در Cisco IOS

به سادگی رفع می شود - برای Cisco IOS این دستور خواهد بود:

atraining (config) #ip ssh نسخه ۲

اگر در حال حاضر یک جفت کلید مناسب برای SSHv2 ایجاد نکرده‌اید، چیزی شبیه به این پیام دریافت خواهید کرد:

لطفاً کلیدهای RSA را برای فعال کردن SSH (و حداقل 768 بیت برای SSH v2) ایجاد کنید.

این مسئله مهمی نیست، مگر اینکه توجه داشته باشیم که SSHv2 الزامات "کمتری" برای طول یک کلید در یک جفت کلید دارد. با این حال، ما سعی نمی کنیم کلیدهایی ایجاد کنیم که تحت این محدودیت قرار نگیرند - روزهایی که به عنوان مثال، کلیدهای RSA 512 بیتی به طور فعال استفاده می شد، گذشته است.

اگر کلیدها هنوز ایجاد نشده اند، این کار به سادگی انجام می شود:

آموزش (پیکربندی) #کلید رمزنگاری تولید مدول rsa 2048 برچسب SSH_KEYS

پارامترها ساده هستند - rsa الگوریتم را تنظیم می کند (نوع ec در IOS جدید اضافه شده است)، مدول - طول بیت (می توانید آن را روی 4096 تنظیم کنید، مطمئنا ایمن تر خواهد بود)، برچسب - برای ایجاد یک "به نام یک" جفت کلید هدف خاص.

در برخی از نسخه‌های Cisco IOS محدودیتی برای جفت‌های کلید ذخیره شده وجود دارد - حداکثر 10 عدد در هر دستگاه و حداکثر 2 عدد برای هر کاربر - بنابراین ممکن است هشداری مانند "توجه، جفت کلید جدید کلید قبلی را بازنویسی می‌کند" نمایش داده شود. آن را دنبال کنید.

حالا بیایید به SSH بگوییم دقیقاً از این جفت استفاده کند:

atraining (پیکربندی) #ip ssh rsa نام جفت کلید SSH_KEYS

اگر همه چیز درست باشد، چیزی شبیه به این دریافت خواهیم کرد:

% SSH-5-DISABLED: SSH 2.0 غیرفعال شده است
% SSH-5-ENABLED: SSH 2.0 فعال شده است

این نشان می دهد که جابجایی از "هر کدام از کلیدها" به "جفت مشخص شده به صراحت" موفقیت آمیز بوده است.

اگر همچنین باید اطلاع دهیم که این دستگاه فقط باید با استفاده از SSH و نه به عنوان مثال telnet وصل شود، این کار به صورت زیر انجام می شود - ابتدا وارد حالت پیکربندی VTY می شویم:

atraining (config) #line vty 0 5 (یا line vty 0 15 - بسته به مدل)

و به صراحت نشان می دهد که اتصالات ورودی باید منحصراً از طریق SSH باشد:

atraining (config-line) #transport input ssh

فعال کردن SSH 2.x در Cisco NX-OS

با Cisco Nexus آسان خواهد بود - آنها فقط از SSH 2.x پشتیبانی می کنند، بنابراین نیازی به مراحل اضافی برای محدود کردن اتصال به نسخه های قدیمی تر SSH نیست.

فراموش نکنید که به صراحت استفاده از SSH را فعال کنید:

اگر هیچ کلیدی وجود ندارد، می‌توانید به‌صراحت آنها را با طول دلخواه و با الگوریتم دلخواه ایجاد کنید. برای انجام این کار، SSH را خاموش کنید، کلیدها را تولید کنید و SSH را روشن کنید - سپس بلافاصله کلیدهای جدید را "انتخاب می کند":

atraining-nx (پیکربندی) #بدون ویژگی ssh

atraining-nx (config) #ssh key rsa 2048

atraining-nx (پیکربندی) #feature ssh

پارامترهای کلید ssh بی اهمیت هستند، با این تفاوت که توجه داشته باشم که کلیدهای قدیمی به طور خودکار بازنویسی نمی شوند، در صورت لزوم، برای بازنویسی آنها - در پایان نیروی فرمان اضافه کنید.

فعال کردن SSH 2.x در sshd

در تنظیمات sshd، باید خط را اضافه کنیم (یا جایگزین کنیم):

فعال کردن SSH 2.x در سرور ویندوز

در دایرکتوری% WINDIR% \ System32 \ OpenSSH \ یک فایل پیکربندی استاندارد OpenSSH به نام sshd_config_default وجود خواهد داشت - و در تئوری ممکن است تنظیماتی در مورد "فقط نسخه دوم" وجود داشته باشد، اما در واقع فقط SSHv2 همیشه استفاده می شود. بنابراین، مرحله خاصی برای فعال کردن SSHv2 در سرور ویندوز وجود ندارد.

حال بیایید لیست پروتکل هایی را که می توان برای احراز هویت هنگام اتصال یک کلاینت استفاده کرد، محدود کنیم.

محدود کردن لیست پروتکل های احراز هویت سرور

SSH از چندین گزینه برای تأیید هویت گره ای که اتصال به آن برقرار شده است - با استفاده از الگوریتم های DSA، ECDSA، RSA و منحنی بیضی محبوب 25519 پشتیبانی می کند.

ما فوراً DSA را دوست نداریم، زیرا او فقط کلیدهای 1024 بیتی را می‌داند و رفیق اسنودن عقیده‌ای دارد مبنی بر این‌که NSA به‌شدت عاشق DSA نیست.

بنابراین، ما فورا مورد استفاده برای DSA را قطع خواهیم کرد.

ما استفاده از RSA را برای شناسایی میزبان در Cisco IOS اصلاح می کنیم

برای سیسکو، این ساده خواهد بود:

atraining (پیکربندی) #IP ssh الگوریتم سرور میزبان کلید ssh-rsa

اصلاح الگوریتم های شناسایی میزبان برای sshd

در تنظیمات sshd، باید به پوشه / etc / sysconfig / sshd برویم و خط AUTOCREATE_SERVER_KEYS را در آنجا تصحیح کنیم:

AUTOCREATE_SERVER_KEYS = "RSA ED25519"

همانطور که واضح است، این تنظیم «در کدام الگوریتم‌ها کلیدهای میزبان باید به طور خودکار تولید شوند». توجه داشته باشید که اگر کار با قابلیت اطمینان بالا باشد، RSA 4096 بیتی انتخاب مناسبی است و اگر سرعت باشد، EC 25519 ارجحیت دارد.

پس از آن، به فهرست تنظیمات sshd بروید - در نسخه ما / etc / ssh خواهد بود - و فایل های الگوریتم های استفاده نشده را با کلیدهای میزبان حذف کنید. یعنی از لیستی مانند:

  • ssh_host_dsa_key
  • ssh_host_dsa_key.pub
  • ssh_host_ecdsa_key
  • ssh_host_ecdsa_key.pub
  • ssh_host_rsa_key
  • ssh_host_rsa_key.pub
  • ssh_host_ed25519_key
  • ssh_host_ed25519_key.pub

ما فقط موارد ضروری را ترک خواهیم کرد.

اگر می ترسید موارد غیر ضروری را حذف کنید - نترسید، هنگام راه اندازی سرویس sshd فایل پیکربندی را می خواند و در صورت لزوم موارد گم شده را ایجاد می کند.

پس از آن، در فایل پیکربندی، باید دستورالعمل هایی برای استفاده از این فایل ها با کلید پیدا کنید - آنها (دستورالعمل ها) معمولاً به این شکل هستند:

  • HostKey / etc / ssh / ssh_host_rsa_key
  • HostKey / etc / ssh / ssh_host_dsa_key
  • HostKey / etc / ssh / ssh_host_ecdsa_key
  • HostKey / etc / ssh / ssh_host_ed25519_key

و فقط موارد مورد نیاز خود را بگذارید و بقیه را با اضافه کردن کاراکتر # (هش) در جلوی خطوط نظر دهید.

اگر دستورالعمل استفاده از فایل وجود نداشته باشد یا فایل در دسترس نباشد، الگوریتم مربوطه نمی تواند برای تأیید هویت گره مورد استفاده قرار گیرد، که می تواند منجر به مشکلات اتصال شود.

برای مثال، اگر فقط Ed25519 فانتزی را رها کنید و RSA را خاموش کنید، PuTTY پرکاربرد ممکن است چیزی شبیه به این بگوید:

به هر حال، با به روز رسانی PuTTY به آخرین نسخه، که از الگوریتم های جدید پشتیبانی می کند، درمان می شود. پس زودتر از موعد انجامش بده

تنها با گذاشتن انواع کلیدهای مورد نیاز - معمولاً ED25519 و RSA - باید آنها را دوباره به صورت دستی ایجاد کنید، یعنی. برون سپاری "اجازه دهید سرور این کار را در راه اندازی مجدد سرویس بعدی انجام دهد" ایده خوبی نیست.

این کار به این صورت انجام می شود:

برای Ed25519: ssh-keygen -t ed25519 -f ssh_host_ed25519_key -N ""

برای RSA: ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key -N ""

با انجام این مرحله به صورت دستی می توانید مطمئن باشید که کلید RSA طول درستی خواهد داشت نه طول پیش فرض.

محدود کردن پروتکل ها برای احراز هویت SSH در سرور ویندوز

طرح یکسان است - به فایل sshd_config_default بروید و فقط آنجا را رها کنید:

  • HostKey ssh_host_rsa_key
  • HostKey ssh_host_ed25519_key

اگر به Ed25519 و RSA یا به طور کلی فقط Ed25519 نیاز دارید. بعد از - ما کلیدها را تولید می کنیم:

برای Ed25519:. \ Ssh-keygen -t ed25519 -f ssh_host_ed25519_key

برای RSA:. \ Ssh-keygen -t rsa -b 4096 -f ssh_host_rsa_key

\ ssh-add ssh_host_ed25519_key

در اصل، همه چیز، سرویس sshd را می توان شروع کرد.

عصا مارک مایکروسافت

ثمره ذهن تاریک توسعه دهندگان مایکروسافت عصایی برای ثبت حقوق پرونده ها با کلید است. توصیه می‌شود آن را اجرا کنید، اما اگر از نظر روانی سالم هستید و حدس می‌زنید که این سرویس باید حقوق فایل‌های کلیدی مورد استفاده‌اش را داشته باشد، می‌توانید بدون آن کار کنید. با این حال، اگر چیزی باشد، به این صورت قرار می گیرد:

Install-Module -Force OpenSSHUtils

Repair-SshdHostKeyPermission -FilePath

این به NuGet نیاز دارد و به طور کلی ... خودتان ببینید:

سطح مخاطب هدف را تخمین بزنید که برای این اقدامات نیاز به دانلود بسته ماژول و اجرای cmdlet دارد - i.e. مغز را روشن نکنید و حقوق را تقسیم نکنید، بلکه می توانید دستور را خودتان حفظ کنید. من مطمئن هستم که مایکروسافت چند MVP برای این ماژول صادر خواهد کرد.

اکنون در مورد تبادل اطلاعات کلیدی.

راه اندازی تبادل کلید / ایجاد مواد کلیدی

انواع مختلفی از DH یا الگوریتم Diffie-Hellman-Merkle وجود دارد. بدون پرداختن به مواد خود الگوریتم در این مقاله، بیایید ببینیم چگونه می توانیم جلو را از این طرف تقویت کنیم.

تبادل کلید و تولید همزمان مطالب کلیدی برای یک جلسه خاص یک موضوع امنیتی بسیار جدی است. وظیفه ما این است که از این گزینه اجتناب کنیم، زمانی که سناریویی داریم "احراز هویت قوی است، اما تبادل کلید نه".

بیایید ببینیم که چگونه DH را در SSH در Cisco IOS پیکربندی کرده ایم:

atraining # sh ip ssh | inc Diffie

حداقل اندازه کلید Diffie Hellman مورد انتظار: 1024 بیت

بدجوری باید حداقل 2048 بیت باشد. این را با دستور تنظیم می کنیم:

atraining (config) #ip ssh dh min سایز 2048

بنابراین، انتخاب خود را انجام دهید - SHA-512، با پشتیبانی از تمام تجهیزات مورد استفاده، بهترین انتخاب خواهد بود.

اما یک نکته ظریف وجود دارد - حالت استفاده از هش و رمزگذاری.

به طور پیش فرض، SSH از نوعی به نام Encrypt-and-MAC استفاده می کند - MAC که به عنوان رمزگذاری نشده خوانده شد به داده های رمزگذاری شده اضافه می شود. در این حالت، برای بررسی MAC، ابتدا باید بلوک اطلاعات دریافتی را رمزگشایی کنید تا متن ساده را دریافت کنید و سپس هش ها را محاسبه و مقایسه کنید. این گزینه امکان حمله به الگوریتم های رمزنگاری و به دست آوردن داده های "واسطه" را در صورت به خطر انداختن سیستم مورد نظر فراهم می کند.

بهترین گزینه از نظر امنیتی Encrypt-Then-MAC است. چرا؟ در موردی که از طرح "هش از قبل رمزگذاری شده" استفاده می شود، اولین گام این است که یکپارچگی را بررسی کنید و اگر چیزی اشتباه باشد، داده ها فوراً دور ریخته می شوند. هیچ رمزگشایی آزمایشی رخ نمی دهد. چنین گونه های MAC دارای پسوند -etm خواهند بود. با در نظر گرفتن این نکات، پیکربندی ما به این صورت خواهد بود:

MAC ها [ایمیل محافظت شده],[ایمیل محافظت شده]

در Cisco IOS، نوع MAC به صورت زیر تنظیم می شود:

atraining (config) #الگوریتم ssh سرور mac hmac-sha1

Cisco IOS یک انتخاب محدود دارد - hmac-sha1 و hmac-sha1-96. گزینه دوم با کاهش خروجی SHA-1 از 160 بیت به 96 (مانند ipsec) برای ما کار نخواهد کرد، زیرا با همان سرعت در نظر گرفته می شود (هنوز باید SHA-1 معمولی را بشمارید) و باعث صرفه جویی در ترافیک می شود. - خب، آهان، اصلاً.

MAC برای شمارش کلید اثر انگشت

در OpenSSH، ما همچنین می توانیم یک الگوریتم برای محاسبه "اثر انگشت" - اثر انگشت کلید - مشخص کنیم. پیش فرض MD5 است - با این حال، بهتر است به صراحت نشان دهیم که SHA-2/256 برای نمایش و مقایسه هش های کلیدی بهتر است:

اثر انگشت هاش sha256

حالا بیایید از بخش رمزنگاری به بخش شبکه برویم.

تنظیمات شبکه SSHv2

تنظیمات شبکه زیادی وجود خواهد داشت، اما اکثر آنها بی اهمیت هستند - "از چه چیزی استفاده کنیم" و "نحوه فیلتر کردن ترافیک"، بنابراین ایجاد بخشی برای هر یک از آنها بی فایده است.

بلوک چیزی شبیه به این خواهد بود:

پورت 22
آدرسFamily inet
IgnoreRhosts بله
شماره DNS استفاده کنید
ListenAddress x.x.x.x
TCPKeepAlive بله
#VerifyHostKeyDNS no
#UseRoaming شماره

برخی از تنظیمات واضح هستند - به عنوان مثال، پورت 22 سرویس SSH را به شماره پورت مشخص شده متصل می کند، که در صورت لزوم می توان آن را تغییر داد - حداقل به طوری که ربات-رمز عبور-ربات ها ضربه نزنند، و ListenAddress به وضوح نشان می دهد که آدرس های L3 روی کدام آدرس است. برای پذیرش درخواست های اتصال (محدودیت در مورد چندین آدرس و / یا رابط شبکه واقعی است، یا در سناریو "ممکن است میزبان رابط های شبکه جدیدی در حال پرواز داشته باشد، و این بدان معنا نیست که شما باید منتظر اتصالات SSH باشید. روی آنها»). تنظیمات دیگر کمتر مشخص هستند.

AddressFamily inet می گوید که ما فقط منتظر اتصالات IPv4 خواهیم بود. اگر از IPv6 استفاده می کنید و می توانید از طریق آن به سرور SSH متصل شوید، AddressFamily inet، inet6 را اضافه کنید.

TCPKeepAlive بله برای شناسایی کاربران قطع شده در سطح شبکه و خاتمه جلسات آنها مورد نیاز است. غیرفعال کردن این مکانیسم، که گاهی اوقات "برای صرفه جویی در ترافیک" توصیه می شود (اشک، نه صرفه جویی) منجر به وضعیتی می شود که ssh در برخی موارد قادر به درک این موضوع نیست که کاربر نه تنها غیرفعال است، بلکه هرگز نمی تواند ادامه دهد. در این جلسه کار می کند بنابراین، ما را شامل می شود.

IgnoreRhosts بله، مکانیسم قدیمی برای ایجاد لیستی از میزبان ها (معمولاً در فایل rhosts.) را غیرفعال می کند که از طریق آن ورودهای احراز هویت نشده امکان پذیر است.

UseDNS no برای غیرفعال کردن بررسی رکورد PTR برای مشترک در حال اتصال مورد نیاز خواهد بود - علاوه بر اینکه در شبکه داخلی قرار دارد و هنگام اتصال از شبکه های خارجی، وجود PTR نیز کاملا اختیاری است، این اقدام فقط اتصال را کند می کند. ، و سطح امنیتی را بالا نمی برد - حداکثر این است - یک هشدار به گزارش در مورد "کاربر متصل کننده نام FQDN واقعی خود را نگفته است" می نویسد. اگرچه ممکن است این بررسی فعال باشد و DNS روی هاست کار نکند (مثلا نشان دهنده آدرس IP اشتباه سرور DNS است)، در این صورت امکان اتصال وجود ندارد. به میزبان اما این به هیچ وجه یک "اقدام حفاظتی" نیست، بلکه دلیل دیگری برای غیرفعال کردن این چک است، زیرا به همین دلیل، مشخص می شود که تعداد زیرسیستم های درگیر افزایش می یابد و بنابراین قابلیت اطمینان کلی سیستم کاهش می یابد.

استفاده می شود، پس نیازی به غیرفعال کردن آن ندارید. این، طبق منطق خود، یک تنظیمات مشتری است، اما به دلایلی، گاهی اوقات افکاری وجود دارد که "آن را در سرور فعال کنید". من آن را به این لیست اضافه کردم و برای تاکید بر این نکته آن را کامنت گذاشتم - لازم نیست این گزینه را در تنظیمات سرور مشخص کنید.

UseRoaming no پشتیبانی از رومینگ را خاموش می کند - یک برنامه افزودنی آزمایشی برای OpenSSH، که قرار بود سناریوهایی مانند "شروع مدیر از یک مکان، سپس انتقال به مکان دیگر و ادامه از آنجا" را مدیریت کند. در واقع، معلوم شد که این عملکرد برای کسی فایده ای ندارد و هیچ نوآوری پیشرفتی اضافه نکرده است، اما مشکلات امنیتی را به همراه داشت - تا آسیب پذیری های PoC. بنابراین، ما به صراحت آن را غیرفعال می کنیم. مانند پارامتر قبلی، سمت مشتری است، یعنی. در اینجا داده شده است، زیرا، دوباره، در تعدادی از راهنماها نوشته شده است "همه جا را خاموش کنید، هم روی کلاینت و هم در سرور". این مورد نیست، فقط در مورد مشتری است.

محدودیت های SSH در روش اتصال جلسه

از آنجایی که فرآیند اتصال به جلسه نیز باید بررسی شود که استفاده از روش‌های "غیر معمول" اتصال، ارائه اطلاعات غیر ضروری به کلاینت در حال اتصال، صرف منابع سرور برای حفظ مجموعه‌ای از درخواست‌های "موازی" غیر ضروری است.

بلوک تنظیمات ما برای همه اینها به شکل زیر خواهد بود:

RhostsRSAA احراز هویت شماره
شماره احراز هویت Pubkey
HostbaseAuthentication no
ChallengeResponseAuthentication no
Kerberos Authentication no
رمز عبور بله

LoginGraceTime 15

ClientAliveInterval 1800
ClientAliveCountMax 0

MaxAuthTries 3
MaxSessions 1
مجوز تونل شماره

MaxStartups 10:50:20
ShowPatchLevel no

بیایید بفهمیم چه چیزی و چگونه.

بلوک RhostsRSAAAuthentication no، PubkeyAuthentication no، HostbaseAuthentication no، ChallengeResponseAuthentication no، KerberosAuthentication no روش های احراز هویت استفاده نشده را غیرفعال می کند. البته، اگر مثلاً از Kerberos برای ورود به سرور SSH استفاده می کنید، دیگر نیازی به غیرفعال کردن Kerberos ندارید. اما در یک سناریوی معمولی، زمانی که ورود به سیستم به روش‌های رایج‌تری انجام می‌شود، مازاد باید به صراحت غیرفعال شود.

پارامتر LoginGraceTime نشان می دهد که کاربر چقدر زمان می تواند برای رویه ورود صرف کند. پیش فرض 2 دقیقه است. این خیلی است. یک کاربر بسیار کند باید به گونه ای باشد که ورود او به سیستم آنقدر طول بکشد. بنابراین، این پارامتر روی 15 تنظیم شده است - می توانید در 15 ثانیه وارد کنید. اگر به زمان بیشتری نیاز دارید، می توانید آن را افزایش دهید، اما معقول. مهمتر از آن، سرور به سرعت جلساتی را که شروع شده اند اما هنوز احراز هویت کامل نشده اند، "بازنشانی" می کند و منابع را ذخیره می کند.

همتای Cisco IOS برای LoginGraceTime دستور تعلیق (config) #ip ssh time out است که حداکثر زمان را برای رویه ورود تعیین می‌کند. پیش فرض هم 2 دقیقه است که آن هم کمی زیاد است و باید کم شود. در مورد Cisco NX-OS، atraining-nx (config) #ssh login-gracetime است.

چند تنظیم ClientAliveCountMax و ClientAliveInterval برای تعیین زمان قطع ارتباط یک کلاینت غیرفعال مورد نیاز است. ClientAliveInterval زمان عدم فعالیت در ثانیه است که پس از آن کلاینت قطع می شود و ClientAliveCountMax تعداد تلاش هایی است که برای "بیدار کردن" مشتری انجام می شود. در مورد ما، مشتری پس از نیم ساعت عدم فعالیت قطع می شود.

پارامتر MaxAuthTries نشان می دهد که بعد از چند بار تلاش برای احراز هویت ناموفق (به عنوان مثال، وارد کردن رمز عبور نادرست) جلسه توسط سرور قطع خواهد شد. پیش فرض 6 است که کمی زیاد است. سه بار کافی است.

آنالوگ MaxAuthTries در Cisco IOS دستور atraining (config) #ip ssh authentication-retries با پیش‌فرض 3 تلاش است.

پارامتر MaxSessions تعداد جلسات را نشان می دهد داخل یک اتصال SSHمی تواند مقداردهی اولیه شود. این یک محدودیت برای "جلسات همزمان از همان میزبان" نیست! این دقیقاً "لوله SSH را روی سرور قرار دهید و در داخل آن چندین جلسه را با ارسال داده ها مالتیپلکس کنید". اگر به چنین سناریویی نیاز ندارید - هنگامی که به سرور X متصل می شوید و ترافیک را از طریق آن به عمق شبکه منتقل می کنید، فقط تعداد کمی کافی است - و فقط باید به یک سرور خاص متصل شوید و آن را مدیریت کنید، سپس MaxSessions 1، بله. پارامتر PermitTunnel no پیکربندی حالت "ssh فقط برای مدیریت سروری که به آن متصل می شویم" را کامل می کند.

MaxStartups 10:50:20 یک مکانیسم WRED مانند است که در مورد خانواده آن بحث شده است و منطق پیکربندی آن به شرح زیر است - اولین و آخرین مقادیر تعداد شروع اتصالات است (ما فقط در مورد آن صحبت می کنیم. اتصالاتی که احراز هویت را پشت سر نگذاشته‌اند)، که از آنجا مکانیزم حداکثر تعداد اتصالات ممکن به طور کلی شروع به کار می‌کند (در مورد ما، مکانیزم زمانی که 10 اتصال به سرور وجود دارد روشن می‌شود و اتصال 21e از نظر فنی غیرممکن است) ، و پارامتر میانگین احتمال بر حسب درصد است. ما آن را 50 داریم، یعنی. در نیمی از مواردی که تعداد جلسات "در مرحله احراز هویت معلق" از 10 تا 20 باشد، خودداری می کنیم.

شما می توانید آن را آسان تر کنید - به عنوان مثال، MaxStartups 10، i.e. MaxStartups را با یک پارامتر تنظیم کنید. این به سادگی حداکثر تعداد جلسات تأیید شده همزمان را نشان می دهد.

همتای Cisco IOS برای MaxStartups N با یک پارامتر، دستور atraining (config) #ip ssh maxstartups N است، که در آن N همان حداکثر تعداد جلسات تأیید شده همزمان است.

با استفاده از دستور ShowPatchLevel no، انتشار اطلاعات دقیق در مورد نسخه SSH را به مشتری متصل خاموش می کنیم.

حالا بیایید به بلوک تنظیمات مربوط به حساب ها برویم.

گروه ها و کاربران در راه اندازی سرور SSH

کاملاً واضح است که ما باید به نحوی صریحاً مشخص کنیم که چه کسی می تواند به ما متصل شود و چه الزاماتی برای این شخص ارائه می شود.

AllowUsers admin admin2
AllowGroups nixadmins
DenyUsers nginx
DenyGroups nginx
PermitEmptyPasswords no
PermitRootLogin شماره
UsePrivilegeSeparation sandbox

همچنین در اینجا هیچ چیز شگفت‌انگیزی وجود ندارد، همه پارامترها بسیار دقیق نام‌گذاری شده‌اند - به جز اینکه من در مورد ممنوعیت صریح ورود از طریق ssh برای حساب‌ها و گروه‌های سرویس (در مثال من، nginx) صحبت خواهم کرد. در نوشتن صریح آن تنبل نباشید، چنین حساب‌هایی به ندرت تغییر می‌کنند، و شبکه ایمنی آسیبی نخواهد دید. بله، و زیر ریشه کار نکنید، مهم نیست که چقدر بی اهمیت به نظر می رسد.

در نوع سیسکو IOS، انجام چنین تنظیماتی به صورت محلی روی دستگاه معنی ندارد، زیرا منطقی تر است که از AAA استفاده کنید و درخواست های احراز هویت و مجوز را از طریق RADIUS / TACACS به برخی از سرورهای متمرکز هدایت کنید، یا (در IOS جدید) مستقیماً با درخواست "آیا چنین کاربری وجود دارد" به ذخیره سازی LDAP بروید. ایجاد پایگاه داده های محلی در هر دستگاه ناخوشایند و ناامن است. کل این مکانیسم به SSH وابسته نیست، اما یک روش کلی تر برای هدایت مجدد درخواست ها برای احراز هویت / مجوز است، بنابراین در اینجا توضیح داده نشده است تا مقاله در مورد SSH باقی بماند، و نه "درباره هر چیزی که ممکن است به SSH مرتبط باشد."

با این حال، از نظر رمز عبور، تنظیم آن ضرری ندارد - دستور

آموزش (پیکربندی) #رمز عبور امنیتی حداقل طول N

حداقل طول گذرواژه‌ها را در این دستگاه تنظیم می‌کند.

تنظیمات جعبه ایمنی UsePrivilegeSeparation به صراحت به ssh می گوید که یک فرآیند sshd جداگانه با حداقل امتیازات برای هر اتصال ورودی ایجاد می شود - و پس از تأیید موفقیت آمیز، یک مورد جدید ایجاد می شود که جلسه یک کاربر متصل خاص را پردازش می کند. این باعث کاهش تلفات در صورت بروز آسیب‌پذیری جدید در مکانیسم اتصال sshd می‌شود - کسی که از این آسیب‌پذیری سوء استفاده می‌کند، حتی اگر فرآیند ssh ربوده شود، حداقل حقوق را در سیستم دریافت خواهد کرد.

خلاصه کوتاه

امیدوارم این چک لیست کوچک برای شما مفید بوده باشد. SSH به طور گسترده مورد استفاده قرار می گیرد، بنابراین دسترسی قابل پیش بینی و ایمن از طریق آن پایه و اساس یک زیرساخت شبکه قابل اعتماد است.

تاریخ آخرین ویرایش متن:

مقالات مرتبط برتر