مقالات

راهنمای راه‌اندازی اولیه سرور روی CentOS

انجام تنظیمات CentOS اولین اقدامی است که باید بعد از ایجاد سرور جدید CentOS انجام دهید. انجام این کار امنیت و قابلیت‌های سرور را افزایش می‌دهد. مراحل اولیه تنظیمات اولیه CentOS بسیار راحت است و با دنبال کردن چند مرحله ساده می‌توانید این کار را انجام دهید. در ادامه این مقاله آموزشی با ما همراه باشید تا به‌صورت کامل با مراحل راه‌اندازی اولیه سرور روی CentOS 8 آشنا شوید.

مراحل نصب و پیکربندی تنطیمات سرور CentOS

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

مرحله اول – به عنوان کاربر Root لاگین کنید

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

ssh root@your_server_ip

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

درباره یوزر روت 

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

مرحله دوم پیکربندی تنظیمات CentOS – یک کاربر جدید ایجاد کنید

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

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

adduser ali

اکنون باید برای یوزر ali یک رمز عبور قوی انتخاب کنید:

passwd ali

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

مرحله سوم- امتیازات Administrative را واگذار کنید

در مرحله قبلی مراحل انجام تنظیمات CentOS، یک اکانت جدید با امتیازات کاربر عادی ایجاد کردید. با این حال، ممکن است گاهی برخی از وظایف administrative را انجام دهید. برای اینکه هربار مجبور نباشید از کاربر عادی خارج و دوباره به‌عنوان یوزر روت وارد شوید، می‌توانید آنچه را که به عنوان «superuser» یا امتیازات root شناخته می‌شود برای اکانت عادی خود تنظیم کنید. این امر به کاربر عادی اجازه می‌دهد تا با قرار دادن کلمه sudo قبل از هر دستور، دستورات با امتیازات administrative را اجرا کند.

برای افزودن این امتیازات به کاربر جدید، باید کاربر جدید را به گروه wheel اضافه کنید. به طور پیش فرض، در CentOS، کاربرانی که به گروه wheel تعلق دارند، می‌توانند از دستور sudo استفاده کنند.

به عنوان یوزر root، دستور زیر را اجرا کنید تا کاربر جدید را به گروه wheel اضافه کنید (نام کاربری ali را با نام کاربری جدید خود جایگزین کنید):

usermod -aG wheel ali

پس از اجرای این دستور، می‌توانید به‌عنوان کاربر عادی، عبارت sudo را قبل از دستورات تایپ کنید تا هر دستور با امتیاز superuser اجرا شود.

مرحله چهارم پیکربندی تنظیمات CentOS – یک فایروال پایه ایجاد کنید

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

CentOS یک سرویس به نام firewalld برای انجام این عملکرد دارد. ابزاری به نام firewall-cmd برای پیکربندی سیاست‌های فایروال firewalld استفاده می‌شود.

نکته: اگر اقدام به خرید سرور ابری یا دیتاسنتر ابری زَس کرده‌اید، می‌‌توانید از فایروال سرور ابری یا فایروال پیشرفته دیتاسنتر ابری نیز استفاده کنید که هر دو، امکان پیکربندی فایروال در رابط گرافیکی تحت وب را در اختیارتان قرار می‌دهد. پیشنهاد می‌کنیم برای جلوگیری از پیش آمدن هرگونه تداخل، تنها از فایروال سرور ابری/دیتاسنتر ابری یا فقط از فایروال CentOS‌ استفاده نمایید.

برای راه‌اندازی فایروال CentOS، ابتدا firewalld را نصب کنید:

dnf install firewalld -y

پیکربندی پیش‌فرض firewalld به اتصالات ssh اجازه می‌دهد؛ بنابراین می‌توانید فایروال را فوراً روشن کنید:

systemctl start firewalld

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

systemctl status firewalld

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

Output
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2023-05-16 16:50:21 UTC; 4s ago
     Docs: man:firewalld(1)
 Main PID: 13180 (firewalld)
    Tasks: 2 (limit: 5059)
   Memory: 22.7M
   CGroup: /system.slice/firewalld.service
           └─13180 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid

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

اکنون که سرویس راه‌اندازی شده است، می‌توانیم از ابزار firewall-cmd برای تنظیم رول‌های فایروال استفاده کنیم.

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

firewall-cmd --permanent --list-all

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

Output
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0 eth1
  sources:
  services: cockpit dhcpv6-client ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

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

firewall-cmd --get-services

برای افزودن سرویس‌های مجاز، از فلگ add-service-- استفاده کنید:

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

دستور بالا، سرویس http را اضافه می‌کند و به ترافیک TCP ورودی به پورت 80 اجازه رسیدن به سرور را می‌دهد. پس از بارگیری مجدد فایروال، پیکربندی جدید آپدیت می‌شود:

firewall-cmd --reload

مرحله پنجم پیکربندی تنظیمات CentOS – دسترسی خارجی را برای کاربر عادی ایجاد کنید

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

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

فرایند پیکربندی دسترسی SSH برای کاربر عادی غیر روت به این بستگی دارد که آیا اکانت روت سرور، از رمز عبور برای احراز هویت استفاده می‌کند یا از کلیدهای SSH؟

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

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

ssh ali@your_server_ip

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

sudo command_to_run

هنگامی که از sudo برای اولین بار در هر session استفاده کنید، احتمالاً از شما خواسته می‌شود رمز عبور خود را وارد کنید.

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

اگر با استفاده از کلیدهای SSH به اکانت روت لاگین کرده باشید، احراز هویت مبتنی بر پسورد، برای SSH غیر فعال می‌شود. برای لاگین موفق نیاز است یک کپی از کلید عمومی را به فایل ssh/authorized_keys./~ کاربر جدید اضافه کنید.

البته توجه داشته باشید، از آنجایی که کلید عمومی شما از قبل در فایل ssh/authorized_keys./~ اکانت روت روی سرور قرار دارد، می‌توانید آن فایل و ساختار دایرکتوری را در حساب کاربری جدید کپی کنید.

ساده‌ترین راهکار این است که با استفاده از دستور rsync، فایل‌ها را با مالکیت و مجوزهای صحیح کپی کنید. این کار در یک دستور واحد، دایرکتوری ssh. کاربر روت را کپی، مجوزها را حفظ و مالکیت فایل را تغییر می‌دهد. به این نکته دقت کنید که بخش‌های مربوط به نام کاریری ali در دستور زیر را با توجه به نام یوزر عادی خود تغییر دهید:

rsync --archive --chown=ali:ali ~/.ssh /home/ali

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

ssh ali@your_server_ip

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

sudo command_to_run

سخن پایانی

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

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

دکمه بازگشت به بالا

دریافت سرویس تست رایگان

ارتباط با ابر زَس

تلفن:        91078149 –  021

ایمیل:       [email protected]