در عرصه مدیریت سرور و طراحی سایت، امنیت همیشه حرف اول را میزده و خواهد زد. امنیت یعنی همه چیز! تا زمانی که امنیت سرور سایتهای شما برقرار نباشد، فعالیت روی بقیۀ قسمتها بینتیجه خواهد ماند. ما برای اینکه وارد سرور لینوکس خود شویم، از SSH استفاده میکردیم. تا اینجا باید یاد گرفته باشید که چطور باید با استفاده از SSH وارد سرور خود شویم و از مهمترین دستورات لینوکس استفاده کنیم. اما چطور میتوان بدون وارد کردن رمز عبور از طریق SSH وارد سرور لینوکس خود شویم؟ این کار هم امنیت سرور ما را بالاتر میبرد و هم از وارد کرد مکرر رمز عبور سرور که طبیعتاً باید یک رمز قوی هم باشد، بینیازمان میکند.
SSH روی سرور ما یک بستۀ نرم افزاری است که به ما این امکان را میدهد که از طریق پروتکل SSH سرور خود را از راه دور مدیریت کنیم. این نرم افزار از دو روش برای تعیین هویت شخصی که میخواهد وارد سرور شود استفاده میکند:
- Password Authentication : که همان تعیین هویت از طریق وارد کردن رمز عبور است و روش پیش فرض ورود به سرور لینوکس است. اما از آنجایی که امکان حمله از طریق این روش به سرور وجود داره، معمولاً پیشنهاد میشود که این روش را روی سرور غیرفعال کنیم.
- Pub key Authentication : در این روش یک کلید عمومی و یک کلید خصوصی میسازیم و با استفاد از کلید خصوصی بدون اینکه خواسته باشیم رمزی را وارد کنیم، به SSH سرور خود متصل میشویم.
درست است که در روش دوم از کلید (که یک فایل حاوی یک عبارت رمزگذاری شده است) برای ورود به سرور از طریق SSH استفاده میکنیم و دیگر نیازی به وارد کردن رمز عبور نداریم. اما اگر خواسته باشیم امنیت را از این هم بالاتر ببریم، میتوانیم روی خود همین کلید هم رمز عبور بگذاریم که برای ورود به سرور هم کلید و هم رمز عبور از ما درخواست شود. البته این رمز عبور، رمز عبور خود کلید خصوصی که روی رایانۀ ما است خواهد بود.
در روش اول (Password Authentication) از رمز عبور خود کاربر برای ورود به سرور لینوکس استفاده خواهد شد. به این دلیل گفته میشود این روش امن نیست، چون علاوه بر اینکه شخص دیگری ممکن است در وسط راه بتواند رمز عبور شما را سرقت کند، با استفاده از روشهای حملۀ Brute Force هم شاید بتوان رمزهای عبور ساده را پیدا کرد و با آن وارد سرور شد. حملۀ Brute Force نوعی حمله است که با نرم افزارهای خاصی انواع و اقسام رمزهای عبور پر کاربرد یا حتی تصادفی را روی حساب کاربری شخصی امتحان میکنند تا شاید یکی از آنها کار کردن و هکر توانست وارد حساب کاربری فرد شود. اگر روش دوم تعیین هویت ورود به سرور (Pub key Authentication) را فعال کنید و تنظیمات آن را انجام دهید، دیگر این نوع حمله روی سرور شما کار نخواهد کرد.
در این روش (Pub key Authentication)، یک کلید عمومی و یک کلید خصوصی ساخته میشود که کلید عمومی روی سرور راه دور قرار میگیرد و کلید خصوصی روی رایانۀ شماست. کلید عمومی دست هر شخصی بیافتد کاری نمیتواند انجام دهد. اما کلیک خصوصی را باید روی رایانۀ شخصیِ خود و در جای امنی نگهداری کنید. اصولاً از آنجایی که کلیدها را شما روی رایانۀ خودتان میسازید، فقط باید کلید عمومی را از طریق شبکه روی سرور ببرید. در حالی که کلید خصوصی به هیچ عنوان جابهجا نخواهد شد. پس امنیت به شدت افزایش خواهد یافت.
حالا زمانی که میخواهید وارد سرور خود شوید (حالا این کار را روی رایانۀ ویندوزی میتوانید با استفاده از Putty انجام گیرد و یا روی رایانۀ لینوکسی با خط فرمان انجام میگیرد) IP سرور و مسیر کلید خصوصی که روی رایانۀ شماست را وارد میکنید و سعی در برقراری ارتباط میشود. کلید خصوصی روی رایانۀ شما با کلید عمومی روی سرور که قبلاً مسیرش را در پروندۀ پیکربندی سرویس SSH وارد کرده بودید، مقایسه میشود و اگر مطابقت داشت به شما اجازۀ ورود داده خواهد شد. در مواقعی که شما برای ساخت کلیدها رمز عبوری را تعیین نکرده باشد، در هنگام ورود به سرور حتی از شما رمز عبوری هم پرسیده نمیشود و کار شما در ورود به سرور با استفاده از SSH بسیار ساده و امنتر خواهد شد.
اصولاً به همین دلیل است که دیوار آتشهایی (Firewall) که شما روی سرور لینوکس خود نصب میکنید، ممکن است قسمتی داشته باشند که به شما هشدار دهند که Pub key Authentication را فعال کنید و از ورود به سرور با استفاده از رمز عبور ساده خودداری کنید.
در مقالات بعدی راجع به ساخت کلیدهای مورد نیاز و همچنین فعال کردن ورود به SSH سرور لینوکس بدون رمز عبور یا همان Pub key Authentication توضیحات بیشتری را ارائه خواهیم کرد تا بتوانید ورودی امنتر به سرور لینوکس خود داشته باشید. پس همچنان با مقالات آموزشی مدیریت سرور لینوکس همراه با وبنولوژی باشید.
۰ دیدگاه