بایگانی نویسنده: محمد حساس

نحوه نصب یک گواهی SSL رایگان در Debian 10 برای Secure Nginx

نحوه نصب یک گواهی SSL رایگان در Debian 10 برای Secure 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: گواهی را نصب کنید

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

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

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

$ sudo apt update

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

  • python3-acme
  • python3-certbot
  • python3-mock
  • 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 بدهید و سپس مجوز اضافی Nginx HTTP را حذف کنید:

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 اجرا می کند. همچنین برای تعیین دامنه هایی که می خواهیم گواهی SSL برای آنها معتبر باشد از -d استفاده کنید.

اگر اولین بار است که از 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 وب سایت داده شده است توجه کنید. اگر آیکون قفل که معمولاً به رنگ سبز نشان داده می شود، در ابتدای URL قرار داده شده باشد، این فرآیند به درستی انجام شده است و وب سایت شما اکنون امن است. به علاوه، اگر سرورهای خود را با استفاده از آزمایشگاه SSL آزمایش کنید، نمره A دریافت خواهید کرد. الان همه چیز خوب است؛ اما به عنوان آخرین مرحله، فرآیند تمدید گواهی را امتحان کنید.

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

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

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

$ sudo certbot renew --dry-run

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

نتیجه

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

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

1. Let’s Encrypt چیست؟

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

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

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

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

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

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

خیر، 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. سرویس SSDD را مجددا راه اندازی کنید:

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 را توضیح داده ایم.









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

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

openvert چیست؟

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

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

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

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

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

سیستم عامل OpenWrt چه کاربردهایی دارد؟

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

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

کاربرد OpenWrt چیست؟

راهنمای نصب OpenWrt

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

کلی.سریال

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 روی مودم ها برای دور زدن محدودیت های اینترنت، ترافیک حمل و نقل، ایجاد شبکه مهمان، اجرای نرم افزار سرور و نصب کلاینت های بیت تورنت اشاره کرد.

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

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









نصب رایگان SSL در CentOS و Apache

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

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

پیش نیازها

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

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

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

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

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

sudo yum install epel-release

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

sudo yum install certbot python2-certbot-apache mod_ssl

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

مرحله 2: دریافت گواهی

پس از نصب Certbot، می توانید از آن برای درخواست گواهی SSL برای دامنه خود استفاده کنید. استفاده از Certbot Let’s Encrypt برای تولید گواهینامه های SSL برای آپاچی بسیاری از این فرآیندها را خودکار می کند. کلاینت به طور خودکار گواهی 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 ندارید، از گزینه دوم یعنی تغییر مسیر استفاده کنید. هنگام استفاده از این گزینه، تمام درخواست ها به طور خودکار به پروتکل 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

در این مرحله، می توانید با استفاده از ابزار تست سرور SSL Qualys تأیید کنید که Certify گواهینامه SSL شما را به درستی تولید کرده است. برای این کار لینک زیر را در مرورگر خود وارد کرده و domain اصلی خود را جایگزین 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 شما منقضی نمی شود، ایجاد یک کار Korn است که به طور دوره ای دستور تجدید را برای شما اجرا می کند. از آنجایی که ابتدا تاریخ انقضا برای تمدید گواهی بررسی می شود و تمدید فقط زمانی انجام می شود که کمتر از 30 روز با تاریخ انقضا فاصله داشته باشید، ایجاد شغل ذرت که هر هفته یا حتی هر روز اجرا می شود خطرناک نیست.

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

با ویرایش 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 نرم افزاری است که می توانید از آن برای نصب خودکار گواهی های 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 این قابلیت را دارد که در صورت اجرا نشدن و پاسخگو بودن یک فرآیند را مجدداً راه اندازی کند و در صورت استفاده از منابع زیاد، فرآیند را متوقف کند. علاوه بر این، می‌توانید از Monet برای نظارت بر فایل‌ها و دایرکتوری‌ها، تغییرات فایل‌های سیستم، تغییرات چک‌سوم، تغییرات اندازه فایل یا تغییرات مهر زمانی استفاده کنید.

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

مزایای Monit

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

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

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

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

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

به طور پیش فرض برنامه مانیتورینگ Monit در مخازن پیش فرض سیستم موجود نیست و باید از مخازنی مانند Appel استفاده کرد. مخزن خود را فعال و پیکربندی کنید و بسته 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]

نصب مونیت روی RHEL

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

$ sudo apt install monit

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

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

Monit دارای یک رابط وب است که روی پورت 2812 با استفاده از وب سرور اجرا می شود. برای فعال کردن رابط وب، باید تغییراتی در فایل پیکربندی Monet ایجاد کنید. فایل پیکربندی اصلی Monit در /etc/monit.conf برای RedHat، CentOS و Fedora و /etc/monit/monitrc برای اوبونتو، دبیان و لینوکس مینت قرار دارد. این فایل را با استفاده از ویرایشگر انتخابی خود مانند 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 در لینوکس

اکنون می توانید با مراجعه به URL زیر به رابط وب 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 برای Ubuntu، Debian و Linux Mint در فایل /monit/monitrc اضافه کنید. در ادامه، چند نمونه پیکربندی مفید برای 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 بررسی کنید تا خطاها را برطرف کنید. همچنین تشخیص نوع خطای رخ داده آسان است. هنگامی که پیامی دریافت کردید مانند دستور فایل کنترل صحیح است، یا اگر خطایی مشاهده نکردید، می توانید ادامه دهید:

# 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 ابزاری برای مدیریت و نظارت بر فرآیندها، برنامه ها، فایل ها، دایرکتوری ها و فایل های سیستمی در سیستم های یونیکس و لینوکس است. ناگفته نماند که مونیت به طور خودکار اقدامات تعریف شده را در شرایط خطا و عملیات نگهداری و تعمیر انجام می دهد.

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

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

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

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

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

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

6. چرخه مونیت چیست؟

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









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

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

پیش نیازها

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

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

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

آموزش گام به گام نصب 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 Shell خارج شوید:

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

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

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

اکنون وارد پوسته MariaDB شده و با استفاده از دستور زیر امتیازات لازم را به MySQL Time Zone بدهید:

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";

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

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. راه اندازی گام به گام نصب وب کاکتی

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

تیک گزینه مربوطه را بزنید

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

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

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

مراحل نصب نرم افزار cacti

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

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

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

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

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

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

نتیجه

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

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

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

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

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

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

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

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

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

4. RRDTool چیست؟

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

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

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









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

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

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

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

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

$ su -

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

# apt-get update

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

# apt-get install sudo

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

# usermod -aG sudo shovon

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

# exit

اکنون کاربر معمولی shovn می تواند هر دستوری را به عنوان root با استفاده از sudo اجرا کند:

$ sudo ls /var/log

shawon رمز عبور کاربر را وارد کنید و مطبوعات. دستور باید به صورت root اجرا شود.

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

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

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

$ sudo passwd

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

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

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

$ sudo passwd

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

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

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

$ sudo passwd -l root

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

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

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

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

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

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

قسمت ro quiet را از انتهای خط بردارید و مانند شکل زیر 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

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

نتیجه

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

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

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

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

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

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

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

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

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

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

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

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









Centos 7 و nginx. ssl رایگان را روی آن نصب کنید

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

Let’s Encrypt یک مرجع جدید (CA) است که گواهی های رایگان TLS و SSL را صادر می کند که HTTPS رمزگذاری شده را در سرورهای وب فعال می کند. اجازه دهید گواهینامه‌ها را رمزگذاری کنیم، فرآیند را آنقدر آسان می‌کند که یک کلاینت نرم‌افزاری به نام 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، مشتری Certbot را روی Let’s Encrypt نصب کردیم، گواهی‌های 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 امن هستند؟

گواهینامه‌های 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 a setup key را انتخاب کنید. اگر این برنامه را ندارید، می‌توانید برنامه Google Authenticator را در دستگاه‌های Android یا iPhone یا Blackberry خود دانلود و نصب کنید. پس از آن، نام کاربری (نام حساب) و کلید مخفی ایجاد شده قبلی را وارد کنید.

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

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

رمز عبور یکبار مصرف ایجاد شده در 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









سنتوس 8. نحوه نصب mysql در

پایگاه های داده بخشی جدایی ناپذیر از هر پلتفرمی هستند. 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:

اگر از افزونه Password Verification استفاده کرده باشید، پاسخی در سطح رمز وارد شده دریافت خواهید کرد. در مرحله بعد، اسکریپت از شما می پرسد که آیا می خواهید با رمز عبوری که وارد کرده اید ادامه دهید یا می خواهید رمز عبور جدیدی وارد کنید. با فرض اینکه از سطح امنیتی رمز عبور وارد شده راضی هستید، 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 به همراه تست، مقاله زیر را مطالعه کنید.

CentOS 8. نصب LAMP روی

همه قوانین:

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

مرحله 3: تست 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>

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

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

برای ایجاد پایگاه داده در MySQL، باید کوئری SQL را با استفاده از mysqladmin اجرا کنید و پایگاه داده مورد نظر خود را ایجاد کنید. با استفاده از کوئری های زیر می توانید یک پایگاه داده با نام space و یک کاربر جدید به نام 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 یا Cluster را انجام دهید. لطفاً توجه داشته باشید که پیکربندی امنیتی انجام شده فقط پیکربندی اولیه است و حتماً امنیت بیشتری را انجام دهید.

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

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

  • نصب سرور CentOS 8
  • mysql 8 mysqld را فعال کنید
  • ایمن سازی MySQL Server
  • سرور 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
  • redis
  • MongoDB
  • Neo4j
  • Elasticsearch
  • سرور ms sql

منبع:

digitalocean.com









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

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

ویژگی های جدید Linux Kernel 6.0

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

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

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

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

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

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

نسخه های قبلی لینوکس طبق قانون نسخه ویژه منتشر شد. اما چرا هسته لینوکس نسخه 6.0 به طور کامل قوانین را نقض کرد؟ برای درک بهتر نسخه لینوکس، به این مثال نگاه کنید. اگر می خواهید نسخه هسته لینوکس را در سیستم خود بررسی کنید، به ترمینال بروید و تایپ کنید:

uname -r

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

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

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

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

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

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

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

نتیجه

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

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

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

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

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

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

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

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

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

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

منبع:

news.itsfoss.com









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

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

فایل swap چیست؟

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

  • فایل مبادله
  • پارتیشن swap اختصاصی

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

دانستن در مورد مبادله و نحوه انجام آن

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

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

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

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

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

sudo fallocate -l 1G /swapfile

اگر Failed Location نصب نشده باشد یا پیام خطایی دریافت کردید که می گوید عملیات پشتیبانی نمی شود (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 ایجاد کنید. توجه داشته باشید که کدها باید همانطور که گفته شد به درستی و کامل وارد شوند. در صورت بروز هر گونه مشکل یا خطایی مراحل را از ابتدا با دقت بیشتری ادامه دهید.

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

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

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

cat /proc/sys/vm/swappiness
60

مقدار مبادله شصت برای اکثر سیستم های لینوکس تقریباً بهینه است. اما به احتمال زیاد، باید مقدار کمتری را برای سرور تولید تنظیم کنید. به عنوان مثال، برای تنظیم مقدار 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 defaults 0 0 را از فایل /etc/fstab حذف کنید.

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

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

sudo rm /swapfile

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

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

نتیجه

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

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

1. Swap چیست؟

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

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

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

3. Swappiness چیست؟

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

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

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

منبع:

linuxize.com









CentOS 7. نصب و پیکربندی Nginx در

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

CentOS 7. نصب Nginx در

اگر از یک کاربر غیر ریشه استفاده می کنید، برای نصب Nginx در CentOS 7، باید مجوز sudo داشته باشید و قبل از همه دستورات sudo را اضافه کنید.

برای نصب EnginX، مخزن EPEL را اضافه کنید:

yum install epel-release -y

در مرحله بعد، Nginx و ویرایشگر متن نانو را برای سهولت استفاده نصب کنید:

yum install nginx nano -y

به طور پیش فرض، EngineX برای کار با آدرس های IPv4 و IPv6 پیکربندی شده است. اگر آخرین نسخه روی سرور پیکربندی نشده باشد، وب سرور به سادگی شروع نمی شود. بنابراین، بلافاصله به تنظیمات بروید:

nano /etc/nginx/nginx.conf

خط بعدی را پیدا کنید و آن را نظر دهید. یعنی علامت # را در ابتدای آن قرار دهید:

listen       [::]:80 default_server;

نتیجه:

#        listen       [::]:80 default_server;

حالا فایل را ذخیره کنید و تنظیمات را برای خطاها بررسی کنید:

nginx -t

خروجی شما باید به شکل زیر باشد:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful

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

برای آموزش کامل نحوه نصب Cpanel بر روی سرور VPS یا اختصاصی لینوکس CentOs 7 مقاله زیر را مطالعه کنید.

CentOs 7. نصب سی پنل در

حالا اجازه دهید Nginx را شروع کرده و آن را به Autorun اضافه کنیم:

systemctl enable --now nginx

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

firewall-cmd --zone=public --permanent --add-service=http

firewall-cmd --zone=public --permanent --add-service=https

firewall-cmd --reload

چگونه Engine X را روی CentOS 7 نصب کنیم؟

پیکربندی مکان فایل های وب سایت برای نصب Nginx در CentOS 7

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

mkdir -p /var/www/default

سپس صفحه را در یک پوشه جدید ایجاد کنید:

nano /var/www/default/index.html

حالا مواد را به آن اضافه کنید. این محتوا می تواند هر چیزی باشد. مثلا:

<h1>My first web page</h1>

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

chown -R nginx:nginx /var/www/default/

در پیکربندی EngineX از سرور مجازی، از پیکربندی استفاده کنید و به جای آن فایل های وب سایت را انتقال دهید. برای انجام این کار، پیکربندی EngineX را باز کنید:

nano /etc/nginx/nginx.conf

باید قسمت Servers را پیدا کنید که با گوش دادن به 80 default_server شروع می شود و پارامتر route در آن مسیر فایل های وب سایت را مشخص می کند. اکنون آن را با مسیر /var/www/default/ که ایجاد کرده اید جایگزین کنید:

    server {
        listen       80 default_server;
#        listen       [::]:80 default_server;
        server_name  _;
        root         /var/www/default/;
...

فایل را ذخیره کرده و EngineX را مجددا راه اندازی کنید:

systemctl restart nginx

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

چگونه PHP را در Engine X نصب کنیم؟

مراحل نصب PHP

هنگام نصب Nginx روی سرور لینوکس CentOS 7، استفاده از PHP یک نیاز ضروری است. برای کار با PHP باید php-fpm را نصب کنید:

yum install php-fpm

حالا آن را اجرا کنید و این را به راه اندازی اضافه کنید:

systemctl enable --now php-fpm

در انتهای بخش سرور تنظیمات کار با php-fpm را مانند قبل به پیکربندی Nginx اضافه کنید:

nano /etc/nginx/nginx.conf
location ~ .php$ {

try_files $uri =404;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;

fastcgi_buffer_size 128k;

fastcgi_buffers 256 16k;

fastcgi_busy_buffers_size 256k;

fastcgi_temp_file_write_size 256k;

include fastcgi_params;

}

موتورX را مجددا راه اندازی کنید:

systemctl restart nginx

اکنون یک فایل برای آزمایش عملکرد php-fpm ایجاد کنید:

echo "<!--?php phpinfo(); ?-->" > /var/www/default/info.php

سپس، http://server-IP/info.php را در نوار آدرس مرورگر باز کنید و به دنبال اطلاعاتی در مورد PHP باشید.

چگونه Nginx را روی CentOS 7 نصب کنیم؟

این خروجی تایید می کند که nginx + php-fpm کار می کند. پس از تست عملکرد سرور، حتما این صفحه را حذف کنید. زیرا امنیت سرور را تهدید می کند.

نتیجه

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

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

1. توزیع CentOS 7 چیست؟

CentOS 7 یکی از توزیع‌های لینوکس برای استفاده سازمانی است و مانند نسخه رایگان لینوکس Red Hat Enterprise است.

2. نام کاربری و رمز عبور پیش فرض CentOS 7 چیست؟

برای توزیع هایی که به طور پیش فرض اجازه ورود به عنوان root را می دهند (مانند RHEL یا CentOS یا Scientific Linux)، نام کاربری root و رمز عبور fln75g است.









یاد بگیرید چگونه مانند یک حرفه ای مسیرها را در دستورات لینوکس پیدا کنید

چگونه با استفاده از مدیر بسته مانند دستور apt/dnf که به تازگی در لینوکس نصب کرده ایم، مسیر فرمان لینوکس را پیدا کنیم؟ امروزه بسیاری از توسعه دهندگان با سیستم عامل لینوکس کار می کنند. در همین حال، برخی از آنها از لینوکس از WSL استفاده می کنند و برخی دیگر مستقیماً از طریق SSH با سرورهای ابری سروکار دارند. در این مقاله قصد داریم شما را با چند دستور رایج برای فهرست کردن یا یافتن مسیرها از دستورات لینوکس آشنا کنیم. پس با ما همراه باشید

Linux Command چیست؟

در ویندوز، رابط کاربری پیش فرض GUI است. با این حال، لینوکس به طور پیش فرض یک رابط متنی در سمت سرور دارد. بنابراین اغلب از عباراتی مانند bash، shell، console، command prompt terminal و بسیاری از نام های دیگر استفاده می کنند. همه این اصطلاحات به یک رابط متنی اشاره دارد. به عنوان مثال، در MS Windows، روی Start کلیک می کنید تا برنامه اجرا شود.

به طور مشابه، در ترمینال دستوراتی را تایپ می کنید که به دستورات لینوکس معروف هستند. به عنوان مثال، می توانید Ctrl + Alt + T را فشار دهید تا ترمینال لینوکس راه اندازی شود. سپس یک دستور ساده مانند date را تایپ کنید تا تاریخ و زمان امروز را ببینید. برای اجرای دستور date باید تمام حروف آن را با حروف کوچک بنویسید و سپس کلید Enter را فشار دهید.

دستورات رایج ترمینال لینوکس

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

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

  • دستورات پوسته داخلی یا داخلی
  • دستور خارجی / اجرایی / فایل
  • عملکرد پوسته
  • یک نام خانوادگی
  • یک کلمه کلیدی

چگونه نوع فرمان لینوکس را تشخیص دهیم؟

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

type command
type -t command
type -a command

برای مثال دستور pwd را در نظر بگیرید:

type pwd
type date
type hello
type ping

# Display a single word which is one of 'alias', 'keyword', 'function', 'builtin',
# 'file or '' , if command is an alias, shell reserved word, shell function, shell builtin,
# disk file, or not found, respectively
type -t ping
type -t if
type -t vi
type -t nano

# The '-a' option shows all locations containing an executable named ping
type -a ping

شناسایی انواع دستورات در دستورات لینوکس

متغیر مسیر $ چیست؟

متغیر PATH شامل مجموعه ای از دایرکتوری ها است که در آن برنامه های اجرایی مانند ping، date، vi و docker در لینوکس یا سیستم های مشابه یونیکس ذخیره می شوند. برای مشاهده مسیر فعلی خود، از دستور echo / printf استفاده کنید:

echo "$PATH"

# OR
#
# More human readable format
#
echo "${PATH//:/$'n'}"

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

/home/vivek/google-cloud-sdk/bin
/home/vivek/.local/bin
/home/vivek/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
/snap/bin

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

ls /bin/
ls -l /bin/

نحوه نمایش اطلاعات مربوط به یک فرمان

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

command -v date
command -v pwd
command -v ping
command -v docker

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

با کدام دستور می توانید مسیر فرمان لینوکس را به راحتی پیدا کنید. مثلا:

which gcc
which nano

برای چاپ تمام مسیرهای منطبق، از a- استفاده کنید:

which -a ls

نحوه یافتن مسیر فرمان لینوکس

مسیر را از دستور لینوکس یا صفحه man دریافت کنید

از دستور whereis برای یافتن صفحات باینری و کد منبع استفاده کنید و از صفحه man برای دستورات روی یک برنامه یا دیسک خاص استفاده کنید. مثلا:

whereis command
whereis gcc
whereis docker
whereis lxc
whereis vim

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

whereis -b ls

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

whereis -m date
whereis -m gcc

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

جستجو و یافتن سفارشات

علاوه بر این، می توانید فایل ها را با نام آنها پیدا کنید. به عنوان مثال، ما قصد داریم فایلی به نام “date” را جستجو کنیم:

locate -b 'date'
## OR ##
find / -name "date" -ls
# sudo for all files
sudo find / -name "date" -ls

ردیابی خروجی از دستور:

/snap/core/11316/bin/date
/snap/core/11420/bin/date
/snap/core18/2066/bin/date
/snap/core18/2074/bin/date
/snap/core20/1026/usr/bin/date
/snap/core20/1081/usr/bin/date
/usr/bin/date
/usr/lib/byobu/date

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

از دستورات whats، help و man یا دستورات اطلاعات استفاده کنید.

درباره دستور whatis

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

whatis ls
whatis clear
whatis date
whatis gcc

شمردن آنچه در ترمینال لینوکس است

برای همه دستورات خارجی، از دستور man یا دستور info برای دریافت کتابچه راهنمای دقیق استفاده کنید:

man date
man ls
man gcc
man bash
info ls
info bash
man which

آشنایی با Man Pages در لینوکس

دستور help برای همه کلیدواژه‌های bash و سازه‌ها استفاده می‌شود:

help if
help exit
help logout
help type
help command

نتیجه

پیدا کردن مکان یک دستور یکی از مشکلات برنامه نویسان تازه کار است. اما با کمک این صفحه ساده می توانید مسیر فرمان را با استفاده از man page پیدا کنید و همچنین اطلاعاتی در مورد آنها به دست آورید. فرض کنید Docker را روی سرور اوبونتو نصب کرده اید. بنابراین، می توانید از دستورات زیر برای یافتن مسیر و کمک استفاده کنید:

whatis docker
whereis docker
type -a docker
which docker
find / -iname "docker"
locate -b 'docker'
man docker

برای سرور لینوکس دبیان یا اوبونتو، دو دستور زیر را امتحان کنید. برای فهرست کردن تمام فایل های نصب شده توسط بسته Docker بر روی سرور، از دستور dpkg استفاده کنید:

dpkg -L docker-ce
dpkg -L docker-ce | more
/.
/etc
/etc/default
/etc/default/docker
/etc/init
/etc/init/docker.conf
/etc/init.d
/etc/init.d/docker
/lib
/lib/systemd
/lib/systemd/system
/lib/systemd/system/docker.service
/lib/systemd/system/docker.socket
/usr
/usr/bin
/usr/bin/docker-init
/usr/bin/docker-proxy
/usr/bin/dockerd
/usr/share
/usr/share/doc
/usr/share/doc/docker-ce
/usr/share/doc/docker-ce/README.md
/usr/share/doc/docker-ce/changelog.Debian.gz

علاوه بر این، از دستور APT برای نمایش اطلاعات بسته Docker استفاده کنید:

apt show docker-ce
Package: docker-ce
Version: 5:19.03.13~3-0~ubuntu-bionic
Priority: optional
Section: admin
Maintainer: Docker <[email protected]>
Installed-Size: 107 MB
Depends: docker-ce-cli, containerd.io (>= 1.2.2-3), iptables, libseccomp2 (>= 2.3.0), libc6 (>= 2.8), libdevmapper1.02.1 (>= 2:1.02.97), libsystemd0
Recommends: aufs-tools, ca-certificates, cgroupfs-mount | cgroup-lite, git, pigz, xz-utils, libltdl7, apparmor
Conflicts: docker (<< 1.5~), docker-engine, docker-engine-cs, docker.io, lxc-docker, lxc-docker-virtual-package
Replaces: docker-engine
Homepage: https://www.docker.com
Download-Size: 22.5 MB
apt-manual-installed: yes
apt-sources: https://download.docker.com/linux/ubuntu bionic/edge amd64 Packages
Description: Docker: the open-source application container engine
Docker is a product for you to build, ship and run any application as a
lightweight container
.
Docker containers are both hardware-agnostic and platform-agnostic. This means
they can run anywhere, from your laptop to the largest cloud compute instance and
everything in between - and they don't require you to use a particular
language, framework or packaging system. That makes them great building blocks
for deploying and scaling web apps, databases, and backend services without
depending on a particular stack or provider.

N: There are 29 additional records. Please use the '-a' switch to see them.

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

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

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

ترمینال لینوکس یک ترمینال کاربر پسند است. زیرا گزینه های پشتیبانی مختلفی را ارائه می دهد. برای باز کردن ترمینال لینوکس، CTRL+ALT+T را فشار دهید و با فشردن Enter دستور را اجرا کنید.

2. لینوکس چند دستور دارد؟

هسته لینوکس و سایر سیستم عامل های مشابه یونیکس بیش از 100 دستور یونیکس را به اشتراک می گذارند.

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

ابتدا بر روی دکمه Start و سپس بر روی Computer کلیک کنید تا محل فایل مورد نظر باز شود. سپس کلید Shift را نگه داشته و روی فایل کلیک راست کنید. پس از آن روی گزینه Copy as Path کلیک کنید تا مسیر کامل فایل در سند جایگذاری شود. حالا روی Properties کلیک کنید تا مسیر فایل (محل) را به سرعت ببینید.









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

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

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

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 استفاده می کنید، باید بلافاصله پس از ظاهر شدن لوگوی Oracle یا VMware، کلید Shift را نگه دارید. وقتی وارد منوی grub شدید، گزینه های پیشرفته برای اوبونتو را انتخاب کنید.

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

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

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

مرحله 2: Root را در منوی بازیابی خط فرمان Shell انتخاب کنید

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

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

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

مرحله 3: Root Right Access را فعال کنید

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

mount -rw -o remount /

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

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

ls /home

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

passwd username

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

Enter new UNIX password:
Retype new UNIX password:

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

exit

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

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

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

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

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 دریافت کنید (همانطور که در روش اول توضیح داده شد).

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

shutdown -r now

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

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

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

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

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

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

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

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

این به شما امکان می دهد رمز عبور را از طریق root بازیابی کنید. اگر سیستم ایمن‌تری می‌خواهید، می‌توانید رمزگذاری دیسک (برای ذخیره داده‌های خود) یا رمز عبور را برای کاربر اصلی در اوبونتو تنظیم کنید.

نتیجه

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

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

1. آیا پس از فراموشی رمز روت لینوکس باید سیستم عامل را عوض کنیم؟

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

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

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

3. برای دسترسی به منوی GRUB از کدام کلیدها استفاده کنیم؟

هنگام راه اندازی مجدد می توانید از کلیدهای F11، F12، Esc یا Shift برای باز کردن حالت بازیابی GRUB استفاده کنید.