شعار همیشگی: حفظ مشتریان فعلی ، دعوت از مشتریان قبلی ، جذب مشتریان آتی.
جشنواره فروش
همواره تخفیف
ایمن سازی یا OpenSSH
ایمن سازی یا OpenSSH
با شما هستیم با آموزش ایمن سازی یا OpenSSH در خدمت شما خواهیم بود تا انتهای این مطلب ما را همراهی کنید. و یا با محیط آن آشنا گردید به مطالعه این مطللب بپردازید.
بکاپ منظم روزانه هفتگی ماهانه در یک سرور مجزا از مزیت نگارنوین نسبت به سایرین می باشد.
شرکت نگارنوین با همت بهترین کارشناس های قوی به شما کاربران و مشتریهای عزیز خدمت رسانی میکند تا هرچه آسان تر و بهتر به درخواست های خود برسید.
OpenSSH
ایمنسازی یا OpenSSH، همانند پروتکل telnet عمل میکند و تعدادی عملیات را برای ایمنسازی ارتباط و محیط سیستمعامل بهعنوان نصب SSH میتوان مطرح کرد.
استفاده از نام کاربری و رمز عبور قوی
یکی از مهمترین مسائلی که به آن باید توجه داشت، جلوگیری از لو رفتن نام کاربری و رمز عبور است. به خاطر داشته باشید استفاده از نام کاربری و رمز عبور قوی طبق استانداردها سبب میشود امنیت بیشتر و امکان حدس زدن و یا شناختن آن بسیار کاهش یابد. برای ایجاد یک رمز عبور قوی لازم است تا از یک (Password generator) استفاده کنید، یا اگر خود میخواهید آن را انتخاب کنید نکات زیر را در آن رعایت کنید:
- حداقل تعداد کاراکترها در آن ۸ باشد.
- استفاده از کاراکترهای (Upper & Lower case) در آن.
- در آن هم از کاراکتر الفبا و هم از اعداد استفاده شود.
- از کاراکترهای غیر الفبایی نیز در آن استفاده گردد.
جلوگیری از لاگین شدن root
تنظیمات مربوط به SSH در آدرس (/etc/ssh/sshd_config) است. بنابراین برای جلوگیری از ورود root دستورهای زیر را اجرا میکنیم.
# Prevent root logins:
PermitRootLogin no
و سپس restart میکنیم:
service sshd restart
اگر نیاز به دسترسی root داشتید، میتوانید در ابتدای دستورات مورد نظر خود از پیشوند (Su) استفاده کنید.
محدود کردن لاگینهای کاربران
به یاد داشته باشید تنها به افرادی اجازهی ورود به سیستم بدهید که نیاز دارند و از اعطای این حق به همه خودداری کنید. برای مشخص کردن کاربرانی که مجوز وارد شدن دارند، ابتدا باید آنها را تعریف کرد. به تنظیمات SSH در آدرس (/etc/ssh/sshd_config) بروید و نام کاربری کاربران را اضافه کنید.
AllowUsers allice bob
غیرفعال کردن پروتکل ۱
SSH دارای دو پروتکل است که با نامهای پروتکل ۱ و پروتکل ۲ شناخته میشود. پروتکل ۱ بهنسبت دارای امنیت کمتری است و میبایست آن را غیرفعال کنید؛ مگر آن که بدانید مستقیماً به همان نیاز دارید. برای غیر فعال کردن این پروتکل باز به تنظیمات SSH در آدرس (/etc/ssh/sshd_config) میرویم و پروتکل را (uncomment) میکنیم:
# Protocol 2,1
Protocol 2
سپس sshd را restart میکنیم.
استفاده از پورتهای کمتر شناخته
بهطور پیشفرض ssh برای دریافت کانکشنها از پورت ۲۲ استفاده میکند؛ اگر هکری بخواهد به سیستم شما نفوذ کند، به راحتی میتواند با اسکن کردن پورت ۲۲ به اطلاعات پی ببرد. بنابراین لازم است تا پورت آن را از حالت پیش فرض به یکی از پورتهای دیگر تغییر دهیم. بسیاری از افراد پورت ۲۲۲۲ را بهعنوان پورت جایگزین و یا ۸۰۸۰ را بهعنوان پورت جایگزین برای (http) قرار میدهند. البته انتخاب پورت ۲۲۲۲ خیلی عاقلانه نیست؛ چرا که بدلیل شباهت به پورت ۲۲ هکرها حتماً آن را نیز اسکن میکنند. بهتر است پورتی را انتخاب کنید که کمتر شناخته شده باشد. برای اینکه تنظیمات پورت را تغییر دهید:
# Run ssh on a non-standard port:
Port 2345 #Change me
و سپس ssh را restart کنید. به یاد داشته باشید این تغییرات پورت را در فایروال و روترها نیز تأثیر گذار است و باید تغییراتی در آنها نیز ایجاد کنید. برای مثال در CentOS 7 نیاز است تا تغییرات زیر در فایروال انجام گیرد:
$ firewall-cmd --add-port 2345/tcp
$ firewall-cmd --add-port 2345/tcp --permanent
در سیستمعاملهای CentOS 6 و بالاتر نیاز است تا (selinux ، Labeling) را نیز تنظیم کنید.
$ semanage port -a -t ssh_port_t -p tcp 2345 #Change me
برای شناساندن پورت ssh به کلاینت نیز از دستور زیر استفاده میکنیم:
ssh -p 2345 myserver
فیلتر کردن SSH در فایروال
اگر شما تنها یک IP برای دسترسی کنترل از راه دور دارید، بهتر است تا دیگر ارتباطها را در فایروال مثلا توسط Iptable ها فیلتر کنید:
iptables -A INPUT -p tcp -s 72.232.194.162 --dport 22 -j ACCEPT
اگر شما نمیتوانید آدرس IP مبدأ را محدود کنید و میبایست که پورت SSH را باز بگذارید، در آن صورت استفاده از 0Iptabl ها میتوانند جلوی حملهی (Brute-force attack) را با مسدود کردن لاگینهای تکراری از یک IP آدرس بگیرند.
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name ssh --rsource iptables -A INPUT -p tcp --dport 22 -m state --state NEW -m recent ! --rcheck --seconds 60 --hitcount 4 --name ssh --rsource -j ACCEPT
دستور اول (IP)هایی که ورود یا سعی بر ورود میکنند را رکورد و نگهداری میکند و دستور دوم چک میکند که (IP) ورودی در۶۰ ثانیه بیش از ۴ باز قصد ورود نداشته باشد. آنگاه اجازه دسترسی به آن داده میشود.
استفاده از کلیدهای عمومی و خصوصی
استفاده از کلیدهای رمزدار شده برای احراز هویت دو هدف اصلی را تأمین میکند. اول اینکه دیگر نیازی به وارد کردن رمز عبورهای سخت و طولانی نیست و ثانیاً بدون وجود کلید خصوصی (private) دیگر نمیتوان احراز هویت کرد و وارد شد؛ درصورتیکه قبلا با داشتن رمز عبور هر کسی میتوانست به سیستم وارد شود و خطر حملههای تشخیص رمز نیز کاهش مییابد.
ابتدا یک جفت کلید (public/private) را در کلاینت خود ایجاد کنید و سپس آن را با سرور به اشتراک بگذارید. توجه داشته باشید هر کلاینتی که نیاز به برقراری ارتباط با سرور داشته باشد نیاز به داشتن این کلید دارد.
ssh-keygen -t rsa
این دستور سبب ایجاد دو فایل مخفی با نامهای (id_rsa) «کلید خصوصی»، و (id_rsa.pub) «کلید عمومی» در دایرکتوری (~/..ssh) میسازد.
توجه داشته باشید بهتر است تا این کلید رمز گردد؛ وگرنه کلید به دست هر کسی بیفتد و سیستم شما دسترسی پیدا کند میتواند با سرور ارتباط برقرار کند.
پس از آن برای private key حق و مجوز تعریف کنید:
chmod 700 ~/.sshchmod 600 ~/.ssh/id_rsa
پس از آن کلید عمومی را بر روی سرور ذخیره کنید و (authorized_key) را نصب کنید:
cat id_rsa.pub >> ~/.ssh/authorized_keys
و نهایتاً اگر (StrictModes) در (/etc/ssh/sshd_config) بهعنوان پیشفرض (Y) تعریف شده باشد، نیاز است تا حقوق دسترسی آن را مشخص کنید:
chmod 700 ~/.sshchmod 600 ~/.ssh/authorized_keys
مطمئن شوید قسمتهای درستی از (SELinux) تنظیم شدهاند:
restorecon -Rv ~/.ssh
برای غیرفعال کردن رمز عبور بهطور کامل میتوان از دستور زیر استفاده کرد:
# Disable password authentication forcing use of keys
PasswordAuthentication no