میزبانی وب

۹ گام برای تنظیمات اولیه CentOS 8

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

  • یافتن اطلاعات در مورد سیستم‌های نصب شده یا سخت‌افزاری که سرور روی آن نصب است
  • “کانفیگ تسک” سیستم‌های خاص همانند آپدیت سیستم، شبکه، دسترسی‌های root
  • کانفیگ ssh
  • مدیریت سرویس‌ها و …

گام اول: آپدیت نرم افزار سیستم

با دسترسی root به سرور، لاگین می‌کنیم. سپس دستورات زیر را وارد می‌کنیم تا سیستم آپدیت‌های مربوط به کرنل، پچ‌های امنیتی، repository های نرم افزار و پکیج ها را به آخرین نسخه‌ها انجام‌دهد.

# dnf check-update

# dnf update

آپدیت نرم افزار سیستم در تنظیمات اولیه centOs 8

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

# dnf clean all

حذف تمام پکیج‌های دانلود شده با کَش ریپازیتوری‌ها برای آزاد سازی فضای دیسک

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

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

nano، vim editor، wget و curl (ابزارهای دانلود پکیج)، net-tools (ابزارهای مدیریت نتورک)، lsof (برای دریافت لیست فایل‌های در حال استفاده توسط پراسس‌ها) و bash-completion (تکمیل خودکار دستورات).

# dnf install nano vim wget curl net-tools lsof bash-completion

نصب ابزارهای سیستم برای انجام تسک‌های مدیریتی روزانه در تنظیمات centOs 8اگر از قبل نصب باشند هم نهایتا پیغام Nothing to do را همانند تصویر بالا دریافت می کنید.

گام سوم: تنظیمات hostname و network

در Centos/RHEL 8 ابزارهای بسیاری برای کانفیگ و مدیریت نتورک، وجود دارد. از آن جمله می‌توان به ifconfig،  ip، nmcli، nmtui اشاره کرد.

معمولا بهترین راهکار، برای افراد تازه کار که قصد مدیریت و کانفیگ نتورک همانند تنظیم hostname و پیکربندی ip استاتیک را دارند، استفاده از رابط گرافیکی دستور nmtui است.

تنظیم hostname

برای ست کردن و یا تغییر hostname دستور زیر را وارد کنید، که شما را به صفحه تغییر hostname هدایت می‌کند. نام مورد نظر خود را انتخاب و OK را بزنید.

# nmtui-hostname

تنظیم hostname

تنظیم static IP در Centos/RHEL 8

برای کانفیگ کردن یک network interface کافی است که از دستور nmtui-edit استفاده کنیم. با اجرای این دستور interfaceهای موجود، نمایش داده می‌شود و می‌توانیم نتورک مد نظر خود را انتخاب کنیم.

# nmtui-edit

تنظیم static IP در Centos/RHEL 8

پس از انتخاب، گزینه edit را می‌زنیم. همانند تصویر زیر تنظیمات IP را وارد می‌کنیم و نهایتا بر روی OK کلیک می‌کنیم.

تنظیمات IP

پس از اتمام تنظیمات نتورک، دستور زیر را وارد کنید و سپس interface مد نظر خود را انتخاب کرده و آن را active کنید.

# nmtui-connect

انتخاب interface

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

# ifconfig enp0s3

# ip a

# ping -c2 google.com

مشاهده محتوای فایل interface

همچنین می‌توانید از سایر ابزارهای مفید نتورک همانند ethtool و mii-tool نیز استفاده کنید. با این ابزارها می‌توانید مواردی همچون سرعت interface، شرایط لحظه‌ای لینک شبکه و دریافت اطلاعات دقیق‌تر درباره network interfaceهای سرور را، بررسی کنید.

# ethtool enp0s3

# mii-tool enp0s3

ابزارهای ethtool و mii-tool برای مشاهده سرعت interface، شرایط لحظه‌ای لینک شبکه و دریافت اطلاعات دقیق‌تر درباره network interface های سرور

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

# netstat -tulpn

# ss -tulpn

# lsof -i4 -6

گام چهارم: ایجاد اکانت کاربری جدید

به دلایل امنیتی همیشه سفارش شده است که یک یوزر معمولی با دسترسی root ایجاد شود، تا اعمال مدیریتی توسط آن انجام گیرد. برای اینکار با دستور useradd یک کاربر جدید ایجاد کنید. سپس پسورد آن را ست کرده و به جهت اعطای دسترسی root آن را به عضویت گروه wheel در آورید.

# useradd ravisaive

# passwd ravisaive

# usermod -aG wheel ravisaive

ایجاد اکانت کاربری جدید

برای بررسی صحت وجود دسترسی root برای یوزر ایجاد شده، با آن یوزر لاگین کرده و سپس دستور dnf را با sudo اجرا کنید.

# su - ravisaive

# sudo dnf update

صحت وجود دسترسی root برای یوزر ایجاد شده

گام پنجم: تنظیمات لاگین SSH Passwordless به Centos/RHEL 8

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

# su - ravisaive

$ ssh-keygen -t RSA

تنظیمات لاگین SSH Passwordless به Centos/RHEL 8

زمانی که کلید ایجاد شد، از شما یک passphrase درخواست خواهد کرد تا private key را ایمن کند. شما می‌توانید یک پسورد قوی وارد کرده و یا اینکه خالی بگذارید، تا این مرحله انجام شود.

زمانی که SSH key ساخته شده، باید public key ایجاد شده را را دستور ssh-copy-id، و دسترسی‌های سرور ریموت همانند زیر، کپی نمایید.

$ ssh-copy-id [email protected]

زمانی که SSH key ساخته شده، باید public key ایجاد شده را را دستور ssh-copy-id، و دسترسی‌های سرور ریموت همانند زیر، کپی نمایید.

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

$ [email protected]

لاگین در سرور با استفاده از private key

گام ششم: ایمن کردن لاگین‌های ریموت SSH

در این مرحله باز هم قدری ارتباط به سرور را با غیرفعال کردن دسترسی SSH به سرور برای یوزر root، امن تر می کنیم. اینکار در فایل configuration مربوط به SSH انجام می‌شود.

# vi /etc/ssh/sshd_config

خط حاوی #PermitRootLogin yes را پیدا کنید و با حذف کردن # آن را از حالت کامنت خارج کرده و فعال کنید. سپس yes را به no تغییر دهید.

PermitRootLogin no

سپس سرویس SSH را ریست کنید تا تغییرات اعمال شود.

# systemctl restart sshd

می‌توانید با اقدام به لاگین با یوزر root و مشاهده پیغام Permission Denied تست کنید.

# ssh [email protected]

مشاهده پیغام Permission Denied

گام هفتم: تنظیم فایروال

در Centos/RHEL 8 فایروال پیش فرض Firewall است، که از آن برای مدیریت رول‌های iptables در سرور، استفاده می‌شود. برای فعال کردن و روشن کردن سرویس firewall از دستورات زیر، استفاده کنید.

# systemctl enable firewalld

# systemctl start firewalld

# systemctl status firewalld

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

جهت باز کردن امکان کانکشن ورودی برای یک سرویس خاص (به عنوان مثال SSH)، ابتدا باید از عدم وجود آن سرویس در firewall اطمینان حاصل کنید. سپس آن را، با استفاده از سوئیچ –permanent به سرویس ها اضافه کنید.

# firewall-cmd --add-service=

# firewall-cmd --add-service=ssh

# firewall-cmd --add-service=ssh --permanent

باز کردن امکان کانکشن ورودی برای یک سرویس خاص

اگر قصد اضافه کردن سایر سرویس‌ها همانند HTTP یا SMTP را دارید، کافیست از دستورات زیر استفاده کنید:

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

# firewall-cmd --permanent --add-service=https

# firewall-cmd --permanent --add-service=smtp

سپس firewalld را reload کنید:

# firewall-cmd --reload

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

# firewall-cmd --permanent --list-all

گام هشتم: حذف کردن سرویس‌‎های بدون استفاده

پس از راه‌اندازی یک سرور Centos/RHEL 8 به شدت پیشنهاد می‌شود که سرویس‌های بدون استفاده و نا خواسته پیش فرض را، حذف یا غیرفعال کنید تا احتمال هدف حمله قرار گرفتن سرور کاهش پیدا‌کند.

برای لیست کردن تمام سرویس‌های تحت شبکه شامل TCP و UDP از دستورات ss و netstat استفاده می‌کنیم.

# ss -tulpn

OR

# netstat -tulpn

حذف کردن سرویس‌‎های بدون استفاده

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

# systemctl stop postfix

# systemctl disable postfix

# dnf remove postfix

مازاد بر دستورات ذکر شده همچنین می‌توانید از ps، top و pstree هم برای پیدا کردن این نوع سرویس‌ها استفاده کنید.

# dnf install psmisc

# pstree -p

# pstree -p

گام نهم: مدیریت سرویس‌ها در Centos/RHEL 8

در Centos/RHEL 8، تمامی serviceها و daemonها با دستور systemctl قابل مدیریت هستند. با این دستور می‌توانید تمام سرویس‌های فعال، در حال اجرا یا fail شده را مشاهده کنید.

# systemctl list-units

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

# systemctl list-unit-files -t service

مدیریت سرویس‌ها در Centos/RHEL 8

در این مقاله تقریبا تمام موارد مورد نیاز ابتدایی برای مدیریت یک سرور Centos/RHEL 8 را با هم بررسی کردیم. با دانستن نکته های یاد شده و اعمال آن ها می توانید قدم های اول مدیریت سرور خود را با قدرت برداشته و از کارکرد صحیح بسیاری از سرویس ها اطمیان حاصل کنید.

سیاوش غلامی

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

یک دیدگاه

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

نوشته های مشابه

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