کانفیگ سرور مجازی اوبونتو 22.04

سرور
کانفیگ سرور مجازی اوبونتو

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

اتصال به سرور مجازی

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

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

ssh root@ip

اگر پورت سرور مجازی عددی غیر از ۲۲ بود دستور بالا خطا میده و باید از دستور زیر برای اتصال استفاده کرد:

ssh -p port root@ip

بروزرسانی سرور مجازی

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

sudo apt update -y && sudo apt upgrade -y

دستور بالا از پکیج منجر اوبونتو به نام apt درخواست لیست بروزرسانی‌های جدید می کنه و بعد این بروزرسانی‌ها را نصب می‌کنه. پارامتر -y (بخوانید دش ‌y) برای این کاربرد داره که برای تاییده‌هایی که سیستم عامل برای بررسی و بروزرسانی لازم داره به صورت پیش‌فرض گزینه yes انتخاب بشه.

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

sudo reboot

بعد از راه‌اندازی و اتصال مجدد به سرور برای حذف پکیج‌هایی که سیستم عامل دیگه به اون‌ها نیاز نداره و در بروزرسانی به اصطلاح یتیم (Orphaned) شدن از دستور زیر استفاده می‌کنیم:

sudo apt autoremove -y && sudo apt autoclean -y

ایجاد کاربر جدید

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

adduser username

بعد از وارد کردن این دستور لازمه چند مرحله طی بشه. اولین مرحله انتخاب نام کاربری یا username هست. یک نام کاربری به غیر از root یا admin و مواردی مثل این‌ها انتخاب کنید. لازمه بدونید بین کاراکترهای نام کاربری نباید فاصله باشه.

در مرحله بعد لازمه کلمه عبور برای این کاربر تعیین بشه. این عمل ۲ بار از شما خواسته میشه، یکبار برای تعیین کلمه عبور و یکبار برای تایید کلمه عبور قبلی. لازمه بدونید که کلمه عبور کاربر را حتما شامل حروف و اعداد و کاراکتر‌های خاص انتخاب کنید تا از امنیتش اطمینان داشته باشید. مثلا ۱۲۳۴۵۶ نذارید!

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

مجوز‌های کاربر

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

adduser username sudo

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

exit

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

ssh username@ip

تولید SSH Key

استفاده از کلید SSH یک راه بسیار امن‌تر از استفاده از کلمه عبور برای اتصال به سرور مجازی هست. به این صورت که تنها کسی می‌تونه به سرور مجازی متصل بشه که کلید ورود داشته باشه و این کلید هم می‌تونه به صورت یک فایل باشه و توسط مدیر سرور جابجا بشه. برای این کار چند مرحله باید طی بشه که شامل دو بخش هست. یک بخش مربوط به تولید کلید SSH هست و بخش دوم مربوط به تنظیم اون که در ادامه توضیح میدم.

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

ssh-keygen

در ادامه یک نام برای کلید SSH از کاربر نیاز داریم. برای نام میشه از هر کلمه‌ای استفاده کرد اما معمولا id_rsa انتخاب میشه چون نام پیش‌فرض همینه! در ادامه یک Key Phrase از کاربر درخواست می‌کنه. این یک لایه امنیتی بیشتر برای کلید SSH ایجاد می‌کنه به این صورت که صرفا کسی که کلید SSH را داشته باشه و رمز در هم بدونه می‌تونه وارد بشه.

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

mkdir -p ~/.ssh

دستور بالا یک پوشه به نام .ssh در پوشه Home کاربر ایجاد می کنه.

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

scp -P port ~/.ssh/id_rsa.pub username@ip:~/.ssh/authorized_keys

اگر پورت SSH سرور شما ۲۲ هست می‌تونید مقدار زیر را حذف کنید:

-P port

در این مرحله لازمه مجوزهای لازم به پوشه و فایل‌های درون پوشه .ssh برای اجرای کلید SSH روی سرور داده بشه. برای اینکار از دستور زیر استفاده می‌کنیم:

sudo chmod 700 ~/.ssh/
sudo chmod 600 ~/.ssh/*

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

logout

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

کانفیگ سرویس SSH

تا اینجا هنوز تنظیمات SSH کامل نشده. برای تکمیل کار دستور زیر را برای ویرایش فایل کانفیگ SSH وارد کنید:

sudo nano /etc/ssh/sshd_config

دو مقدار PermitRootLogin و PasswordAuthentication را پیدا کنید و به شکل زیر تغییر بدید:

PermitRootLogin yes

به

PermitRootLogin no

و

#PasswordAuthentication yes

به

PasswordAuthentication no

در کد بالا کامنت یا # را از جلوی پارامتر بردارید. برای ذخیره کردن تغیرات از کلید‌های ترکیبی ctrl+x بعد y بعد enter استفاده کنید و برای اعمال تغییرات دستور زیر را وارد کنید:

sudo systemctl restart sshd

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

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

sudo ufw default allow outgoing
sudo ufw default deny incoming
sudo ufw allow ssh
sudo ufw disable && sudo ufw enable

سپس با زدن y و enter تغییرات اعمال میشه. حالا می‌تونید اتصال را قطع کنید یا هرکار دیگه‌ای…

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

https://linuxfarsi.com/?p=76

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *