نحوه نصب گواهینامه SSL رایگان در Debian 10 برای ایمن سازی Nginx

نحوه نصب گواهینامه SSL رایگان در Debian 10 برای ایمن سازی Nginx

Let’s Encrypt یک مرجع صدور گواهی (CA) است که به شما امکان می دهد گواهی SSL/TLS را به صورت رایگان و آسان دریافت کنید و از پروتکل HTTPS رمزگذاری شده در وب سایت خود استفاده کنید. ساده شدن این فرآیند به دلیل استفاده از Certbot است که سعی می کند تمام مراحل این فرآیند را به صورت خودکار انجام دهد. در این مقاله وبلاگ پارس پک، نحوه نصب گواهی SSL بر روی سرور توزیع Debian 10 و ایمن سازی وب سرور Nginx خود با استفاده از Certbot را به شما آموزش می دهیم. پس تا انتها با این مقاله همراه باشید.

پیش نیازها

برای اینکه بتوانید مراحل ذکر شده در این مقاله را مرحله به مرحله طی کنید و بهترین استفاده را از آن ببرید، باید پیش نیازهای زیر را داشته باشید:

1. یک سرور با توزیع Debian 10 با یک کاربر غیر ریشه با دسترسی sudo و راه اندازی فایروال روی آن نصب شده است.

2. دامنه تخصصی

3. هر دو رکورد DNS زیر باید روی سرور شما تنظیم شوند:

  • رکورد your_domain که به آدرس IP عمومی سرور شما اشاره می کند.
  • یک ورودی www.your_domain که به آدرس IP عمومی سرور شما اشاره می کند.

4. مطمئن شوید Nginx روی Debian 10 نصب شده باشد و دامنه شما دارای سرور مسدود شده باشد.

ایمن سازی Nginx با نصب یک گواهی SSL رایگان در Debian 10

روش گام به گام برای نصب گواهینامه SSL رایگان در دبیان 10

برای این منظور لازم است مراحل زیر را به ترتیب دنبال کنید:

مرحله 1: Certbot را نصب کنید

اولین قدم برای دریافت گواهینامه رایگان SSL از Let’s Encrypt این است که نرم افزار Certbot را روی سرور خود نصب کنید. نصب بسته python3-certbot-nginx از مخزن Debian 10 به شما امکان نصب و استفاده از افزونه Nginx Certbot را می دهد.

توجه داشته باشید که دبیان 10 در حال حاضر از Python 2.0 و Python 3.0 پشتیبانی می کند. اما Python 2.0 در ژانویه 2020 منسوخ شده است. بنابراین واضح است که استفاده از Python 3 و بسته python3-certbot-nginx گزینه بهتری خواهد بود.

قبل از نصب بسته python3-certbot-nginx، ابتدا باید لیست بسته خود را به روز کنید. برای این کار از دستور زیر استفاده کنید:

$ sudo apt update

در مرحله بعد، باید وابستگی های بسته python3-certbot-nginx را نصب کنید. این وابستگی ها عبارتند از:

  • python3-acme
  • python3-certbot
  • python3-mocket
  • python3-openssl
  • python3 – pkg – منابع
  • python3-pyparsing
  • python3-zope.interface

برای این منظور می توانید از دستور زیر استفاده کنید:

$ sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

در نهایت، بسته python3-certbot-nginx نیز از طریق دستور زیر نصب خواهد شد:

$ sudo apt install python3-certbot-nginx

Certbot اکنون فعال و آماده استفاده است. با این حال، برای پیکربندی SSL برای Nginx، باید برخی از تنظیمات Nginx را انجام داده و تأیید کنید.

مرحله 2: پیکربندی Nginx را بررسی کنید

Certbot باید بلوک سرور صحیح را در پیکربندی Nginx شما پیدا کند تا بتواند SSL را به صورت خودکار پیکربندی کند. به طور خاص، این کار را با جستجوی یک دستورالعمل Server_name که با نام دامنه درخواستی شما مطابقت دارد، انجام می دهد.

تنظیمات پیش فرض ما این است که شما از قبل Nginx را روی سرور خود نصب کرده اید. در این مورد، معمولاً باید یک بلوک سرور برای دامنه خود در /etc/nginx/sites-available/your_domain داشته باشید که در آن دستور Server_name قبلاً به درستی تنظیم شده است.

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

$ sudo nano /etc/nginx/sites-available/your_domain

اکنون خط server_name را در این فایل بیابید. احتمالا چیزی شبیه به این:

...
server_name your_domain www.your_domain;
...

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

$ sudo nginx -t

اگر پس از صدور این دستور با خطا مواجه شدید، باید با استفاده از روشی که در بالا ذکر شد، فایل پیکربندی را باز کرده و مشکل را اصلاح کنید. این مشکل ممکن است ناشی از اشتباهات املایی یا درج کاراکترها باشد. پس از رفع مشکل، باید Nginx را مجدداً بارگیری کنید تا تغییرات پیکربندی جدید اعمال شود:

$ sudo systemctl reload nginx

Certbot اکنون می تواند بلوک سرور صحیح را پیدا کرده و آن را به روز کند. در مرحله بعد، باید فایروال را به روز کنید تا ترافیک HTTPS مجاز باشد.

مرحله 3: با استفاده از فایروال به ترافیک HTTPS اجازه دهید

در این مرحله، باید به ترافیک HTTPS با استفاده از فایروال خود اجازه دهید. اما قبل از آن، باید تنظیمات فایروال فعلی خود را بررسی کنید. برای این کار از دستور زیر استفاده کنید:

$ sudo ufw status

در این صورت احتمالاً با متنی مشابه زیر مواجه خواهید شد. همانطور که می بینید، پیکربندی در این مثال به گونه ای است که فقط ترافیک HTTP مجاز است:

Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx HTTP                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

برای فعال کردن ترافیک HTTPS، ابتدا باید به Nginx اجازه کامل به نمایه Nginx بدهید و سپس مجوز HTTP اضافی Nginx را حذف کنید:

sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP'

مجدداً با دستور ufw status وضعیت پیکربندی را بررسی کنید:

$ sudo ufw status

اگر تمام مراحل قبلی را به درستی انجام داده اید، خروجی دستور بالا باید به صورت زیر باشد:

Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx Full (v6)            ALLOW       Anywhere (v6)

در مرحله بعد باید Certbot را اجرا کرده و گواهینامه های خود را بازیابی کنید.

مرحله 4: گواهی SSL دریافت کنید

Certbot راه حل های مختلفی را برای دریافت گواهینامه SSL با استفاده از افزونه ها ارائه می دهد. به عنوان مثال، افزونه Nginx می تواند Nginx را مجدداً پیکربندی کند و در صورت نیاز پیکربندی را بارگیری مجدد کند. برای استفاده از این افزونه از دستور زیر استفاده کنید:

$ sudo certbot --nginx -d your_domain -d www.your_domain

این دستور Certbot را با استفاده از افزونه Nginx راه اندازی می کند. همچنین از -d برای تعیین دامنه هایی که می خواهیم گواهی SSL برای آنها معتبر باشد استفاده کنید.

اگر این اولین باری است که از Certbot استفاده می کنید، از شما خواسته می شود یک آدرس ایمیل وارد کنید و با شرایط استفاده موافقت کنید. پس از انجام این کار، Certbot با سرور Let’s Encrypt ارتباط برقرار می کند و سپس فرآیندی را ایجاد می کند تا اطمینان حاصل شود که شما کنترل کاملی بر دامنه ای دارید که برای آن درخواست گواهی SSL کرده اید.

اگر این فرآیند موفقیت آمیز بود، باید نحوه پیکربندی تنظیمات HTTPS خود را تعیین کنید:

Output
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

روش پیکربندی تنظیمات HTTPS را با وارد کردن یک عدد (1 یا 2) و سپس فشردن Enter انتخاب کنید. در این صورت پیکربندی به روز می شود و Nginx نیز برای استفاده از تنظیمات جدید بارگذاری مجدد می شود.

در نهایت، فرآیند Certbot با پیامی تکمیل می‌شود که به شما می‌گوید فرآیند موفقیت‌آمیز بوده و گواهی‌های مورد نیاز شما در کجا ذخیره می‌شوند. نمونه ای از این پیام در زیر آورده شده است:

Output
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/your_domain/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/your_domain/privkey.pem
   Your cert will expire on 2019-10-08. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

با این کار گواهی های شما دانلود، نصب و بارگیری می شود. اکنون وب سایت خود را با استفاده از پروتکل https باز کنید و به نشانگر امنیتی قرار داده شده در ابتدای آدرس وب سایت توجه کنید. اگر نماد قفل که معمولاً به رنگ سبز نشان داده می شود، در ابتدای URL قرار داده شده است، این فرآیند به درستی انجام شده است و وب سایت شما اکنون امن است. همچنین، اگر سرور خود را با استفاده از SSL Labs آزمایش کنید، یک A دریافت خواهید کرد. اما بیایید فرآیند تمدید گواهی را به عنوان آخرین مرحله امتحان کنیم.

مرحله 5: تمدید خودکار گواهی را با Certbot بررسی کنید

گواهینامه های SSL صادر شده توسط Let’s Encrypt فقط برای 90 روز معتبر هستند و پس از آن باید آنها را تمدید کنید. در این مقاله آموزشی از وبلاگ پارس پک، بسته Certbot با افزودن اسکریپت افزونه /etc/cron.d نصب می شود. این کار را به صورت خودکار برای شما انجام می دهد. روش کار به این صورت است که این اسکریپت دو بار در روز اجرا می شود و به طور کامل خودکار گواهی هایی را که تاریخ انقضای آنها کمتر از 30 روز است تمدید می کند.

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

$ sudo certbot renew --dry-run

اگر بعد از اجرای این دستور خطایی نمایش داده نشد، همه چیز درست است و Certbot گواهی شما را در صورت لزوم تمدید می کند و Nginx را برای اعمال تغییرات مجددا بارگذاری می کند. اگر فرآیند تمدید خودکار گواهی SSL ناموفق باشد، پیامی به آدرس ایمیل شما ارسال می شود که به شما هشدار می دهد که گواهینامه SSL منقضی شده است.

نتیجه

استفاده از پروتکل HTTPS برای امنیت وب سایت یکی از نکات مهمی است که هر وب سایتی باید به آن توجه کند. این کار با نصب یک گواهی SSL معتبر روی سرور انجام می شود. در این مقاله وبلاگ پارس پاک نحوه ایمن سازی سرور با توزیع Debian 10 را توضیح دادیم که این فرآیند شامل نصب Certbot، دریافت و نصب گواهینامه SSL و نحوه فعال سازی تمدید خودکار گواهی SSL می باشد.

سوالات متداول

1. Let’s Encrypt چیست؟

Let’s Encrypt سرویسی است که می توانید از آن برای دریافت گواهی رایگان SSL استفاده کنید. این کار با استفاده از یک API خودکار انجام می شود.

2. Certbot چیست؟

Certbot ابزار یا نوعی نرم افزار برای دریافت گواهی SSL است. این ابزار همچنین با هر CA یا Certificate Authority که از پروتکل ACME پشتیبانی می کند کار می کند.

3. آیا گواهی های صادر شده توسط Let’s Encrypt امن هستند؟

بله، Let’s Encrypt یک گواهی SSL معتبر است. بنابراین از نظر امنیت، گواهینامه های صادر شده توسط این CA به همان اندازه گواهینامه های غیر رایگان امن هستند.

4. آیا گواهی رایگان SSL توسط Let’s Encrypt EV تولید شده است؟

خیر، EV کاملترین نوع گواهینامه SSL است که نام رسمی شرکت شما را در توضیحات گواهینامه ذکر می کند. این گواهی رایگان نیست و برای دریافت آن باید مدارک شناسایی کسب و کار خود را به مرجع صدور گواهی ارائه دهید.









چگونه پورت SSH را در CentOS تغییر دهیم؟ پیکربندی SSH در CentOS

Secure Shell Protocol یا به اختصار SSH یکی از پروتکل های رمزنگاری برای کار ایمن در شبکه ای است که ممکن است ناامن باشد. در این مقاله وبلاگ پارس پک، نحوه پیکربندی SSH برای استفاده از پورت های مختلف در CentOS 7 را به شما آموزش می دهیم. پس تا پایان مقاله با ما همراه باشید.

نکاتی در مورد پورت پیش فرض 22 و تغییر آن

اگرچه پیکربندی SSH برای گوش دادن به پورتی غیر از درگاه پیش‌فرض 22 ممکن است از منظر امنیتی مفید نباشد، اما مزایایی دارد. دو نمونه از مزایای استفاده از پورت های غیر از 22 عبارتند از:

  • این می‌تواند حملات تصادفی خودکاری را که سرویس‌هایی را که روی پورت‌های پیش‌فرض اجرا می‌شوند و حملاتی که هدفشان سوءاستفاده از آسیب‌پذیری‌های مرتبط با نسخه‌های خاص OpenSSH و کتابخانه‌های رمزنگاری آن‌ها است، کاهش دهد.
  • استفاده از پورت‌هایی غیر از پورت پیش‌فرض، حجم فایل‌های گزارش را کاهش می‌دهد. زیرا با این کار تلاش‌های ناموفق برای ورود به سیستم در پورت SSH پیش‌فرض متوقف می‌شود.

نحوه تغییر پورت SSH در CentOS

نحوه پیکربندی SSH برای استفاده از پورت های مختلف در CentOS 7

برای پیکربندی SSH در پورتی غیر از پورت 22، مراحل زیر را دنبال کنید:

1. وارد سرور خود شوید و فایل پیکربندی سرور OpenSSH را از /etc/ssh/sshd_config برای ویرایش باز کنید. برای این منظور می توانید از دستور زیر استفاده کنید:

vim /etc/ssh/sshd_config

2. خط مربوط به پورت 22 را از کامنت خارج کنید و آن را روی پورت مورد نظر خود تنظیم کنید. با این حال، به عنوان یک اقدام امنیتی، توصیه می کنیم sshd را برای گوش دادن به پورت پیش فرض و پورت هدف پیکربندی کنید تا فایل پیکربندی شما حاوی دو خط کد زیر باشد. پس از اطمینان از اینکه پورت جدید به درستی کار می کند، می توانید تنظیمات پیش فرض پورت را حذف کنید:

Port 22
Port 3456 <where 3456 is your preferred port>

نکته اول: مطمئن شوید که هیچ سرویس دیگری از پورت تازه معرفی شده استفاده نمی کند.

نکته دوم: با توجه به تغییرات انجام شده پورت های قبلی را تعویض کنید.

3. اگر فایروال فعال و در حال اجرا است، اجازه دهید پورت جدید از طریق آن باز شود:

firewall-cmd --add-port=3456/tcp --permanent
firewall-cmd --reload

4. سرویس sshd را راه اندازی مجدد کنید:

systemctl restart sshd

5. اگر پس از راه اندازی مجدد با چنین پیغام خطایی مواجه شدید:

Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service" and "journalctl -xe" for details.

و با اجرای journalctl -xe متوجه شدید که sshd با پورت های جدید به دلیل مجوزهای SELinux شروع نمی شود:

# journalctl -xe 
...output snipped...
Sep 16 08:21:12 server1 kernel: type=1400 audit(1537086072.510:4): avc: denied { name_bind } for pid=1074 comm="sshd" src=6378 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:unres
Sep 16 08:21:12 server1 sshd[1074]: error: Bind to port 6378 on 0.0.0.0 failed: Permission denied.
Sep 16 08:21:12 server1 sshd[1074]: error: Bind to port 6378 on :: failed: Permission denied.
Sep 16 08:21:12 server1 kernel: type=1400 audit(1537086072.515:5): avc: denied { name_bind } for pid=1074 comm="sshd" src=6378 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:unres
Sep 16 08:21:12 server1 sshd[1074]: fatal: Cannot bind any address.
Sep 16 08:21:12 server1 systemd[1]: sshd.service: main process exited, code=exited, status=255/n/a
Sep 16 08:21:12 server1 systemd[1]: Failed to start OpenSSH server daemon.
...output snipped...

شما می توانید این مشکل را با اطلاع رسانی SELinux از تغییرات اعمال شده با استفاده از کد زیر حل کنید:

semanage port -a -t ssh_port_t -p tcp 3456

اکنون بررسی کنید که SELinux به sshd اجازه گوش دادن به دو پورت اعلام شده را با استفاده از دستور زیر داده است:

semanage port -l | grep ssh
ssh_port_t  tcp      3456, 22

اگر دستور semanage پیدا نشد، بررسی کنید که کدام یک از بسته ها semanage را ارائه می دهد و همان بسته را نصب کنید:

yum whatprovides semanage
...output snipped...
policycoreutils-python-2.5-22.el7.x86_64 : SELinux policy core python utilities
Repo : base
Matched from:
Filename : /usr/sbin/semanage
yum install -y policycoreutils-python

6. اکنون تست کنید که آیا می توانید با پورت SSH جدید وارد سرور شوید:

ssh -p 3456 [email protected]

در صورت موفقیت آمیز بودن، مراحل را با نظر دادن درگاه پیش فرض در فایل پیکربندی sshd یا مسدود کردن آن در فایروال حذف کنید. حتماً پس از اعمال تغییرات، sshd را مجددا راه اندازی کنید یا فایروال را مجدداً بارگذاری کنید.

نتیجه

SSH یا Secure Shell Protocol یک پروتکل ارتباطی شبکه ای است که به دو کامپیوتر کمک می کند تا با یکدیگر ارتباط برقرار کرده و داده ها را به اشتراک بگذارند. این پروتکل به طور گسترده در سرورها استفاده می شود. پورت SSH پیش فرض پورت شماره 22 است. اما گاهی اوقات به دلایل مختلف نیاز به تغییر این پورت خواهید داشت. در این مقاله وبلاگ پارس پاک نحوه تغییر پورت SSH در CentOS را به شما آموزش دادیم تا بتوانید از پورت های دیگر در سیستم عامل CentOS به جز پورت پیش فرض استفاده کنید.

سوالات متداول

1. پورت چیست؟

راه های زیادی برای نفوذ به خانه در دنیای واقعی وجود دارد. اگرچه درب ورودی اصلی ترین راه ورود به خانه است، اما احتمالاً می توانید از پنجره وارد خانه شوید. پورت در واقع راه ورود به دستگاه متصل به شبکه است. بنابراین با داشتن IP و پورت دستگاه می توانید به آن متصل شوید.

2. SSH مخفف چیست و به چه معناست؟

SSH مخفف Secure Shell Protocol است و به دو کامپیوتر متصل به شبکه اجازه می دهد تا با یکدیگر ارتباط برقرار کرده و اطلاعات را مبادله کنند.

3. پورت پیش فرض در پروتکل SSH چیست؟

SSH معمولاً روی پورت 22 کار می کند. با این حال، در صورت نیاز، می توانید SSH را برای استفاده از پورت های دیگر در توزیع های مختلف لینوکس پیکربندی کنید. در این مقاله نحوه انجام این کار در توزیع CentOS 7 را توضیح دادیم.









OpenWrt چیست؟ آموزش نصب OpenWrt

آیا می دانستید که روتر شما سیستم عاملی مانند کامپیوتر دارد و در صورت نیاز قابل تعویض است؟ اگر می خواهید روتر خود را به یک سرور SSH، VPN، شکل دهنده ترافیک یا سرویس گیرنده BitTorrent تبدیل کنید، OpenWrt ابزاری برای استفاده است. در این آموزش لینوکس می خواهیم این ابزار را به شما معرفی کنیم; پس تا انتها همراه ما باشید.

OpenWrt چیست؟

پروژه OpenWrt یک سیستم عامل لینوکس برای دستگاه های تعبیه شده مانند مودم Wi-Fi شما است. OpenWrt به جای ایجاد سفت‌افزار ثابت و غیرقابل تغییر، یک سیستم فایل کاملاً قابل نوشتن با قابلیت مدیریت بسته ارائه می‌کند. با این کار، نیازی به انتخاب اپلیکیشن و تنظیمات پیشنهادی ISP خود ندارید و می توانید با استفاده از بسته های مناسب برای هر اپلیکیشن، دستگاه خود را به دلخواه تنظیم کنید.

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

چرا باید از OpenWrt استفاده کنیم؟

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

  • توسعه پذیری: این ابزار امکانات و امکاناتی را ارائه می دهد که تنها در پیشرفته ترین دستگاه ها دیده می شود. بیش از سه هزار بسته برنامه OpenWrt استاندارد شده است. بنابراین، می‌توانید همان پیکربندی را روی هر دستگاه پشتیبانی‌شده، از جمله روترهای دو یا حتی پنج ساله شبیه‌سازی کنید.
  • امنیت: فرآیند نصب OpenWrt در حالت غیرفعال بودن وای فای انجام می شود و هیچ رمز عبور ضعیف یا ضعف امنیتی در این فرآیند وجود ندارد. اجزای نرم افزار مورد استفاده در این ابزار به طور مداوم به روز می شوند. بنابراین آسیب پذیری ها در مدت زمان کوتاهی پس از شناسایی وصله می شوند.
  • عملکرد و ثبات: سیستم عامل OpenWrt متشکل از ماژول های استانداردی است که در همه دستگاه های پشتیبانی شده وجود دارد. بنابراین، هر ماژول احتمالاً بیشتر از سیستم عامل پیش فرض دستگاه شما آزمایش شده و دارای اشکال است.
  • پشتیبانی قوی از جامعه کاربر: اعضای انجمن OpenWrt، OpenWrt Developer و OpenWrt Admin بسیار فعال هستند و کاربران می توانند مستقیماً با توسعه دهندگان ارتباط برقرار کنند و از آنها پشتیبانی دریافت کنند.
  • راهنمای تحقیق وب: بسیاری از تیم های تحقیقاتی از OpenWrt به عنوان بستری برای انجام تحقیقات خود در مورد عملکرد شبکه استفاده می کنند.
  • منبع باز و رایگان: این سیستم عامل متن باز و کاملا رایگان است. در واقع، تیمی از توسعه دهندگان و شرکت ها و افراد برای توسعه و نگهداری آن داوطلب شدند.

نرم افزار OpenWrt چه کاربردهایی دارد؟

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

  • استفاده از سرور SSH برای تونل زنی SSH: پروژه OpenWrt شامل یک سرور SSH است. بنابراین کاربران می توانند به ترمینال آن دسترسی داشته باشند. اگر سرور SSH را به اینترنت متصل کنید، می توانید از راه دور به آن دسترسی داشته باشید و از تونل SSH برای رمزگذاری ترافیک شبکه خود استفاده کنید. با این کار به راحتی می توانید محدودیت های اینترنت را دور بزنید. در واقع این را می توان نصب VPN روی مودم شما دانست.
  • نصب VPN روی مودم: تونل SSH همان کاری را که VPN انجام می دهد انجام می دهد، ترافیک شما را رمزگذاری می کند. با این حال، پس از نصب سیستم عامل OpenWrt، می توانید VPN را نیز روی روتر خود نصب کنید. با این کار، نیازی به نصب VPN روی دستگاه های متصل به این روتر ندارید. به عبارت دیگر، با هر روش تونل SSH یا نصب VPN بر روی مودم، می‌توانید محدودیت‌های اینترنت را بدون نیاز به نصب VPN روی تلفن، لپ‌تاپ یا سایر دستگاه‌های متصل به مودم دور بزنید.
  • نصب کلاینت BitTorrent: می توانید با نصب سیستم عامل OpenWrt بر روی روتر دارای حافظه و پورت USB و اتصال حافظه خارجی به آن یا داشتن نوعی حافظه متصل به شبکه، از آن به عنوان کلاینت BitTorrent استفاده کنید.
  • نرم افزار سرور در حال اجرا: مخازن نرم افزار OpenWrt حاوی بسته هایی هستند که عملیات هایی مانند وب سرور، سرور IRC، ردیاب BitTorrent و غیره را فعال می کنند. با این کار می توانید از روتر خود به عنوان سرور استفاده کنید.
  • ترافیک تحویل و QoS: سیستم عامل OpenWrt اجازه می دهد تا ترافیک ارسال بسته از طریق روتر شما عبور کند. با این کار می توانید انواع ترافیک را اولویت بندی کنید. همچنین امکان اولویت بندی ترافیک هدایت شده به دستگاه های مختلف وجود دارد.
  • ایجاد یک شبکه مهمان: پروژه OpenWrt شامل دستورالعمل هایی برای ایجاد یک شبکه بی سیم برای کاربران مهمان است که جدا از شبکه اصلی عمل می کند.
  • بررسی ترافیک شبکه: با استفاده از سیستم عامل OpenWrt، امکان نظارت بر ترافیک شبکه وجود دارد.

مزیت OpenWrt چیست؟

راهنمای نصب OpenWrt

این سیستم عامل در ابتدا برای روترهای Linksys WRT54G طراحی شده بود. اما اکنون از مدل های دیگر روتر پشتیبانی می کند. با مراجعه به وب سایت OpenWrt می توانید لیست روترهای پشتیبانی شده را مشاهده کنید. نصب OpenWrt به معنای جایگزینی سفت‌افزار پیش‌فرض روتر با OpenWrt Linux است که می‌توان آن را فلش کردن گوشی با کاستوم رام در نظر گرفت. چهار روش مختلف برای نصب این سیستم عامل وجود دارد:

1. استفاده از سیستم عامل OEM

رابط وب سفت‌افزار OEM را با مرورگر خود باز کنید و فایل تصویری میان‌افزار OpenWrt Factory را با استفاده از گزینه ارتقای سیستم عامل نصب کنید و دستگاه را برای بوت شدن با سیستم عامل OpenWrt بازنشانی کنید.

نکته: گاهی اوقات سیستم عامل OEM فقط اجازه فلش کردن یک دستگاه با یک فایل سیستم عامل خاص را می دهد. در این حالت نمی توانید OpenWrt را با استفاده از روش بالا نصب کنید.

2. از بوت لودر و پورت اترنت استفاده کنید

اکثر بوت لودرها گزینه ای برای نصب سیستم عامل روتر ارائه می دهند. برخی از بوت لودرها از سرویس گیرنده TFTP، برخی از سرویس گیرندگان FTP، برخی از سرورهای FTP، برخی از وب سرورها و برخی دیگر از پروتکل های XMODEM استفاده می کنند. قبل از هر کاری باید موارد زیر را مشخص کنید:

  • آدرس IP پیش فرض بوت لودر
  • پروتکل و اینکه آیا بوت لودر به عنوان مشتری یا سرور اجرا می شود
  • شماره پورت صحیح
  • رابط کاربری برای اتصال
  • نام کاربری و رمز عبور (در صورت نیاز)
  • زمانی که باید پس از راه اندازی دستگاه، اتصال برقرار کنید

پس از تعیین تمام موارد فوق، طبق مراحل زیر عمل کنید:

1. نرم افزار مناسب را بر روی کامپیوتر خود نصب کنید. به عنوان مثال، اگر بوت لودر از سرور FTP استفاده می کند، باید نرم افزار سرویس گیرنده FTP را نصب کنید.

2. صفحه دستورالعمل مربوط به نرم افزار نصب شده (tftp، ftpd، ftp، ncftp، ftpd، pure-ftpd یا…) را بخوانید.

3. یک آدرس IP ثابت در رابط کاربری رایانه خود تنظیم کنید که در همان بلوک آدرس IP پیش فرض در بوت لودر باشد.

4. کامپیوتر خود را به روتر وصل کنید.

5. روتر را خاموش و روشن کنید.

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

7. فایل سیستم عامل OpenWrt را نصب کنید.

8. بوت لودر را تغییر ندهید مگر اینکه دستور انجام این کار داده شود.

نکته: گاهی اوقات حتی Bootloader به شما اجازه فلش کردن سیستم عامل غیر OEM را نمی دهد. اگر زمان زیادی ندارید، اتصال بین کامپیوتر و روتر باید سریع انجام شود.

3. استفاده از بوت لودر و پورت سریال

برای نصب OpenWrt با استفاده از این روش به لینک زیر مراجعه کنید:

generic.flushing.serial

4. از طریق JTAG نصب کنید

برای نصب OpenWrt با استفاده از JTAG به لینک زیر مراجعه کنید:

port.jtag

همانطور که مشاهده کردید، اگر به اندازه کافی خوش شانس هستید که OpenWrt را نصب کنید، فقط باید فایل نصب را انتخاب کرده و گزینه Upgrade را کلیک کنید. اما اگر این روش برای شما جواب نداد، احتمالاً باید از طریق پورت اترنت یا پورت سریال به بوت لودر روتر دسترسی داشته باشید و برخی کارها را به صورت دستی انجام دهید.

ترمینال OpenWrt و رابط کاربری

پس از نصب OpenWrt، با استفاده از نرم افزار سرویس گیرنده SSH مانند PuTTY در سیستم عامل ویندوز یا دستور SSH داخلی برای لینوکس یا مک، وارد پوسته BusyBox این سیستم عامل شوید. BusyBox یک پوسته معمولی است که در سیستم های لینوکس جاسازی شده استفاده می شود و OpenWrt شامل برنامه های رایجی مانند ویرایشگر متن vi برای ویرایش فایل ها است. همانند سایر سیستم های لینوکس، می توانید اسکریپت های مختلفی را روی این پوسته اجرا کنید. OpenWrt از مدیر بسته opkg برای نصب بسته ها از مخازن خود استفاده می کند که حاوی هزاران بسته هستند. این سیستم عامل از کمک رابط کاربری UCI برای پیکربندی سیستم شما استفاده می کند.

نتیجه

اگر مودم خانگی شما اخیراً خراب شده و اتصال ناپایدار دارد یا می خواهید VPN را روی مودم خود نصب کنید، OpenWrt ابزار مناسبی برای شماست. همچنین اگر می خواهید کنترل بیشتری روی شبکه داخلی خود داشته باشید، بد نیست OpenWrt را روی روترهای خود نصب کنید.

OpenWrt یک سیستم عامل متن باز با ویژگی های سفارشی سازی بسیاری است که می توانید به جای سیستم عامل پیش فرض روی مودم یا روتر خود نصب کنید. OpenWrt نه تنها دارای ویژگی های بسیار بیشتری در مقایسه با سیستم عامل پیش فرض روتر شماست. بلکه شبکه پایدارتر و ایمن تری را برای شما فراهم می کند.

سوالات متداول

1. OpenWrt چیست؟

OpenWrt سخت افزاری است که می توانید روی روتر یا مودم خود نصب کنید. با انجام این کار OpenWrt فریمور پیش فرض مودم یا روتر شما را جایگزین می کند.

2. کاربردهای OpenWrt چیست؟

از جمله کاربردهای مهم OpenWrt می توان به اتصال به سرور SSH لینوکس یا نصب VPN روی مودم برای دور زدن محدودیت های اینترنت، ارسال ترافیک، ایجاد شبکه مهمان، اجرای نرم افزار سرور و نصب کلاینت BitTorrent اشاره کرد.

3. چه کسی باید OpenWrt را نصب کند؟

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









نصب رایگان ssl روی centos و apache

Let’s Encrypt یک مرجع صدور گواهی SSL (CA) است که گواهینامه های رایگان برای رمزگذاری امن اطلاعات رد و بدل شده بین سرور و مشتری (TLS) ارائه می دهد. با این گواهی ها می توانید از پروتکل امن HTTPS در وب سایت های خود استفاده کنید. فرآیند ایجاد، اعتبارسنجی، امضا و تمدید گواهی ها در این وب سایت با استفاده از یک نرم افزار کلاینت به نام Certbot انجام می شود.

در این مقاله وبلاگ پارس پک، نحوه استفاده از Certbot برای راه اندازی گواهی SSL/TLS از طریق Let’s Encrypt بر روی سرور CentOS 7 که آپاچی را به عنوان وب سرور اجرا می کند، توضیح می دهیم. همچنین نحوه استفاده از Corn Job برای تمدید خودکار گواهی را آموزش می دهیم.

پیش نیازها

برای استفاده بهتر از این مطالب آموزشی، پیش نیازهای زیر ضروری است:

  • سرور CentOS 7 با یک کاربر غیر ریشه با امتیازات sudo راه اندازی می شود.
  • فایروال اصلی برای سرورهای جدید CentOS 7 پیکربندی شده است.
  • آپاچی روی سرور CentOS 7 با پیکربندی میزبان مجازی نصب شده است.
  • دامنه ای که شما صاحب آن هستید.
  • DNS رکوردی که دامنه شما را با آدرس IP عمومی سرور شما مرتبط می کند.

مرحله 1: Certbot Let’s Encrypt Client را نصب کنید

برای استفاده از Let’s Encrypt برای دریافت گواهی SSL، ابتدا باید Certbot و mod_ssl را نصب کنید. mod_ssl یک ماژول آپاچی است و از رمزگذاری SSL v3 پشتیبانی می کند.

نکته ای که در این مرحله باید به آن توجه کرد این است که بسته Certbot به طور پیش فرض از طریق مدیر بسته در دسترس است و برای نصب آن باید مخزن EPEL را فعال کنید. برای این کار دستور زیر را اجرا کنید:

sudo yum install epel-release

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

sudo yum install certbot python2-certbot-apache mod_ssl

در طول مراحل نصب، از شما خواسته می شود که کلید GPG را وارد کنید. این کلید می تواند صحت بسته ای را که نصب می کنید تأیید کند. برای اینکه فرآیند نصب کامل شود، با تایپ حرف y و سپس فشار دادن کلید Enter روی صفحه کلید، کلید GPG را تأیید کنید. با نصب این سرویس، اکنون آماده اجرای Certbot و بازیابی گواهینامه های خود هستید.

مرحله دوم: اخذ گواهینامه

پس از نصب Certbot، می توانید از آن برای درخواست گواهی SSL برای دامنه خود استفاده کنید. استفاده از Certbot Let’s Encrypt برای تولید گواهی SSL برای Apache بسیاری از این فرآیندها را خودکار می کند. کلاینت به طور خودکار گواهی SSL جدیدی را دریافت و نصب می کند که برای دامنه هایی که به عنوان پارامترهای ورودی ارائه کرده اید معتبر است.

برای شروع فرآیند نصب به صورت تعاملی و دریافت گواهینامه ای که فقط یک دامنه را پوشش می دهد، از دستور Certbot به صورت زیر استفاده کنید:

sudo certbot --apache -d example.com

با استفاده از این دستور، Certbot با پلاگین –apache راه اندازی می شود و دامنه ای که بعد از -d می آید برای پیکربندی گواهی آماده می شود.

اگر می خواهید گواهینامه ای تولید کنید که برای چندین دامنه یا زیر دامنه معتبر باشد، می توانید آنها را به عنوان پارامتر به دستور اضافه کنید و هر کدام را بعد از -d علامت گذاری کنید. در این روش اولین دامنه ای که بعد از -d وارد می شود، دامنه ریشه ای است که Let’s Encrypt برای تولید گواهی استفاده می کند. بنابراین، نام دامنه اصلی را به عنوان اولین پارامتر در ابتدای لیست قرار دهید و سپس دامنه های اضافی را به این لیست اضافه کنید. نحوه انجام این کار در کدهای زیر توضیح داده شده است:

sudo certbot --apache -d example.com -d www.example.com

در این مثال، دامنه ریشه example.com است.

علاوه بر این، ابزار Certbot ممکن است در طول فرآیند درخواست گواهی، اطلاعات دامنه را از شما بخواهد. اگر هنوز دامنه ندارید، می توانید از دستور زیر استفاده کنید:

sudo certbot --apache

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

اگر دامنه ارائه شده توسط دستور ServerName در فایل های میزبان مجازی مشخص نشده باشد، از شما خواسته می شود که این فایل را در حین عملیات مشخص کنید. در بیشتر موارد، فایل پیش فرض ssl.conf حاوی اطلاعاتی است که در این زمینه به آن نیاز دارید.

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

Output
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):2

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

Output
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2019-08-14. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

فایل های گواهی صادر شده در دایرکتوری /etc/letsencrypt/live در زیر شاخه ای از نام دامنه اصلی که انتخاب کرده اید در دسترس خواهند بود.

هنگامی که گواهی شما دانلود و نصب شد، می توانید وضعیت گواهی SSL خود را بررسی کنید تا مطمئن شوید همه چیز به درستی کار می کند. در مرحله بعد این کار را انجام خواهیم داد.

مرحله 3: وضعیت گواهی SSL را بررسی کنید

در این مرحله، می توانید تأیید کنید که Certbot گواهی SSL شما را به درستی با استفاده از ابزار Qualys SSL Server Tester تولید کرده است. برای انجام این کار، لینک زیر را در مرورگر خود تایپ کنید و example.com را با دامنه اصلی خود جایگزین کنید:

https://www.ssllabs.com/ssltest/analyze.html?d=example.com

در این صورت صفحه ای باز می شود که بلافاصله تست اتصال SSL به سرور شما آغاز می شود. نمونه ای از این صفحه در تصویر زیر نشان داده شده است:

شروع به آزمایش اتصال SSL به سرور کنید

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

پس از پایان تست، نتیجه با حرفی به شما نشان داده می شود که امنیت و کیفیت پیکربندی سرور شما را نشان می دهد. به عنوان مثال، حرف A امنیت و پیکربندی صحیح سرور را نشان می دهد:

نمایش امنیت و کیفیت پیکربندی سرور

پس از اطمینان از اینکه گواهی SSL به درستی در وب سایت نصب شده است، دامنه خود را با استفاده از پروتکل HTTPS در مرورگر خود باز کنید. یک وب سایت امن در مرورگر با نماد قفل سبز در ابتدای URL نشان داده می شود.

هنگامی که گواهی SSL نصب و تأیید شد، گام بعدی تنظیم تمدید خودکار گواهی است تا اطمینان حاصل شود که گواهی نصب شده همیشه معتبر است.

مرحله 4: تنظیمات تمدید خودکار گواهی SSL

گواهینامه های صادر شده توسط Let’s Encrypt به مدت 90 روز معتبر است. با این حال، توصیه می کنیم هر 60 روز یکبار گواهینامه SSL وب سایت خود را تمدید کنید تا احتمال خطا کاهش یابد. همچنین راه حل دیگر پیکربندی خودکار گواهینامه SSL است که به طور خودکار گواهی صادر شده شما را تمدید می کند.

ما با دستوری که برای تمدید گواهی SSL استفاده می شود شروع می کنیم. Certbot Let’s Encrypt فرمانی دارد که به طور خودکار گواهی نصب شده را بررسی می کند و در صورتی که گواهینامه کمتر از 30 روز از عمر آن گذشته باشد سعی می کند به طور خودکار آن را تمدید کند. می توانید با استفاده از دستور –dry-run شبیه سازی این مورد را اجرا کنید تا نحوه عملکرد پسوند دامنه را آزمایش کنید:

sudo certbot renew --dry-run

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

Output
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/example.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not due for renewal, but simulating renewal for dry run
Plugins selected: Authenticator apache, Installer apache
Starting new HTTPS connection (1): acme-staging-v02.api.letsencrypt.org
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for example.com
http-01 challenge for www.example.com
Waiting for verification...
Cleaning up challenges
Resetting dropped connection: acme-staging-v02.api.letsencrypt.org

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed with reload of apache server; fullchain is
/etc/letsencrypt/live/example.com/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates below have not been saved.)

Congratulations, all renewals succeeded. The following certs have been renewed:
  /etc/letsencrypt/live/example.com/fullchain.pem (success)
...

توجه داشته باشید که اگر یک گواهی برای چندین نام دامنه ایجاد کرده اید، فقط نام دامنه اصلی در خروجی نشان داده می شود. اما تمدید گواهینامه SSL برای همه این دامنه ها انجام خواهد شد.

یک راه حل عملی برای اطمینان از اینکه گواهینامه SSL شما منقضی نمی شود، ایجاد یک Corn Job است که به طور دوره ای دستور تمدید را برای شما اجرا می کند. از آنجایی که تاریخ انقضا ابتدا برای تمدید گواهی بررسی می شود و تمدید فقط در صورتی اتفاق می افتد که کمتر از 30 روز از تاریخ انقضا فاصله داشته باشید، ایجاد یک Corn Job که به صورت هفتگی یا حتی روزانه اجرا می شود خطرناک نخواهد بود.

مستندات رسمی Certbot توصیه می کند که کورن را دو بار در روز اجرا کنید. به این ترتیب، مطمئن خواهید بود که اگر Let’s Encrypt فرآیند ابطال گواهی را آغاز کند، کمتر از نیم روز برای تمدید گواهی با Certbot نیاز دارید.

با ویرایش Crontab یک کار جدید ایجاد کنید که به طور خودکار دو بار در روز تمدید می شود. برای انجام این کار با کاربر Root می توانید از دستور زیر استفاده کنید:

sudo crontab -e

در این صورت ویرایشگر متن شما به صورت پیش فرض Crontab را باز می کند که در حال حاضر یک فایل خالی است. با فشردن i وارد حالت insert شوید و خط زیر را اضافه کنید:

crontab
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

پس از اتمام، ESC را فشار دهید تا از حالت درج خارج شوید. سپس عبارت :wp را تایپ کرده و Enter را فشار دهید تا فایل ذخیره شده و خارج شوید. این باعث ایجاد یک شغل جدید ذرت می شود که روزانه در ظهر و نیمه شب اجرا می شود.

نتیجه

استفاده از گواهینامه SSL برای امنیت وب سایت ضروری است. با در نظر گرفتن این مشکل، در این مقاله از آموزش لینوکس و آموزش سنتی سیستم عامل یاد گرفتیم که چگونه از یک کلاینت نرم افزاری به نام Certbot برای صدور و نصب گواهی رایگان SSL/TLS بر روی سرور CentOS 7 و تمدید خودکار آن گواهی استفاده کنیم.

سوالات متداول

1. CentOS چیست؟

CentOS یک توزیع لینوکس است که یک پلتفرم محاسباتی متن باز و رایگان را ارائه می دهد که از نظر عملکردی با لینوکس مادرش Red Hat Enterprise سازگار است.

2. گواهی SSL چیست؟

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

3. Certbot چیست؟

Certbot نرم افزاری است که می توانید از آن برای نصب خودکار گواهی SSL/TLS بر روی سرور وب سایت خود استفاده کنید.

4. گواهینامه های SSL وب سایت Let’s Encrypt چه مدت اعتبار دارند؟

گواهینامه های صادر شده توسط Let’s Encrypt به مدت 90 روز معتبر خواهند بود. با این حال، توصیه می کنیم گواهی را پس از 60 روز تمدید کنید.









مونیت چیست؟ آشنایی با ابزارهای مدیریت و مانیتورینگ لینوکس

Monit یکی از ابزارهای نظارتی محبوب برای لینوکس و یونیکس است. مانیتورینگ یکی از سیستم های اصلی هر سروری است که تمام اطلاعات را نشان می دهد. هر وب سایت یا صاحب سرور باید داده های سرور خود را در یک صفحه نمایش جامع ببیند تا در صورت نیاز اقدامات لازم را انجام دهد. Monit دارای ویژگی های مفیدی مانند عملیات تکرار خودکار و نظارت قدرتمند است. در این مقاله ابزار Monit را معرفی کرده و نحوه نصب و استفاده از آن بر روی توزیع های مختلف لینوکس را شرح می دهیم.

مونیت چیست؟

Monit یک ابزار متن باز رایگان و مفید است که به طور خودکار فرآیندها، فایل ها، دایرکتوری ها، چک جمع ها، مجوزها، فایل های سیستمی و سرویس هایی مانند Apache، Nginx، MySQL، FTP، SSH و SMTP را در یونیکس یا لینوکس کنترل و مدیریت می کند. این ابزار سیستم ها و قابلیت های نظارتی عالی و مفیدی را در اختیار مدیران سیستم قرار می دهد.

سیستم مانیتورینگ Monit دارای یک رابط کاربری زیبا است که به شما امکان می‌دهد مستقیماً وضعیت سیستم و فرآیندهای راه‌اندازی را با استفاده از یک رابط وب HTTP(S) یا خط فرمان مشاهده کنید. برای دسترسی و مشاهده رابط وب سایت Monit، باید یک وب سرور مانند Apache یا Nginx را بر روی سیستم خود نصب کنید.

آشنایی با ابزار مانیتورینگ رایگان Monit

مونیت داره چیکار میکنه؟

Monit این قابلیت را دارد که در صورت عدم اجرای فرآیند و پاسخگویی، فرآیندی را مجدداً راه اندازی کند و در صورت استفاده از منابع زیاد، فرآیندی را متوقف کند. علاوه بر این، می‌توانید از Monit برای نظارت بر فایل‌ها و دایرکتوری‌ها، تغییرات فایل‌های سیستم، تغییرات چک‌سوم، تغییرات اندازه فایل یا تغییرات مهر زمانی استفاده کنید.

با Monit می‌توانید پورت‌ها و پروتکل‌ها و پروتکل‌های TCP/IP سرور لینوکس را نظارت کنید و میزبان‌های راه دور را پینگ کنید. Monit فایل لاگ خود را نگه می دارد و در صورت رعایت شرایط خاص هشدارهای لازم را ارسال می کند.

مزایای Monit

  • نظارت بر فرآیند
  • نظارت بر فایل
  • نظارت بر دایرکتوری ها
  • دستگاه ها و ابزارهای نظارتی
  • نظارت از راه دور میزبان
  • تست پروتکل
  • رابط وب

مزایای ابزار نظارت Monit

نصب و پیکربندی Monit در لینوکس

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

مرحله ۱: Monit را روی لینوکس نصب کنید

به طور پیش فرض، مانیتور Monit در مخازن پیش فرض سیستم موجود نیست و باید از مخزنی مانند epel استفاده شود. مخزن خود را فعال و پیکربندی کنید و بسته Monit را تحت توزیع های مبتنی بر RHEL مانند CentOS، Rocky Linux و AlmaLinux نصب کنید:

--------- On RHEL 9 based Systems --------- 
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm 

--------- On RHEL 8 based Systems --------- 
# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

--------- On RHEL 7 based Systems ---------
# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

پس از افزودن مخزن epel، بسته Monit را با اجرای دستور yum زیر نصب کنید:

# yum install monit
OR
# dnf install monit  [On Fedora Linux]

نصب Monit در RHEL

در اوبونتو، دبیان و لینوکس کاربران می توانند بسته Monit را با استفاده از دستور apt زیر نصب کنند:

$ sudo apt install monit

مرحله 2: Monit را در لینوکس پیکربندی کنید

Monit به راحتی قابل پیکربندی است. زیرا می توانید فایل های پیکربندی آن را بخوانید و درک کنید و آن را مطابق میل خود پیکربندی کنید. به طور پیش فرض، Monit برای نظارت بر سرورهای در حال اجرا هر 2 دقیقه و حفظ گزارش ها در /var/log/monit طراحی شده است.

Monit دارای یک رابط وب است که روی پورت 2812 با استفاده از وب سرور اجرا می شود. برای فعال کردن رابط وب، باید تغییراتی در فایل پیکربندی Monit ایجاد کنید. فایل پیکربندی اصلی Monit در /etc/monit.conf برای RedHat، CentOS و Fedora و در /etc/monit/monitrc برای Ubuntu، Debian و Linux Mint قرار دارد. این فایل را با استفاده از ویرایشگر انتخابی خود مانند Nano باز کنید:

# vi /etc/monitrc
Or
$ sudo nano /etc/monit/monitrc

سپس بخش زیر را حذف کنید و آدرس IP یا نام دامنه سرور خود را اضافه کنید:

set httpd port 2812 and
     use address 0.0.0.0  # only accept connections from localhost
     allow 0.0.0.0/0        # allow localhost to connect to the server and
     allow admin:monit      # require user 'admin' with password 'monit'
     allow @monit           # allow users of group 'monit' to connect (rw)
     allow @users readonly  # allow users of group 'users' to connect readonly

پیکربندی Monit در لینوکس

پس از پیکربندی، باید سرویس Monit را فعال و تأیید کنید تا تنظیمات پیکربندی جدید بارگیری شود:

# systemctl start monit
# systemctl enable monit
# systemctl status monit

نتیجه می تواند باشد:

شروع کار با ابزار Monit لینوکس

اکنون می توانید با مراجعه به آدرس های اینترنتی زیر به رابط وب Monit دسترسی داشته باشید:

http://localhost:2812
OR
http://ip-address:2812
Or
http://example.com:2812

سپس نام کاربری admin و رمز عبور monit را وارد کنید. پس از تایید، صفحه مانیتورینگ را مشاهده خواهید کرد.

وارد محیط Monit شوید

مدیریت خدمات مونیت

مانیتور وضعیت سیستم

مرحله 3: خدمات لینوکس را به مانیتورینگ اضافه کنید

هنگامی که رابط های وب Monit به درستی پیکربندی شدند، برنامه هایی را که می خواهید نظارت کنید به فایل /etc/monitrc برای RedHat، CentOS و Fedora و به فایل /etc/monit/monitrc برای Ubuntu، Debian و Linux Mint اضافه کنید. سپس به چند نمونه پیکربندی مفید برای monit اشاره کردیم که می تواند برای مشاهده نحوه عملکرد سرویس، محل ذخیره پروفایل، نحوه شروع و توقف سرویس و غیره مفید باشد.

1. مانیتور آپاچی در Monit

check process httpd with pidfile /var/run/httpd.pid
group apache
start program = "/usr/bin/systemctl httpd start"
stop program = "/usr/bin/systemctl httpd stop"
if failed host 127.0.0.1 port 80
protocol http then restart
if 5 restarts within 5 cycles then timeout

2. Apache Monitor 2 in Monit

check process apache with pidfile /run/apache2.pid
start program = "/usr/bin/systemctl apache2 start" with timeout 60 seconds
stop program  = "/usr/bin/systemctl apache2 stop"

3. مانیتور Nginx در Monit

check process nginx with pidfile /var/run/nginx.pid
start program = "/usr/bin/systemctl nginx start"
stop program = "/usr/bin/systemctl nginx stop"

4. مانیتور MySQL در Monit

check process mysqld with pidfile /var/run/mysqld/mysqld.pid
group mysql
start program = "/usr/bin/systemctl mysqld start"
stop program = "/usr/bin/systemctl mysqld stop"
if failed host 127.0.0.1 port 3306 then restart
if 5 restarts within 5 cycles then timeout

5. SSH را در Monit مانیتور کنید

check process sshd with pidfile /var/run/sshd.pid
start program "/usr/bin/systemctl sshd start"
stop program "/usr/bin/systemctl sshd stop"
if failed host 127.0.0.1 port 22 protocol ssh then restart
if 5 restarts within 5 cycles then timeout

پس از پیکربندی همه برنامه های نظارتی، باید خطاها را در Monit بررسی کنید تا خطاها را برطرف کنید. همچنین تشخیص نوع خطای رخ داده آسان است. وقتی پیامی مانند Control file syntax OK دریافت می‌کنید، یا اگر خطایی نمی‌بینید، می‌توانید ادامه دهید:

# monit -t
Or
$ sudo monit -t

پس از رفع تمامی خطاهای احتمالی، می توانید دستور زیر را برای راه اندازی سرویس Monit وارد کنید:

# systemctl monit restart
OR
$ sudo systemctl monit restart

پس از افزودن تمام سرویس های لینوکس به مانیتور، نظارت به صورت زیر خواهد بود:

سرویس مانیتورینگ لینوکس در Monit

6. توابع را تست کنید و سرویس را مجددا راه اندازی کنید

برای تست ویژگی ها و عملکرد، می توانید این سیستم را با دستور زیر متوقف کنید:

$ sudo systemctl stop proftpd

پس از پایان سرویس، باید یک اعلان ایمیلی مبنی بر پایان سرویس دریافت کنید. پس از 120 ثانیه، Monit سعی می کند سرویس را مجددا راه اندازی کند. همچنین، گزارش‌ها باید در فایل گزارش /var/log/monit.log باشند:

cat /var/log/monit.log

7. نحوه پیکربندی اعلان ها در Monit

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

8. یک آدرس ایمیل برای هشدار تنظیم کنید

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

/etc/monit/monitrc
set mailserver your.mail.server
set alert your.mail.address

راه اندازی اعلان های ایمیل در Monit

نتیجه

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

سوالات متداول

1. کاربردهای مونیت چیست؟

Monit به طور خودکار یک فرآیند را مجدداً راه اندازی می کند و با نظارت بر چرخه های حافظه یا CPU و هشدار از طریق ایمیل به شما اطلاع می دهد که در صورت خرابی فرآیند. علاوه بر این، Monit می تواند سیستم های کامپیوتری توزیع شده را نظارت و مدیریت کند.

2. مانیتورینگ مونیت چیست؟

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

3. Monit چگونه در لینوکس کار می کند؟

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

4. فایل پیکربندی Monit در لینوکس کجاست؟

فایل پیکربندی اصلی Monit در /etc/monit: conf برای RedHat، CentOS و Fedora و /etc/monit/monitrc برای Ubuntu، Debian و Linux Mint قرار دارد.

5. چگونه مانیتور را غیرفعال کنم؟

  • /bin/bash /etc/init.d/arcsight_services run monit را بکشید.
  • /etc/init.d/arcsight_service stop monitor را اجرا کنید.

6. چرخه Monit چیست؟

30 یا 60 ثانیه فاصله خوبی است. البته در برخی سیستم ها این فاصله زمانی قابل تغییر است.









نحوه نصب Cacti در اوبونتو 20.04

Cacti یکی از ابزارهای مانیتورینگ وب است که به صورت متن باز و با زبان برنامه نویسی PHP طراحی شده است. این ابزار مبتنی بر وب است و از MySQL برای ذخیره اطلاعات مورد نیاز برای ایجاد و ارزیابی نمودارها استفاده می کند. کاکتوس ها می توانند دستگاه های متصل به شبکه را زیر نظر بگیرند، میزان پهنای باند استفاده شده را ردیابی کنند و یک نمودار شیک در مورد آن ترسیم کنند. Cacti از پروتکل SNMP برای جمع آوری اطلاعات در مورد دستگاه های راه دور استفاده می کند و به شما امکان می دهد ترافیک شبکه و استفاده از پهنای باند را با مرورگر نظارت کنید. در این مقاله از وبلاگ پارس پاک می خواهیم نحوه نصب ابزار مانیتورینگ Cacti را بر روی سرور توزیع Ubuntu 20.04 به شما آموزش دهیم. پس تا انتها همراه ما باشید.

پیش نیازها

برای اینکه بتوانید از این مقاله استفاده کنید و ابزار Cacti را در توزیع Ubuntu 20.04 خود نصب کنید، به پیش نیازهای زیر نیاز دارید:

  • سرور با سیستم عامل اوبونتو 20.04
  • رمز عبور ریشه روی سرور پیکربندی شده است

نحوه نصب Cacti در اوبونتو

آموزش گام به گام نصب Cacti در اوبونتو 20.04

اگر پیش نیازهای ذکر شده را دارید، می توانید Cacti را بر روی توزیع Ubuntu 20.04 نصب کنید. سپس مراحل انجام این کار را مرحله به مرحله توضیح داده ایم.

1. وابستگی های مورد نیاز را نصب کنید

برای نصب وابستگی های مورد نیاز، ابتدا باید دایرکتوری بسته APT را به آخرین نسخه به روز کنید. برای این منظور می توانید از دستور زیر استفاده کنید:

apt-get update -y

پس از انجام این کار، سایر وابستگی های لازم را با دستور زیر نصب کنید:

apt-get install snmp php-snmp rrdtool librrds-perl unzip curl git gnupg2 -y

پس از نصب تمام وابستگی های مورد نیاز، می توانید سرور LAMP را نیز نصب کنید. در ادامه مقاله نحوه انجام این کار را توضیح داده ایم.

2. نصب سرور LAMP

در مرحله بعد باید وب سرور آپاچی، PHP، MariaDB و سایر پلاگین های ضروری PHP را روی سرور خود نصب کنید. با اجرای دستور زیر می توانید همه اینها را نصب کنید:

apt-get install apache2 mariadb-server php php-mysql libapache2-mod-php php-xml php-ldap php-mbstring php-gd php-gmp -y

پس از نصب تمام بسته ها، فایل پیکربندی PHP را ویرایش کرده و تنظیمات پیش فرض را به صورت زیر تغییر دهید:

nano /etc/php/8.1/apache2/php.ini

این خطوط را به صورت زیر تغییر دهید:

memory_limit = 512M
max_execution_time = 60
date.timezone = UTC

سپس فایل را ذخیره کرده و ببندید. سپس یک فایل پیکربندی PHP دیگر را ویرایش کنید و تنظیمات پیش فرض آن فایل را به صورت زیر تغییر دهید:

nano /etc/php/8.1/cli/php.ini

همچنین در این فایل، خطوط زیر را تغییر دهید:

memory_limit = 512M
max_execution_time = 60
date.timezone = UTC

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

systemctl restart apache2

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

نصب سرور LAMP برای اجرای نرم افزار Cacti

3. یک پایگاه داده ایجاد کنید

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

nano /etc/mysql/mariadb.conf.d/50-server.cnf

خطوط زیر در بخش [mysql] در صورت لزوم اضافه یا اصلاح کنید:

collation-server = utf8mb4_unicode_ci
max_heap_table_size = 128M
tmp_table_size = 64M
join_buffer_size = 64M
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_buffer_pool_size = 512M
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_io_capacity = 5000
innodb_io_capacity_max = 10000
innodb_doublewrite = OFF

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

systemctl restart mariadb

سپس با استفاده از دستور زیر پوسته MariaDB را وارد کنید:

mysql

پس از ورود به سیستم، با استفاده از دستور زیر یک پایگاه داده و کاربر Cacti ایجاد کنید:

MariaDB [(none)]> create database cactidb;
MariaDB [(none)]> GRANT ALL ON cactidb.* TO [email protected] IDENTIFIED BY 'password';

سپس امتیازات داده شده را رها کرده و با دستور زیر از پوسته MariaDB خارج شوید:

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

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

mysql mysql < /usr/share/mysql/mysql_test_data_timezone.sql

اکنون وارد پوسته MariaDB شوید و با استفاده از دستور زیر، امتیازات منطقه زمانی MySQL مورد نیاز را اعطا کنید:

mysql
MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO [email protected];

آخرین مرحله در این مرحله پاک کردن امتیازات و خروج از پوسته MariaDB است. این کار را با دستور زیر انجام دهید:

MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;

4. نصب و پیکربندی کاکتوس ها

ابتدا آخرین نسخه Cacti را از وب سایت رسمی آن دانلود کنید:

wget https://www.cacti.net/downloads/cacti-latest.tar.gz

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

tar -zxvf cacti-latest.tar.gz

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

mv cacti-1* /var/www/html/cacti

در مرحله بعد، باید پایگاه داده را به پایگاه داده Cacti وارد کنید:

mysql cactidb < /var/www/html/cacti/cacti.sql

سپس فایل Cacti config.php را ویرایش کنید و تنظیمات پایگاه داده خود را تنظیم کنید:

nano /var/www/html/cacti/include/config.php

خطوط زیر را به:

$database_type="mysql";
$database_default="cactidb";
$database_hostname="localhost";
$database_username="cactiuser";
$database_password = 'password';
$database_port="3306";

فایل را ذخیره کنید و سپس ببندید. در مرحله بعد، فایل log را برای Cacti ایجاد کنید:

touch /var/www/html/cacti/log/cacti.log

سپس، مالکیت و مجوزهای دایرکتوری Cacti را با استفاده از دستور زیر تنظیم کنید:

chown -R www-data:www-data /var/www/html/cacti/
chmod -R 775 /var/www/html/cacti/

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

nano /etc/cron.d/cacti

خط زیر را در این فایل قرار دهید:

*/5 * * * * www-data php /var/www/html/cacti/poller.php > /dev/null 2>&1

وقتی کارتان تمام شد، فایل را ذخیره کرده و ببندید.

آموزش نصب و پیکربندی کاکتوس ها

در مرحله بعد، باید یک فایل پیکربندی مجازی آپاچی برای Cacti ایجاد کنید. با استفاده از دستور زیر می توانید این کار را انجام دهید:

nano /etc/apache2/sites-available/cacti.conf

در این فایل دستورات زیر را قرار دهید:

Alias /cacti /var/www/html/cacti

  <Directory /var/www/html/cacti>
      Options +FollowSymLinks
      AllowOverride None
      <IfVersion >= 2.3>
      Require all granted
      </IfVersion>
      <IfVersion < 2.3>
      Order Allow,Deny
      Allow from all
      </IfVersion>

   AddType application/x-httpd-php .php

<IfModule mod_php.c>
      php_flag magic_quotes_gpc Off
      php_flag short_open_tag On
      php_flag register_globals Off
      php_flag register_argc_argv On
      php_flag track_vars On
      # this setting is necessary for some locales
      php_value mbstring.func_overload 0
      php_value include_path .
 </IfModule>

  DirectoryIndex index.php
</Directory>

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

a2ensite cacti

در مرحله بعد، باید سرویس Apache را مجددا راه اندازی کنید تا تغییرات پیکربندی اعمال شود:

systemctl restart apache2

همچنین می توانید با استفاده از دستور زیر وضعیت سرویس آپاچی خود را بررسی کنید:

systemctl status apache2

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

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
     Active: active (running) since Sun 2022-07-24 03:58:11 UTC; 7s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 12847 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/S>
   Main PID: 12851 (apache2)
      Tasks: 6 (limit: 2242)
     Memory: 13.7M
        CPU: 103ms
     CGroup: /system.slice/apache2.service
             ??12851 /usr/sbin/apache2 -k start
             ??12852 /usr/sbin/apache2 -k start
             ??12853 /usr/sbin/apache2 -k start
             ??12854 /usr/sbin/apache2 -k start
             ??12855 /usr/sbin/apache2 -k start
             ??12856 /usr/sbin/apache2 -k start

Jul 24 03:58:11 ubuntu systemd[1]: Starting The Apache HTTP Server...

6. راه اندازی مرحله به مرحله Cacti Web Installation

اکنون مرورگر خود را باز کرده و با استفاده از آدرس your-server-ip/cacti وارد قسمت نصب Cacti شوید. با وارد کردن این آدرس، مطابق شکل زیر به صفحه ورود هدایت می شوید:

وارد صفحه نصب کاکتوس شوید

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

با نام کاربری و رمز عبور وارد شوید

رمز عبور پیش فرض را تغییر دهید و دوباره آن را در قسمت Confirm new password وارد کنید و روی دکمه Save کلیک کنید:

رمز عبور پیش فرض را تغییر دهید

همانطور که در تصویر بالا مشاهده می کنید، باید توافق نامه را تایید کنید. برای این منظور، موافقت نامه مجوز GPL را فعال کرده و در نهایت روی دکمه Begin کلیک کنید:

توافق نامه را تایید کنید.

در صفحه بعد روی دکمه Next کلیک کنید. در این مورد، باید صفحه Installation Type را ببینید:

در این صفحه نوع نصب را انتخاب کنید

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

وارد صفحه مجوز دایرکتوری شوید

روی Next کلیک کنید. شما باید صفحه باینری ها و نسخه های مهم را ببینید:

صفحه بالا را مشاهده خواهید کرد

دوباره روی دکمه Next کلیک کنید. شما باید صفحه ای مانند تصویر زیر ببینید:

می توانید تصویر بالا را ببینید

در این صفحه، گزینه I have read this statement را علامت بزنید و دوباره روی دکمه Next کلیک کنید:

گزینه مناسب را علامت بزنید

گزینه های مورد نظر را انتخاب کرده و روی دکمه Next کلیک کنید. صفحه ای مانند تصویر زیر به شما نشان داده می شود:

یک صفحه جدید را به شکل تصویر بالا نشان دهید

در این صفحه نیز دوباره روی دکمه Next کلیک کنید. اکنون صفحه ای مانند تصویر زیر خواهید دید:

مراحل نصب نرم افزار کاکتی

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

صفحه تایید نصب

در همین صفحه تیک گزینه Confirm install را بزنید و سپس دکمه Install را بزنید. در این صورت مراحل نصب شروع می شود. پس از اتمام نصب، باید صفحه ای مانند تصویر زیر را مشاهده کنید:

بعد از نصب کاکتی ها تصویر بالا را نمایش دهید

در این صفحه بر روی دکمه Get Started کلیک کنید. بنابراین داشبورد Cacti همانطور که در تصویر نشان داده شده است به شما نشان داده می شود:

صفحه نمایش داشبورد کاکتوس

نتیجه

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

با این حال، نصب این نرم افزار بر روی سیستم عامل لینوکس ممکن است برای شما مشکل ایجاد کند. به همین منظور در این آموزش سیستم عامل، نحوه نصب ابزار مانیتورینگ Cacti در توزیع اوبونتو 20.04 را قدم به قدم به شما آموزش داده ایم.

سوالات متداول

1. فایده نرم افزار کاکتی چیست؟

Cacti نرم افزاری با رابط کاربری عالی برای مانیتورینگ شبکه و جزئیات مربوط به آن است. با کمک این نرم افزار می توانید موارد مورد نظر خود را در وب به صورت نمودار و در بازه های زمانی دلخواه خود مشاهده کنید.

2. آیا کاکتی ها منبع باز هستند؟

بله، یکی از ویژگی های مهم کاکتوس ها این است که به صورت متن باز طراحی شده است.

3. Cacti با چه زبان برنامه نویسی نوشته شده است؟

Cacti به زبان PHP نوشته شده است.

4. RRDtool چیست؟

هدف اصلی RRDtool مدیریت داده های حساس به زمان مانند پهنای باند شبکه یا دما یا بار CPU است.

5. استفاده از ابزارهای مانیتورینگ شبکه چه مزایایی دارد؟

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









نحوه تغییر رمز عبور ریشه در دبیان 9

تغییر رمز عبور ریشه در دبیان یکی از عملیاتی است که معمولا کاربران به آن نیاز دارند. در این مقاله نحوه پیکربندی sudo، انتخاب رمز عبور ریشه، غیرفعال کردن لاگین root و بازنشانی رمز عبور root را به شما آموزش می دهیم. حتی اگر sudo را فعال نکنید و رمز عبور را به خاطر نداشته باشید، می توانید از طریق این عملیات رمز عبور جدیدی برای خود تعیین کنید.

نصب و پیکربندی sudo در لینوکس دبیان

اگر در حین نصب Debian 9 Stretch روی دستگاه خود رمز عبور root تنظیم کنید، sudo ممکن است از ابتدا پیکربندی نشود. همچنین، اگر به عنوان یک کاربر معمولی وارد شده باشید، نمی توانید هیچ دستوری را به عنوان روت اجرا کنید. در ادامه نحوه نصب و پیکربندی sudo را به طور کامل توضیح خواهیم داد تا بتوانید پس از نصب دستورات را به صورت روت یا بدون ورود به سیستم روت اجرا کنید.

ابتدا با دستور زیر به عنوان root وارد شوید:

$ su -

سپس رمز عبور root خود را وارد کرده و فشار دهید . اکنون باید به عنوان کاربر اصلی وارد شوید. سپس کش مخزن بسته apt را با دستور زیر به روز کنید:

# apt-get update

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

# apt-get install sudo

پس از نصب موفقیت آمیز sudo، دستور زیر را برای اضافه کردن یک کاربر معمولی به نام shovon اجرا کنید:

# usermod -aG sudo shovon

سپس با دستور زیر به صورت root از سیستم خارج شوید:

# exit

حالا یک کاربر معمولی shoon می تواند هر دستوری را به صورت روت با استفاده از sudo به صورت زیر اجرا کند:

$ sudo ls /var/log

پسورد کاربر shovon را وارد کرده و فشار دهید . دستور باید به صورت root اجرا شود.

چگونه رمز عبور روت را در دبیان تغییر دهیم؟

انتخاب رمز عبور ریشه برای دبیان

اگر در حین نصب Debian 9 Stretch رمز عبور root تنظیم نکرده اید، رمز عبور root به طور پیش فرض انتخاب نمی شود. زیرا sudo باید برای کاربر معمولی شما پیکربندی شود. برای تنظیم رمز عبور root، دستور زیر را اجرا کنید:

$ sudo passwd

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

رمز عبور root را تغییر دهید

اگر می خواهید رمز عبور ریشه خود را تغییر دهید، کافی است دستور زیر را دوباره اجرا کنید:

$ sudo passwd

حالا همان کارهایی را که در قسمت قبل انجام دادید انجام دهید، یعنی رمز عبور را انتخاب کنید.

دسترسی روت را غیرفعال کنید

اگر نمی‌خواهید اجازه دسترسی روت را بدهید، می‌توانید اکانت root را با دستور زیر قفل کنید:

$ sudo passwd -l root

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

بازیابی رمز عبور فراموش شده روت در دبیان

اگر رمز عبور ریشه خود را فراموش کرده اید و sudo را پیکربندی نکرده اید، هرگز به نصب مجدد سیستم عامل فکر نکنید. زیرا هنوز راهی برای بازیابی رمز عبور ریشه وجود دارد. ابتدا کامپیوتر خود را ریستارت کنید. همانطور که در تصویر زیر نشان داده شده است، هنگام بوت شدن کامپیوتر شما باید منوی GRUB را ببینید. سپس Debian GNU/Linux را انتخاب کرده و e را فشار دهید.

e را در منوی GRUB وارد کنید

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

برای تغییر رمز عبور ریشه در دبیان به انتهای خط بروید

قسمت بی صدا ro را از انتهای خط بردارید و init=/bin/bash را مانند شکل زیر به انتهای خط اضافه کنید. وقتی کارتان تمام شد، F10 را فشار دهید. سپس باید متنی شبیه به زیر مشاهده کنید:

linux          /boot/vmlinuz-4-19.0-8-amd64 root=UUID=c0e7e71a-f8a6-4005-9925-1ca5f3455d1 ro  quiet init=/bin/bash

init=/bin/bash را به انتهای خط اضافه کنید

لازم به ذکر است اگر از نسخه 11 دبیان استفاده می کنید باید rw init=/bin/bash را بدون تغییر به انتهای خط اضافه کنید. سپس باید پنجره زیر را مشاهده کنید:

نحوه اعمال تغییرات بازنشانی رمز عبور ریشه دبیان را ببینید

اکنون دستور زیر را اجرا کنید تا پارتیشن ریشه (/) را به صورت خواندنی و قابل نوشتن دوباره نصب کنید:

$ mount -o remount,rw /

سپس دستور زیر را اجرا کنید تا فایل سیستم /proc را دوباره نصب کنید:

$ mount -o remount,rw /proc

اکنون دستور زیر را برای بازنشانی رمز عبور root اجرا کنید:

$ passwd

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

نتیجه

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

سوالات متداول

1. چگونه رمز عبور دبیان خود را بازنشانی کنیم؟

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

2. چگونه رمز عبور روت را در دبیان تغییر دهیم؟

ساده ترین راه برای تغییر رمز عبور ریشه در دبیان 10 اجرای دستور passwd بدون آرگومان است. $ sudo passwd تغییر رمز عبور برای کاربر root. رمز عبور جدید: رمز عبور جدید را دوباره وارد کنید: passwd: همه نشانه های احراز هویت با موفقیت به روز شده اند. همچنین می توانید حساب کاربری root را با دستور passwd مشخص کنید.

3. چگونه رمز عبور ریشه را در دبیان 11 تغییر دهیم؟

ابتدا با استفاده از ssh یا کنسول به سرور لینوکس دبیان وارد شوید. سپس یک پنجره فرمان باز کنید و دستور passwd را وارد کنید تا رمز عبور ریشه در لینوکس دبیان تغییر کند. دستور واقعی برای تغییر رمز عبور ریشه در دبیان لینوکس sudo passwd root است.

4. نام کاربری و رمز عبور دبیان چیست؟

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

5. چگونه رمز عبور sudo خود را پیدا کنیم؟

هیچ رمز عبور پیش فرضی برای sudo وجود ندارد. رمز عبور درخواستی همان رمز عبوری است که هنگام نصب اوبونتو تعیین کرده اید و از آن برای ورود به سیستم استفاده می کنید.









ssl رایگان را روی centos 7 و nginx نصب کنید

مدتی است که گوگل شرکت ها و وب سایت ها را مجبور به استفاده از گواهینامه های SSL کرده است. بیش از 46 میلیون وب سایت در سراسر جهان با این راه حل موافقت کرده اند تا رتبه خود را در صفحه نتایج گوگل از دست ندهند. این گواهی تراکنش‌ها و اطلاعات حساس کاربر را ایمن نگه می‌دارد و به ایمن‌تر و قابل اعتمادتر کردن وب برای موتور جستجوی Google کمک می‌کند.

Let’s Encrypt یک مرجع جدید (CA) است که گواهی های رایگان TLS و SSL را صادر می کند که HTTPS رمزگذاری شده را در سرورهای وب فعال می کند. Let’s Encrypt با ارائه یک کلاینت نرم افزاری به نام Certbot، فرآیند صدور گواهینامه را چنان روان می کند که اکثر مراحل لازم به صورت خودکار انجام می شود. در حال حاضر، کل فرآیند دریافت و نصب گواهینامه های SSL بر روی وب سرورهای Apache و Nginx به طور کامل خودکار است. در این مقاله نحوه استفاده از کلاینت Certbot برای دریافت گواهی رایگان SSL و اتصال آن به Nginx در CentOS 7 و تمدید خودکار آن را به شما آموزش می دهیم. اگر می خواهید امنیت Nginx را با نصب SSL بر روی CentOS 7 افزایش دهید، این مقاله می تواند راهنمای خوبی برای شما باشد.

پیش نیازها

قبل از شروع گردش کار، به چند چیز نیاز داریم:

  • یک سرور CentOS 7 با یک کاربر غیر ریشه که دارای امتیازات sudo است.
  • برای دریافت گواهی SSL، باید مالک یا مدیریت دامنه ثبت شده باشید. اگر هنوز دامنه ای ثبت نکرده اید می توانید دامنه خود را با پسوند مورد نظر از پارس پک سفارش دهید.
  • یک رکورد A در DNS دامنه شما را با آدرس IP عمومی سرور شما مرتبط می کند. چرا این لازم است؟ زیرا به این ترتیب Let’s Encrypt مالکیت دامنه ای را که گواهی برای آن صادر می شود تأیید می کند. به عنوان مثال، اگر می خواهید یک گواهی SSL برای دامنه example.com دریافت کنید، باید آن را برای فرآیند اعتبار سنجی به سرور خود متصل کنید. در راه اندازی ما از دو دامنه example.com و www.example.com استفاده می کنیم. بنابراین دو رکورد DNS مورد نیاز است.

هر زمان که تمام الزامات ذکر شده را فراهم کردید، ما اقدام به نصب نرم افزار مشتری Let’s Encrypt می کنیم.

مرحله 1: کلاینت Let’s Encrypt به نام Certbot را نصب کنید

برای استفاده از Let’s Encrypt برای دریافت گواهی SSL، اولین قدمی که باید بردارید این است که کلاینت نرم افزار Certbot را روی سرور خود نصب کنید. در حال حاضر بهترین راه برای نصب آن از طریق مخزن EPEL است.

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

sudo yum install epel-release

هنگامی که مخزن EPEL فعال شد، می توانید بسته certbot-nginx را با استفاده از دستور زیر دریافت کنید:

sudo yum install certbot-nginx

مشتری Certbot اکنون نصب شده و آماده استفاده است.

مرحله 2: Nginx را پیکربندی کنید

اگر هنوز Nginx را نصب نکرده اید، با هم این کار را انجام می دهیم. از آنجایی که مخزن EPEL در مرحله قبل فعال است، می توانید Nginx را با دستور زیر نصب کنید:

sudo yum install nginx

سپس وب سرور Nginx را با استفاده از systemctl راه اندازی کنید:

sudo systemctl start nginx

Certbot می تواند به طور خودکار SSL را برای Nginx پیکربندی کند. اما ابتدا باید بلاک سرور خاص شما را در پیکربندی سرور پیدا کند. این کار با جستجوی نام سروری که دقیقاً با درخواست کننده گواهی دوم مطابقت دارد انجام می شود. اگر اخیراً Nginx را نصب کرده‌اید، می‌توانید فایل پیکربندی پیش‌فرض Nginx را با استفاده از vi یا ویرایشگر متن دلخواه خود به‌روزرسانی کنید:

sudo vi /etc/nginx/nginx.conf

خط نام سرور را پیدا کنید:

server_name _;

خط _ را با نام دامنه خود جایگزین کنید:

server_name example.com www.example.com;

فایل را ذخیره کرده و از ویرایشگر خارج شوید. اگر از vi استفاده می کنید، 😡 و سپس y را برای ذخیره و خروج فشار دهید. با دستور زیر باید درست یا نادرست بودن کدهای دستوری خود را برای پیکربندی وب سرور بررسی و تأیید کنید:

sudo nginx –t

اگر دستورات بدون خطا اجرا می شوند، Nginx را مجدداً راه اندازی کنید تا پیکربندی جدید بارگیری شود:

sudo systemctl reload nginx

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

در مورد نصب SSL روی CentOS 7 برای افزایش امنیت Nginx چطور؟

مرحله 3: فایروال را به روز کنید

اگر فایروال روی سرور را فعال کرده اید، مطمئن شوید که پورت های 80 و 433 برای ترافیک ورودی باز هستند. اگر سرور فایروال در حال اجرا ندارد، این مرحله را رد کنید.

اگر از فایروال استفاده می کنید، دستور زیر را برای باز کردن پورت ها وارد کنید:

sudo firewall-cmd --add-service=http
sudo firewall-cmd --add-service=https
sudo firewall-cmd --runtime-to-permanent

اگر از فایروال Iptables استفاده می کنید، دستورات مورد نیاز به مجموعه قوانین فعلی شما بستگی دارد. اگر مجموعه قوانین را لمس نکرده اید، می توانید دسترسی HTTP و HTTPS را با دستور زیر اضافه کنید:

sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

اکنون ما آماده اجرای Certbot و دریافت گواهینامه SSL هستیم.

مرحله 4: گواهینامه را دریافت کنید

Certbot راه های زیادی برای نصب گواهی SSL از طریق پلاگین های مختلف به شما ارائه می دهد. پلاگین Nginx مسئول پیکربندی Nginx و بارگیری مجدد آن در صورت نیاز است:

sudo certbot --nginx -d example.com -d www.example.com

دستور بالا Certbot را با پسوند –nginx شروع می کند و از –d برای مشخص کردن وب سایت هایی که می خواهیم گواهی معتبر دریافت کنیم استفاده می کند. اگر این اولین باری است که Certbot را اجرا می کنید، از شما خواسته می شود ایمیل خود را وارد کرده و با شرایط استفاده موافقت کنید. پس از انجام این کار، Certbot با سرور Let’s Encrypt تماس می گیرد و اقداماتی را برای اطمینان از کنترل شما بر دامنه درخواست کننده گواهی انجام می دهد.

سپس پیکربندی به‌روزرسانی می‌شود و Nginx برای استفاده از تنظیمات جدید بارگذاری مجدد می‌شود. Certbot با پیامی مبنی بر موفقیت آمیز بودن فرآیند پایان می دهد و به شما می گوید کجا باید گواهینامه های خود را ذخیره کنید:

Output
IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/your_domain/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/your_domain/privkey.pem
   Your certificate will expire on 2022-10-20. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again with the "certonly" option. To non-interactively
   renew *all* of your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

در این مرحله، گواهی‌های TLS/SSL شما دانلود و نصب می‌شوند. اکنون وب سایت خود را با https:// باز کنید و نشانگر امنیتی مرورگر را مشاهده کنید. اگر تمام مراحل را به درستی انجام داده اید، نماد قفل سبز باید به این معنی باشد که وب سایت شما امن است.

مرحله 5: تمدید خودکار را تنظیم کنید

گواهینامه های Let’s Encrypt فقط 90 روز معتبر هستند. این دوره برای تشویق کاربران به خودکارسازی فرآیند تمدید گواهی در نظر گرفته شده است. شما باید یک فرمان منظم برای بررسی انقضای گواهینامه و تمدید خودکار تنظیم کنید. ما از cron، یک سرویس سیستم وظیفه دوره ای استاندارد، برای بررسی تمدید گواهینامه روزانه استفاده می کنیم. برای دستور cron باید فایلی به نام crontab را باز کرده و ویرایش کنید:

sudo crontab –e

ویرایشگر متن شما فایل crontab پیش فرض را باز می کند که در حال حاضر خالی است. خط زیر را در فایل وارد کنید و Save را فشار دهید و آن را ببندید:

. . .
15 3 * * * /usr/bin/certbot renew --quiet

بخش 15 3 * * * در این خط باعث می شود دستور هر روز در ساعت 15:3 اجرا شود. البته، شما می توانید هر ساعتی را انتخاب کنید.

دستور تمدید داده شده به certbot تمام گواهی های نصب شده بر روی سیستم را اسکن می کند و گواهی های با تاریخ انقضای کمتر از 30 روز را به روز می کند. –quiet همچنین به Certbot می گوید که هیچ اطلاعاتی را خروجی ندهد یا منتظر ورودی کاربر بماند.

حالا cron این دستور را هر روز اجرا می کند. زمانی که 30 روز یا کمتر تا تاریخ انقضای هر گواهی باقی بماند، آن گواهی تمدید و بارگیری مجدد می شود.

با نصب SSL در CentOS 7 امنیت Nginx را افزایش دهید!

نتیجه

در این آموزش سیستم عامل Cent، ما کلاینت Let’s Encrypt’s Certbot را نصب کردیم، گواهی‌های SSL را برای دامنه دانلود کردیم، Nginx را برای استفاده از گواهی‌ها پیکربندی کردیم و تمدید خودکار گواهی را تنظیم کردیم. اگر در حین انجام مراحل نصب SSL در CentOS 7 به سوال یا ابهامی برخوردید، آن را از طریق نظر با ما در میان بگذارید.

سوالات متداول

1. گواهی SSL چیست و چه کاربردی دارد؟

لایه سوکت ایمن (SSL) یک فناوری استاندارد برای اطمینان از امنیت اتصال به اینترنت و محافظت از تمام داده های حساس ارسال شده بین دو سیستم است. به این ترتیب گواهی SSL به مجرمان اجازه دسترسی به اطلاعات ارسال شده و تغییر آن را نمی دهد.

2. Let’s Encrypt یا free ssl چیست و چه کاربردی دارد؟

این مرجع جهانی گواهینامه SSL/TLS است که گواهینامه ها را برای سازمان ها و وب سایت ها به صورت رایگان صادر، تمدید و مدیریت می کند.

3. Nginx چیست؟

Nginx یک وب سرور است که می تواند به جای پروکسی معکوس، متعادل کننده بار، پروکسی ایمیل و کش HTTP استفاده شود. ایگور سیسویف، خالق این نرم افزار رایگان و متن باز، آن را در سال 2004 تحت مجوز 2 بند BSD منتشر کرد.

4. CentOS چیست؟

CentOS یک پروژه بازی متنی است که دو توزیع مختلف لینوکس به نام‌های CentOS Stream و CentOS Linux منتشر کرده است. CentOS پلت فرم توسعه بالادستی برای انتشار تجاری آتی لینوکس Red Hat Enterprise است.

5. چگونه SSL را روی وب سرور Nginx نصب کنیم؟

  • نصب نرم افزار مورد نیاز: سیستم عامل CentOS 7 و وب سرور Nginx
  • یک کاربر غیر ریشه با امتیازات sudo ایجاد کنید
  • نصب یک کلاینت ویژه برای Let’s Encrypt به نام Certbot
  • راه اندازی Nginx و ارائه آن به Certbot
  • فایروال را به روز کنید و پورت های مربوطه را باز کنید
  • گواهی SSL را دریافت و وصل کنید
  • تمدید خودکار گواهی را تنظیم کنید

6. آیا گواهینامه های Let’s Encrypt مورد اعتماد مرورگرها هستند؟

بله، Let’s Encrypt مورد اعتماد اکثر مرورگرها و سیستم عامل ها است.

7. آیا گواهینامه های Let’s Encrypt امن هستند؟

گواهینامه های Free Let’s Encrypt به همان اندازه ایمن هستند که گواهینامه های تجاری سایر مقامات صادر کننده SSL، همانطور که فناوری های امنیتی و رمزنگاری اجازه می دهند. سرعت انقضا و کوتاه بودن مدت گواهینامه های Let’s Encrypt در واقع یکی از ویژگی های آن است و ربطی به پولی بودن یا عدم پرداخت آن ندارد.

8. آیا امکان صدور چندین گواهی SSL برای چندین وب سایت در یک سرور وجود دارد؟

بله، Nginx هیچ محدودیتی در پشتیبانی و اتصال گواهی‌های SSL مختلف ندارد. گواهینامه های رایگان نیز می تواند برای تعداد نامحدودی از وب سایت های مختلف صادر شود.

9. گواهینامه را با موفقیت تمدید کردم. اما اعتبارسنجی ناموفق بود، چگونه این امکان وجود دارد؟

هنگامی که تمام مراحل و چالش های دامنه را با موفقیت پشت سر گذاشتید، نتیجه اعتبارسنجی برای استفاده در آینده برای حساب شما ذخیره می شود. چک های ذخیره شده تا 30 روز ذخیره می شوند. اگر گواهی درخواستی شما دارای تمام اعتبار سنجی های ذخیره شده در حافظه پنهان باشد، اعتبارسنجی تا زمانی که منقضی نشده باشد انجام نمی شود.

منبع:

اقیانوس دیجیتال









فعال کردن احراز هویت دو مرحله ای SSH در لینوکس

سرور اختصاصی لینوکس و سرور مجازی فضاهای میزبانی محبوب هستند. مدیریت و نگهداری این سرورها از طریق اتصال SSH انجام می شود. بنابراین امنیت SSH و حفاظت از آن در برابر حملات سایبری و هکرها بسیار مهم است. احراز هویت چند مرحله ای یا دو مرحله ای (2FA) که احراز هویت دو مرحله ای نیز نامیده می شود، یک فرآیند امنیتی است که در آن کاربر باید از دو روش احراز هویت مختلف برای دسترسی به حساب کاربری یا سیستم استفاده کند. اولین عامل چیزی است که شما می دانید، یعنی. نام کاربری و رمز عبور و دومین فاکتور احراز هویت چیزی است که می توانید به عنوان یک آیتم منحصر به فرد (مانند تلفن هوشمند و کد امنیتی و بیومتریک) برای تأیید درخواست های احراز هویت داشته باشید.

در واقع، با فعال کردن 2FA، لایه دیگری از امنیت احراز هویت را در بالای رمز عبور خود اضافه می‌کنید که دسترسی مهاجمان به داده‌ها از دستگاه یا حساب آنلاین شخص را دشوارتر می‌کند. احراز هویت دو مرحله ای یا احراز هویت چند مرحله ای (امنیت 2FA) به شما و کاربرانتان در برابر حملات فیشینگ و هکرها محافظت می کند و ورود شما را ایمن می کند.

سوالی که مطرح می شود این است که چگونه می توانیم احراز هویت دو مرحله ای را برای SSH در لینوکس فعال کنیم؟ در این آموزش لینوکس، نحوه راه اندازی و پیکربندی SSH برای احراز هویت دو مرحله ای تحت توزیع های لینوکس مبتنی بر RedHat و Debian مانند Fedora، CentOS Stream، Rocky Linux، AlmaLinux، Ubuntu، Debian و Mint را به شما آموزش می دهیم. بنابراین تا انتها با ما همراه باشید تا یاد بگیرید چگونه احراز هویت دو مرحله‌ای را برای SSH در لینوکس فعال کنید.

مراحل ایجاد احراز هویت دو مرحله ای برای SSH در لینوکس

به طور پیش فرض، SSH از ارتباط داده ایمن بین دستگاه های راه دور استفاده می کند. اما اگر می‌خواهید یک لایه امنیتی دیگر به اتصالات SSH خود اضافه کنید، می‌توانید از ماژول Google Authenticator (تأیید هویت دو مرحله‌ای) استفاده کنید، که به شما امکان می‌دهد در حین اتصال به سرورهای SSH، رمز عبور تأیید تصادفی یک‌باره (TOTP) را وارد کنید. ناگفته نماند که هنگام اتصال باید با استفاده از گوشی هوشمند یا رایانه خود کد تأیید را وارد کنید.

در واقع، Google Authenticator یک ماژول منبع باز است و شامل پیاده سازی رمزهای عبور یک بار مصرف (TOTP) توسعه یافته توسط گوگل است. این برنامه از چندین پلت فرم تلفن همراه و PAM (ماژول تأیید هویت متصل) پشتیبانی می کند. این OTP ها با استفاده از استانداردهای باز توسعه یافته توسط OATH Initiative for Open Authentication تولید می شوند.

در ادامه مراحل نصب Google Authenticator در لینوکس و ایجاد احراز هویت دو مرحله ای را به تفصیل توضیح خواهیم داد.

مرحله 1: Google Authenticator را روی لینوکس نصب کنید

برای ایجاد احراز هویت دو مرحله ای، ابتدا باید ماژول Google PAM را نصب کنید. در سیستم های مبتنی بر RedHat، باید بسته pam-devel را با استفاده از دستور yum نصب کنید:

# yum install google-authenticator -y

همچنین، در سیستم های مبتنی بر دبیان، بسته libpam0g-dev را با استفاده از دستور apt نصب کنید:

$ sudo apt install libpam-google-authenticator -y

مرحله 2: توکن های احراز هویت گوگل را ایجاد کنید

هنگامی که دستور google-authenticator را اجرا می کنید، از شما خواسته می شود:

# google-authenticator

فقط “Y” (بله) را به عنوان پاسخ در بیشتر موقعیت ها بنویسید. اگر مشکلی پیش آمد، می‌توانید دستور google-authenticator را دوباره وارد کنید و تنظیمات را بازنشانی کنید:

Do you want authentication tokens to be time-based (y/n) y

پس از این سوال، کلید مخفی و کدهای اضطراری خود را دریافت خواهید کرد. این جزئیات را در جایی بنویسید. از آنجایی که بعداً برای اجرای برنامه Google Authenticator به کلید مخفی نیاز خواهید داشت:

# google-authenticator

Do you want authentication tokens to be time-based (y/n) y
Warning: pasting the following URL into your browser exposes the OTP secret to Google:
  https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/[email protected]%3Fsecret%3DCYZF2YF7HFGX55ZEPQYLHOO5JM%26issuer%3Dtecmint
Failed to use libqrencode to show QR code visually for scanning.
Consider typing the OTP secret into your app manually.
Your new secret key is: CYZF2YF7HFGX55ZEPQYLHOM
Enter code from app (-1 to skip): -1 Code confirmation skipped Your emergency scratch codes are: 83714291 53083200 80975623 57217008 77496339

سپس جادوگر راه اندازی را دنبال کنید و در بیشتر موارد پاسخ را به صورت “Y” (بله) مطابق شکل زیر وارد کنید:

Do you want me to update your "/root/.google_authenticator" file (y/n) y Do you want to disallow multiple uses of the same authentication token? This restricts you to one login about every 30s, but it increases your chances to notice or even prevent man-in-the-middle attacks (y/n) y By default, tokens are good for 30 seconds and in order to compensate for possible time-skew between the client and the server, we allow an extra token before and after the current time. If you experience problems with poor time synchronization, you can increase the window from its default size of 1:30min to about 4min. Do you want to do so (y/n) y If the computer that you are logging into isn't hardened against brute-force login attempts, you can enable rate-limiting for the authentication module. By default, this limits attackers to no more than 3 login attempts every 30s. Do you want to enable rate-limiting (y/n) y

برای تکمیل فرآیند احراز هویت دو مرحله ای SSH، بله را وارد کنید

مرحله 3: نحوه پیکربندی SSH برای استفاده از Google Authenticator در لینوکس

فایل پیکربندی PAM “/etc/pam.d/sshd” را باز کنید و خط زیر را به انتهای فایل اضافه کنید:

auth required pam_google_authenticator.so nullok
auth required pam_permit.so

برای فعال کردن احراز هویت دو مرحله‌ای SSH در لینوکس، کد زیر را به فایل پیکربندی اضافه کنید.

سپس، فایل پیکربندی SSH “/etc/ssh/sshd_config” را باز کنید و به پایین بروید تا خط زیر را پیدا کنید:

ChallengeResponseAuthentication no

آن را به “بله” تغییر دهید:

ChallengeResponseAuthentication yes

فایل پیکربندی را به Yes تغییر دهید تا احراز هویت دو مرحله ای SSH در لینوکس فعال شود

در نهایت، سرویس SSH را مجددا راه اندازی کنید تا تغییرات جدید اعمال شوند:

# systemctl restart sshd
Or
$ sudo systemctl restart sshd

مرحله 4: برنامه Google Authenticator را پیکربندی کنید

برنامه Google Authenticator را در تلفن هوشمند خود راه اندازی کنید. روی علامت + کلیک کرده و Enter Setup Key را انتخاب کنید. اگر این برنامه را ندارید، می‌توانید برنامه Google Authenticator را در دستگاه‌های Android، iPhone یا Blackberry خود دانلود و نصب کنید. سپس نام کاربری (Account Name) و کلید مخفی ایجاد شده قبلی را وارد کنید.

برای فعال کردن احراز هویت دو مرحله ای SSH در لینوکس، Google Authenticator را دانلود و نصب کنید

پس از آن یک رمز عبور یک بار مصرف (کد تأیید) ایجاد می شود که به طور مداوم هر 30 ثانیه در تلفن همراه شما تغییر می کند.

OTP ایجاد شده در Google Authenticator را خواهید دید

اکنون هر بار که از طریق SSH وارد سیستم می شوید، از شما یک رمز عبور و رمز عبور Google Authenticator خواسته می شود. نیازی به گفتن نیست که شما فقط 30 ثانیه فرصت دارید تا این کد تایید را وارد کنید. توجه داشته باشید که اگر این زمان را از دست بدهید، یک کد تایید جدید دوباره ایجاد می شود که باید آن را وارد کنید:

login as: tecmint
Access denied
Using keyboard-interactive authentication.
Verification code:
Using keyboard-interactive authentication.
Password:
Last login: Tue Apr 23 13:58:29 2022 from 172.16.25.125
[[email protected] ~]#

اگر گوشی هوشمند ندارید، می توانید از افزونه فایرفاکس به نام Authenticator نیز برای احراز هویت دو مرحله ای استفاده کنید.

نکته: احراز هویت دو مرحله ای با ورود به سیستم SSH مبتنی بر رمز عبور کار می کند. این بدان معناست که اگر هر بار کلید خصوصی/عمومی را SSH کنید، دیگر نیازی به احراز هویت دو مرحله‌ای نیست و مستقیماً وارد می‌شود.

فعال کردن احراز هویت دو مرحله ای SSH در لینوکس

نتیجه

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

یکی از بهترین راه ها برای ایمن سازی و محافظت از SSH در برابر حملات مخرب و هکرها، احراز هویت دو مرحله ای است. در واقع احراز هویت دو مرحله ای کمک زیادی به تقویت فرآیند احراز هویت یک سرویس خاص می کند. در این آموزش سیستم عامل، نحوه ایجاد احراز هویت دو مرحله ای برای SSH در لینوکس با استفاده از Google Authenticator را به صورت گام به گام به شما آموزش دادیم. با استفاده از این آموزش می توانید به راحتی این فرآیند را برای سیستم خود ایجاد کنید.

سوالات متداول

1. چگونه می توانیم احراز هویت دو مرحله ای را در لینوکس فعال کنیم؟

SSH را روی سیستم خود راه اندازی کنید و نام کاربری خود را وارد کنید. پس از وارد کردن نام کاربری، SSH از شما احراز هویت دو یا چند مرحله ای (2FA / MFA) درخواست می کند. اگر روش OTP را روی SMS 2FA قرار داده اید، کد OTP را که از طریق تلفن همراه خود دریافت می کنید وارد کنید.

2. چگونه Google Authenticator را روی لینوکس نصب کنیم؟

  • مخزن EPEL را اضافه کنید.
  • Google Authenticator را نصب کنید.
  • برنامه اولیه سازی را اجرا کنید.
  • پس از اجرای دستور، سوالاتی از شما پرسیده می شود.
  • openssh (SSHD) را پیکربندی کنید.
  • فایل پیکربندی SSH را ویرایش کنید
  • سرویس SSHD را مجددا راه اندازی کنید.

منبع:

tecmint.com









نحوه نصب mysql در centos 8

پایگاه های داده بخشی جدایی ناپذیر از هر پلتفرمی هستند. MySQL یکی از محبوب ترین پایگاه داده های رابطه ای است که به صورت رایگان در دسترس است. نصب MySQL بر روی CentOS 8 آسان است. اما بدون حفاظت اولیه و پیکربندی قابل استفاده نیست. اگر این پایگاه داده ایمن نباشد استفاده از آن خطرناک بوده و امکان هک اطلاعات افزایش می یابد.

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

سیستم پایگاه داده MySQL چگونه است؟

MySQL یک سیستم پایگاه داده منبع باز است که معمولاً به عنوان بخشی از مجموعه محبوب LEMP، یعنی Linux، Nginx، MySQL/MariaDB، PHP/Python/Perl استفاده می شود. MySQL یک پایگاه داده رابطه ای است که داده ها را در جداول متشکل از ستون ها و ردیف ها ذخیره می کند. شایان ذکر است که این سیستم از SQL (مخفف زبان پرس و جوی ساختاریافته) برای مدیریت کوئری ها استفاده می کند.

آشنایی با قابلیت های MySQL

پیش نیازها

برای نصب MySQL روی CentOS 8 کافی است سروری با پیکربندی اولیه زیر داشته باشید:

مرحله 1: MySQL را نصب کنید

در CentOS 8، بسته MySQL نسخه 8 در مخزن اصلی موجود است. دستور زیر را برای نصب بسته mysql-server به همراه برخی از وابستگی های آن اجرا کنید:

sudo dnf install mysql-server

برای تایید نصب، Y و سپس Enter را فشار دهید.

خروجی:

. . .
Install  49 Packages

Total download size: 46 M
Installed size: 252 M
Is this ok [y/N]: y

پس از نصب موفقیت آمیز MySQL، برای استفاده از آن باید تنظیماتی را انجام دهید. بسته نصب شده دستور systemd را اجرا می کند که سرویسی به نام mysqld.service را نیز اجرا می کند. برای استفاده از MySQL باید پس از اجرای دستور systemctl راه اندازی شود. برای این کار دستور زیر را وارد کنید:

sudo systemctl start mysqld.service

برای اطمینان از اینکه سرویس به درستی اجرا می شود، دستور زیر را اجرا کنید. توجه داشته باشید که بسیاری از دستورات مانند start یا status اختیاری هستند و فقط می توانید نام سرویس را بعد از systemctl قرار دهید.

sudo systemctl status mysqld

مقاله زیر را بخوانید تا در مورد سیستم های مدیریت پایگاه داده SQLite، MySQL و PostgreSQL نسبی بیاموزید و عملکرد آنها را با یکدیگر مقایسه کنید.

مقایسه SQLite، MySQL و PostgreSQL

اگر MySQL با موفقیت پیکربندی شد، باید خروجی زیر را دریافت کنید:

● mysqld.service - MySQL 8.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2020-03-12 14:07:41 UTC; 1min 7s ago
 Main PID: 15723 (mysqld)
   Status: "Server is operational"
    Tasks: 38 (limit: 5056)
   Memory: 474.2M
   CGroup: /system.slice/mysqld.service
           └─15723 /usr/libexec/mysqld --basedir=/usr

Mar 12 14:07:32 cent-mysql-3 systemd[1]: Starting MySQL 8.0 database server...
Mar 12 14:07:32 cent-mysql-3 mysql-prepare-db-dir[15639]: Initializing MySQL database
Mar 12 14:07:41 cent-mysql-3 systemd[1]: Started MySQL 8.0 database server.

برای راه اندازی خودکار MySQL پس از راه اندازی مجدد سرور، دستور زیر را اجرا کنید:

sudo systemctl enable mysqld

توجه: برای غیرفعال کردن خودکار MySQL هنگام راه اندازی مجدد سرور، می توانید دستور زیر را اجرا کنید:

sudo systemctl disable mysqld

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

مرحله 2: ایمن سازی MySQL

به طور پیش فرض، MySQL دارای یک اسکریپت امن است که می توانید برخی از گزینه های آن را برای بهبود امنیت MySQL تغییر دهید. برای استفاده از اسکریپت امنیتی، دستور زیر را اجرا کنید:

sudo mysql_secure_installation

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

اگر این افزونه امنیتی را فعال کنید، سرویس از شما می خواهد که یک سطح امنیتی برای رمز عبور خود انتخاب کنید. اگر قوی ترین سطح رمز عبور (شماره 2) را انتخاب کنید، رمز عبور شما باید حداقل دارای 8 کاراکتر و ترکیبی از حروف بزرگ، حروف کوچک، اعداد و کاراکترهای خاص باشد.

Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component?

Press y|Y for Yes, any other key for No: Y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2

دومین درخواست تنظیم رمز عبور برای کاربر ریشه MySQL است. رمز عبور خود را انتخاب و تأیید کنید.

خروجی:

Please set the password for root here.


New password: 

Re-enter new password:

اگر از افزونه بررسی رمز عبور استفاده کرده باشید، بازخوردی در مورد سطح رمز وارد شده دریافت خواهید کرد. سپس اسکریپت از شما می پرسد که آیا می خواهید رمز عبور وارد شده را ادامه دهید یا می خواهید رمز عبور جدیدی وارد کنید. با فرض اینکه از سطح امنیتی رمز عبوری که وارد کرده اید راضی هستید، Y را برای ادامه اسکریپت تایپ کنید:

Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

پس از این مرحله، می‌توانید هر گونه درخواست اضافی را با وارد کردن Y بپذیرید. این کار باعث حذف برخی از کاربران ناشناس پایگاه داده و آزمایش پایگاه داده و غیرفعال کردن ورود به سیستم ریشه از راه دور می‌شود. در نهایت، تمام قوانین ذخیره می شوند و MySQL طبق آن قوانین عمل می کند.

برای دریافت آموزش کامل نصب پردازنده کد Apache، MariaDB و PHP در CentOS 8 به همراه تست، مقاله زیر را مطالعه کنید.

نصب LAMP در CentOS 8

همه قوانین:

Please set the password for root here.

New password: 

Re-enter new password: 

Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done! 

نصب و ایمن سازی MySQL روی سرور CentOS 8 با موفقیت انجام شد. در مرحله آخر باید پایگاه داده خود را تست کنیم تا از فعال بودن و درستی آن مطمئن شویم.

آموزش گام به گام نصب MySQL در CentOS 8

مرحله سوم: تست MySQL

برای تست MySQL می توانید از ابزار mysqladmin استفاده کنید. به عنوان یک کلاینت، این ابزار به شما امکان اجرای دستورات و دریافت اطلاعات را می دهد. از دستور زیر برای اتصال به MySQL به عنوان root (فرمان ریشه -u) با یک اعلان رمز عبور (-p) و در نهایت نمایش نسخه نصب شده استفاده کنید:

mysqladmin -u root -p version

سپس باید خروجی زیر را ببینید:

mysqladmin  Ver 8.0.17 for Linux on x86_64 (Source distribution)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Server version		8.0.17
Protocol version	10
Connection		Localhost via UNIX socket
UNIX socket		/var/lib/mysql/mysql.sock
Uptime:			2 hours 52 min 37 sec

Threads: 2  Questions: 20  Slow queries: 0  Opens: 131  Flush tables: 3  Open tables: 48  Queries per second avg: 0.001

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

mysql -u root -p

مانند دستور قبلی mysqladmin، این دستور همچنین شامل -u برای اتصال به عنوان کاربر (در این مثال ریشه) و شامل -p برای نیاز به رمز عبور پایگاه داده است. پس از وارد کردن رمز عبور کاربر ریشه MySQL، یک اعلان MySQL را خواهید دید که آماده اجرای دستورات شماست:

Mysql>

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

مرحله چهارم: یک پایگاه داده MySQL و یک حساب کاربری جدید ایجاد کنید

برای ایجاد پایگاه داده در MySQL، باید کوئری های SQL را با استفاده از mysqladmin اجرا کنید و پایگاه داده مورد نظر خود را ایجاد کنید. با استفاده از کوئری های زیر می توانید یک پایگاه داده با نام spaced و یک کاربر جدید به نام mars ایجاد کنید:

CREATE DATABASE spacedb;
CREATE USER 'mars'@'%' IDENTIFIED BY 'User_Password_Here';
GRANT SELECT, INSERT, UPDATE, DELETE ON spacedb.* TO 'mars'@'%';
GRANT ALL PRIVILEGES ON spacedb.* TO 'mars'@'%';
SELECT user,host FROM mysql.user;
SHOW GRANTS for mars;
quit
mysql -u mars -p spacedb
mysql -u mars -h localhost -p spacedb

نتیجه

نصب و پیکربندی MySQL در CentOS 8 آسان است. اما بدون ایمن سازی و تحقیق استفاده از آن به هیچ عنوان توصیه نمی شود. در این مقاله هر آنچه از نصب و راه اندازی اولیه MySQL نیاز دارید، از آموزش سنتی سیستم عامل و آموزش پایگاه داده را توضیح داده ایم و اکنون می توانید به راحتی از این سیستم پایگاه داده استفاده کنید.

سپس می توانید یک پایگاه داده کامل داشته باشید و از آن استفاده کنید. پس از نصب و پیکربندی اولیه، می توانید تنظیماتی مانند Replication یا Clustering را انجام دهید. لطفاً توجه داشته باشید که پیکربندی امنیتی انجام شده فقط پیکربندی اولیه است و فراموش نکنید که امنیت بیشتری را انجام دهید.

سوالات متداول

1. چگونه در CentOS 8 به MySQL متصل شویم؟

  • نصب سرور CentOS 8
  • فعال کردن MySQL 8 mysqld
  • امنیت سرور MySQL
  • سرور MySQL 8 را پیکربندی یا راه اندازی مجدد کنید
  • تست MySQL 8

2. آیا MySQL به طور پیش فرض در CentOS 8 وجود دارد؟

خیر، می توانید با استفاده از دستور dnf install mysql-server از مخزن سرور نصب کنید.

3. چگونه نسخه CentOS را پیدا کنیم؟

ساده ترین راه برای بررسی نسخه CentOS اجرای دستور cat /etc/centos-release است.

4. چگونه نسخه MySQL نصب شده بر روی CentOS 8 را پیدا کنیم؟

می توانید این کار را با استفاده از دستور sudo systemctl status mysqld یا mysql -V انجام دهید.

5. MySQL کجا روی لینوکس نصب می شود؟

می توانید تمام باینری های مربوط به MySQL را در /usr/bin و /usr/sbin پیدا کنید. تمام جداول و پایگاه داده ها در پوشه /var/lib/mysql ایجاد خواهند شد.

6. MySQL رایگان است یا پولی؟

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

7. دیگر پایگاه های داده برتر کدامند؟

  • کاساندرا
  • PostgreSQL
  • HBase
  • ردیس
  • MongoDB
  • Neo4j
  • جستجوی الاستیک
  • MS SQL Server

منبع:

digitalocean.com









منتظر یک ویژگی جذاب در به روز رسانی هسته لینوکس 6.0 نباشید!

به‌روزرسانی بعدی هسته لینوکس نسخه 6.0 به جای لینوکس 5.20 خواهد بود. از آنجایی که اعداد نشان دهنده یک نسخه جدید هستند، لینوس توروالدز، خالق هسته لینوکس، گفت که این نسخه فقط یک عدد است و ممکن است برخی از تغییرات اعمال نشود. نسخه های هسته لینوکس از قانون خاصی پیروی می کنند. اما چرا نسخه جدید از قوانین پیروی نمی کند؟ نسخه جدید هسته لینوکس در چه تاریخی منتشر می شود و چه تغییراتی ایجاد می شود؟ در این مقاله آموزشی لینوکس سعی داریم به سوالات مربوط به آپدیت هسته لینوکس پاسخ دهیم. پس تا انتها همراه ما باشید.

ویژگی های جدید هسته لینوکس 6.0

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

سایر ویژگی های جدید هسته لینوکس 6.0 عبارتند از:

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

همچنین توروالدز اشاره کرد که برخی از تغییرات این نسخه در Rust نوشته نخواهد شد. اگرچه امیدواریم کدهای Rust بیشتری در به‌روزرسانی‌های آینده لینوکس وجود داشته باشد. برخلاف C، Rust تاکید بیشتری بر امنیت حافظه و هسته دارد. با Rust، توسعه‌دهندگان می‌توانند از تهدیدات بزرگی مانند Heartbleed که امنیت سیستم را به خطر می‌اندازد، اجتناب کنند.

آشنایی با ویژگی های نسخه جدید هسته لینوکس

شماره نسخه لینوکس رمزگشایی شد: چرا 6.0؟

نسخه های قبلی لینوکس تحت یک قانون کنترل نسخه ویژه منتشر شد. اما چرا به‌روزرسانی هسته لینوکس نسخه 6.0 کاملاً قوانین را زیر پا گذاشت؟ برای درک بهتر نسخه لینوکس، به این مثال نگاه کنید. اگر می خواهید نسخه هسته لینوکس سیستم خود را بررسی کنید، به ترمینال بروید و تایپ کنید:

uname -r

به عنوان مثال، اگر نسخه شما هسته لینوکس 5.18.5 است:

  • عدد اول، 5، نشان دهنده نسخه اصلی است.
  • عدد دوم، 18، نشان دهنده یک سری به روز رسانی کوچک است.
  • عدد سوم، 5، نشان دهنده نسخه پچ است.

هسته لینوکس به طور کلی از Semantic Versioning (سیستم کنترل نسخه مورد استفاده در نرم افزار منبع باز) پیروی می کند. لینوس توروالدز دلیل این تغییر نسخه را کوتاه کردن شماره نسخه اعلام کرد و به وجود تغییر عمده در نسخه جدید اشاره ای نکرد. از آنجایی که قانون خاصی در این زمینه وجود ندارد، به جای استفاده از Linux Kernel 5.20، فقط Linux Kernel 6.0 یا Linux 6.0 خواهد بود.

برای دنبال کردن آموزش نحوه اتصال به سرور لینوکس با استفاده از PuTTY (ترمینال SSH) از سیستم عامل های مختلف، مقاله زیر را مطالعه کنید.

به سرور لینوکس متصل شوید

چه زمانی کاربران می توانند به روز رسانی هسته لینوکس را به نسخه 6.0 دریافت کنند؟

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

نتیجه

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

سوالات متداول

1. نسخه هسته لینوکس چیست؟

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

2. هسته لینوکس 6.0 چه زمانی منتشر می شود؟

نسخه نهایی کرنل لینوکس 6.0 هنوز منتشر نشده است. از آنجایی که توسعه لینوکس سریع است، این نسخه به زودی به طور رسمی منتشر خواهد شد.

3. ویژگی های جدید لینوکس 6.0 چیست؟

  • تعبیه کد Rust (مرحله مقدماتی)
  • پشتیبانی از ساخت هسته در زمان واقعی
  • پشتیبانی سخت افزاری جدید
  • بهبود در سیستم های فایل مختلف
  • تغییر برنامه

4. چرا به لینوکس هسته می گویند؟

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

منبع:

news.itsfoss.com









نصب OS 8 در 4 به صورت کاملاً تصویری و مرحله به مرحله + انجام تنظیمات –

همانطور که در مقالات قبلی اشاره کردیم، CentOS به روز رسانی مورد انتظار خود را برای توزیع گسترده لینوکس CentOS 8 در سپتامبر 2019 منتشر کرد. اگر قبلاً یک کاربر CentOS هستید و اکنون می خواهید از آخرین نسخه استفاده کنید، باید بدانید که هنوز کار آسانی وجود ندارد. و راه کوتاهی برای ارتقا به نسخه 8. و برای اجرا و نصب Cent OS 8 باید سیستم عامل خود را از ابتدا نصب کنید.
در راهنمای قبلی، ما نصب سنتی OS 7 را انجام دادیم. در این آموزش، نحوه نصب CentOS 8 را با دستورالعمل های گام به گام به شما نشان می دهیم.

پیش نیازهای نصب OS 8 سنت:

شما به حداقل 8 گیگابایت فضای هارد دیسک نیاز دارید. (+2 گیگابایت برای عملکرد بهینه)

– USB/DVD قابل بوت

– اتصال اینترنت

مرحله 1: دانلود کنید CentOS 8

اولین قدم دانلود فایل ISO CentOS 8 است که در وب سایت رسمی CentOS موجود است.
در این آموزش، CentOS Linux 8 را که به صورت رایگان در دسترس است نصب می کنیم و ISO مربوطه را دانلود می کنیم.

مرحله 2: سیستم یو اس بی یک کفش

پس از دانلود ISO، یک USB قابل بوت ایجاد کنید.
سیستم را از رسانه ای که فایل ISO را روی آن رایت کرده اید بوت کنید.
منوی اصلی با چندین گزینه برای انتخاب نمایش داده می شود. Install CentOS Linux 8.0.1905 را انتخاب کنید. سپس Enter را فشار دهید تا مراحل نصب شروع شود.

مرحله 3: CentOS 8 را نصب کنید.

در ابتدای مراحل نصب، باید زبانی را که می خواهید در حین نصب استفاده کنید، انتخاب کنید. زبان مورد نظر را پیدا کنید و روی Continue کلیک کنید.

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

چیدمان صفحه کلید

اولین چیزی که می توانید تنظیم کنید، طرح صفحه کلیدی است که می خواهید در سیستم خود استفاده کنید. طرح‌بندی پیش‌فرض صفحه‌کلید انگلیسی (آمریکا) است، اما می‌توانید با کلیک کردن روی علامت مثبت (+) و پیدا کردن صفحه‌کلید مورد نظر، صفحه‌کلیدهای دیگری اضافه کنید.
اگر چندین طرح‌بندی صفحه‌کلید دارید، طرح‌بندی بالای فهرست به‌عنوان پیش‌فرض تنظیم می‌شود. می‌توانید طرح‌بندی‌ها را جابه‌جا کنید و ترتیب فهرست‌بندی آنها را انتخاب کنید.

پشتیبانی از زبان

اگرچه قبلاً زبانی را برای فرآیند نصب انتخاب کرده‌اید، می‌توانید پشتیبانی زبان اضافی را نیز نصب کنید. زبان‌هایی را که می‌خواهید اضافه کنید پیدا کنید، کادر را علامت بزنید و روی Done کلیک کنید تا به منوی اصلی بازگردید.

زمان و تاریخ

با انتخاب منطقه و شهر خود، زمان و تاریخ را برای CentOS 8 خود تنظیم کنید. سیستم به طور خودکار زمان را با توجه به موقعیت جغرافیایی شما تغییر می دهد.

منبع نصب

همچنین می توانید منبع نصب مورد نظر خود را برای استفاده انتخاب کنید. به‌طور پیش‌فرض، این روی رسانه نصب به‌طور خودکار (فایل DVD یا ISO) تنظیم می‌شود. اگر نمی‌خواهید از رسانه‌های موجود استفاده کنید، می‌توانید از یک مکان وب استفاده کنید.

انتخاب نرم افزار

بخش انتخاب نرم افزار به شما امکان می دهد تصمیم بگیرید که کدام بسته ها را به عنوان بخشی از سیستم CentOS 8 خود نصب کنید. می توانید محیط پایه را انتخاب کنید (خواه سرور رابط کاربری گرافیکی باشد، حداقل نصب یا هر چیزی که می خواهید) و حتی بسته های اضافی را از لیست افزودنی ها اضافه کنید. .
در این راهنما سرور را با رابط کاربری گرافیکی (GUI) نصب خواهیم کرد.

مقصد نصب

برای انتخاب دستگاه(هایی) که می خواهید CentOS 8 روی آن نصب شود، روی Install Destination کلیک کنید.
با انتخاب Automatically configure the partition یا I will configure the partition می توانید تصمیم بگیرید که چگونه می خواهید دستگاه های ذخیره سازی را پارتیشن بندی کنید.
اگر فضای ذخیره‌سازی انتخابی شما قبلاً در حال استفاده نیست (یعنی نصب تمیز)، می‌توانید از پارتیشن‌بندی خودکار استفاده کنید.
اگر می خواهید از فضای ذخیره سازی استفاده کنید که در آن داده های مهمی دارید که می خواهید نگه دارید، پارتیشن بندی دستی انتخاب عاقلانه تری است. این ویژگی به شما امکان می دهد تنظیمات پیشرفته ای را که منعکس کننده نیازهای شما هستند، پیکربندی کنید.
برای بازگشت به خلاصه نصب روی Done کلیک کنید.

پس از تکمیل تنظیمات پیکربندی CentOS 8، روی دکمه در گوشه پایین سمت راست با عنوان Start Installation کلیک کنید.

کهkdump)

می توانید پیکربندی kdump را در زیر عنوان System مشاهده کنید. در صورت خرابی سیستم، kdump اطلاعاتی را جمع آوری می کند که می تواند در تعیین علت خرابی بسیار ارزشمند باشد.
این مکانیسم تخلیه هسته به بخشی از حافظه سیستم نیاز دارد که فقط برای استفاده از آن ذخیره شده است. Kdump به طور پیش فرض با رزرو خودکار حافظه فعال است.
همچنین می توانید به صورت دستی حافظه ذخیره را روی مقداری که مناسب می دانید تنظیم کنید.

شبکه و نام میزبان

در حین نصب، رابط های محلی موجود لیست شده در پانل سمت چپ به طور خودکار شناسایی می شوند. و می توانید یک شبکه را انتخاب کنید و آن را فعال (یا غیرفعال کنید).

تنظیمات کاربر

هنگام نصب CentOS 8 بر روی دستگاه خود، می توانید تنظیمات سفارشی را نیز پیکربندی کنید.

با ایجاد رمز عبور root شروع کنید. حتما یک رمز عبور قوی ایجاد کنید. کاربر root برای مدیریت سیستم استفاده می شود و به تمام دستورات و فایل ها دسترسی دارد.

سپس یک کاربر با امتیازات غیر روت برای استفاده روزانه ایجاد کنید. سپس نام کامل و نام کاربری سیستم خود را وارد کنید. کادرهایی را که کاربر را مدیر می کند و به تأیید رمز عبور نیاز دارد، علامت بزنید. در نهایت رمزی را که می خواهید استفاده کنید وارد کنید و برای تایید مجدد آن را وارد کنید.

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

صدور مجوز (صدور مجوز)

سیستم راه اندازی مجدد می شود و یک پنجره راه اندازی اولیه با توافق نامه مجوز باز می شود. که برای تکمیل پیکربندی باید آن را بپذیرید. روی License Information کلیک کنید و کادر را علامت بزنید. برای تأیید قبول موافقت نامه

مرحله 4: CentOS اعدام 8.

پس از انجام تنظیمات اولیه و پیکربندی، به صفحه ورود هدایت می شوید. رمز عبوری که به کاربر خود اختصاص داده اید را وارد کرده و Enter را فشار دهید.
و به صفحه اصلی CentOS 8 هدایت می شوید که در آنجا باید زبان سیستم عامل خود را انتخاب کرده و روی Next کلیک کنید.

در اعلان زیر، طرح بندی صفحه کلید یا روش ورودی را که ترجیح می دهید انتخاب کنید و دوباره روی Next کلیک کنید.

انتخاب کنید که آیا می خواهید خدمات موقعیت مکانی را روشن یا خاموش کنید. این یک تنظیم حریم خصوصی است که ممکن است بخواهید آن را حفظ کنید. با روشن کردن سرویس‌های مکان، به برنامه‌ها اجازه می‌دهید موقعیت جغرافیایی شما را تعیین کنند.

در نهایت، گزینه ای برای اتصال به حساب های آنلاین خود برای دسترسی آسان تر به شما ارائه می شود. اگر نمی خواهید این کار را انجام دهید، برای ادامه روی دکمه Skip کلیک کنید.
دکمه Start Using CentOS Linux شما را به دسکتاپ CentOS 8 می برد.

اکنون CentOS 8 را با موفقیت بر روی سیستم خود نصب کرده اید. و شما می توانید تمام ویژگی های جدیدی را که سنت OS 8 ارائه می دهد داشته باشید.

تغییرات و ویژگی های جدید centos 8

امروزه CentOS به طور گسترده در بین توسعه دهندگان و مدیران سیستم استفاده می شود. از آنجایی که کنترل کاملی بر بسته‌های نرم‌افزار منبع باز و سفارشی‌سازی خود ارائه می‌دهد، همچنین پایدار است و دارای یک جامعه پشتیبانی فعال و بزرگ است. همه این موارد باعث شده است که CentOS که از قابلیت اطمینان بالایی نیز برخوردار است، به یک انتخاب محبوب در بین سیستم عامل های سرور تبدیل شود. اکنون در این مقاله می خواهیم با ویژگی های جدید CentOS 8 بیایید بیشتر همدیگر را بشناسیم.

CentOS 8 در 24 سپتامبر 2019 منتشر شد. از آنجایی که یک توزیع لینوکس برگرفته از Red Hat Enterprise Linux (RHEL) است، تیم CentOS مجبور شد زیرساختی برای پشتیبانی از RHEL 8 ایجاد کند.

ویژگی های جدید CentOS 8

محیط کار

برخلاف نسخه‌های قبلی CentOS که نصب پیش‌فرض شامل رابط کاربری گرافیکی نبود، محیط دسکتاپ پیش‌فرض برای CentOS 8 GNOME 3.28 است.

شبکه

از نظر ویژگی های شبکه، دو به روز رسانی اصلی وجود دارد:

  • CentOS اکنون با TCP Networking Stack نسخه 4.16 عرضه می شود.
  • از nftables به جای iptables استفاده کنید

مهمترین نکته این است که: این تغییرات پایداری و عملکرد بهتر را تضمین می کند.

مدیریت نرم افزار

Cent OS 8 دارای مدیریت بسته YUM نسخه 4.0.4 است. که اکنون از فناوری DNF (Dandified YUM) در باطن خود استفاده می کند. DNF نسل بعدی YUM است و برای راه اندازی و مدیریت بهتر نرم افزارها از جمله نصب، حذف و به روز رسانی استفاده می شود. در واقع Centos 8 به شما امکان می دهد از هر دو (YUM و DNF) برای مدیریت بسته استفاده کنید.

مجازی سازی

CentOS نسخه 8 با KVM (qemu-kvm 2.12) ارائه می شود و موارد زیر را پشتیبانی می کند:

  • هسته لینوکس از جدول صفحه سطح 5 پشتیبانی می کند.
  • User Mode Instruction Prevention (UMIP)، که یک ویژگی امنیتی است و برای محدود کردن دسترسی کاربر به تمام تنظیمات سیستم استفاده می‌شود.
  • ذخیره سازی Ceph قابلیت ذخیره سازی بلوک را در تمام معماری های CPU RHEL فراهم می کند.
  • سازگاری بین NVIDIA vGPU و کنسول VNC.
  • یک ویژگی بستر آزمایشی که توسط شبیه ساز QEMU برای اطمینان از تست کد ایمن معرفی شده است.

سطح امنیتی خود را ارتقا دهید

تیم CentOS قابلیت‌های امنیتی را برای تضمین حفاظت از داده‌ها و جلوگیری از نقض‌ها بهبود بخشیده است. آخرین نسخه در حال حاضر دارای OpenSSL 1.1.1 است که به طور پیش فرض شامل TLS 1.3 است. این تضمین می کند که تمام داده های شما و همچنین مشتریان شما از نظر رمزنگاری محافظت می شود.
علاوه بر این، Centos 8 به شما امکان محافظت از داده های خود را می دهد. و نیازی به تغییر تنظیمات امنیتی برنامه ندارید.

رشته CentOS

CentOS Stream پروژه ای است که پروژه های Fedora و RHEL را با هم ترکیب می کند. تیم CentOS نسخه Stream را به عنوان توزیع فعلی برای حذف تاخیرها و مشکلات سازگاری پس از به‌روزرسانی‌های اصلی ایجاد کرد.

انتشار Cent OS 8 در واقع یک به روز رسانی بزرگ است. و شامل بسیاری از ویژگی‌های جدید، از جمله به‌روزرسانی‌های نرم‌افزاری است که توسعه‌دهندگان برای ساخت برنامه‌های کاربردی وب و بارهای کاری کانتینری استفاده می‌کنند.

سیستم مورد نیاز برای نصب سنتوس 8

در مطالب قبلی به صورت مرحله به مرحله Cent OS 7 را نصب کردیم. حالا می خواهیم ببینیم برای نصب نسخه 8 به چه چیزی نیاز داریم:

  • برای نصب centos 8 به حداقل 2 گیگابایت رم نیاز دارید. برای عملکرد بهتر و سریعتر استفاده از رم 4 گیگابایتی پیشنهاد می شود.
  • – اگر قدرت پردازنده بالای 2 گیگاهرتز باشد بهتر است.
  • – 20 گیگابایت فضای دیسک نیز مورد نیاز است که به منظور نصب centos به صورت خام می باشد. در آموزش گام به گام نصب OS 8 سنت می توانید مراحل نصب را به صورت تصویری دنبال کنید. و برای کسب اطلاعات بیشتر و خرید سرور داخلی یا سرور خارجی با ما تماس بگیرید.

فایل swap چیست؟ + یک فایل swap در لینوکس ایجاد و حذف کنید

فایل swap چیست؟ کاربرد آن در لینوکس چیست؟ زمانی که سیستم عامل لینوکس از فضای رم استفاده کند و به فضای بیشتری نیاز داشته باشد، حافظه Swap وارد عمل می شود. در واقع Swap فضایی در سیستم عامل لینوکس است که باعث می شود کمبود فضای رم در سیستم عامل کمتر به چشم بیاید. در این مقاله از سری آموزش لینوکس، نحوه ایجاد فایل swap در لینوکس را به شما آموزش می دهیم. پس تا انتها همراه ما باشید.

فایل swap چیست؟

زمانی که RAM در سیستم عامل لینوکس بسیار شلوغ است، صفحات غیرفعال برای جابجایی فضا منتقل می شوند. Swap File نوعی حافظه مجازی برای سیستم عامل لینوکس است. فضای مبادله به دو صورت وجود دارد:

  • فایل مبادله شده
  • پارتیشن Swap ویژه

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

آشنایی با Swap و نحوه انجام آن

نحوه ایجاد فایل swap در لینوکس

مراحل زیر را با دقت دنبال کنید تا یک Swap تا 1 گیگابایت به سرور خود ایجاد و اضافه کنید. اگر قصد دارید به جای یک گیگابایت از دو گیگابایت فضای swap استفاده کنید، می توانید 2G را با 1G جایگزین کنید.

چه کسی هاست لینوکس را خریداری می کند و چه مزایایی دارد؟ در مقاله زیر بخوانید.

هاست لینوکس چیست؟

مرحله اول. یک فایل قابل استفاده برای Swap ایجاد کنید

sudo fallocate -l 1G /swapfile

اگر Faillocate نصب نشده باشد یا با پیغام خطایی مبنی بر عدم پشتیبانی از عملیات مواجه شدید (Fallocate Failed: Operation Not Supported)، از دستور زیر برای ایجاد فایل swap استفاده کنید:

sudo dd if=/dev/zero of=/swapfile bs=1024 count=1048576

مرحله دوم. دسترسی خواندن و نوشتن به فایل swap را فقط برای کاربر اصلی ایجاد کنید

توجه داشته باشید که فقط کاربر root باید بتواند فایل swap را بخواند و بنویسد. برای تنظیم مجوزهای مناسب، دستور زیر را وارد کنید:

sudo chmod 600 /swapfile

سطح سوم. از ابزار استفاده کنید mkswap برای تنظیم فایل به عنوان یک ناحیه تعویض لینوکس

برای تنظیم فایل به عنوان یک ناحیه مبادله لینوکس، باید از ابزار mkswap استفاده کنید. برای این کار دستور زیر را وارد کنید:

sudo mkswap /swapfile

مرحله چهارم. فعال کردن صرافی

اکنون Swap را با استفاده از دستور زیر فعال کنید:

sudo swapon /swapfile

برای بررسی و دائمی کردن تغییر، فایل /etc/fstab را باز کنید و خط زیر را به آن اضافه کنید:

/etc/fstab
/swapfile swap swap defaults 0 0

مرحله پنجم. بررسی کنید که آیا Swap فعال است یا خیر

برای بررسی فعال بودن Swap، از دستور swapon یا free به صورت زیر استفاده کنید:

sudo swapon --show
NAME      TYPE  SIZE   USED PRIO
/swapfile file 1024M 507.4M   -1
sudo free -h
              total        used        free      shared  buff/cache   available
Mem:           488M        158M         83M        2.3M        246M        217M
Swap:          1.0G        506M        517M

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

نحوه تنظیم مقدار Swappiness

Swappiness یک ویژگی هسته لینوکس است که تعیین می کند سیستم چند بار از فضای مبادله استفاده می کند. مقدار swappiness می تواند بین صفر تا صد باشد. هر چه این مقدار به صفر نزدیکتر باشد، هسته تا آنجا که ممکن است تعویض نخواهد شد. هر چه Swappiness به 100 نزدیکتر باشد، هسته تمایل بیشتری به استفاده از فضای مبادله دارد.

توجه داشته باشید که مقدار Swappiness به طور پیش فرض روی شصت تنظیم شده است. با وارد کردن دستور زیر می توانید مقدار Swappiness فعلی را بررسی کنید:

cat /proc/sys/vm/swappiness
60

مقدار Swappiness شصت برای اکثر سیستم های لینوکس بهینه است. اما احتمالاً باید مقدار کمتری را برای سرورهای تولیدی تعیین کنید. به عنوان مثال، برای تنظیم مقدار Swappiness روی ده، دستور sysctl زیر را اجرا کنید:

sudo sysctl vm.swappiness=10

باید توجه داشته باشید که این پارامتر در راه اندازی مجدد سیستم از بین می رود. بنابراین، برای ثابت نگه داشتن این پارامتر حتی در راه اندازی مجدد، باید خط زیر را به فایل /etc/sysctl.conf اضافه کنید:

vm.swappiness=10

اوبونتو چیست؟ تمامی ویژگی های این توزیع لینوکس را می توانید در مقاله زیر مطالعه کنید.

اوبونتو چیست؟

نحوه حذف فایل Swap

گاهی اوقات ممکن است لازم باشد فایل swap را حذف یا غیرفعال کنید. اگر به دلایلی قصد انجام این کار را دارید، مراحل زیر را دنبال کنید:

مرحله اول. تبادل را غیرفعال کنید

ابتدا باید Swap را با وارد کردن دستور زیر غیرفعال کنید:

sudo swapoff -v /swapfile

مرحله دوم. حذف یک ورودی در یک فایل /swapfile swap پیش فرض 0 0 از فایل /etc/fstab

در مرحله بعد، باید ورودی /swapfile swap swap defaults 0 0 را از فایل /etc/fstab حذف کنید.

سطح سوم. Swapfile واقعی را حذف کنید

در مرحله آخر، Swapfile واقعی را با استفاده از دستور rm حذف کنید:

sudo rm /swapfile

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

چگونه یک فایل را در Swap روی سرور لینوکس حذف کنیم

نتیجه

در این مقاله نحوه ایجاد و حذف فایل Swap در هاست لینوکس و تنظیم مقدار Swappiness را به شما آموزش دادیم. می توانید این مقاله را مرحله به مرحله دنبال کنید و به راحتی فایل swap را برای لینوکس ایجاد کنید. اگر مشکلی پیش آمد، مراحل را از ابتدا و با دقت بیشتری دنبال کنید. در صورت رفع نشدن مشکل با پشتیبانی پارس پک یا در قسمت نظرات همین مقاله مطرح کنید تا در اسرع وقت علت مشکل پیدا شود.

سوالات متداول

1. Swap چیست؟

Swap فضایی در سیستم عامل لینوکس است که باعث می شود کمبود فضای رم در سیستم عامل کمتر به چشم بیاید. زمانی که سیستم عامل فضای رم کافی نداشته باشد و حافظه آن تمام شده باشد، حافظه Swap به عنوان حافظه مجازی استفاده می شود.

2. چند شکل فضای Swap وجود دارد؟

فضای Swap به دو شکل وجود دارد، یک فایل swap و یک پارتیشن swap اختصاصی.

3. Swappiness چیست؟

Swappiness یک ویژگی هسته لینوکس است که تعیین می کند سیستم چند بار از فضای مبادله استفاده می کند. مقدار Swappiness را می توان از 0 تا 100 تنظیم کرد، هرچه به 0 نزدیکتر باشد، هسته تا آنجا که ممکن است تعویض نمی کند. همچنین، هر چه Swappiness به 100 نزدیکتر باشد، هسته تمایل بیشتری به استفاده از فضای مبادله دارد.

4. آیا می توانیم فایل swap را حذف کنیم؟

بله، اگر به دلایلی می خواهید فایل Swap را حذف کنید، می توانید با استفاده از مراحل ذکر شده در این مقاله، آن را غیرفعال و حذف کنید.

منبع:

linuxize.com









نحوه بازنشانی رمز عبور ریشه در اوبونتو با حالت بازیابی

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

در این آموزش اوبونتو، نحوه بازنشانی رمز عبور ریشه با استفاده از حالت بازیابی را شرح خواهیم داد. لطفاً توجه داشته باشید که این به یک کاربر مخرب (هکر) اجازه می دهد تا به طور فیزیکی به میزبان لینوکس دسترسی داشته باشد و آن را کنترل کند. در آینده با ما همراه باشید تا در مورد روش بازیابی رمز عبور ریشه از طریق حالت بازیابی بیشتر بدانید.

Recovery Mode در اوبونتو چیست؟

اگر سیستم عامل اوبونتو شما در حالت عادی بوت نمی شود، بهتر است آن را در حالت ریکاوری بوت کنید. این حالت برخی از عملکردهای اساسی را بارگیری می کند و شما را به حالت خط فرمان می برد. سپس به عنوان Root وارد سیستم خواهید شد و می توانید سیستم خود را با استفاده از ابزارهای خط فرمان شخصی سازی کنید.

چگونه رمز عبور اوبونتو را بازنشانی کنیم؟

با فشار دادن همزمان CTRL+ALT+DEL یا با استفاده از منوی Shutdown/Reboot هنگام بوت شدن سیستم عامل اوبونتو، سیستم خود را به درستی راه اندازی مجدد کنید. هنگام راه اندازی مجدد، از F11، F12، Esc یا Shift برای ورود به حالت بازیابی GRUB استفاده کنید. اگر با فشار دادن F11 نمی توانید به منوی بازیابی دسترسی پیدا کنید، به جای آن F12 را فشار دهید.

رمز عبور اوبونتو را از حالت بازیابی بازیابی کنید

عدم استفاده طولانی مدت از سیستم عامل لینوکس توسعه یافته باعث می شود رمز ورود خود را فراموش کنید. بهتر است بدانید که برای ورود نیازی به نصب مجدد سیستم عامل ندارید و می توانید با استفاده از روش های زیر رمز اصلی سیستم خود را بازیابی کنید.

مرحله 1: وارد حالت بازیابی شوید. از تنظیمات منوی GRUB استفاده کنید

اگر هنوز سیستم خود را روشن نکرده اید، آن را روشن کنید و کلید Shift یا ESC را قبل از بارگیری سیستم عامل فشار دهید تا وارد صفحه منوی Grub شوید. اگر هم روشن است با استفاده از کلیدهای ترکیبی CTRL+ALT+DEL سیستم را ریبوت کنید و مراحل ذکر شده را برای آن دنبال کنید.

توجه: اگر از Oracle VirtualBox یا VMware استفاده می کنید، باید بلافاصله کلید Shift را با ظاهر شدن لوگوی Oracle یا VMware نگه دارید. وقتی وارد منوی Grub می شوید، Advanced Ubuntu Options را انتخاب کنید.

راه اندازی حالت بازیابی رمز عبور ریشه در اوبونتو

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

راه اندازی حالت بازیابی رمز عبور ریشه در اوبونتو

مرحله 2: در منوی بازیابی خط فرمان پوسته، root را انتخاب کنید

در صفحه مقابل گزینه های مختلفی را مشاهده خواهید کرد. Root – Drop to root shell را با استفاده از کلید Enter انتخاب کنید.

خط فرمان اوبونتو را وارد کنید

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

مرحله 3: اجازه دسترسی به نوشتن root را بدهید

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

mount -rw -o remount /

مرحله 4: نام کاربری و رمز عبور خود را بازنشانی کنید

در این مرحله به شما دسترسی root داده می شود و می توانید از دستور زیر برای نمایش لیست کاربران سیستم خود استفاده کنید:

ls /home

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

passwd username

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

Enter new UNIX password:
Retype new UNIX password:

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

exit

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

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

خطاهای احتمالی که ممکن است با آن مواجه شوید!

هنگامی که می خواهید رمز عبور جدید را وارد کنید، ممکن است با خطای احتمالی با عنوان Authentication Manipulation مواجه شوید:

passwd username
Enter new UNIX password:
Retype new UNIX password:
passwd: Authentication token manipulation error
passwd: password unchanged

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

mount -rw -o remount /

اکنون دوباره سعی کنید رمز عبور سیستم خود را بازنشانی کنید. بدون شک این بار درخواست انجام خواهد شد. همانطور که مشاهده کردید، بازنشانی رمز عبور اوبونتو بسیار آسان است و پس از چند دقیقه می توانید رمز عبور روت را از طریق حالت بازیابی ریست کنید.

روش جایگزین برای بازیابی رمز عبور ریشه در اوبونتو

اگر به دلایلی با استفاده از روش قبلی در ورود به بوت لودر و بازیابی رمز عبور مشکل داشتید و نتوانستید رمز سیستم را با این روش بازیابی کنید، می توانید از روش دوم استفاده کنید.

مرحله اول

کامپیوتر را مجددا راه اندازی کنید و کلید Shift را نگه دارید تا صفحه Grub ظاهر شود (اگر به طور خودکار ظاهر نشود). برای دسترسی به ویرایش، کلید E را در خط فرمان Grub فشار دهید.

مرحله دوم

از صفحه گزینه ها خطی را که با کلمه Linux شروع می شود پیدا کنید و ro را به rw تغییر دهید و init=/bin/bash را به انتهای آن خط اضافه کنید. سپس ctrl-x را فشار دهید تا تغییرات اعمال شده ذخیره شده و وارد شوید.

اکنون هسته لینوکس را با مجوزهای خواندن و نوشتن بارگذاری می کنید و به جای رفتن به رابط کاربری گرافیکی، از پوسته bash استفاده می کنید. در واقع، سیستم شما بدون رمز عبور در پوسته ریشه بوت می شود.

دستور passwd را با نام کاربری خود وارد کنید. اگر نام کاربری خود را نمی دانید، با استفاده از دستور ls /home آن را دریافت کنید (همانطور که در روش اول توضیح داده شد).

رمز جدید مورد نظر خود را وارد کنید. پس از تنظیم رمز عبور جدید، از ترمینال خارج شوید. در ترمینال، فقط restart را تایپ کنید یا از دستور shutdown استفاده کنید:

shutdown -r now

با اعمال تنظیمات، رمز عبور شما باید تغییر کرده باشد.

آیا بازیابی رمز عبور اوبونتو یک مشکل امنیتی نیست؟

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

خطر هک فیزیکی سیستم عامل لینوکس از طریق بازیابی رمز عبور ریشه

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

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

چگونه رمز عبور sudo خود را پیدا کنم؟

هیچ رمز عبور پیش فرضی برای sudo وجود ندارد و رمز بازنشانی همان رمز عبوری است که هنگام نصب سیستم عامل اوبونتو برای آن تنظیم شده است. عدم وجود رمز عبور ریشه یک ویژگی مهم است. به همین دلیل، گزینه های پیشرفته اوبونتو در منوی بوت به شما این امکان را می دهد که برخی از وظایف مربوط به ریشه را با استفاده از اعلان Root Shell انجام دهید.

این دلیلی است که به شما امکان می دهد رمز عبور را با استفاده از root تنظیم مجدد کنید. اگر سیستم ایمن‌تری می‌خواهید، می‌توانید رمزگذاری دیسک (برای ذخیره داده‌های خود) یا یک رمز عبور برای کاربر اصلی در اوبونتو تنظیم کنید.

نتیجه

بازیابی رمز عبور ریشه از طریق Recovery Mode یکی از روش های رایج برای بازنشانی پسورد سیستم عامل لینوکس است که به دلایل مختلف آن را فراموش کرده اید. در این مقاله آموزشی لینوکس از سری مقالات آموزش سیستم عامل، دو روش کاربردی بازیابی رمز روت را معرفی کرده ایم که با استفاده از هر یک از آنها می توانید رمز فراموش شده خود را در عرض چند دقیقه بازیابی کنید.

سوالات متداول

1. آیا بعد از فراموشی رمز روت لینوکس نیاز به تغییر سیستم عامل داریم؟

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

2. اگر یک شخص غیرمجاز به سیستم ما دسترسی پیدا کند، آیا می تواند با بازنشانی رمز عبور اطلاعات را دریافت کند؟

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

3. برای دسترسی به منوی GRUB از کدام کلیدها استفاده کنیم؟

هنگام راه‌اندازی مجدد، می‌توانید از کلیدهای F11، F12، Esc یا Shift برای ورود به حالت بازیابی GRUB استفاده کنید.