• Instagram
  • Telegram
  • WhatsApp
همین حالا تماس بگیرید: 09354994059 - 05191014059
  • 0سبد خرید فروشگاه
ویستانت
  • صفحه اصلی
  • زمینه فعالیت
  • مقالات
    • میکروتیک
    • مایکروسافت
    • لینوکس
    • کریوکنترل
    • VMware
    • سیسکو
    • ایزابل
  • درباره
    • تیم ما
    • شرکت ما
  • پرسش های متداول
  • دریافت مشاوره
  • جستجو
  • منو منو

نحوه نصب Node.js در اوبونتو

لینوکس, مقالات

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

  • با استفاده از apt برای نصب پکیج Node.js از ریپازیتوری نرم‌افزار پیش‌فرض اوبونتو؛
  • با استفاده از apt با ریپازیتوری جایگزین نرم‌افزار PPA برای نصب نسخه‌های خاصی از پکیج Node.js؛
  • نصب Node Version Manager (به‌اختصار NVM) و استفاده از آن برای نصب و مدیریت چندین نسخه Node.js.

برای بسیاری از کاربران، استفاده از apt با ریپازیتوری پیش‌فرض گزینه مناسبی است. اگر به نسخه‌های جدیدتر (قدیمی) Node نیاز دارید، باید از مخزن PPA استفاده کنید. اگر به‌طور پیوسته برنامه‌های Node را توسعه می‌دهید و به جابه‌جایی بین نسخه‌های Node نیاز دارید، روش NVM را انتخاب کنید.

 

 

 

گزینه اول: نصب Node.js با apt از ریپازیتوری‌های پیش‌فرض

اوبونتو ۲۰.۰۴ حاوی نسخه‌ای از Node.js در ریپازیتوری پیش‌فرض خود است که می‌توان از آن برای ارائه در چندین سیستم استفاده کرد.

 

برای دریافت این نسخه، می‌توانید از apt package manager استفاده کنید. ابتدا با تایپ دستور زیر، ایندکسِ لوکال پکیج خود را رفرش کنید:

 sudo apt update $

سپس Node.js را نصب کنید:

 

sudo apt install nodejs $

با واردکردن کوئری Node، از نصب موفقیت‌آمیز آن مطمئن شوید:

node –v $

Output

v10.۱۹.۰

اگر ackage موجود در ریپازیتوری با نیازهای شما مطابقت دارد، راه‌اندازی Node.js به‌همین‌راحتی به‌اتمام می‌رسد. در بیشتر مواقع، ممکن است که بخواهید npm را به‌عنوان Node.js package manager نیز نصب کنید. این کار را با نصب npm package از‌طریق apt می‌توانید انجام دهید:

sudo apt install npm $

این دستور به شما امکان می‌دهد ماژول‌ها و پکیج‌هایی را برای استفاده با Node.js نصب کنید.

 

در این مرحله، Node.js و npm را با استفاده از apt و ریپازیتوری‌های پیش‌فرض نرم‌افزار اوبونتو با موفقیت نصب کرده‌اید. بخش بعدی درباره نحوه استفاده از ریپازیتوری جایگزین برای نصب نسخه‌های مختلف Node.js است.

 

 

گزینه دوم: نصب Node.js با apt با استفاده از NodeSource PPA

 

برای نصب نسخه دیگری از Node.js، می‌توانید از Personal Package Archive (به‌اختصار PPA) استفاده کنید که NodeSource آن را نگه‌داری می‌کند. این PPAها نسخه‌های بیشتری از Node.js را درمقایسه‌با ریپازیتوری‌های رسمی اوبونتو دارند.

 

ابتدا PPA را نصب کنید تا به پکیج‌های آن دسترسی پیدا کنید؛ بنابراین، از دایرکتوری home و curl برای بازیابی اسکریپت نصب نسخه دلخواه بهره ببرید. مطمئن شوید که ۱۶.x را با استرینگ نسخه ترجیحی خود (درصورت متفاوت‌بودن) جایگزین می‌کنید:

 

~ cd $
curl -sL https://deb.nodesource.com/setup_16.x -o nodesource_setup.sh $

محتویات اسکریپت دانلودشده را با nano یا دیگر ویرایشگرهای دلخواهتان بررسی کنید:

 

 nano nodesource_setup.sh $

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

 

sudo bash nodesource_setup.sh $

PPA به پیکربندی شما اضافه و cache پکیج لوکال شما به‌طور خودکار به‌روز می‌شود. حالا پکیج Node.js را به همان روشی که در بخش قبل انجام دادید، می‌توانید نصب کنید:

 

sudo apt install nodejs $

با اجرای node همراه flag نسخه –v، تأیید کنید که نسخه جدید را نصب کرده‌اید:

$ node -v

Output

v1۶.۶.۱

پکیج NodeSource nodejs هم شامل باینری node و هم npm است؛ پس به نصب جداگانه npm نیازی ندارید.

در این مرحله، Node.js و npm را ازطریق apt و NodeSource PPA با موفقیت نصب کرده‌اید. در بخش بعدی، نحوه استفاده از Node Version Manager برای نصب و مدیریت چندین نسخه Node.js را می‌آموزید.

 

 

 

گزینه سوم: نصب Node با استفاده از Node Version Manager

یکی دیگر از راه‌های انعطاف‌پذیر نصب Node.js‌، استفاده از Node Version Manager (به‌اختصار NVM) است. این بخش از نرم‌افزار به شما اجازه می‌دهد تا بسیاری از نسخه‌های مستقل و مختلف Node.js و پکیج‌های Node مرتبط با آن‌ها را هم‌زمان نصب و نگه‌داری کنید.

 

 

برای نصب NVM در سیستم اوبونتو ۲۰.۰۴، از صفحه گیت‌هاب پروژه (https://github.com/nvm-sh/nvm) بازدید کنید. دستور curl را از فایل README کپی کنید که در صفحه اصلی نمایش داده می‌شود. با این کار، جدیدترین نسخه اسکریپت نصب‌شده را دریافت خواهید کرد.

 

همیشه بهتر است که قبل از انتقال کامند به bash، اسکریپت را بررسی کنید تا از اجرای درست آن مطمئن شوید. با حذف سگمنت | bash درانتهای دستور curl، می‌توانید این کار را انجام دهید:

 

 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh $

با نگاهی اجمالی، از تغییراتِ در حال اِعمال مدنظرتان مطمئن شوید. بعد از تأیید، دوباره دستور را با | bash اجرا کنید که در انتها اضافه شده است. URL به‌کاررفته شما بسته به آخرین نسخه «NVM» تغییر می‌کند؛ اما از هم‌اکنون، اسکریپت را می‌توانید با تایپ دستور زیر دانلود و اجرا کنید:

 

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash $

با این کار، اسکریپت NVM در حساب کاربری شما نصب می‌شود. برای استفاده از آن، ابتدا باید فایل bashrc. را سورس قرار دهید:

source ~/.bashrc $

حال می‌توانید از NVM بپرسید که کدام نسخه Node دردسترس است:

nvm list-remote $

Output

. . .
v14.۱۶.۰ (LTS: Fermium)
v14.۱۶.۱ (LTS: Fermium)
v14.۱۷.۰ (LTS: Fermium)
v14.۱۷.۱ (LTS: Fermium)
v14.۱۷.۲ (LTS: Fermium)
v14.۱۷.۳ (LTS: Fermium)
v14.۱۷.۴ (Latest LTS: Fermium)
v15.۰.۰
v15.۰.۱
v15.۱.۰
v15.۲.۰
v15.۲.۱
v15.۳.۰
v15.۴.۰
v1۵.۵.۰
v1۵.۵.۱
v15.۶.۰
v15.۷.۰
v15.۸.۰
v15.۹.۰
v15.۱۰.۰
v15.۱۱.۰
v15.۱۲.۰
v15.۱۳.۰
v15.۱۴.۰
v16.۰.۰
v16.۱.۰
v16.۲.۰

با تایپ هریک از نسخه‌های منتشرشده‌ای که می‌بینید، می‌توانید آن‌ها را نصب کنید. به‌عنوان مثال، برای دریافت نسخه v14.10.0، دستور زیر تایپ کنید:

 nvm install v14.۱۰.۰

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

nvm list

Output

 v14.۱۰.۰<–
system
default –> v14.۱۷.۴ (–> N/A)
iojs –> N/A (default)
unstable –> N/A (default)
node –> stable (–> v14.۱۰.۰) (default)
stable –> ۱۴.۱۰ (–> v14.۱۰.۰) (default))
. . .

این نشان می‌دهد که در‌حال‌حاضر نسخه اکتیو در خط اول (-> v14.10.0) و به‌دنبال آن برخی از نام‌های مستعار و نسخه‌هایی دیده می‌شوند که آن نام‌های مستعار به آن‌ها اشاره می‌کنند.

توجه: اگر نسخه‌ای از Node.js را نیز ازطریق apt نصب کرده‌اید، ممکن است system اینتری را در این‌جا ببینید. نسخه نصب‌شده Node را با استفاده از NVM use system همیشه می‌توانید فعال کنید.

علاوه‌بر‌این، نام‌های مستعاری را به‌منظور ریلیز‌های مختلف پشتیبانی بلندمدت (LTS) ارائه‌شده برای Node مشاهده خواهید کرد:

Output

. . .
lts/* –> lts/fermium (–> N/A)
lts/argon –> v4.۹.۱ (–> N/A)
lts/boron –> v6.۱۷.۱ (–> N/A)
lts/carbon –> v8.۱۷.۰ (–> N/A)
lts/dubnium –> v10.۲۴.۱ (–> N/A)
lts/erbium –> v12.۲۲.۴ (–> N/A)
lts/fermium –> v14.۱۷.۴ (–> N/A)

شایان ذکر است که نسخه‌ای را نیز بر‌اساس این نام‌های مستعار می‌توانید نصب کنید. به‌عنوان مثال، برای نصب آخرین نسخه پشتیبانی طولانی‌مدت fermium، موارد زیر را اجرا کنید:

 nvm install lts/fermium $

Output

Downloading and installing node v14.۱۷.۴
. . .
Now using node v14.۱۷.۴ (npm v6.۱۴.۱۴))

با دستور nvm use، می‌توانید بین نسخه‌های نصب‌شده سوییچ کنید:

 nvm use v14.۱۰.۰

 

 

Output

 

Now using node v14.۱۰.۰ (npm v6.۱۴.۸)
“`
You can verify that the install was successful using the same technique from the other sections, by typing:
“`command
node –v

Output

v14.۱۰.۰

همان‌طور‌که انتظار کردیم، نسخه‌ی صحیح از Node روی machine شما نصب شده و نسخه‌ای سازگار از npm نیز دردسترس است.

 

 

 

نتیجه نهایی

راه‌های زیادی برای راه‌اندازی و اجرای Node.js در سرور اوبونتو ۲۰.۰۴ وجود دارد و شرایط شما تعیین می‌کند که کدام‌یک از روش‌های مذکور بهترین گزینه برای نیازهایتان است. در‌حالی‌که استفاده از نسخه‌های پکیج‌شده در ریپازیتوری اوبونتو ساده‌ترین روش است، استفاده از NVM یا NodeSource PPA انعطاف‌پذیری بیشتری به‌ارمغان می‌آورد.

 

 

 

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

 

۱. چگونه «NodeJS» را در اوبونتو نصب کنیم؟

  1. ترمینال خود را باز کنید یا «Ctrl + Alt + T» را فشار دهید.
  2. برای نصب «node.js»، از این دستور استفاده کنید: sudo apt install nodejs.
  3. پس از نصب، آن را با بررسی نسخه نصب‌شده با استفاده از این دستور تأیید کنید: node -v یا node –version.

 

 

۲. چگونه Node.Js را روی Mac دانلود کنیم؟

  1. به صفحه دانلود‌های Node.js بروید.
  2. نود (Node) را دانلود کنید.
  3. آن را اجرا کنید.
  4. فایل installer را run کنید. این فایل شامل قبول شرایط لایسنس و انتخاب destination و authenticate برای نصب است.
  5. نصب به‌اتمام رسید!
۹ فروردین ۱۴۰۲/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png 0 0 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2023-03-29 10:36:492023-03-29 10:36:49نحوه نصب Node.js در اوبونتو

حذف کانتینر و موارد اضافی در Docker

لینوکس, مقالات

چگونه Imageها، کانتینرها و دیگر موارد بی‌استفاده در داکر را حذف کنیم؟

 

 

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

Docker تمام ابزارهای موردنیاز برای پاک‌سازی سیستم‌ خود با استفاده از Command line را دراختیارتان قرار می‌دهد. در این مقاله، قصد داریم روش استفاده از این ابزارها برای حذف Image و کانتینر از داکر را به شما آموزش دهیم.

 

 

مروری بر داکر (Docker) و کانتینر (Container)

 

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

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

کانتینر محیط‌های اجرایی را از یکدیگر جدا می‌کند و هسته سیستم‌عامل را به‌اشتراک‌ می‌گذارد. یکی از مزیت‌های Container درمقایسه‌ با ماشین‌های مجازی این است که به منابع کمتری نیاز دارد و بسیار سریع‌تر از ماشین مجازی قابلیت اجرا پیدا می‌کند. کانتینر به سه بخش سازنده (Builder) و موتور (Engine) و تنظیم (Orchestration) تقسیم می‌شوند.

 

 

آموزش حذف Imageها، کانتینرها، volumes و شبکه‌های استفاده‌نشده از داکر

داکر کامندی واحد را برای پاک‌کردن تمامی منابع بدون تگ، از‌جمله Imageها و کانتینرها و شبکه‌ها ارائه می‌کند:

 

 docker system prune $

برای حذف هرگونه کانتینر و ایمیجِ فاقد کاربرد، کافی است فلگِ a- را به دستور اضافه کنید:

 

 docker system prune -a $

حذف Imageهای داکر

 

حذف یک یا چند Image خاص

 

از دستور docker images به‌همراه a- برای پید‌اکردن ID ایمیج‌هایی استفاده کنید که قصد دارید آن‌ها را حذف‌ کنید. این دستور به شما هر Image از‌جمله لایه‌های میانی را نشان خواهد داد.

زمانی که Imageهای مدنظر برای حذف‌کردن را پیدا کردید، می‌توانید ID یا تگ آن‌ها را به docker rmi ارسال کنید:

 

لیست:

 docker images -a $

حذف:

 docker rmi Image Image $

حذف ایمیج‌های اضافی (Dangling images)

 

Imageهای داکر از چند لایه تشکیل شده‌اند. ایمیج‌های بی‌استفاده (Dangling images) لایه‌هایی هستند که هیچ ارتباطی با هیچ ایمیج تگ‌گذاری‌شده‌ای ندارند. این Imageها بی‌فایده‌ و بی‌هدف هستند و فقط فضای دیسک را مصرف می‌کنند. آن‌ها را می‌توان با افزودن فلگ فیلتر f- با مقدار dangling=true به دستور docker images پیدا کرد.

نکته: اگر ایمیجی را بدون تگ بسازید، در فهرست Imageهای آویزان (Dangling images) قرار می‌گیرد؛ زیرا هیچ ارتباطی با ایمیج تگ‌شده نخواهد داشت. بنابراین با ارائه یک تگ در هنگام ساخت، می‌توانید از این وضعیت جلوگیری کنید. بدین‌منظور به‌کمک دستور docker tag یک ایمیج را برچسب‌گذاری کنید.

 

وقتی از حذفِ این Imageها مطمئن شدید، می‌توانید از دستور docker image prune استفاده کنید:

 

لیست:

 docker images -f dangling=true $

حذف:

 docker image prune $

حذف Imageها براساس Pattern

 

با استفاده از دستورهای ترکیبی docker images و grep، می‌توانید تمام ایمیج‌های مطابق با یک الگو را بیابید و آن‌ها را با استفاده از awk حذف و IDها را به docker rmi منتقل کنید. البته قبل از هرچیزی توجه کنید که این ابزارها را داکر ارائه نمی‌کند و لزوماً در تمام سیستم‌ها در‌دسترس نخواهند بود:

 

لیست:

“docker images -a | grep “pattern $

حذف:

 docker images -a | grep “pattern” | awk ‘{print $3}’ | xargs docker rmi $

حذف‌کردن تمام Imageها

 

تمام Imageهای داکر در یک سیستم را می‌توان با افزودن a- به دستور docker images فهرست کرد. درصورت نیاز به حذف تمامی ایمیج‌ها،  پرچم q- را اضافه کنید تا ID ایمیج را به docker rmi فرستاده شود:

 

لیست:

 docker images -a $

حذف:

 docker rmi $(docker images -a -q) $

حذف کانتینرها

 

حذف یک یا چند کانتینر خاص

 

از دستور docker ps با پرچم a- برای پیداکردن نام یا ID کانتینرهای موردنیاز برای حذف استفاده کنید:

 

لیست:

 docker ps -a $

حذف:

docker rm ID_or_Name ID_or_Name $

حذف‌کردن یک کانتینر بعد از اتمام کار و خروج

 

در‌صورتی‌که نمی‌خواهید کانتینر ایجاد‌شده را بعد از اتمام کار نگه دارید، می‌توانید docker run –rm را اجرا کنید. با این کار، به‌طور خودکار هنگام خروج آن کانتینر را حذف خواهید کرد.

 

اجرا و حذف:

 docker run –rm image_name $

پاک‌کردن تمام کانتینرهای خروجی

 

شما می‌توانید کانتینرها را با استفاده از docker ps -a پیدا و بر‌اساس وضعیت، آن‌ها را فیلتر کنید: created ،restarting ،running ،paused یا exited. به‌منظور بررسی فهرست کانتینرهای خارج‌شده، از پرچم f- برای فیلتر براساس وضعیت استفاده کنید. وقتی حذف آن‌ها را تأیید کردید، از -q برای ارسال ID‌ به دستور docker rm بهره ببرید:

 

لیست:

 docker ps -a -f status=exited $

حذف:

docker rm $(docker ps -a -f status=exited -q) $

حذف کانتینرها با بیش از یک فیلتر

 

فیلترهای داکر را می‌توان با تکرار flag فیلتر با یک Additional value ترکیب کرد. همین امر به ایجاد فهرستی از کانتینرها منجر می‌شود که هریک از آن‌ها چنین شرایطی دارند. برای مثال، اگر می‌خواهید تمام کانتینرهایی را حذف کنید که به‌عنوان created (حالتی که هنگام اجرای کانتینر با دستور نامعتبر ایجاد می‌شود) یا exited علامت‌گذاری شده‌اند، باید از دو فیلتر استفاده کنید:

 

لیست:

 docker ps -a -f status=exited -f status=created $

حذف:

docker rm $(docker ps -a -f status=exited -f status=created -q) $

حذف کانتینرها طبق یک Pattern

 

شما می‌توانید تمام کانتینرهایی که با یک الگو مطابقت دارند، با استفاده از دستورهای ترکیبی docker ps و grep پیدا کنید. برای حذف فهرست مدنظر از awk و برای ارائه ID به docker rm از xargs استفاده کنید. البته توجه کنید که این ابزارها را Docker ارائه نمی‌کند و لزوماً در تمام سیستم‌ها دردسترس نیستند:

 

لیست:

” docker ps -a | grep “pattern $

حذف:

docker ps -a | grep “pattern” | awk ‘{print $1}’ | xargs docker rm $

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

 

تمام کانتینر‌های سیستم خود را می‌توانید با استفاده از docker ps بررسی کنید. با افزودن پرچم a- تمام کانتینرها نمایش داده می‌شوند. زمانی که قصد داشتید آن‌ها را حذف کنید، پرچم q- را می‌توانید برای ارائه شناسه‌ها (IDها) به دستورهای docker stop و docker rm اضافه کنید:

 

لیست:

 docker ps -a $

حذف:

 docker stop $(docker ps -a -q) $
docker rm $(docker ps -a -q) $

حذف ولوم‌ها (Volumes)

 

حذف یک یا چند Volumes خاص – Docker 1.9 و جدیدتر

 

از دستور docker volume ls به‌منظور پیدا‌کردن نام Volume‌های مدنظر برای حذف استفاده کنید. سپس یک یا چند Volume را می‌توانید با استفاده از دستور docker volume rm حذف کنید:

 

لیست:

 docker volume ls $

حذف:

 docker volume rm volume_name volume_nam $

حذف یک یا چند Volum خاص در نسخه‌های داکر ۱.۹ و جدیدتر

 

ازآن‌جاکه هدف Volume‌ها مستقل‌بودن از کانتینرها است، با برداشتن یکی از آن‌ها، Volume به‌صورت خودکار حذف نخواهد شد. زمانی که یک ولوم وجود دارد و به هیچ کانتینری متصل نیست، به آن ولوم Dangling گفته می‌شود. برای تعیین مکان‌ آن‌ها و تأیید اینکه می‌خواهید آن‌ها را حذف کنید یا خیر، می‌توانید از دستور docker volume ls به‌همراه یک فیلتر استفاده کنید. با این کار، نتایج را به ولوم‌های Dangling محدود خواهید کرد. حال تمام این فهرست را می‌توانید با استفاده از دستور docker volume prune حذف کنید:

 

لیست:

 docker volume ls -f dangling=true $

حذف:

 docker volume prune $

حذف یک کانتینر و Volume آن

 

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

هنگامی که کانتینر با موفقیت حذف شد، ID آن نمایش داده می‌شود. توجه کنید که هیچ اشاره‌ای به حذف Volume نشده است. اگر ولوم بدون نام باشد، بدون هیچ دردسری حذف خواهد شد و اگر با نام باشد، در همان‌جا باقی خواهد ماند.

 

حذف:

 docker rm -v container_name $
۷ اسفند ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2023/02/How-to-Install-Docker-on-RHEL-8.png 1080 1920 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2023-02-26 10:07:282023-02-26 10:07:28حذف کانتینر و موارد اضافی در Docker

احراز هویت دو مرحله ای برای SSH

لینوکس, مقالات

چطور احراز هویت دومرحله‌ای را برای SSH در لینوکس فعال کنیم؟

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

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

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

 

 

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

 

 

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

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

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

 

 

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

 

 

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

 

 yum install google-authenticator -y #

 

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

 

 sudo apt install libpam-google-authenticator -y $

 

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

 

هنگامی‌که دستور google-authenticator را اجرا می‌کنید، سؤال‌هایی به شما نمایش داده می‌شوند:

 

 google-authenticator #

 

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

 

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

 

بعد از این سؤال، Secret Key و Emergency Codes خود را دریافت خواهید کرد. این جزئیات را در جایی یادداشت کنید؛ زیرا بعداً برای راه‌اندازی برنامه Google Authenticator به Secret Key نیاز پیدا خواهید کرد:

 

 

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=200×200&chld=M|0&cht=qr&chl=otpauth://totp/root@tecmint%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 (-۱ to skip): -۱ Code confirmation skipped Your emergency scratch codes are: ۸۳۷۱۴۲۹۱ ۵۳۰۸۳۲۰۰ ۸۰۹۷۵۶۲۳ ۵۷۲۱۷۰۰۸ ۷۷۴۹۶۳۳۹
در مرحله بعد، Setup Wizard را دنبال و در بیشتر مواقع، پاسخ را به‌صورت «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 ۳۰ 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 ۱:۳۰min 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 ۳ login attempts every 30s. Do you want to enable rate-limiting (y/n) y

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

 

 

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

auth required pam_google_authenticator.so nullok
auth required pam_permit.so
در مرحله بعد، فایل پیکربندی SSH «/etc/ssh/sshd_config» را باز کنید و به پایین بروید تا خط زیر را پیدا کنید:
ChallengeResponseAuthentication no
آن را به «Yes» تغییر دهید:
ChallengeResponseAuthentication yes
درنهایت، سرویس SSH را مجدداً راه‌اندازی کنید تا تغییرات جدید اعمال شوند:
# systemctl restart sshd#
Or
 sudo systemctl restart sshd $

 

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

 

 

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

 

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

 

 

login as: tecmint
Access denied
.Using keyboard-interactive authentication
:Verification code
.Using keyboard-interactive authentication
:Password
Last login: Tue Apr ۲۳ ۱۳:۵۸:۲۹ ۲۰۲۲ from ۱۷۲.۱۶.۲۵.۱۲۵
#[~root@tecmint ]

 

 

 

 

امیداوارم از این آموزش لذت برده باشید.

 

 

۶ اسفند ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2023/02/ssh-protocol-stackscale.jpg 870 1470 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2023-02-25 10:50:542023-02-25 10:50:54احراز هویت دو مرحله ای برای SSH

انواع توزیع های لینوکس

لینوکس, مقالات

لینوکس چیست؟ آشنایی با انواع توزیع‌ها، مزایا، کاربرد و نحوه نصب Linux

 

لینوکس (Linux) یکی از سیستم‌عامل‌های معروفی است که از سال ۱۹۹۰ در‌دسترس قرار دارد. این سیستم‌عامل به‌عنوان فناوری پیشران برای دستگاه‌های اندرویدی، تلویزیون، دوربین‌ها و حتی لوازم هوشمند شناخته می‌شود. از سیستم‌عامل لینوکس در دستگاه‌های مختلف از گوشی‌های هوشمند تا خودروها، لوازم‌خانگی، اَبَرکامپیوترها، سرورهای سازمانی و… استفاده می‌شود. در سال‌های ابتدایی بعد از معرفی سیستم‌عامل ویندوز، لینوکس طراحی و برنامه‌ریزی شد؛ البته این سیستم‌عامل از ابتدا به همین شکل نبوده و با گذشت زمان پیشرفت کرده است.

 

 

تاریخچه سیستم‌عامل لینوکس

 

 

لینوس توروالدز (Linus Torvalds) سیستم‌عامل لینوکس را طراحی کرده است. وی ابتدا روی سیستم‌عامل UNIX (نرم‌افزار اختصاصی) کار می‌کرد و بر این باور بود که به تغییر و بهبود نیاز دارد. با‌این‌حال، وقتی طراحان یونیکس پیشنهادهایش را رد کردند، به فکر راه‌اندازی سیستم‌عاملی افتاد که پذیرای تغییرات پیشنهادی کاربران باشد. به‌همین‌دلیل، لینوس توروالدز در سال ۱۹۹۱ هسته‌ای به نام Linux طراحی کرد؛ اگرچه برای اجرا به برنامه‌هایی مانند مدیریت فایل و ویرایشگر اسناد و برنامه‌های صوتی‌و‌تصویری نیاز داشت.

 

با گذشت زمان، لینوس توروالدز با برنامه‌نویسان دیگر در مکان‌هایی مانند MIT همکاری و برنامه‌های کاربردی برای Linux طراحی کرد. بنابراین در همان سال، سیستم‌عامل لینوکس با برخی از برنامه‌ها رسماً راه‌اندازی شد. نسخه‎های ابتدایی سیستم‌عامل Linux به‌اندازه‌ای کاربرپسند نبودند که برنامه‌نویسان کامپیوتر از آن استفاده می‌کردند. توروالدز هرگز قصد نداشت محصول خود را تجاری‌سازی کند. این امر محبوبیت لینوکس را کاهش داد؛ زیرا سایر سیستم‎عامل‌های تجاری نظیر ویندوز معروف شدند. باوجوداین، جنبه متن‌باز‌بودن سیستم‌عامل Linux آن را قوی‌تر کرد.

 

 

 

 

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

 

 

Linux سیستم‌عاملی متن‌باز شبیه یونیکس است که برای انواع دستگاه‌های مختلف مانند کامپیوترها و سرورها و تلفن‌های همراه طراحی شده است. این سیستم‌عامل تقریباً در هر پلتفرم کامپیوتری از‌جمله x86 و ARM و SPARC پشتیبانی می‌شود؛ از‌این‌رو، به یکی از سیستم‌عامل‌های پرکاربرد تبدیل شده است.

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

 

انواع روش‌های استفاده از لینوکس

 

  • سیستم‌عامل سرور: Linux برای سرورهای وب، سرورهای پایگاه‌داده، سرورهای فایل، سرورهای ایمیل و هر نوع سرور مشترک دیگر استفاده می‌شود. ازآن‌جاکه لینوکس برای پشتیبانی برنامه‌های سنگین و چندرشته‌ای طراحی شده است، برای انواع برنامه‌های سرور می‌توان از آن استفاده کرد.
  • سیستم‌عامل دسکتاپ: به‌عنوان محیطی متن‌باز در دسکتاپ، برای محاسبه بهره‌وری شخصی استفاده می‌شود.
  • سیستم‌عامل سرور هدلس (Headless): برای استفاده در سیستم‌هایی که به رابط کاربری گرافیکی (GUI) یا ترمینال و صفحه‌کلید متصل و مستقیم نیاز ندارند.
  • سیستم‌عامل دستگاه یا دستگاه جاسازی‌شده: برای استفاده در سیستم‌هایی که به عملکرد محاسباتی محدود احتیاج دارند. سیستم‌عامل Linux برای لوازم‌خانگی و سیستم‌های سرگرمی خودرو و لوازم سیستم فایل شبکه نیز به‌کار برده می‌شود.
  • سیستم‌عامل شبکه: سیستم‌عامل لینوکس در روترها، سوئیچ، سرورهای سیستم نام دامنه، دستگاه‌های شبکه خانگی و‌… هم کاربرد دارد.
  • سیستم‌عامل توسعه نرم‌افزار: برای راه‌اندازی نرم‌افزار سازمانی استفاده می‌شود. با اینکه اغلب ابزارهای راه‌اندازی و توسعه به ویندوز یا سیستم‌عامل‌های دیگر انتقال پیدا کرده‌اند، Linux هنوز‌هم برای برخی از ابزارهای پرکاربرد توسعه نرم‌افزار به‌کار برده می‌شود.
  • سیستم‌عامل Cloud یا مبتنی‌بر فضای ابری: عمده‌ترین ارائه‌دهندگان خدمات رایانش ابری دسترسی به نمونه‌های رایانش ابری لینوکس در سرورهای ابری، دسکتاپ و… را ارائه می‌دهند.

    بسته به نوع اپلیکیشن، می‌توان Linux را برای یکی از اهداف عمده زیر بهینه‌سازی کرد:

    • عملکرد شبکه
    • عملکرد محاسباتی
    • استقرار روی پلتفرم‌های خاص سخت‌افزاری
    • استقرار در سیستم‌هایی با میزان حافظه و ذخیره‌سازی یا منابع محاسباتی محدود

      Unix چیست؟

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

      این سیستم‌عامل عمومی از سیستمی سخت‌افزاری شامل حافظه گسترده و پردازنده ۳۲بیتی و هارد دیسک‌های سریع و بزرگ بهره می‌برد. سیستم‌عامل یونیکس برای انواع مختلف ماشین‌ها و کامپیوترها، ازجمله کامپیوترهای شخصی کاربردی است؛ زیرا به زبان مستقل از ماشین (C یا C++) نوشته شده است. به‌همین‌دلیل، می‌توان Unix را برای پاسخ‌گویی به نیازهای خاص در انواع دستگاه‌ها تطبیق داد.

      تفاوت Linux و Unix

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

      سیستم‌عامل Linux سیستم‌عامل Unix
      به هسته (Kernel) سیستم‌عامل GNU/Linux و به‌طور‌کلی، به خانواده توزیع‌های مشتق‌شده از آن اشاره می‌کند. به سیستم‌عامل اصلی توسعه‌یافته با AT&T و به‌طور‌کلی، به خانواده سیستم‌عامل‌های مشتق‌شده اشاره می‌کند.
      کد اصلی با لینوس (Linus) و GNU Foundation توسعه یافته است. کد اصلی با AT&T توسعه یافته است.
      نام تجاری لینوکس به لینوس توروالدز تعلق دارد و مؤسسه Linux Mark آن را مدیریت می‌کند. نام تجاری یونیکس را Open Group تأیید کرده است.
      دبیان (Debian) و فدورا (Fedora) مشتقاتی از GNU/Linux هستند. IBM-AIX و HP-UX از مشتقات System-V یونیکس و FreeBSD و macOS از مشتقات Berkeley Unix هستند.
      سیستم‌عاملی متن‌باز تحت مجوز عمومی کپی‌لفت (Copyleft General Public License) زیرمجموعه برکلی یونیکس تا حدی متن‌باز و تحت لیسانس BSD است؛ اما System-V یونیکس ممکن است تحت لیسانس تجاری اختصاصی باشد.
      تشکیل‌شده از انواع مختلف که با منابع متفاوت حفظ شده، با ادغام هسته تشکیل‌شده از انواع مختلف که به‌واسطه شرکت‌های مختلف حفظ شده، هریک با هسته مجزا
      پلتفرمی مقیاس‌پذیر محسوب می‌شود که متناسب با مجموعه گسترده‌ای از برنامه‌های مختلف طراحی شده است. برای مخاطبان محدود در مجموعه مشخصی از پلتفرم‌ها و برنامه‌ها طراحی شده است.
      به‌عنوان نرم‌افزار می‌توان آن را دانلود و نصب کرد. معمولاً همراه سخت‌افزار مانند مک‌بوک می‌توان آن را دریافت کرد.
      پشتیبانی رایگان عمومی و پشتیبانی پولی ازطریق برخی از سرویس‌های ارائه خدمات پشتیبانی پولی که به توقف فروشنده منجر می‌شود.
      رابط‌های پیشرفت‌پذیر رابط‌های ثابت و بدون تغییر
      نسخه‌های به‌روزرسانی مداوم و رفع سریع مشکلات به‌روزرسانی محدود و زمان‌بربودن رفع اشکالات
      پشتیبانی تمام فایل‌ها در سیستم‌های استفاده‌شده در سیستم‌‌عامل‌ها پشتیبانی اکثر نسخه‌ها تنها از دو یا سه فایل سیستم
      ابزارهای مدیریت سیستم گسترده با تمرکز محدود، مانند Suse YAST معمولاً هر نسخه یک ابزار مدیریت سیستم دارد؛ مانند HP SAM
      سیستم‌عامل ترجیحی که به‌دلایل اقتصادی مراکز داده و استقرار ابری دارد. سیستم‌عامل ترجیحی که به‌دلیل دسترسی برنامه و سرورهای اینترنتی، برای نیازهای سرور با اهداف خاص طراحی شده است.
      اغلب خطوط فرمان و ابزارهای گرافیکی مشابه سیستم‌عامل یونیکس اغلب خطوط فرمان و ابزارهای گرافیکی مشابه سیستم‌عامل لینوکس
      ارائه ویژگی مقیاس‌پذیری با استفاده از خوشه‌ها و شبکه یا فضای ابری ارائه ویژگی مقیاس‌پذیری با استفاده از خوشه‌ها یا شبکه

      بخش‌ها مختلف لینوکس

      اگر می‌خواهید با سیستم‌عامل Linux آشنا شوید، باید اجزای تشکیل‌دهنده آن را بشناسید که به‌عنوان معماری Linux نیز شناخته می‌شود. این اجزا عبارت‌اند از:

      • بوت‌لودر (Bootloader): نرم‌افزاری برای مدیریت فرایند بوت کامپیوتر است.
      • هسته (Kernel): بخش اصلی و ماهیت کلی لینوکس است که مدیریت CPU و حافظه و دستگاه‌های جانبی را برعهده دارد. هسته اصلی‌ترین و ابتدایی‌ترین سطح در این سیستم‌عامل است.
      • سیستم Init: سیستمی فرعی که فضای کاربر را Bootstaps و فرایند بوت را پس از Bootloader مدیریت می‌کند.
      • Daemons: این بخش برای خدمات پس‌زمینه‌ای (چاپ، صدا، زمان‌بندی و…) است که حین بوت یا پس از ورود به دسکتاپ راه‌اندازی می‌شود.
      • سرور گرافیک (Graphical Server): این زیرسیستم که معمولاً با عنوان «سرور X» یا «X» نشان داده می‌شود، مسئول نمایش گرافیک روی مانیتور است.
      • محیط دسکتاپ (Desktop Environment): این بخش اصلی‌ترین بخشی است که کاربران با آن تعامل دارند. انواع مختلفی از محیط‌های دسکتاپ (GNOME ،Cinnamon ،Mate ،Pantheon ،Enlightenment، KDE ،Xfce و …) وجود دارد و شامل برنامه‌های داخلی مختلف (بازی‌ها، ابزارهای پیکربندی، مرورگرها، مدیریت فایل و…) است.
      • برنامه‌ها (Applications): از‌آن‌جاکه برنامه‌های محیط دسکتاپ معمولاً کامل نیستند، لینوکس نیز مانند ویندوز و macOS نرم‌افزارهای متعددی برای نصب دارد. اغلب توزیع‌های لینوکس نیز ابزارهایی برای دانلود و نصب برنامه‌های مختلف ارائه می‌دهند. برای مثال، توزیع لینوکس اوبونتو از ابزاری با عنوان Ubuntu Software Center بهره می‌برد که امکان دسترسی به هزاران برنامه مختلف را به کاربران می‌دهد.

      خط فرمان (Command Line) چیست؟

      خط فرمان (Command Line) دسترسی مستقیم شما به کامپیوتر است. درحقیقت، کامند لاین جایی است که از نرم‌افزار می‌خواهید کارهای سخت‌افزاری‌ای را انجام دهد که رابط‌های گرافیکی کاربر (GUI) با اشاره و کلیک‌کردن به‌سادگی نمی‌توانند از آن‌ها درخواست کنند. خطوط فرمان در بسیاری از سیستم‌عامل‌ها، اعم از اختصاصی و متن‌باز، در‌دسترس قرار دارند؛ اما معمولاً به Linux مرتبط است؛ زیرا هم خطوط فرمان و هم نرم‌افزار متن‌باز با‌هم دسترسی نامحدودی به کامپیوتر برای کاربران ایجاد می‌کنند.

      متن‌باز چیست و به چه نرم‌افزارهایی متن‌باز می‌گوییم؟

      متن‌باز اصطلاحی است که به نرم‌افزارهای متن‌باز یا Open Source Software گفته می‌شود. نرم‌افزارهای متن‌باز کدهایی هستند که با قابلیت دسترسی عمومی طراحی شده‌اند؛ یعنی هرکسی می‌تواند کدها را تغییر دهد و سپس نسخه تغییر‌داده‌شده را منتشر کند. امروزه، روند توسعه متن‌باز از طراحی نرم‌افزار فراتر رفته و به جنبش و روش جدیدی تبدیل شده است که مشکلات کاربران در حوزه‌های مختلف را بررسی و حل می‌کند.

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

      تفاوت لینوکس با سایر سیستم‌عامل‌ها

      سیستم‌عامل Linux از بسیاری جهات مشابه سیستم‌عامل‌های Windows، macOS (OS X سابق) یا iOS است که قبلاً از آن‌ها استفاده کرده‌اید. Linux نیز مانند همه این سیستم‌عامل‌ها رابط گرافیکی دارد و نرم‌افزارهایی مانند ویرایش تصویر و ویدئو و یادداشت را ارائه می‌دهد. گاهی نیز سازندگان نرم‌افزار ممکن است نسخه همگام در لینوکس را برای نصب در این سیستم‌عامل طراحی کنند.

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

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

      جدول مقایسه سیستم‌عامل لینوکس و ویندوز

      ویندوز لینوکس ویژگی
      دارای نسخه‌های متنوع و پولی رایگان قیمت
      دارای کد OS متن‌باز (Open Source) صدور مجوز (Licensing)
      کم و آسیب‌پذیر بسیار زیاد امنیت
      دارای باگ بسیار مطمئن و سازگار قابلیت اطمینان
      با گذشت زمان سرعت کاهش می‌یابد بسیار زیاد سرعت
      به‌روزرسانی‌ها می‌توانند در هرزمان مشخصی اتفاق بیفتند. کاربران می‌توانند انتخاب کنند که آیا به‌روزرسانی‌ها را نصب کنند یا خیر. آپدیت
      پشتیبانی بسیار زیادی از برنامه‌ها می‌کند. پشتیبانی چندانی از برنامه‌ها نمی‌کند. سازگاری
      رابط کاربری گرافیکی باکیفیت و با قابلیت شخصی‌سازی محدود رابط کاربری گرافیکی محدود که قابل‌استفاده است؛ اما می‌تواند سفارشی شود. رابط کاربری گرافیکی (GUI)
      پشتیبانی از سخت‌افزار و درایور گسترده سخت‌افزار و پشتیبانی درایور محدود پشتیبانی سخت‌افزاری
      انعطاف‌پذیری محدود بسیار انعطاف‌پذیر است؛ زیرا توسعه‌دهندگان کنترل زیادی روی سیستم‌عامل دارند. انعطاف‌پذیری

      زبان‌های برنامه‌نویسی لینوکس

      در‌حال‌حاضر، سیستم‌عامل لینوکس یکی از سیستم‌عامل‌های محبوب‌ به‌شمار می‌رود و بسیاری از توسعه‌دهندگان نرم‌افزار از آن استفاده می‌کنند؛ چراکه کار‌کردن با آن را راحت‌تر می‌دانند. سؤالی که برای بسیاری از برنامه‌نویسان مطرح می‌شود، این است که بهترین زبان برنامه‌‌نویسی برای Linux چه زبانی است؟ برخی از زبان‎های برنامه‌نویسی برتر برای لینوکس عبارت‌اند از:

      • C/C++
      • Java
      • Python
      • JavaScript/GitHub Electron
      • Shell

        مزایای استفاده از سیستم‌عامل لینوکس

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

        • متن‌باز است و کاربران می‌توانند آن را اصلاح کنند یا کدهای آن را بهبود بخشند.
        • دانلود و استفاده از آن رایگان است.
        • درمقایسه‌با سیستم‌عامل‌ ویندوز کمتر آسیب‌پذیر است و امنیت بیشتری دارد. هریک از برنامه‌ها در Linux به اجازه و دسترسی ادمین و وارد‌کردن رمز‌عبور نیاز دارند؛ به‌همین‌دلیل، احتمال کمی وجود دارد که این سیستم‌عامل ویروسی‌ شود.
        • کامپیوترهای قدیمی را که از سیستم‌‌عامل‌های قدیمی مانند فایروال‌ها و سرورهای پشتیبان و سیستم‌های رده‌پایین استفاده می‌کنند، با کمک لینوکس می‌توان احیا کرد.
        • به‌روزرسانی نرم‌افزارها در پلتفرم لینوکس ساده‌تر و سریع‌تر از ویندوز است.
        • با استفاده از قابلیت سفارشی‌سازی در لینوکس، کاربران می‌توانند تم‌ و تصاویر پس‌زمینه را به آیکون‌ها بیفزایند و در‌صورت لزوم نیز، ویژگی‌ای را اضافه یا حذف کنند.
        • انواع گزینه‌های مختلف توزیع Linux مانند فدورا، اوبونتو، آرچ لینوکس، دبیان و لینوکس مینت دردسترس قرار دارند.
        • به‌دلیل استفاده گسترده برنامه‌نویسان از Linux، همواره می‌توانید برای رفع خطاها یا مشکلات خود از آنان کمک بگیرید.
        • بر‌خلاف سیستم‌عامل ویندوز، نیازی نیست که پس از نصب یا حذف برنامه‌ها، دستگاه را مجدداً راه‌اندازی (Reboot) کنید.
        • احتمال کمی وجود دارد که سیستم‌عامل لینوکس از کار بیفتد یا به کُندی کار کند.
        • برای اطمینان از حفظ حریم خصوصی کاربران در Linux، داده‌های زیادی از آنان جمع‌آوری نمی‌شود.
        • شبکه‌ها و اقدامات متعددی می‌توانند به‌طورهم‌زمان و بدون احتمال کُندی سیستم یا ازکارافتادن آن اجرا شوند.
        •  Linux تقریباً تمام فرمت‌های فایل ممکن را پشتیبانی می‌کند.
        • عملکرد نرم‌افزار یا برنامه‌ها به‌دلیل نبود مشکلات ذخیره‌سازی دچار اختلال نمی‌شود.
        •  لینوکس امکان مولتی‌تسکینگ یا اجرای هم‌زمان عملکردهای مختلف را فراهم می‌کند.

          معرفی انواع توزیع‌های (Distributions) لینوکس

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

          ۱. دبیان (DEBIAN)

          Debian GNU/Linux توزیعی است که از پلتفرم‌های سخت‌افزاری بسیاری پشتیبانی می‌کند. دبیان و توزیع‌های مبتنی‌بر آن از فرمت بسته .deb و مدیر بسته dpkg و فرانت‌اندهای آن استفاده می‌کنند. بسیاری دبیان را به‌عنوان توزیعی برای کاربران با‌تجربه در نظر می‌گیرند. ناگفته نماند چرخه انتشار نسخه دبیان کُند است و نسخه‌های پایدار آن هر یک تا سه سال یک بار منتشر می‌شوند.

          ۲. اوبونتو (UBUNTU)

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

           

          ۳. سنت او اس (CentOS)

          CentOS یک سیستم عامل منبع باز شبیه به یونیکس است که بر اساس هسته لینوکس ساخته شده است و توسط لینوس توروالدز در سال ۱۹۹۱ منتشر شده است. سرور CentOS یکی از پر استفاده‌ترین سرورهای وب در شرکت‌ها و سازمان‌هاست.

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

          • ویژگی‌های امنیتی CentOS

          سنت او اس معماری امنیتی خود را با سیستم امنیتی پیشرفته لینوکس (SELinux) ارائه می‌کند. SELinux سیاست‌های کنترل دسترسی را برای افزاش امنیت سیستم عامل ارائه می‌دهد که می توانید برای فرآیندها و فایل های مختلف آن را فعال کنید.

          • به‌روزرسانی‌های منظم

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

          • ثبات

          CentOS از نسخه‌های نرم‌افزار پایدار استفاده می‌کند زیرا چرخه انتشار طولانی‌تر است. بنابراین، برنامه‌ها نیازی به به‌روزرسانی مرتب ندارند.

          • پنل کاربران

          CentOS گزینه‌های مختلفی از پلتفرم‌های مدیریتی دارد، از جمله cPanel، Plesk، WebMin، Spacewalk، CWP، Virtualmin و VestaCP.

           

          ۴.کالی لینوکس(kali)

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

          • امنیت اطلاعات
          • تست نفوذ
          • تحقیقات امنیتی
          • پزشکی قانونی کامپیوتر
          • مهندسی معکوس

          و… هدف قرار می‌گیرد. کالی لینوکس یک سیستم‌عامل چند پلتفرمی است که در دسترس متخصصان امنیت اطلاعات و علاقمندان به صورت رایگان قرار می‌گیرد.

          ۵. لینوکس مینت (LINUX MINT)

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

          ۶. فدورا (FEDORA)

          فدورا توزیعی است که جامعه لینوکس از آن پشتیبانی می‌کند و مبتنی‌بر لینوکس Red Hat است. فدورا به‌‌خصوص در ویژگی‌های سازمانی قوی است و برنامه استاندارد شش‌ماهه برای انتشار دارد. همچنین، برای توزیع و به‌روز‌رسانی نرم‌افزار از فرمت RPM استفاده می‌کند.

          برای سرورها نیز توزیع‌های متفاوتی طراحی و ارائه می‌شود که در‌این‌میان، می‌توان به این‌ها اشاره کرد:

          • Linux Red Hat Enterprise
          • سرور اوبونتو (Ubuntu Server)
          • سنتوس (Centos)
          • Linux SUSE Enterprise

          برخی از انواع توزیع‌های سرور یادشده رایگان هستند (مانند سرور اوبونتو و CentOS) و برخی دیگر نیز (مانند Red Hat Enterprise Linux و SUSE Enterprise Linux) از شما مبلغی را دریافت می‌کنند. گفتنی است گزینه‌های پولی خدمات پشتیبانی را هم به کاربران ارائه می‌دهند.

          انتخاب توزیع لینوکس مناسب با نیاز شما

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

          • میزان مهارت شما در استفاده از کامپیوتر چقدر است؟
          • رابط دسکتاپ مدرن را ترجیح می‌دهید یا رابط استاندارد؟
          • توزیع لینوکس را برای سرور می‌خواهید یا برای دسکتاپ؟

          اگر کاربر ازنظر مهارت‌های کامپیوتری در سطح نسبتاً ابتدایی قرار دارید، باید از توزیع‌های ساده‌تر مانند لینوکس مینت، اوبونتو، Elementary OS یا Deepin استفاده کنید. اگر مهارت‌های شما بیشتر از متوسط قرار دارد، از توزیع‌هایی مانند Debian یا Fedora می‌توانید استفاده کنید. گزینه‌های پیشرفته‌تری مانند Gentoo هم بیشتر برای کسانی مناسب است که تسلط و مهارت زیادی در استفاده از کامپیوتر دارند. اگر می‌خواهید در سطح پیشرفته‌تری کار کنید و خود را به چالش بکشید، می‌توانید گزینه توزیع لینوکس خود را با کمک Linux From Scratch بسازید.

          چنانچه یک توزیع لینوکس برای سرور می‌خواهید، باید تعیین کنید که آیا به رابط دسکتاپ نیاز دارید یا می‌خواهید تنها این کار را ازطریق خط فرمان (Command Line) لینوکس انجام دهید. به‌عنوان‌ مثال، سرور اوبونتو (Ubuntu Server) رابط کاربری گرافیکی برای شما نصب نمی‌کند؛ یعنی هنگام بارگذاری گرافیک سرورتان دچار مشکل نخواهد شد و خط فرمان لینوکس را کاملاً درک کنید. با‌این‌حال، می‌توانید پکیج رابط کاربری گرافیکی را روی سرور اوبونتو با دستوری واحد نصب کنید. اگر می‌خواهید از توزیع لینوکسی استفاده کنید که همه آنچه در سرور نیاز دارید، به شما ارائه دهد، CentOS شاید بهترین انتخاب برایتان باشد یا اگر به توزیع Linux برای دسکتاپ نیاز دارید که بخش‌های مختلف موردنیاز را به آن اضافه کنید، توزیع‌های دبیان یا لینوکس اوبونتو گزینه‌های مناسبی هستند.

          چطور سیستم‌عامل لینوکس را نصب کنیم؟

          روند نصب سیستم‌عامل ممکن است کمی دشوار و پیچیده به‌نظر برسد؛ اما در لینوکس، این مسئله وجود ندارد. سیستم‌عامل لینوکس یکی از ساده‌ترین روندهای نصب و استفاده را دارد. اکثر نسخه‌های لینوکس قابلیت توزیع زنده را ارائه می‌دهند که باعث می‌شود بتوانید سیستم‌عامل را از CD/DVD یا USB Flash Drive و بدون هیچ تغییری در هارد دیسک خود اجرا کنید. این یعنی بدون نیاز به نصب و راه‌اندازی، به عملکرد کامل لینوکس دسترسی خواهید داشت. پس از امتحان‌کردن سیستم‌عامل و تصمیم به استفاده از آن، روی Install کلیک و آن را به‌سادگی نصب کنید. به‌طور‌کلی، فرایند نصب مراحل زیر را در برمی‌گیرد:

          • آماده‌سازی: شامل اطمینان از وجود الزامات نصب در دستگاه شما و تعیین اینکه آیا می‌خواهید نرم‌افزارهای شخص ثالث (مانند پلاگین پخش MP3 و کدک‌های ویدئویی) را نصب کنید یا خیر.
          • راه‌اندازی وایرلس (درصورت لزوم): برای دانلود نرم‌افزار و به‌روزرسانی‌ها در دستگاه‌های وایرلس مانند لپ‌تاپ، باید از اتصال شبکه مطمئن شوید.
          • انتخاب هارد دیسک: امکان تعیین نحوه نصب سیستم‌عامل لینوکس، شامل نصب همگام با سیستم‌عاملی دیگر، استفاده از کل هارد دیسک، ارتقای نسخه لینوکس موجود یا نصب همگام با نسخه لینوکس موجود را فراهم می‌کند.
          • موقعیت مکانی (Location): در این مرحله، موقعیت مکانی خود را از روی نقشه انتخاب می‌کنید.
          • تعیین طرح‌بندی صفحه‌کلید

          • تنظیمات کاربر: شامل تنظیم نام کاربری و رمزعبور

          پس از اتمام فرایند نصب، می‌توانید دستگاه را ری‌استارت و از آن استفاده کنید.

۱ اسفند ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2023/02/Dignited-FP-1024x576-1.png 576 1024 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2023-02-20 10:36:472023-02-20 10:36:47انواع توزیع های لینوکس

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

لینوکس, مقالات

آیا می‌دانستید که روتر شما نیز مانند کامپیوتر سیستم‌عامل دارد و در صورت نیاز، می‌توان آن را عوض کرد؟ اگر به فکر این هستید که روتر خود را به سرور SSH، وی‌پی‌ان، سیستم ترافیک شیپینگ (Traffic Shaping) یا کلاینت بیت‌تورنت تبدیل کنید، OpenWrt ابزاری است که می‌توانید از آن کمک بگیرید. در این مقاله از آموزش لینوکس، می‌خواهیم این ابزار را به شما معرفی کنیم؛ پس تا پایان با ما همراه باشید.

 

OpenWrt چیست؟

 

OpenWrt Project نوعی سیستم‌عامل یا firmware لینوکس برای دستگاه‌های دارای سیستم‌عامل نهفته (Embedded Devices) مثل مودم وای‌فای شماست. OpenWrt به‌جای ایجاد Firmware ثابت و تغییرناپذیر‌، فایل‌سیستم (Filesystem) کاملاً نوشتنی (Writable) با امکان مدیریت بسته (Package Management) فراهم می‌آورد. با این کار، به انتخاب اپلیکیشن و تنظیمات پیشنهادی شرکت تأمین‌کننده اینترنت خود نیازی ندارید و با استفاده از پکیج‌هایی که برای هر اپلیکیشنی مناسب هستند، دستگاه خود را می‌توانید به‌دلخواه تنظیم کنید.

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

 

 

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

 

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

 

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

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

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

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

        راهنمای نصب OpenWrt

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

        ۱. استفاده از فریمور OEM

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

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

        ۲. استفاده از Bootloader و پورت Ethernet

         

      • اکثر Bootloader‌ها امکان نصب Firmware روی روتر را فراهم می‌آورند. بعضی از Bootloader‌ها از TFTP-client، بعضی از FTP-Client، بعضی از FTP-Server، بعضی از سرور وب و بعضی دیگر از پروتکل XMODEM استفاده می‌کنند. پیش از هر‌کاری، باید موارد زیر را مشخص کنید:

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

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

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

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

        ۳. IP ثابتی روی رابط کاربری کامپیوتر خود تنظیم کنید که در همان بلاک آدرس IP از‌پیش‌تنظیم‌شده در Bootloader‌ قرار داشته باشد.

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

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

        ۶. با استفاده از نرم‌افزاری که در مرحله اول روی کامپیوترتان نصب کردید، به Bootloader‌ وصل شوید.

        ۷. فایل فریمور OpenWrt را نصب کنید.

        ۸. تا زمانی‌که به شما دستور داده نشده است، Bootloader‌ را تغییر ندهید.

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

        ۳. استفاده از Bootloader‌ و پورت سریال

         

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

        generic.flshing.serial

        ۴. نصب با استفاده از JTAG

         

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

        port.jtag

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

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

         

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

        جمع‌بندی

         

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

        OpenWrt فریموری متن‌‌باز با قابلیت‌های سفارشی‌سازی متعدد است که می‌توانید آن را به‌جای Firmware پیش‌فرض روی مودم یا روتر نصب کنید. OpenWrt نه‌تنها قابلیت‌های بسیار بیشتری در‌مقایسه‌با Firmware پیش‌فرض روتر شما دارد؛ بلکه شبکه‌ای پایدارتر و ایمن‌تر را برایتان فراهم می‌آورد.

 

 

 

۱ اسفند ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2023/02/OpenWrt-22.03.jpg 653 1200 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2023-02-20 09:31:112023-02-20 09:31:11OpenWrt چیست و چه کاربردهایی دارد؟

افزایش امنیت tmp در CentOS

لینوکس, مقالات

ایمن سازی پوشه tmp در لینوکس centos

 

 

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

بنابراین، لازم است اقداماتی را جهت افزایش امنیت پوشه tmp انجام دهیم تا این مسیر را ایمن سازی کرده و حتی الامکان از اجرای دستورات خطرناک و مخرب در آن توسط هکر ها، جلوگیری کنیم؛ بدین ترتیب، امنیت پوشه tmp تضمین خواهد شد. دو مسیر /var/tmp و /dev/shm در واقع همان مواردی هستند که باید هرچه سریع تر نسبت به محدود کردن و ایمن سازی آن ها اقدام شود.

 

 

جهت ایمن سازی پوشه tmp در لینوکس centos به چه مواردی نیاز داریم؟

 

 

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

بتوانید با استفاده از نسخه بک آپ آن را رفع سازید. شما همچنین به دسترسی روت (root) در محیط SSH نیاز تا بتوانید این امر را به درستی انجام دهید. دقت داشته باشید که لازم است تعدادی از فایل ها اصلاح و ویرایش شوند؛ ما این کار با استفاده از ابزار nano موجود در محیط SSH انجام می دهیم؛ در صورتی که این ابزار برای شما موجود نیست، می توانید با اجرای فرمان yum install nano، هر چه زود تر اقدام به نصب آن کنید.

 

 

مراحل لازم برای ایمن سازی پوشه فایل های موقت (tmp) در centOS

 

 

نخست، پس از وارد شدن با حساب کاربری خود در SSH، باید فایل fstab را با به کار گیری ابزار nano (یا هر ابزار ویرایشگر خط فرمان دیگری که ما را در این امر یاری کند مانند vim) ویرایش کنیم. این فایل در دایرکتوری /etc/fstab قابل مشاهده می باشد و حاوی تمام اطلاعات و مشخصات پوشه های اجرای فایل های موقت (tmp) می باشد. در محتوای این فایل، مقدار پیش فرض /tmp defaults قرار دارد. شما باید به انتهای این مقدار، مقادیر “nodev, nosuid, noexec” را اضافه نمایید. به بیان دقیق تر، فرم جدید این مقدار باید به شکل زیر باشد:

 

 

tmp defaults, nodev, nosuid, noexec/

 

 

حال به خط یا خط های پایین تر نگاه کرده و مقدار tmpfs را بیابید. سپس همین اقدام را برای tmpfs نیز انجام داده و مقادیر “nodev, nosuid, noexec” را به انتهای مقدار پیش فرض (defaults) اضافه کنید. در نهایت باید عبارتی به شکل زیر داشته باشیم:

 

 

tmpfs defaults, nodev, nosuid, noexec/

 

در نهایت، باید مقدار زیر را به عنوان خط آخر در انتهای فایل قرار داده و با فشار دادن کلید های ترکیبی میانبر Ctrl+X بر روی کیبورد خود آن را ذخیره کنید:

 

 

tmp /var/tmp none rw,noexec,nosuid,nodev,bind /

 

در انتهای کار، به منظور اعمال مقادیر اضافه شده و مشخصات جدید در محل ذخیره و همچنین اجرای فایل های موقت (tmp)، باید دستورات زیر را به ترتیب گفته شده وارد کنید:

 

/mount -o rw,noexec,nosuid,nodev,bind /tmp/ /var/tmp

 

/mount -o remount,noexec,nosuid,nodev /tmp

 

mount -o remount,noexec,nosuid,nodev /dev/shm

 

 

 

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

 

جمع بندی نهایی

 

 

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

با افزایش ایمنی پوشه tmp فایل های موقت تمام فعالیت های /tmp محدود می شوند. این امر از اجرای کد های مخرب در فولدر فایل های موقت جلوگیری می کند. هکر ها ممکن است تلاش کنند اسکریپت های مخرب و بر افزار ها را وارد پوشه tmp کنند و با اجرای آن سرور را از کار بیاندازند. در این آموزش متوجه شدیم که چرا ایمن سازی پوشه tmp در centOS تا این اندازه اهمیت دارد و با نحوه انجام این امر آشنا شدیم.

 

 

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

 

 

۱. کدام پوشه ها را باید ایمن سازی کرد؟

 

همان طور که گفته شد در سیستم عامل centOS، پوشه های /var/tmp و /dev/shm همان مواردی هستند که باید نسبت به محدود کردن و ایمن سازی آن ها اقدام شود.

 

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

 

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

 

۳. چگونه ورژن centos خود را به روز رسانی کنیم؟

 

برای این کار می توانید از طریق SSH اقدام کنید. کافی است دستور yum update openssh را اجرا کنید تا سیستم به طور خودکار به آخرین و به روز ترین نسخه پچ شده آپدیت شود.

 

۴. چگونه به SSH متصل شویم؟

 

ترمینال دستگاه خود را باز کرده و دستور ssh username@host_ip_address را در آن اجرا کنید. دقت کنید به جای host_ip_address آدرس آیپی میزبان یا هاست و به جای Username از نام کاربری خود استفاده نمایید. در صورتی که نام کاربری و آدرس آیپی شما یکسان است می توانید از دستور ssh host_ip_address نیز استفاده کنید.

 

 

امیدوارم از این آموزش لذت برده باشید.

 

 

 

 

 

۲۷ بهمن ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2023/02/How-To-Automatically-Delete-Or-Clean-Up-tmp-Folder-Contents-In-Linux.png 310 600 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2023-02-16 11:22:192023-02-16 11:22:19افزایش امنیت tmp در CentOS

آموزش بازیابی پسورد روت

لینوکس, مقالات

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

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

 

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

 

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

 

 

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

 

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

 

پسورد اوبونتو را از Recovery Mode بازیابی کنید

 

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

 

مرحله اول: به حالت Recovery Mode وارد شوید؛ استفاده از تنظیمات GRUB Menu

 

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

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

 

 

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

 

 

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

 

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

 

 

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

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

پارتیشن روت به‌طور پیش‌فرض، تنها دسترسی خواندن (Read Only Access) دارد. با استفاده از دستور زیر، می‌توانید دسترسی نوشتن (Write Access) را فعال کنید:

 

/mount -rw -o remoun

 

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

 

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

 

ls /home

 

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

 

passwd username

 

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

 

:Enter new UNIX password

:Retype new UNIX password

 

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

 

exit

 

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

 

 

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

 

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

 

passwd username
:Enter new UNIX password
:Retype new UNIX password
passwd: Authentication token manipulation error
passwd: password unchanged
این خطا به‌دلیل پارتیشن روت فقط خواندنی (Read Only) است. برای حل این خطا، کافی است دستور زیر را وارد کنید و اجازه دسترسی را به سیستم دهید:
/mount -rw -o remount
حال دوباره سعی کنید پسورد سیستم خود را بازیابی کنید. بی‌شک این‌ بار درخواست انجام خواهد شد. همان‌طور‌که دیدید، ریست پسورد اوبونتو بسیار ساده است و در چند دقیقه می‌توانید پسورد روت را ازطریق Recovery Mode بازیابی کنید.

روش جایگزین برای بازیابی پسورد روت در اوبونتو

 

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

 

مرحله اول

 

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

 

مرحله دوم

 

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

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

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

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

shutdown -r now

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

 

آیا بازیابی پسورد اوبونتو مشکل امنیتی به‌وجود نمی‌آورد؟

 

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

 

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

 

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

به‌طور پیش‌فرض سیستم‌عامل اوبونتو پسورد روت ندارد و اکانت روت نیز قفل شده است. زمانی که اوبونتو را به‌عنوان سیستم‌عامل نصب و حساب کاربری خود را ایجاد می‌کنید، به‌عنوان مدیر (Admin) مالکیت حقوق Sudo به شما تعلق می‌گیرد؛ اما بدین‌معنی نیست که شما روت هستید.

 

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

 

پسورد پیش‌فرضی برای Sudo وجود ندارد و پسورد بازیابی‌شده همان پسوردی است که هنگام نصب سیستم‌عامل اوبونتو برای آن تنظیم شده است. نداشتن پسورد روت ویژگی مهمی است؛ به‌همین‌دلیل، گزینه‌های پیشرفته اوبونتو (Advanced Options for Ubuntu) در منو بوت این امکان را به‌ شما می‌دهد تا برخی از وظایف مرتبط با روت را با استفاده از خط فرمان (Root Shell Prompt) انجام دهید.

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

 

 

امیدوارم از این آموزش لذت برده باشید.

 

 

 

 

۲۷ بهمن ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2023/02/reset-forgotten-password.jpg 333 630 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2023-02-16 10:55:212023-02-16 10:58:34آموزش بازیابی پسورد روت

ساخت Swap File در لینوکس

لینوکس, مقالات

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

 

Swap File چیست؟

 

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

 

  • فایل Swap
  • پارتیشن اختصاصی Swap

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

 

نحوه ساخت Swap File در لینوکس 

 

برای ساخت و اضافه‌کردن Swap تا حجم یک گیگابایت به سرورتان، مراحل زیر را با دقت پیش ببرید. در‌صورتی‌که قصد دارید به‌جای یگ گیگابایت از دو گیگابایت فضای Swap استفاده کنید، می‌توانید ۲G را جایگزین ۱G کنید.

 

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

 

sudo fallocate -l 1G /swapfile

 

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

 

sudo dd if=/dev/zero of=/swapfile bs=۱۰۲۴ count=۱۰۴۸۵۷۶

 

 

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

 

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

 

sudo chmod ۶۰۰ /swapfile

مرحله سوم. استفاده از ابزار mkswap برای تنظیم فایل به‌عنوان ناحیه Linux Swap

 

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

 

sudo mkswap /swapfile

 

مرحله چهارم. فعال‌کردن Swap

 

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

 

sudo swapon /swapfile

 

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

 

etc/fstab/

.swapfile swap swap defaults /

 

مرحله پنجم. بررسی فعال‌بودن Swap

 

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

 

sudo swapon –show

 

NAME TYPE SIZE USED PRIO
swapfile file 1024M ۵۰۷.۴M -۱/
sudo free -h
total used free shared buff/cache available
Mem: 488M 158M 83M ۲.۳M 246M 217M
Swap: ۱.۰G 506M 517M
با دنبال‌کردن پنج مرحله گفته‌شده‌، به‌راحتی می‌توانید فایل Swap بسازید. توجه کنید که کدها باید به‌درستی و به‌طورکامل به همان شکل گفته‌شده درج شوند. در‌صورت بروز هرگونه مشکل یا خطا، مراحل را از ابتدا و با دقت بیشتری پیش ببرید.

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

 

Swappiness ویژگی هسته لینوکس است که تعیین می‌کند سیستم چند مرتبه از فضای Swap استفاده کند. مقدار Swappiness می‌تواند بین صفر تا صد باشد. هرچه این مقدار به صفر نزدیک‌تر باشد، هسته تاحدممکن swapping یا همان مبادله را انجام نخواهد داد. هرچه میزان Swappiness به صد نزدیک‌تر باشد، هسته رغبت بیشتری برای استفاده از فضای مبادله خواهد داشت.

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

 

cat /proc/sys/vm/swappiness

 

۶۰

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

 

sudo sysctl vm.swappiness=۱۰

 

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

 

vm.swappiness=۱۰

 

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

 

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

 

مرحله اول. غیرفعال‌کردن Swap

 

در مرحله اول، باید Swap را با تایپ‌کردن دستور زیر غیرفعال کنید:

 

sudo swapoff -v /swapfile

 

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

 

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

 

مرحله سوم. حذف فایل Swapfile واقعی

 

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

 

sudo rm /swapfile

 

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

 

امیدوارم از این آموزش لذت برده باشید.

 

 

 

 

 

 

 

۲۷ بهمن ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2023/02/swap-file-linux-800x450-2.jpg 450 800 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2023-02-16 10:27:172023-02-16 10:30:24ساخت Swap File در لینوکس

ایمن سازی Nginx در CentOS7

لینوکس, مقالات

گوگل مدتی است که شرکت‌ها و وب‌سایت‌ها را به استفاده از گواهینامه SSL مجبور کرده است. بیش از ۴۶میلیون وب‌سایت در سراسر دنیا برای اینکه رتبه‌شان در صفحه نتایج گوگل افت نکند، با این تصمیم موافقت کرده‌اند. این گواهی تراکنش‌ها و اطلاعات حساس کاربر را ایمن نگه می‌دارد و به امنیت بیشتر فضای وب و اعتمادسازی بیشتر موتور جست‌وجوی گوگل کمک می‌کند.

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

 

 

پیش‌نیازها

 

قبل از اینکه فرایند کار را آغاز کنیم، به چند چیز نیاز داریم:

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

هر زمان که تمام نیازمندی‌های یادشده را فراهم کردید، به‌سراغ نصب نرم‌افزار کلاینت مخصوص Let’s Encrypt می‌رویم.

 

قدم اول: نصب‌کردن کلاینت 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 نصب‌ شده و آماده استفاده است.

 

قدم دوم: تنظیم Nginx

 

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

 

sudo yum install nginx

 

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

 

sudo systemctl start nginx
Certbot می‌تواند به‌طورخودکار SSL را برای Nginx پیکربندی کند؛ اما اول باید بتواند بلوک سرور مخصوص شما را در پیکربندی سرور پیدا کند. این کار ازطریق جست‌وجوی نام سروری (Server-Name) انجام می‌شود که دقیقاً منطبق بر دومین درخواست‌کننده گواهینامه است. اگر به‌تازگی Nginx را نصب کرده‌اید، با استفاده از vi یا ویرایشگر متنی دلخواه خود می‌توانید فایل پیکربندی پیش‌فرض Nginx را به‌روز کنید:
sudo vi /etc/nginx/nginx.conf
خط server-name را بیابید:
;_server_name
خط _ را با نام دامنه خود جایگزین کنید:
;server_name example.com www.example.com
فایل را ذخیره کنید و از ویرایشگر خارج شوید. اگر از vi استفاده می‌کنید، برای ذخیره و خروج ابتدا 😡 و سپس y را بزنید. با دستور زیر باید درست یا غلط‌ بودن کدهای دستوری خود را برای پیکربندی وب‌سرور بررسی و تأیید کنید:
sudo nginx –t
اگر دستورها بدون خطا اجرا شد، Nginx را دوباره راه‌اندازی کنید تا پیکربندی جدید بارگذاری شود:
sudo systemctl reload nginx
Certbot حالا می‌تواند بلوک سرور وب‌سایت شما را پیدا و به‌روزرسانی کند.

قدم سوم: به‌روزرسانی فایروال

 

اگر فایروال سرور را فعال کرده‌اید، مطمئن شوید که پورت‌های ۸۰ و ۴۳۳ برای ترافیک ورودی باز باشند. اگر فایروال روی سرور اجرا نمی‌شود، از این مرحله بگذرید.

اگر دیوار آتش Firewall را اجرا می‌کنید، دستور زیر را برای بازکردن پورت‌ها بنویسید:

 

sudo firewall-cmd –add-service=http
sudo firewall-cmd –add-service=https
sudo firewall-cmd –runtime-to-permanent
اگر دیوار آتش Iptables را اجرا می‌کنید، دستورهای لازم به مجموعه قوانین (Rule Set) کنونی شما بستگی دارد. اگر به Rule Set دست نزده‌اید، با دستور زیر می‌توانید دسترسی HTTP و HTTPS را اضافه کنید:
sudo iptables -I INPUT -p tcp -m tcp –dport ۸۰ -j ACCEPT
sudo iptables -I INPUT -p tcp -m tcp –dport ۴۴۳ -j ACCEPT
اکنون آماده اجرای Certbot و گرفتن گواهینامه‌های SSL هستیم.

قدم چهارم: دریافت گواهینامه

 

 

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 ۲۰۲۳–۱۰–۲۰. 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 باز کنید و نشانگر امنیت مرورگر را زیرنظر بگیرید. اگر همه مراحل را به‌درستی طی کرده باشید، علامت قفل سبزرنگ باید امنیت وب‌سایت شما را نشان دهد.

قدم پنجم: تنظیم تمدید خودکار

 

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

 

sudo crontab –e

 

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

 

۳۱۵ * * * /usr/bin/certbot renew –quiet

 

بخش ۱۵ ۳ * * * از این خط باعث اجرای دستور در ساعت ۱۵:۳ هرروز می‌شود؛ البته شما می‌توانید هر ساعتی را انتخاب کنید.

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

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

 

نتیجه گیری

 

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

 

 

 

۲۷ بهمن ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2023/02/nginxh2-wordpress-le.png 615 1024 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2023-02-16 10:01:112023-02-16 10:02:41ایمن سازی Nginx در CentOS7

ایمن سازی Apache با SSL

لینوکس, مقالات

چگونه Apache را با نصب SSL رایگان در Debian 10 ایمن کنیم؟

 

Let’s Encrypt مرجع صدور گواهی یا CA است که با استفاده از Certbot به شما کمک می‌کند تا گواهی SSL را روی وب سرور خود نصب و با فعال‌سازی پروتکل HTTPS، وب‌سایتتان را ایمن کنید. کاری که Certbot انجام می‌دهد، خودکارسازی تمام عملیات موردنیاز برای این فرایند است. درحال‌حاضر، تمامی مراحل انجام این کار برای ایمن‌سازی وب سرورهای Apache و Nginx به‌طور کاملاً خودکار انجام می‌شود. در این مقاله  قصد داریم تا نحوه نصب گواهی SSL رایگان روی وب سرور Apache در توزیع Debian 10 را به شما آموزش دهیم؛ پس تا پایان با ما همراه باشید.

 

 

پیش‌نیازها

 

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

۱. اولین چیزی که برای استفاده از این مقاله آموزشی نیاز دارید، سروری با توزیع Debian 10 است. همچنین، روی این سیستم‌عامل باید کاربر غیر Root با دسترسی Sudo و فایروال فعال شده باشد.

۲. دامنه‌‌ای که مدیریت آن را دراختیار داشته باشید. در این آموزش، هر‌گاه عبارت your_domain را مشاهده کردید، منظور همان آدرس دامین شماست.

۳. رکوردهای ثبت‌شده DNS برای سرور به‌صورت زیر:

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

۴. وب سرور Apache نصب‌شده روی سرور. همچنین، مطمئن شوید که فایل VirtualHost را برای دامنه خود تنظیم کرده‌اید. در این مقاله، برای مثال ما از /etc/apache2/sites-available/your_domain.conf استفاده خواهیم کرد.

 

گام اول: نصب Certbot

اولین قدم به‌منظور استفاده از Let’s Encrypt برای دریافت گواهی SSL رایگان‌، نصب نرم‌افزار Certbot است.

توجه: درحال‌حاضر، Certbot به‌طور‌پیش‌فرض در ریپوزیتوری توزیع Debian وجود ندارد؛ اما می‌توان مخزن buster-backports را در فایل /etc/apt/sources.list پیکربندی کرد. این روش به شما امکان خواهد داد تا یک Backport از نرم‌افزار Certbot را با APT نصب کنید. با‌این‌حال، باید در نظر بگیرید که بک‌پورت‌ها بسته‌های ریکامپایل‌شده‌‌ای از ریپوزیتوری آزمایشی و ناپایدار Debian هستند که برای اجرا در توزیع پایدار Debian، مجدداً کامپایل شده‌اند. این پکیج‌ها به‌صورت منظم بررسی نمی‌شوند و شاید همیشه به‌روز نباشند. بر همین اساس، بک‌پورت Certbot نسخه ۰.۳۱ را نصب می‌کند و این در حالی است که نسخه فعلی تا این لحظه، ۱.۰۹ است.

یکی از تفاوت‌های مهم بین این نسخه‌های Certbot آن است که تنظیمات پیش‌فرض نسخه ۰.۳۱، دو پروتکل TLS v1.0.0.31 و TLS v1.1 را فعال می‌کند که هر دو در اکثر مرورگرهای وب منسوخ شده‌اند. بنابراین، فعال‌کردن این پروتکل‌ها می‌تواند باعث بروز آسیب امنیتی شود. همچنین، اگر‌چه امکان تغییر این تنظیمات پیش‌فرض وجود دارد، انجام این کار می‌تواند سبب غیرفعال‌شدن به‌روزرسانی‌های خودکار Certbot شود که البته از قابلیت‌های بسیار مهم و مفید آن است.

بنابراین، تا قبل از اینکه نسخه جدیدتر Certbot در ریپوزیتوری APT دبیان قرار بگیرد، بهتر است از نصب نسخه ۱.۰۹ با استفاده از Snappy استفاده کنید. Snappy پکیج‌منیجر توسعه‌یافته‌ای برای سیستم‌های لینوکس است که پکیج‌ها را در قالبی با عنوان Snaps نصب می‌کند. این روش در داکیومنت Certbot نیز توصیه شده است؛ به‌همین‌دلیل، ما هم در این آموزش از همین روش استفاده خواهیم کرد.

برای نصب Certbot در Debian به‌صورت Snap، ابتدا باید snapd را روی سرور خود نصب کرده باشید. snapd دیمونی (Daemon) است که در نصب و استفاده و مدیریت Snap‌ها کاربرد دارد. با نصب snapd، امکان استفاده از دستور snap نیز روی سرور شما فعال خواهد شد.

برای این کار، ابتدا باید Local Package‌های خود را آپدیت کنید. درصورتی‌که قبلاً این کار را انجام نداده‌اید، از دستور زیر استفاده کنید:

 

 

sudo apt update $

 

 

سپس با استفاده از دستور زیر، پکیج snapd را روی سرور نصب کنید:

 

 

sudo apt install snapd $

 

 

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

بعد‌از‌آن، از دستور snap برای نصب snap core استفاده کنید. با انجام این کار، وابستگی‌های موردنیاز مانند certbot snap روی سرور نصب خواهد شد:

 

sudo snap install core $

 

سپس، Core Snap را Refresh کنید. بدین‌ترتیب، مطمئن خواهید شد که جدیدترین نسخه snapd و وابستگی‌های مربوط به آن روی سرور نصب‌ شده است:

 

sudo snap refresh core $

 

حالا می‌توانید Certbot را با استفاده از دستورهایی نصب کنید که در‌ادامه‌ به آن‌ها اشاره خواهیم کرد. توجه کنید که snap‌ها را می‌توان در سه سطح مختلف نصب کرد که هریک سطوح مختلفی از ایزوله‌شدن سرور در‌مقابل دسترسی آن‌ها را تعیین خواهد کرد. به‌عنوان مثال، اکثر snap‌ها در سطح –strict نصب می‌شوند و این یعنی از دسترسی این برنامه‌ها به فایل‌ها و شبکه سیستم شما جلوگیری خواهد شد.

از‌آن‌جا‌که Certbot باید مجوز ویرایش برخی از فایل‌های پیکربندی خاص را برای تنظیم صحیح گواهی‌های SSL داشته باشد، دستوری که برای نصب آن استفاده می‌کنید، باید شامل گزینه –classic باشد. این قسمت به snap نصب‌شده امکان می‌دهد تا مانند پکیج‌های سنتی، مجوز دسترسی به منابع سیستم را داشته باشد:

 

 

sudo snap install –classic certbot $

 

با اِعمال این دستور، Certbot در دایرکتوری /snap/bin نصب خواهد شد. حالا لینکی نمادین به این فایل در پوشه /usr/bin/ ایجاد کنید تا مطمئن شوید که می‌توانید دستور Certbot را در هر نقطه از سیستم خود اجرا کنید:

 

 

sudo ln -s /snap/bin/certbot /usr/bin/certbot $

 

حالا از Certbot می‌توان استفاده کرد؛ اما برای اینکه Certbot بتواند گواهی SSL را به‌درستی برای Apache پیکربندی کند، باید ببینیم که آیا Apache به‌درستی پیکربندی شده است یا خیر.

 

گام دوم: تنظیم گواهی SSL

 

Certbot برای اینکه بتواند گواهی SSL را به‌طورخودکار پیکربندی کند، باید بتواند VirtualHost صحیح را در پیکربندی Apache پیدا کند. انجام این کار به‌صورت خاص با استفاده از جست‌وجوی دایرکتیو Servername انجام خواهد شد که با دامنه‌ای مطابقت دارد که برای آن درخواست صدور گواهی SSL داده‌اید.

درصورتی‌که مراحل راه‌اندازی VirtualHost را به‌درستی انجام داده باشید، باید بلوک VirtualHost را برای دامنه خود در مسیر /etc/apache2/sites-available/your_domain.conf داشته باشید که دایرکتیو ServerName در آن از قبل و به‌صورت مناسب تنظیم شده است.

برای بررسی این موضوع، با استفاده از دستور زیر فایل VirtualHost خود را با ویرایشگری مانند nano باز کنید:

 

 

sudo nano /etc/apache2/sites-available/your_domain.conf $

 

در این فایل، باید به‌دنبال خطی باشید که به ServerName اشاره می‌کند. این خط باید چیزی شبیه به این باشد:

 

;ServerName your_domain

 

درصورتی‌که چنین خطی را در فایل مدنظر پیدا نکردید، باید دایرکتیو ServerName خود را به‌روز کنید تا به نام دامنه شما اشاره کند. سپس، باید فایل را ذخیره کنید و از ویرایشگر خود خارج شوید. انجام این کار ممکن است در ویرایشگرهای مختلف متفاوت باشد. به‌عنوان مثال در ویرایشگر nano این کار با استفاده از کلیدهای ترکیبی Ctrl+X، Y و سپس فشردن کلید Enter انجام خواهد شد.

بعد از انجام این کار، سینتکس ویرایش‌های انجام‌شده را با استفاده از دستور زیر تأیید کنید:

 

sudo apache2ctl configtest $

 

درصورتی‌که با خطای Syntax مواجه شدید، بار‌دیگر فایل پیکربندی را باز و دستورهای اضافه‌شده در مرحله آخر به این فایل را بررسی کنید و مشکلات املایی یا احتمالاً کاراکترهای جا‌انداخته‌شده را اصلاح کنید. بعد از اصلاح فایل، آپاچی را با استفاده از دستور زیر مجدداً Load کنید تا پیکربندی جدید اِعمال شود:

 

sudo systemctl reload apache2

 

 

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

 

 

 

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

 

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

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

 

sudo ufw status $

 

 

خروجی این دستور احتمالاً چیزی شبیه به متن زیر خواهد بود:

 

Output
Status: active
To Action From
— —— —-
OpenSSH ALLOW Anywhere
WWW ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW (v6) ALLOW Anywhere (v6)
همان‌طور‌که مشاهده می‌کنید، تنظیمات فعلی فایروال به‌گونه‌ای است که صرفاً مجوز استفاده از ترافیک HTTP را می‌دهد. برای اینکه به ترافیک HTTPS نیز مجوز داده شود، باید به پروفایل WWW Full مجوز بدهید و مجوز پروفایل WWW را نیز صلب کنید:
‘sudo ufw allow ‘WWW Full $
‘sudo ufw delete allow ‘WWW $
سپس، مجدداً وضعیت را بررسی کنید:
sudo ufw status $
در این‌ صورت، خروجی دستور مانند نمونه زیر خواهد بود:
Output
Status: active
To Action From
— —— —-
OpenSSH ALLOW Anywhere
WWW Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW Full (v6) ALLOW Anywhere (v6)

در گام بعدی، باید Certbot را اجرا و گواهی‌های موردنیاز را واکشی کنید.

 

 

گام چهارم: دریافت گواهی SSL

 

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

 

sudo certbot –apache -d your_domain -d www.your_domain $

 

این دستور باعث می‌شود تا Certbot با استفاده از پلاگین آپاچی اجرا شود. همچنین، بعد از -d باید دامین‌هایی را وارد کنید که می‌خواهید گواهی SSL برای آن‌ها ایجاد شود. باید توجه کنید اگر اولین‌باری است که Certbot را اجرا می‌کنید، باید آدرس ایمیلی برای ارسال پیغام‌های سیستمی ضروری معرفی و با قوانین و مقررات نیز موافقت کنید.

علاوه‌بر‌این، از شما پرسیده می‌شود که آیا مایل‌اید تا آدرس ایمیل خود را با Electronic Frontier Foundation، سازمان غیرانتفاعی مدافع حقوق دیجیتال و سازنده Certbot، به‌اشتراک بگذارید یا خیر. درصورتی‌که به انجام این کار تمایل دارید، حرف Y و در‌غیر‌این‌صورت حرف N را تایپ کنید و سپس کلید Enter را برای تأیید فشار دهید.

بعد از انجام این کار‌، Certbot با سرور Let’s Encrypt ارتباط برقرار می‌کند. همچنین، راستی‌آزمایی‌ای انجام می‌شود تا اطمینان حاصل شود که شما مالک اصلی دامنه هستید و به آن دسترسی مدیریتی کامل دارید.

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

 

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

 

گام پنجم: تمدید خودکار گواهی SSL با Certbot

 

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

 

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

 

sudo certbot renew –dry-run $

 

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

 

جمع‌بندی

 

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

 

امیدوارم از این آموزش لذت برده باشد.

 

 

 

 

 

 

 

۲۴ بهمن ۱۴۰۱/۰ دیدگاه /توسط m.samaei
https://vistanetgroup.ir/wp-content/uploads/2023/02/SSL-APACHE.png 400 771 m.samaei https://vistanetgroup.ir/wp-content/uploads/2024/03/log2-300x83-1.png m.samaei2023-02-13 10:53:142023-02-13 10:54:59ایمن سازی Apache با SSL
صفحه 1 از 3123

صفحات

  • About
  • FAQ
  • Footer Template
  • Get in touch
  • Home
  • News
  • Our Lawyers
  • Practice Areas
  • The Firm
  • VMware
  • ایزابل
  • پرسش های متداول
  • تماس با ما
  • تیم ما
  • درباره
  • سیسکو
  • شرکت ما
  • صفحه اصلی
  • کریوکنترل
  • لینوکس
  • مایکروسافت
  • محورهای فعالیت
  • مقالات
  • میکروتیک

دسته ها

  • News
  • Personal
  • Uncategorized
  • VMware
  • ایزابل
  • کریوکنترل
  • لینوکس
  • مایکروسافت
  • مقالات
  • میکروتیک

بایگانی

  • اکتبر 2023
  • سپتامبر 2023
  • آوریل 2023
  • مارس 2023
  • فوریه 2023
  • ژانویه 2023
  • دسامبر 2022
  • نوامبر 2022
  • آوریل 2018
  • می 2015
  • ژانویه 2015
  • آگوست 2014
  • فوریه 2014
  • دسامبر 2013
  • آگوست 2012
  • می 2012

تیم تخصصی ویستاگستربیهق(ویستانت) به پشتوانه تخصص و تجربیات کارشناسان خود در سال ۱۴۰۰ در زمینه ی مشاوره , آموزش و اجرای پروژه های تخصصی شبکه فعالیت خود را آغاز نمود.

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

اطلاعات تماس

ویستا گستر بیهق | خراسان رضوی-سبزوار
تلفن: ۰۵۱۴۴۶۵۷۸۱۵ – ۰۵۱۹۱۰۱۴۰۵۹ | همراه: ۰۹۳۵۴۹۹۴۰۵۹ | ایمیل: info@vistanetgroup.ir

تمامی حقوق برای ویستانت محفوظ می باشد

رفتن به بالا

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

بستناطلاعات بیشتر×

تنظیمات کوکی و حریم خصوصی



چطور از کوکی‌ها استفاده می‌کنیم

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

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

کوکی‌های وب‌سایت ضرروی است

این کوکی ها برای ارائه خدمات موجود از طریق وب سایت ما و استفاده از برخی از ویژگی های آن کاملاً ضروری هستند.

Because these cookies are strictly necessary to deliver the website, refusing them will have impact how our site functions. You always can block or delete cookies by changing your browser settings and force blocking all cookies on this website. But this will always prompt you to accept/refuse cookies when revisiting our site.

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

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

سایر خدمات خارجی

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

تنظیمات وب فونت گوگل:

تنظیمات نقشه گوگل:

تنظیمات reCaptcha گوگل:

جاسازی ویدیو ویمئو یا یوتیوب:

حریم خصوصی

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

پذیرفتن تنظیماتفقط اطلاعیه را نمایش نده