خرید هاست با قیمت مناسب
هاست اشتراکی | هاست پربازدید | سرور مجازی المان | سرور مجازی فرانسه | سرور مجازی | هایپر سرور | سرور اختصاصی | سرور | سرور از 12 لوکیشن | سی پنل | دایرکت sll
هاست اشتراکی | هاست پربازدید | سرور مجازی المان | سرور مجازی فرانسه | سرور مجازی | هایپر سرور | سرور اختصاصی | سرور | سرور از 12 لوکیشن | سی پنل | دایرکت sll
SSH keys یک راه حل امن برای لاگین به سرور مجازی و یا سرور اختصاصی لینوکس محسوب میشود. برخلاف روش استفاده از پسوورد کرک کردن ssh key با روش Brute Force تقریبا غیر ممکن است. Key pair دو متن یا string طولانی ایجاد میکند: یکی کلید Public یا عمومی و دیگری کلید Private یا خصوصی که هردو برای اتصال به سرور مورد نیاز خواهد بود. کلید public را میتوانید بر روی سرور های خود قرار داده و با SSH Client که کلید Private را دارد به انها متصل شوید، زمانی که کلید ها با یکدیگر Match باشند اتصال بدون درخواست پسوورد برقرار خواهد شد. برای افزایش امنیت حتی میتوانید درخواست پسوورد را نیز برای اتصال فعال نمایید.
استفاده از این روش زمانی که تعداد سرور های شما زیاد بوده و نیاز است تا از ابزار های DevOPS استفاده کنید و یا در مواقعی که نیاز به یکپارچه سازی اتصال دارید بسیار مفید بوده و ضمن تضمین امنیت راه حل مناسبی خواهد بود. برای راه اندازی این روش در ادامه مقاله همراه ما باشید.
در مرحله اول نیاز است تا یک جفت کلید که یکی از انها Public و دیگری نیز Private است ایجاد نمایید. در ویندوز میتوانید از ابزار PuTTYgen برای این کار استفاده نمایید و در لینوکس نیز کافیست دستور زیر را برای کلید ها در command-linee وارد نمایید.
ssh-keygen -t rsa
پس از وارد کردن دستور ایجاد کلید ها در خط فرمان چند سوال از شما خواهد شد. در سوال اول از شما محل مورد نظر جهت ذخیره کلید ها پرسیده خواهد شد:
۱ | Enter file in which to save the key (/home/demo/.ssh/id_rsa): |
در صورت تمایل میتوانید ادرس مورد نظر خود را وارد نمایید. در غیر این صورت میتوانید Enter را زده تا فایل کلید ها در ادرس ذکر شده در خط فرمان ذخیره شود.
در مرحله بعد از شما PassPhrase درخواست میشود. بهتر است قبل از هر چیز توضیح کوتاهی در مورد PassPhrase داده شود. استفاده از این امکان دارای مزایای خاص خود است: کلیدهای امنیتی هرچقدر که پیچیده باشند وابسته به این هستند که توسط شخصی دیده نشوند و یا در اختیار کسی قرار نگیرند. با استفاده از PassPhrase حتی اگر Private key در اختیار شخصی قرار داده شده باشد بدون دانستن PassPhrase نمیتوانید به سرور متصل شود. اعمال و یا عدم اعمال پسوورد دوم به سلیقه شما بستکی دارد:
۱ | Enter passphrase (empty for no passphrase): |
اگر مایل هستید میتوانید برای Private Key یک PassPhrase ایجاد نمایید و در صورت عدم تمایل کافیست Enter را زده و وارد مرحله بعد شوید.
بطور کلی روند ساخت SSH Keys بصورت زیر خواهد بود:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ ۲۱ | ssh–keygen –t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/demo/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/demo/.ssh/id_rsa. Your public key has been saved in /home/demo/.ssh/id_rsa.pub. The key fingerprint is: ۴a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 demo@a The key‘s randomart image is: +—[ RSA 2048]——+ | .oo. | | . o.E | | + . o | | . = = . | | = S = . | | o + = + | | . o + o . | | . o | | | +————————–+ |
پس از پایان کار کلید های ایجاد شده در مسیر های زیر ذخیره خواهد شد:
Public Key: /home/demo/.ssh/id_rsa.pub
Private Key: /home/demo/.ssh/id_rsa
پس از ایجاد کلیدها زمان ان رسیده تا Public Key را وارد سرور مجازی مورد نظر خود نمایید. با استفاده از دستور ssh-copy-id میتوانید عملیات مورد نظر خود را انجام دهید.
ssh-copy-id User@YourServerIPAddress
توجه داشته باشید در جای گذاری اطلاعات صحیح IP و نام کاربری را وارد نمایید. برای این کار روش دومی هم وجود دارد که میتوانید با استفاده از دستور ssh نیز فایل Public Key را به سرور مورد نظر انتقال دهید.
cat ~/.ssh/id_rsa.pub | ssh User@YourServerIPAddress “mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys”
مهم نیست از کدام روش استفاده میکنید. خروجی باید مشابه زیر باشد:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ | The authenticity of host ‘192.168.1.3 (192.168.1.3)’ can‘t be established. RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added ‘192.168.1.3‘ (RSA) to the list of known hosts. user@192.168.1.3′s password: Now try logging into the machine, with “ssh ‘user@192.168.1.3′”, and check in: ~/.ssh/authorized_keys to make sure we haven‘t added extra keys that you weren’t expecting. |
پس از انجام مراحل بالا باید بتوانید بدون درخواست پسسورد به سرور خود بدون درخواست پسوورد متصل شوید. هرچند اگر PassPhrase را فعال کرده باشید از شما برای ورود پسسورد درخواست خواهد شد.
زمانی که عملیات کپی فایل Public Key به سرور مورد نظر به پایان رسید از اتصال به سرور بدون استفاده از اطلاعات root اطمینان حاصل نمایید، پس از ان میتوانید محدودیت های لازم را بر روی یوزر root اعمال کرده و اتصال به SSH از طریق پروتکل SSH را غیر فعال نمایید. برای اعمال تغییرات فایل کانفیگ SSH را باز نمایید.
sudo nano /etc/ssh/sshd_config
در این فایل متن PermitRootLogin را جستجو مرده و ان را بصورت زیر تغییر دهید تا از اتصال فقط ار طریق SSH Keyy اطمینان حاصل نمایید.
PermitRootLogin without-password
سپس سرویس ssh را ری استارت نمایید تا تغییرات اعمال شود.
service sshd restart
systemctl restart sshd
آموزش نصب Webmin در سرور لینوکس بسیار ساده و آسان است . بسته به توزیع و ورژن سیستم عامل لینوکس سرور خود باید پکیج مورد نظر را دانلود کرده و اجرا کنید .
با توجه به اینکه لینوکس CentOS جزو توزیع های RHEL و rpm ساپورت است ، بهترین روش برای نصب Webmin روی CentOS استفاده از پکیج نصب rmp وب مین است . برای نصب وب مین روی CentOS به روش زیر عمل کنید :
wget http://prdownloads.sourceforge.net/webadmin/webmin-1.670-1.noarch.rpm
rpm -U webmin-1.670-1.noarch.rpm
پس از اتمام مراحل نصب وب مین روی CentOS ابتدا اقدام به غیر فعال کردن فایروال Iptables کنید یا پورت ۱۰۰۰۰ را روی سرور باز کنید .
service iptables stop
حالا با این آدرس وارد کنترل پنل کاربری خود شوید :
https://server-ip:10000
اگر از توزیع های لینوکس مشتق شده از Debian مانند خود لینوکس دبیان یا لینوکس توزیع Ubuntu استفاده میکنید بهترین و ساده ترین روش نصب وب مین روی سرور استفاده از پکیج نصب deb می باشد .
برای نصب وب مین روی سرور هایی که .deb ساپورت هستند مطابق دستورات زیر عمل کنید :
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.670_all.deb
dpkg –install webmin_1.670_all.deb
نصب وب مین بسیار سریع بوده و حد اکثر ۴-۵ دقیقه زمان نیاز دارد . توجه داشهت باشید که Webmin به تنهایی امکانات هاستینگ قابل توجه ندارد و برای استفاده راحت از امکانات هاستینگ وب مین ابتدا باید اقدام به نصب کنترل پنل هاستینگ Virtualmin روی Webmin نمایید . در واقع ویرتوال مین یک ماژول وب مین است که امکانات هاستینگ را به وب مین اضافه میکند .
وب مین بدون ماژول هاستینگ Virtualmin مناسب افراد حرفه ای و مسلط به لینوکس است . در این صورت قادر خواهید بود سرور لینوکس خود را به طول کامل و به صورت وب بیس مدیریت و کانفیگ نمایید . در صورت نیاز به کانفیگ حرفه ای webmin میتوانید از خدمات کانفیگ سرور گروه کامپایلر استفاده نمایید .
اگر از سرور ایمیل استفاده میکنید به یک نرم افزار فیلتر اسپم ، برای کاهش تعداد ایمیل های ناخواسته از طرف کاربران خود نیاز خواهید داشت. SpamAssassin یک فیلتر اسپم موثر و قوی با مراحل نصب و اجرای نسبتا آسان می باشد.
در این مقاله، مراحل نصب و کانفیگ SpamAssassin روی لینوکس CentOS 6.0 با استفاده از سرویس های Postfix و Dovecot را آموزش خواهیم داد. SpamAssassin با اکثر نرم افزارهای رایج سرور ایمیل سازگار بوده و امکان نصب آن در سیستم عامل های دیگر نیز وجود دارد .
با اجرای دستور زیر باید توزیع CentOS لینوکس خود را آپدیت کنید :
sudo yum update |
پس از آپدیت CentOS میتوانید SpamAssassin را با استفاده از دستور yum نصب کنید:
sudo yum install spamassassin |
بعد از نصب SpamAssassin بر روی سرور ایمیل ، باید با ویرایش قوانین آن در فایل local.cf تنظیمات فیلتر مورد نظر را اعمال کنید.
SpamAssassin با توجه به ویژگی های ایمیل مانند کلمات کلیدی و فایل پیوست، به هر ایمیل ارسال شده به دامین شما امتیازی خواهد داد. همانند هر موتور آنتی اسپم دیگری، SpamAssassin نیز برای تبدیل شدن به یک فیلتر دقیق تر متناسب با نیاز شما، به آموزش نیاز دارد.
به تنظیمات پیش فرض فایل local.cf در SpamAssassin نگاهی خواهیم داشت. برای این کار باید فایل را با استفاده از یک ادیتور باز کرده و تغییراتی در آن ایجاد کنیم؛ در این مثال از nano استفاده شده است:
sudo nano /etc/mail/spamassassin/local.cf |
خطوط زیر را uncomment کرده و امتیاز را اضافه کنید:
required_hits 5.0 report_safe 0 required_score 5 rewrite_header Subject ***SPAM*** |
Required_hits: بالانس فیلتر را مشخص میکند. پایین ترین امتیاز، فیلتر سختگیرانه اعمال میکند، در صورتی که امتیاز ۵٫۰ به طور کلی برای یک سازمان کوچک و یا یک کاربر موثر خواهد بود. این امتیاز ها را با توجه به نیازهای سازمان خود تنظیم کنید.
Report_safe: این خط تعیین میکند که اسپم یا حذف شود و یا در حالیکه عنوان اسپم در خط subject اضافه شده، به inbox وارد شود. سطوح مورد نظر برای این خط ۰ و ۱ در نظر گرفته شده است . عدد ۱ اسپم را حذف خواهد کرد، در حالی که عدد ۰ اسپم را به inbox ارسال و موضوع آن را بازنویسی میکند. در این آمورش ما از عدد ۰ استفاده میکنیم.
Required_score: این خط امتیاز اسپم را با اعداد بین ۰ تا ۵ برای همه ایمیل های وارد شده به دامین شما تنظیم خواهد کرد. عدد ۰ یک ایمیل درست و عدد ۵ اسپم را مشخص میکند. در این آموزش از عدد ۵ استفاده شده، اما شما میتوانید این مقدار را با توجه به اولویت خود تغییر دهید.
Rewrite_header: همانطور که از نام این خط پیداست، هر پیامی که اسپم در نظر گرفته شود ، خط subject با توجه به عبارت تعیین شده در این خط ، بازنویسی خواهد شد. برای این آموزش از subject پیش فرض (***SPAM***) استفاده میکنیم.
قبل از شروع تنظیمات ، بهتر است بدانید Spamd و spamc دو تابع موردنیاز برای بهبود عملکرد SpamAssassin هستند. Spamd و توابع وابسته به آن، تمام پیام های دریافتی را قبل از دریافت توسط سرور ایمیل ، رهگیری و پردازش میکنند.
باتوجه به ماهیت spamd ما باید یک کاربر و گروه منحصر به فرد ایجاد کنیم. برای اینکار از دستورات زیر استفاده کنید:
sudo groupadd spamd sudo useradd –g spamd –s /bin/false –d /var/log/spamassassin spamd sudo chown spamd:spamd /var/log/spamassassin |
پس از کانفیگ فایل local.cf در SpamAssasin به همراه spamd ، باید فایل master.cf در Postfix را نیز برای استفاده از اسکریپت های SpamAssassin و تنظیم امتیاز هایی که اعمال کردیم ، پیکربندی کنیم.
با استفاده از یک ادیتور فایل master.cf را در Postfix ویرایش کنید:
sudo nano /etc/postfix/master.cf |
فایل master.cf را تغییر دهید:
# ==================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (۱۰۰) # ==================================================================== smtp inet n – n – – smtpd –o content_filter=spamassassin |
خط زیر را به انتهای فایل اضافه کنید :
spamassassin unix – n n – – pipe flags=R user=spamd argv=/usr/bin/spamc –e /usr/sbin/sendmail –oi –f ${sender} ${recipient} |
قبل از شروع به کار سرویس SpamAssassin ، باید spamd را با استفاده از دستور sa-update از یک cronjob آپدیت کنید.
sa–update && /etc/init.d/spamassassin reload |
حال باید با استفاده از دستور زیر، سرویس SpamAssassin را اجرا و سرویس Postfix را ریلود کنید :
sudo /etc/init.d/postfix reload sudo /etc/init.d/spamassassin reload |
گاهی اوقات مجبور خواهید شد برای بلاک یا فوروارد کردن برخی از پروتکل ها و پکیج های خدمات شبکه مانند پاسخ های dns یا درخواست های DHCP یا SSH و … ، فایروال را در سیستم عامل لینوکس و یا سیستم شبه یونیکس خود غیر فعال کنید. این مقاله نشان خواهد داد که چگونه فایروال را در لینوکس RedHat ، CentOS ، فدورا (Fedora)، اوبونتو (Ubuntu) و دبیان ( Debian) فعال یا غیر فعال کرده و یا وضعیت فعلی آن را بررسی کنیم .
فایروال iptables لینوکس
iptables برنامه ای در فضای کاربر است که به مدیر یک سیستم اجازه پیکربندی جداول ارائه شده توسط فایروال هسته لینوکس (اجرا شده به عنوان ماژول های مختلف Netfilter) و زنجیرها و قوانینی که در آن ذخیره شده را میدهد.
بررسی وضعیت فایروال iptables لینوکس
شما می توانید دستور زیر را برای بررسی وضعیت iptables های IPv4 / IPv6 فایروال استفاده کنید:
برای پروتکل های IPv4
[root@devops ~]# service iptables status iptables: Firewall is not running. |
یا
[root@devops ~]# /etc/init.d/iptables status iptables: Firewall is not running. |
برای پروتکل های IPV6
[root@devops ~]# service ip6tables status ip6tables: Firewall is not running. |
یا
[root@devops ~]# /etc/init.d/ip6tables status ip6tables: Firewall is not running. |
غیرفعال کردن فایروال iptables لینوکس
ابتدا به عنوان کاربر روت وارد سیستم شوید و سپس دستورات زیر را برای متوقف کردن فایروال iptables اجرا کنید.
برای پروتکل IPv4 در حال اجرا از این ۳ دستور استفاده کنید :
# service iptables save # service iptables stop # chkconfig iptables off |
برای پروتکل IPv6 در حال اجرا از این ۳ دستور استفاده کنید :
# service ip6tables save # service ip6tables stop # chkconfig ip6tables off |
اگر می خواهید iptables لینوکس را بر روی تمام سطوح اجرایی غیر فعال کنید، دستور زیر را اجرا کنید:
#chkconfig -level 123456 iptables off |
برای حذف کامل iptables ، می توانید پکیج rpm iptables را مستقیما با استفاده از دستور زیر پاک کنید:
#rpm -e iptables |
فعال کردن فایروال لینوکس (iptables)
شما می توانید دستور زیر را برای فعال کردن دوباره ی iptables اجرا کنید:
برای IPv4:
# service iptables start # chkconfig iptables on |
برای IPv6:
# service ip6tables start # chkconfig ip6tables on |
سپس سیستم را ریبوت کنید :
#reboot |