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

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

تنظیمات اولیه CentOs 8

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

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

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

# dnf check-update

# dnf update

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

# dnf clean all

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

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

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

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

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

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

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

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

تنظیم hostname

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

# nmtui-hostname

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

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

# nmtui-edit

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

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

# nmtui-connect

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

# ifconfig enp0s3

# ip a

# ping -c2 google.com

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

# ethtool enp0s3

# mii-tool enp0s3

بخش مهم دیگری که باید در مورد نتورک سرور خود مد نظر داشته باشید، لیست کردن تمام سوکت‌های باز شبکه است، تا بتوانید بررسی کنید که چه سرویسی در حال 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

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

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

# su - ravisaive

$ ssh-keygen -t RSA

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

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

$ ssh-copy-id tecmint@192.168.0.104

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

$ tecmint@192.168.0.104

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

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

# vi /etc/ssh/sshd_config

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

PermitRootLogin no

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

# systemctl restart sshd

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

# ssh root@192.168.0.110

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

در 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

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

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

# systemctl list-units

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

# systemctl list-unit-files -t service

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

خروج از نسخه موبایل