hardening OpenSSH Server

اتصال به سرور بدون پسورد 😱

اگر اینجا هستید, اطلاعات مهمی دارید و ‘امنیت سرور’  شما سطح بالایی دارد  🤔, بله ! شما از OpenSSH استفاده میکنید برای اتصال به سرور, ssh بصورت پیشفرض امنیت لازم را برای اکثر کاربران فراهم میکند.

اما, امنیت مبحث بسیار پیچیده و بزرگی است و ما در این مقاله تلاش میکنیم تا مقداری امنیت سرویس OpenSSH را بهبود بخشیم.  خب, به سرور متصل شوید و فایل

etc/ssh/sshd.conf/
را با ویرایشگر مانند vim یا nano باز کنید, در اولین نگاه با سطر هایی که با ‘#’ شروع شده‌اند مواجه هستیم. این خطوط Comment هستند, خوانده می‌شوند ولی اعمال نمیشود.

PermitRootLogin prohibit-password #

این خط را پیدا کنید, هش‌ساین (#) ابتدای خط را حذف کنید و مقدار آن را برابر no قرار دهید .

با این تغییر ساده امکان لاگین کاربر روت را غیر فعال میکنیم،  توجه داشته باشید یکی از اهداف اصلی کرکر ها , به‌دست آوردن پسورد کاربر روت است. توصیه می‌شود پسورد کاربر روت را  با  طول حداقل ۸ کاراکتر و شامل اعداد، حروف ( حتی حروف فارسی!) و کاراکتر های خاص مانند !@#$%^&*()  قرار دهید و هر ۳ ماه پسورد را تغییر دهید .

به کانفیگ OpenSSH مجددا مراجعه میکنیم،  خط

PubkeyAuthentication yes #

را پیدا  و آن‌کامنت (uncomment) کنید، با این تغییر، امکان احراز هویت با رمزنگاری نامتقارن را فعال می‌کنید .

تقریبا به آخر  ماجرا رسیدیم، خطوط

PasswordAuthentication #

PermitEmptyPasswords #

را پیدا کنید، آن‌کامند کنید و مقدار آن ها رو برابر no قرار دهید. در اینصورت کاربران با پسورد نمیتوانند لاگین کنند و کاربرانی هم که پسورد ندارند هم نمیتوانند توسط OpenSSH لاگین کنند.

 

فایل را ذخیره کرده و از ویرایشگر خارج شوید .

الآن باید کلید ها را با استفاده از کامند ssh-keygen بسازیم:

ssh-keygen -t rsa -b 4096 -E sha512

از شما خواسته می‌شود که مسیر کلید ها را وارد کنید و درصورت نیاز میتوانید پسورد برای کلید ها تنظیم  کنید .

.Generating public/private rsa key pair

:Enter file in which to save the key (/root/.ssh/id_rsa)

:Enter passphrase (empty for no passphrase)

:Enter same passphrase again

.Your identification has been saved in /root/.ssh/id_rsa

.Your public key has been saved in /root/.ssh/id_rsa.pub

کلید ها ساخته شد، در مسیر مورد نظر (پیشفرض) ذخیره شد و قابل استفاده است.

حال باید کلید عمومی یا ip_rsa.pub را روی سرور بفرستیم،‌ کامند ssh-copy-ip برای ما بصورت خودکار کلید عمومی را خوانده و داخل فایل authorized_keys می‌نویسد .

 

در مرحله آخر، سرویس ssh را restart کنید  تا تنظیمات اعمال شود.

  هم‌اکنون بدون پسورد میتوانید به سرور متصل شوید.

دیدگاه‌ خود را بنویسید