Menu

راهنمای جامع تنظیمات سرور مجازی و امنیت سرور

توسط ۳۱ خرداد ۱۳۹۹ مهر ۱ام, ۱۴۰۲ دیتا سنتر, سرور مجازی
راهنمای جامع تنظیمات سرور مجازی و امنیت سرور

بخش اول

راهنمای جامع تنظیمات سرور مجازی و امنیت سرور

همانطور که در بخش قبلی – آموزش نصب وردپرس روی سرور مجازی با اوبونتو Ubuntu 20.04 گفته شد، سرور با سیستم عامل-  Ubuntu  و وب سرور Nginx  برای راه اندازی یک سایت وردپرسی بسیار مناسب است. لذا در این بخش که راهنمای جامع تنظیمات سرور مجازی و امنیت سرور می باشد، یک VPS یا ماشین مجازی خریداری کرده و شروع به کانفیگ آن می کنیم.

  • لیست مطالب این بخش

سوال: چرا باید از سرور مجازی برای میزبانی سایت استفاده کنیم

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

ورود به سرور

پس از خرید VPS با سیستم عامل اوبونتو ubuntu ، تنها یک IP  بهمراه یک یوزر و پسورد در اختیار دارید. پس شما برای اتصال و پیکربندی سرور، به یک نرم افزار تحت ویندوز، برای ارتباط با آن، نیاز دارید. نیاز به IP اختصاصی دارید؟ مناسب‌ترین تعرفه اجاره IP را از گروه آزما دریافت کنید.

Putty یک نرم افزار برای ارتباط با سرور لینوکس است. با استفاده از این نرم افزار شما می توانید به سرور لینوکسی خود دسترسی داشته باشید. این نرم افزار از پروتکل های Telnet و Rlogin پشتیبانی می کند. شما برای اینکه به سرور لینوکس خود متصل شوید باید این نرم افزار را دانلود و نصب کنید.

برای دانلود و نصب این نرم افزار به این لینک مراجعه نمایید.

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

نمای نرم افزار putty بعد از اجرا

نمای نرم افزار putty بعد از اجرا

برای ورود در قسمت Host Name ، آی پی مورد نظر را وارد کنید. با کلیک بر روی open  ، پنجره ای باز شده و از شما نام کاربری می خواهد. نام کاربری را وارد کنید، پس از ورود نام کاربری و زدن اینتر، پسورد را وارد نمایید – توجه نمایید که به دلایل امنیتی هنگام تایپ پسورد در ظاهر چیزی تایپ نمی شود، لذا پس از تایپ پسورد کلید اینتر را فشار دهید.

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

توجه نمایید که به دلایل امنیتی هنگام تایپ پسورد در ظاهر چیزی تایپ نمی شود ، لذا پس از تایپ پسورد کلید اینتر را فشار دهید.

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

تنظیم Host Name

اکنون که وارد سرور شدیم یک Hostname و FQDN برای سرور تعیین می کنیم. تنظیم صحیح Hostname و FQDN باعث تسریع در اتصال به سرور در آینده خواهد شد. چرا که دیگر نیاز به بخاطر سپاری آدرس IP سرور نخواهید داشت. برای ست کردن هاست نیم، کامنت زیر را استفاده نمایید: )  دقت نمایید که server.azmagroup.ir باید با نام مورد نظر شما جایگزین شود)

echo "server.azmagroup.ir" | sudo tee /etc/hostname 
sudo hostname -F /etc/hostname
sudo reboot

البته برای اتصال به سرور با استفاده از آدرس مورد نظر، باید برای ساب دامین server  یک رکورد A ، در کنترل پنل DNS ایجاد کنید. حالا پس از آپدیت شدن DNS ( حداکثر ۴۸ ساعت) می توانید به سرور با hostname  جدید متصل شوید.

تنظیم Timezone در تنظیمات سرور

برای تنظیم زمان سرور باید پکیچ tzdata را بر روی سرور پیکربندی کنیم. با این عمل مطمئن خواهیم شد که فایل های لاگ سیستم زمان و تاریخ صحیح را نمایش می دهند. دستور زیر روند پیکربندی پکیج  tzdata را انجام می دهد:

sudo dpkg-reconfigure tzdata
تنظیم Timezone

با مشاهده یک رابط کاربری ساده GUI ، حالا شما می توانید محل جغرافیایی مورد نظر خود را مشخص نمایید
Asia –> Tehran

به محض تعیین یک تایم زون جدید ، زمان و تایخ فعلی نمایش داده می شود :

تنظیم زمان در سرور UBUNTU

نصب بروز رسانیهای نرم افزاری

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

sudo apt update

وقتی کامل شد اجازه بدهید تا همه پکیج های جاری آپدیت شوند . همچنین از فضای مورد نیاز نیز آگاه خواهید شد.

sudo apt upgrade

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

sudo apt autoremove

بروز رسانی های امنیتی خودکار

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

با این حال به یاد داشته باشید  که این راحتی می تواند  بسیار خطرناک باشد و توصیه می شود فقط برای بروزرسانی های امنیتی فعال شود. با این روش بصورت خودکار آسیب پذیری های جدی رفع می گردد . مانند باگ هیربلید در سال ۲۰۱۴

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

در برخی سیستمها این قابلیت بصورت خودکار فعال میگردد. اما اگر مطمئن نیستید می توانید مراحل زیر را دنبال کنید.

sudo apt install unattended-upgrades

ایجاد فایلهای پیکربندی مورد نیاز

sudo dpkg-reconfigure unattended-upgrades   

شما یک تصویر ماند زیر خواهید دید:

بروز رسانی های امنیتی خودکار در Ubuntu 20.04

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


 sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

با توجه به اطلاعات زیر مطمئن شوید که Allowed-Origins  مانند نمونه باشد و سایر موارد یا کامنت یا حذف گردند.

// Automatically upgrade packages from these (origin:archive) pairs
//
// Note that in Ubuntu security updates may pull in new dependencies
// from non-security sources (e.g. chromium). By allowing the release
// pocket these get automatically pulled in.
Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}";
        "${distro_id}:${distro_codename}-security";
        // Extended Security Maintenance; doesn't necessarily exist for
        // every release and this system may not have it installed, but if
        // available, the policy for updates is such that unattended-upgrades
        // should also install from here by default.
        "${distro_id}ESMApps:${distro_codename}-apps-security";
        "${distro_id}ESM:${distro_codename}-infra-security";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};

همچنین ممکن است بخواهید سیستم بصورت خودکار بعد از بروز رسانی ریستارت شود یا خیر. حالت پیش فرض ریستارت فوری سیستم بعد از بروزرسانی  است، اما شما می توانید آنرا زمان بندی کنید.  بطور کامل با قراردادن “false” آن را غیر فعال کنید.

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

VPS برای همه افراد در اینترنت قابل رویت است شما باید یک گواهی کلید عمومی را بجای پسورد برای اتصال بکار ببرید زیرا SSHKey راه بسیار ایمن تری در مقایسه با پسورد تنها می باشد. چرا که پسورد بسادگی با یک حملهbrute-force   کرک می شود در حالی که رمز گشایی SSHKeys  تنها بایک حمله brute-force تقریبا ناممکن است . با SSHKeys هر کامپیوتر یک کلید عمومی و یک کلید خصوصی خواهد داشت (دو الگوریتم لینک شده ، که امکان شکستن ندارند)

درحال حاضر نیازی به بسط موضوع دلایل برتری SSHKeys  در این مطلب نمی شود لذا در این بخش از تنظیمات سرور مجازی تنها روش اجرای آن را ادامه می دهیم.
برای تولید  SSHKeys  به یکی دیگر از نرم افزارهایی که با همان Putty  نصب شده است نیاز داریم. که نام آن Puttygen  می باشد .

نحوه استفاده از Puttygen برای تولید SSHKeys

  1. با اجرای نرم افزار تصویری مانند زیر خواهد داشت
ه » آزما بلاگ » سرور مجازی » دیتا سنتر » نصب وردپرس روی سرور Ubuntu 20.04 Time needed: ۳۰ minutes. نصب وردپرس روی سرور Ubuntu 20.04 خرید VPS و انجام تنظیمات مقدماتی سرور Ubuntu خرید سرور مجازی و انجام تنظیمات اولیه سرور برای راه اندازی وبسایت نصب NGINX ، PHP، WP-LCI و MariaDB نصب وب سرور و پی اچ پی و پکیج نصب وردپرس و پکیج دیتابیس در این مطلب آموزشی، بصورت گام به گام و جزء به جزء ،توضیحات کاملی از لحظه خرید سرور مجازی تا نصب و راه اندازی سرور و نصب یک وبسایت شخصی ، شرکتی و یا فروشگاهی با سیستم مدیریت محتوای وردپرس را بیان خواهیم کرد. در ابتدا یک سرور مجازی با منابع 1G Ram , 1Core CPU تهیه می کنیم – دراین آموزش بدلیل استفاده از سیستم مدیریت محتوای وردپرس wordpress CMS و اینکه وبسایت مورد نظر ما هنوز ترافیک و مطلبی ندارد لذا کمترین مقدار cpu و Ram را انتخاب می کنیم و بعدها با افزایش مطالب و ترافیک ورودی منابع را افزایش خواهیم داد. سوال: چرا باید از سرور مجازی برای میزبانی سایت استفاده کنیم خب، دلایل برای این کار زیاد است و مزایا و معایب خود را دارد لذا برای مطالعه بیشتر به مطلب … مراجعه نمایید. اما بصورت خلاصه باید گفت که داشتن یک سرور شخصی شرایطی را مهیا می کند تا شما بتوانید هرگونه تغییراتی را سریعا اعمال کنید و این در حال است که وقتی یک هاست اشتراکی خرید می کنید دیگر نمی تونید آن را سفارشی کنید چرا که شرکت ارائه دهنده با یک سری تنظیمات عمومی آن را برای کلیه مشتریان کانفیگ نموده است. ورود به سرور مجازی پس از خرید VPS شرکت ارائه دهنده تنها یک IP بهمراه یک یوزر و پسورد به شما تحویل خواهد داد .برای اتصال و پیکربندی سرور، شما به یک نرم افزار تحت ویندوز، برای ارتباط با آن نیاز دارید. Putty یک نرم افزار برای ارتباط با سرور لینوکس است. با استفاده از این نرم افزار شما می توانید به سرور لینوکسی خود دسترسی داشته باشید. این نرم افزار از پروتکل های Telnet و Rlogin نیز پشتیبانی می کند. شما برای اینکه به سرور لینوکس خود متصل شوید باید این نرم افزار را دانلود و نصب کنید. برای دانلود و نصب این نرم افزار به این لینک مراجعه نمایید. استفاده از این نرم افزار رایگان است و شما شما با استفاده از این نرم افزار به راحتی می توانید از راه دور به سرور خود متصل شوید. زمانی که نرم افزار Putty را اجرا می کنید با صفحه ای همانند تصویر زیر مواجه خواهید شد. نمای نرم افزار putty بعد از اجرا برای ورود در قسمت Host Name ، آی پی مورد نظر را وارد کرده و با کلیک بر روی open ، پنجره ای باز شده و از شما نام کاربری را می خواهد وارد کنید پس از ورود نام کاربری و زدن اینتر ، باید پسورد را وارد نمایید – توجه نمایید که به دلایل امنیتی هنگام تایپ پسورد در ظاهر چیزی تایپ نمی شود ، لذا پس از تایپ پسورد کلید اینتر را فشار دهید. توجه نمایید که به دلایل امنیتی هنگام تایپ پسورد در ظاهر چیزی تایپ نمی شود ، لذا پس از تایپ پسورد کلید اینتر را فشار دهید. تنظیم Host Name اکنون که وارد سرور شدیم یک Hostname و FQDN برای سرور تعیین می کنیم. تنظیم صحیح Hostname و FQDN باعث تسریع در اتصال به سرور در آینده خواهد شد چرا که دیگر نیاز به بخاطر سپاری آدرس IP سرور نخواهید داشت.برای ست کردن هاست نیم ، کامنت زیر را استفاده نمایید: ) دقت نمایید که server.azmagroup.ir باید با نام مورد نظر شما جایگزین شود) echo "server.azmagroup.ir" | sudo tee /etc/hostname sudo hostname -F /etc/hostname sudo reboot البته برای اتصال به سرور با استفاده از آدرس مورد نظر ابتدا باید برای ساب دامین server یک رکورد A ، در کنترل پنل DNS ایجاد کنید. حالا پس از آپدیت شدن DNS ( حداکثر ۴۸ ساعت) می توانید به سرور با hostname جدید متصل شوید. تنظیم Timezone برای تنظیم زمان سرور باید پکیچ tzdata را بر روی سرور پیکربندی کنیم. با این عمل مطمئن خواهیم شد که فایل های لاگ سیستم زمان و تاریخ صحیح را نمایش می دهند. دستور زیر روند پیکربندی پکیج tzdata را انجام می دهد: sudo dpkg-reconfigure tzdata با مشاهده یک رابط کاربری ساده GUI ، حالا شما می توانید محل جغرافیایی مورد نظر خود را مشخص نمایید Asia –> Tehran به محض تعیین یک تایم زون جدید ، زمان و تایخ فعلی نمایش داده می شود : نصب بروز رسانی های نرم افزاری اگرچه همین اکنون سرور خود را راه اندازی نمودید ، احتمال دارد تعدادی پکیج نرم افزاری منقضی شده باشند بنابراین برای اطمینان از بروزرسانی نرم افزارها و پکیج های نصب شده از دستور زیر استفاده می کنیم: sudo apt update وقتی کامل شد اجازه بدهید تا همه پکیج های جاری آپدیت شوند . همچنین از فضای مورد نیاز نیز آگاه خواهید شد. sudo apt upgrade وقتی بروز رسانی کامل شد. پکیج های نصب شده نمایش داده خواهند شد همچنین پکیج هایی که دیگر سیستم به آنها نیازی ندارد نیز نمایش داده خواهند شد. و شما می توانید با دستور زیر پکیج های منقضی شده را پاک نمایید. sudo apt autoremove بروز رسانی های امنیتی خودکار بسیار حیاتی است که شما نرم افزارهای سرور را بروز نگه دارید تا آسیب پذیری های نرم افزاری شما برطرف شود. به لطف اوبونتو می توان آپدیت های نرم افزاری را بصورت خودکار انجام داد. با این حال به یاد داشته باشید که این راحتی می تواند بسیار خطرناک باشد و توصیه می شود فقط برای بروزرسانی های امنیتی فعال شود. با این روش بصورت خودکار آسیب پذیری های جدی رفع می گردد . مانند باگ هیربلید در سال ۲۰۱۴ بروز رسانی های نرم افزاری غیر ضروری باید قبل از نصب باید روی استیجینگ سرور آزمایش شوند چرا که ممکن است سایت شما را دان نمایند. در برخی سیستمها این قابلیت ممکن است بصورت خودکار فعال گردد اما اگر مطمئن نیستید می توانید مراحل زیر را دنبال کنید. sudo apt install unattended-upgrades ایجاد فایلهای پیکربندی مورد نیاز sudo dpkg-reconfigure unattended-upgrades شما یک تصویر ماند زیر خواهید دید: بله را انتخواب کرده و اینتر را بزنید و سپس فایل کانفیگ را ویرایش می کنیم. sudo nano /etc/apt/apt.conf.d/50unattended-upgrades با توجه به اطلاعات زیر مطمئن شوید که Allowed-Origins مانند نمونه باشد و سایر موارد یا کامنت یا حذف گردند. // Automatically upgrade packages from these (origin:archive) pairs // // Note that in Ubuntu security updates may pull in new dependencies // from non-security sources (e.g. chromium). By allowing the release // pocket these get automatically pulled in. Unattended-Upgrade::Allowed-Origins { "${distro_id}:${distro_codename}"; "${distro_id}:${distro_codename}-security"; // Extended Security Maintenance; doesn't necessarily exist for // every release and this system may not have it installed, but if // available, the policy for updates is such that unattended-upgrades // should also install from here by default. "${distro_id}ESMApps:${distro_codename}-apps-security"; "${distro_id}ESM:${distro_codename}-infra-security"; // "${distro_id}:${distro_codename}-updates"; // "${distro_id}:${distro_codename}-proposed"; // "${distro_id}:${distro_codename}-backports"; }; همچنین ممکن است بخواهید در صورت لزوم سیستم بصورت خودکار بعد از بروز رسانی ریستارت شود یا خیر. حالت پیش فرض ریستارت فوری سیستم بعد از بروزرسانی می باشد ، اما شما می توانید به آن زمان اختصاص دهید یا بطور کامل آن با قراردادن “false” آن را غیر فعال کنید. ایجاد SSHKeys و اتصال از طریق PUTTY
بر روی generate کلیک کنید و موس خود را تند تند تکان دهید تا کلید ساخته شود

ه » آزما بلاگ » سرور مجازی » دیتا سنتر » نصب وردپرس روی سرور Ubuntu 20.04 Time needed: ۳۰ minutes. نصب وردپرس روی سرور Ubuntu 20.04 خرید VPS و انجام تنظیمات مقدماتی سرور Ubuntu خرید سرور مجازی و انجام تنظیمات اولیه سرور برای راه اندازی وبسایت نصب NGINX ، PHP، WP-LCI و MariaDB نصب وب سرور و پی اچ پی و پکیج نصب وردپرس و پکیج دیتابیس در این مطلب آموزشی، بصورت گام به گام و جزء به جزء ،توضیحات کاملی از لحظه خرید سرور مجازی تا نصب و راه اندازی سرور و نصب یک وبسایت شخصی ، شرکتی و یا فروشگاهی با سیستم مدیریت محتوای وردپرس را بیان خواهیم کرد. در ابتدا یک سرور مجازی با منابع 1G Ram , 1Core CPU تهیه می کنیم – دراین آموزش بدلیل استفاده از سیستم مدیریت محتوای وردپرس wordpress CMS و اینکه وبسایت مورد نظر ما هنوز ترافیک و مطلبی ندارد لذا کمترین مقدار cpu و Ram را انتخاب می کنیم و بعدها با افزایش مطالب و ترافیک ورودی منابع را افزایش خواهیم داد. سوال: چرا باید از سرور مجازی برای میزبانی سایت استفاده کنیم خب، دلایل برای این کار زیاد است و مزایا و معایب خود را دارد لذا برای مطالعه بیشتر به مطلب … مراجعه نمایید. اما بصورت خلاصه باید گفت که داشتن یک سرور شخصی شرایطی را مهیا می کند تا شما بتوانید هرگونه تغییراتی را سریعا اعمال کنید و این در حال است که وقتی یک هاست اشتراکی خرید می کنید دیگر نمی تونید آن را سفارشی کنید چرا که شرکت ارائه دهنده با یک سری تنظیمات عمومی آن را برای کلیه مشتریان کانفیگ نموده است. ورود به سرور مجازی پس از خرید VPS شرکت ارائه دهنده تنها یک IP بهمراه یک یوزر و پسورد به شما تحویل خواهد داد .برای اتصال و پیکربندی سرور، شما به یک نرم افزار تحت ویندوز، برای ارتباط با آن نیاز دارید. Putty یک نرم افزار برای ارتباط با سرور لینوکس است. با استفاده از این نرم افزار شما می توانید به سرور لینوکسی خود دسترسی داشته باشید. این نرم افزار از پروتکل های Telnet و Rlogin نیز پشتیبانی می کند. شما برای اینکه به سرور لینوکس خود متصل شوید باید این نرم افزار را دانلود و نصب کنید. برای دانلود و نصب این نرم افزار به این لینک مراجعه نمایید. استفاده از این نرم افزار رایگان است و شما شما با استفاده از این نرم افزار به راحتی می توانید از راه دور به سرور خود متصل شوید. زمانی که نرم افزار Putty را اجرا می کنید با صفحه ای همانند تصویر زیر مواجه خواهید شد. نمای نرم افزار putty بعد از اجرا برای ورود در قسمت Host Name ، آی پی مورد نظر را وارد کرده و با کلیک بر روی open ، پنجره ای باز شده و از شما نام کاربری را می خواهد وارد کنید پس از ورود نام کاربری و زدن اینتر ، باید پسورد را وارد نمایید – توجه نمایید که به دلایل امنیتی هنگام تایپ پسورد در ظاهر چیزی تایپ نمی شود ، لذا پس از تایپ پسورد کلید اینتر را فشار دهید. توجه نمایید که به دلایل امنیتی هنگام تایپ پسورد در ظاهر چیزی تایپ نمی شود ، لذا پس از تایپ پسورد کلید اینتر را فشار دهید. تنظیم Host Name اکنون که وارد سرور شدیم یک Hostname و FQDN برای سرور تعیین می کنیم. تنظیم صحیح Hostname و FQDN باعث تسریع در اتصال به سرور در آینده خواهد شد چرا که دیگر نیاز به بخاطر سپاری آدرس IP سرور نخواهید داشت.برای ست کردن هاست نیم ، کامنت زیر را استفاده نمایید: ) دقت نمایید که server.azmagroup.ir باید با نام مورد نظر شما جایگزین شود) echo "server.azmagroup.ir" | sudo tee /etc/hostname sudo hostname -F /etc/hostname sudo reboot البته برای اتصال به سرور با استفاده از آدرس مورد نظر ابتدا باید برای ساب دامین server یک رکورد A ، در کنترل پنل DNS ایجاد کنید. حالا پس از آپدیت شدن DNS ( حداکثر ۴۸ ساعت) می توانید به سرور با hostname جدید متصل شوید. تنظیم Timezone برای تنظیم زمان سرور باید پکیچ tzdata را بر روی سرور پیکربندی کنیم. با این عمل مطمئن خواهیم شد که فایل های لاگ سیستم زمان و تاریخ صحیح را نمایش می دهند. دستور زیر روند پیکربندی پکیج tzdata را انجام می دهد: sudo dpkg-reconfigure tzdata با مشاهده یک رابط کاربری ساده GUI ، حالا شما می توانید محل جغرافیایی مورد نظر خود را مشخص نمایید Asia –> Tehran به محض تعیین یک تایم زون جدید ، زمان و تایخ فعلی نمایش داده می شود : نصب بروز رسانی های نرم افزاری اگرچه همین اکنون سرور خود را راه اندازی نمودید ، احتمال دارد تعدادی پکیج نرم افزاری منقضی شده باشند بنابراین برای اطمینان از بروزرسانی نرم افزارها و پکیج های نصب شده از دستور زیر استفاده می کنیم: sudo apt update وقتی کامل شد اجازه بدهید تا همه پکیج های جاری آپدیت شوند . همچنین از فضای مورد نیاز نیز آگاه خواهید شد. sudo apt upgrade وقتی بروز رسانی کامل شد. پکیج های نصب شده نمایش داده خواهند شد همچنین پکیج هایی که دیگر سیستم به آنها نیازی ندارد نیز نمایش داده خواهند شد. و شما می توانید با دستور زیر پکیج های منقضی شده را پاک نمایید. sudo apt autoremove بروز رسانی های امنیتی خودکار بسیار حیاتی است که شما نرم افزارهای سرور را بروز نگه دارید تا آسیب پذیری های نرم افزاری شما برطرف شود. به لطف اوبونتو می توان آپدیت های نرم افزاری را بصورت خودکار انجام داد. با این حال به یاد داشته باشید که این راحتی می تواند بسیار خطرناک باشد و توصیه می شود فقط برای بروزرسانی های امنیتی فعال شود. با این روش بصورت خودکار آسیب پذیری های جدی رفع می گردد . مانند باگ هیربلید در سال ۲۰۱۴ بروز رسانی های نرم افزاری غیر ضروری باید قبل از نصب باید روی استیجینگ سرور آزمایش شوند چرا که ممکن است سایت شما را دان نمایند. در برخی سیستمها این قابلیت ممکن است بصورت خودکار فعال گردد اما اگر مطمئن نیستید می توانید مراحل زیر را دنبال کنید. sudo apt install unattended-upgrades ایجاد فایلهای پیکربندی مورد نیاز sudo dpkg-reconfigure unattended-upgrades شما یک تصویر ماند زیر خواهید دید: بله را انتخواب کرده و اینتر را بزنید و سپس فایل کانفیگ را ویرایش می کنیم. sudo nano /etc/apt/apt.conf.d/50unattended-upgrades با توجه به اطلاعات زیر مطمئن شوید که Allowed-Origins مانند نمونه باشد و سایر موارد یا کامنت یا حذف گردند. // Automatically upgrade packages from these (origin:archive) pairs // // Note that in Ubuntu security updates may pull in new dependencies // from non-security sources (e.g. chromium). By allowing the release // pocket these get automatically pulled in. Unattended-Upgrade::Allowed-Origins { "${distro_id}:${distro_codename}"; "${distro_id}:${distro_codename}-security"; // Extended Security Maintenance; doesn't necessarily exist for // every release and this system may not have it installed, but if // available, the policy for updates is such that unattended-upgrades // should also install from here by default. "${distro_id}ESMApps:${distro_codename}-apps-security"; "${distro_id}ESM:${distro_codename}-infra-security"; // "${distro_id}:${distro_codename}-updates"; // "${distro_id}:${distro_codename}-proposed"; // "${distro_id}:${distro_codename}-backports"; }; همچنین ممکن است بخواهید در صورت لزوم سیستم بصورت خودکار بعد از بروز رسانی ریستارت شود یا خیر. حالت پیش فرض ریستارت فوری سیستم بعد از بروزرسانی می باشد ، اما شما می توانید به آن زمان اختصاص دهید یا بطور کامل آن با قراردادن “false” آن را غیر فعال کنید. ایجاد SSHKeys و اتصال از طریق PUTTY

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

دربخش Key comment می توانید اطلاعاتی را که دوست دارید وارد کنید . (عموما ایمیل یا نام شرکت و … می تواند باشد و معمولا برای مواردی که به بیش از یک زوج کلید نیاز است کاربرد دارد)

بخش Key pssphrase  نیز اختیاری می باشد و عملا بعنوان یک پسورد دوم استفاده می شود ولی اگر می خواهید پروسه اتصال به سرور را خودکار سازید این بخش را خالی رها کنید.

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

نکته بسیار مهم : کلید خصوصی تنها یکبار تولید می شود و باید آن را در محلی امن نگهداری کنید اگر کلید خصوصی را گم کنید و ورود با نام کاربری و رمز عبور را فراموش نمایید هیچگاه دیگر نخواهید توانست به سرور متصل شوید!

اکنون برا ی بررسی کارکرد درست sshKeys  ، پنجره سرور را ببندید تا دوباره با استفاده از این کلید و بدون وارد نمودن پسورد به سرور وارد شویم.

قرار دادن کلید عمومی در سرور

پس ار ورود به سرور دستورهای زیر را اجرا نمایید:

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys

سپس دستور زیر را اجرا نمایید با این دستور شما یک فایل برای ذخیره کلید عمومی بر روی سرور ایجاد می کنید

sudo nano ~/.ssh/authorized_keys

حالا همان قسمت آبی را که از روی Puttygen کپی کرده بودیم را paste  نموده وبا زدن دکمه های Ctr + x  و تایپ حرف y فایل را ذخیره می کنیم.

قرار دادن کلید عمومی در سرور

ایجاد پروفایل Putty برای ذخیره تنظیمات اتصال به سرور:

بر روی ویندوز خودتان مجددا برنامه Putty  را اجرا کنید:

در قسمت Hostneme  آی پی یا نام هاست خود را وارد کنید و در قسمت پورت عدد ۲۲ را وارد نمایید

و با رفتن به مسیر Connection > SSH  و کلیک بر روی Auth   در قسمت مشخص شده در تصویر زیر، فایل کلید خصوصی را آدرس دهی نمایید:

سپس بر بخش Sessions  برگشته و نامی را برای این تنظیمات در فیلد  Saved Sessions  وارد نموده و نهایتا روی save  کلیک کنید.

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

حالا پس از مطمئن شدن از اتصال وقت آن است تا ورود با نام کاربری و پسورد را در سرور غیر فعال نماییم  پس دستور زیر را اجرا کنید:

sudo nano /etc/ssh/sshd_config

و با جایگزینی عبارات

#PasswordAuthentication yes  

با عبارات

PasswordAuthentication no

نکته:

برای جستجوی یک عبارت در ویرایشگر nano  می توانید از ترکیب کلیدهای Ctr+w استفاده نمایید

در هنگام جستجوی عبارت PasswordAuthentication دقت کنید که شاید در خط دیگری هم این فرمان ذکر شده باشد که آن را هم باید تغییر دهید.

و مانند قبل Ctr + x  را فشرده و کلید y و نهایتا اینتر را فشار دهید.
و برای تکمیل پروسه خود عبارت زیر را برای ریستارت سرویس SSH اجرا نمایید:

sudo service ssh restart

حالا قبل از خارج شدن از سرور یک بار دیگر به putty رفته و با دبل کلیک بر روی پروفایل خود مجددا تلاش کنید تا به سرور وصل شوید. اگرموفق به اتصال شدید پس همه تنظیمات درست انجام شده است.

تنظیمات فایروال برای امنیت سرور

فایروال با مسدود نمودن ترافیک شبکه ورودی یک لایه امنیتی دیگر را برای امنیت سرور فراهم می کند. در اینجا قصد داریم تا iptable  فایروال را توضیح دهیم. که بیشترین استفاده را در لینوکس دارد و بصورت پیش فرض نصب می گردد.

به منظور ساده سازی روند اضافه نمودن قوانین به فایروال از پکیجی به نام ufw که مخفف Uncomplicated Firewall  ( فایروال ساده ) می باشد. پکیج Ufw نیز معمولا بصورت پیش فرض نصب می گردد. اما اگر نصب نبود با دستور زیر آن را نصب می کنیم:

اکنون که به ufw دسترسی دارید، شما می توانید قوانین جدید را به آن اضافه نمایید تا کلیه ترافیک ورودی و خروجی مسدود و تنها پورت های SSH (22), HTTP (80), and HTTPS (443)   را بصورت باز قراردهد.

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https

برای مشاهده اینکه قوانین ما اعمال شده است یا خیر دستور زیر را اجرا می کنیم:

 sudo ufw show added

تنظیمات فایروال سرور ubuntu

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

sudo ufw enable

برای تایید قوانین دستور زیر را نیز باید وارد نمایید:

sudo ufw status verbose
تنظیمات فایروال سرور ubuntu

نصب پکیج  Fail2ban

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

برای نصب دستور زیر را اجرا می کنیم:

sudo apt install fail2ban

پیکربندی پیش فرض می تواند برای مدت ۱۰ دقیقه بعد از ۶ تلاش ناموفق SSH برای ورود به سیستم آن IP را مسدود کند .

حال برای اجرای این پکیج دستور زیر را می نویسیم:

sudo service fail2ban start

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

بخش های بعدی

بخش دوم

نصب NGINX روی سرور مجازی

در این بخش کلیه کارهایی را که باید برای پیکربندی وب سرور NGINX انجام دهیم را با جزئیات کامل توضیح می دهیم . همچنین دستورات مهم داخل فایل کانفیگ nginx را بصورت جزئی بیان می کنیم. نهایتا برای آسانی کار یک فایل نهایی پیکربندی NGINX را هم در اختیارتان خواهیم گذاشت تا با زحمت کمی آن را در داخل فایل پیکربندی nginx بازنویسی کنید.

مطالعه بیشتر

۲ نظر

نظرتان را بگویید