راه اندازی اولیه سرورهای اوبونتو ۱۸.۰۴ – از صفر تا صد


زمانی که یک سرور جدید اوبونتو 18.04 را میخواهید راه اندازی اولیه کنید، چند گام پیکربندی وجود دارند که باید به منظور تنظیم اولیه طی کنید. بدین ترتیب امنیت و قابلیت استفاده از سرور افزایش مییابد و مبنای استواری برای اقدامات بعدی پدید میآید.
گام اول – ورود به عنوان root
برای ورود به سرور باید آدرس IP عمومی سرور را بدانید. همچنین باید رمز عبور را نیز بدانید. اگر کلید SSH را برای احراز هویت نصب کردهاید، به جای رمز عبور میتوانید از کلید خصوصی حساب کاربری root کنید.
اگر تاکنون وارد سرور نشده باشید، میتوانید با استفاده از دستور زیر وارد حساب کاربری root بشوید. دقت کنید که باید بخش هایلایت شده دستور را با آدرس IP عمومی سرور خود جایگزین کنید:
ssh root@your_server_ip
هشداری که در مورد احراز هویت میزبان ارائه میشود را بپذیرید. اگر از رمز عبور برای احراز هویت استفاده میکنید، باید رمز عبور root را برای ورود به حساب خود وارد نمایید. اگر از کلید SSH استفاده میکنید که از حفاظت «عبارت رمزی» (passphrase) برخوردار است، برای احراز هویت استفاده میکنید، باید این عبارت رمزی را نخستین باری که در هر نشست از کلیدتان استفاده میکنید وارد نمایید. اگر نخستین باری است که با یک روز عبور وارد سرور خود میشوید، همچنین ممکن است از شما تقاضا شود که رمز عبور root را تغییر دهید.
کاربر root
کاربر root همان کاربر مدیر در محیط لینوکس محسوب میشود و دسترسیهای بسیار گستردهای دارد و به دلیل همین دسترسیهای گسترده حساب کاربریِ root معمولاً توصیه میشود که در کاربردهای روزمره از این حساب استفاده نشود. بخشی از دلیل این مسئله آن است که قدرت موجود در حساب کاربری root موجب میشود که افراد خرابکار بتوانند از آن برای ایجاد تغییرات مخرب استفاده کند و یا حتی برخی تغییرات مخرب به طور ناخواسته ایجاد شوند.
در گام بعدی روش ایجاد یک حساب کاربری با حیطه نفوذ پایینتر برای کارهای روزمره معرفی میشود. روش کسب دسترسیهای خاص در موارد نیاز هم آموزش داده خواهد شد.
گام دوم – ایجاد یک کاربر جدید
زمانی که وارد حساب کاربری root شدید، آماده هستید که یک حساب کاربری جدید بسازید که از این پس از آن برای ورود به سرور استفاده خواهید کرد. در دستور زیر یک کاربر جدید به نام Sammy ایجاد میشود. اما شما باید نام کاربری که خودتان قصد دارید استفاده کنید را جایگزین نمایید:
adduser Sammy
از شما چند سؤال پرسیده میشود که اولین مورد به رمز عبور این حساب مربوط است. یک رمز عبور قوی وارد کنید. پر کردن اطلاعات دیگر اختیاری است و میتوانید با زدن دکمه اینتر از فیلدهایی که نمیخواهید پر کنید رد شوید.
گام سوم – کسب دسترسیهای مدیریتی
اینک ما یک حساب کاربری جدید داریم که دسترسیهای معمولی دارد. با این حال، گاهی اوقات ممکن است لازم باشد وظایفی را اجرا کنیم که به دسترسیهای مدیریت نیاز دارد. برای این که در چنین مواردی لازم نباشد از حساب کاربری معمولی خود خارج شویم و دوباره وارد حساب کاربری root شویم، میتوانیم چیزی به نام superuser تنظیم کنیم که دسترسیهای root را به حساب کاربری ما اضافه میکند. بدین ترتیب کاربر معمولی ما میتواند با اشاره به کلیدواژه sudo در ابتدای دستورات خود، دستورهایی را که در حیطه اختیارات کاربر مدیر است اجرا کند.
برای افزودن آن دسترسیها به کاربر جدید باید این کاربر را به گروه sudo اضافه کنیم. در اوبونتو 18.04، به طور پیشفرض کاربران به گروه sudo تعلق دارند و اجازه استفاده از دستورهای sudo را دارند. به عنوان کاربر root دستور زیر را اضافه کنید تا کاربر جدید به گروه sudo اضافه شود (کلمه هایلایت شده زیر را با کاربر جدید جایگزین کنید):
usermod -aG sudo Sammy
اینک اگر به عنوان کاربر معمولی وارد شده باشید، میتوانید از ذکر کلیدواژه sudo پیش از دستورها برای اجرای اقدامهایی که به دسترسیهای مدیریتی نیاز دارند استفاده کنید.
گام چهارم – راهاندازی اولیه فایروال
سرورهای اوبونتو 18.04 میتوانند از فایروال UFW برای اطمینان یافتن از این که اتصالها تنها به سرویسهای خاص مجاز است استفاده کنند. با استفاده از این اپلیکیشن میتوان یک فایروال بسیار ابتدایی راهاندازی کرد. اپلیکیشنهای مختلف میتوانند پروفایل دسترسیهای مورد نیاز خود را هنگام نصب در UFW ثبت کنند. UFW از این پروفایلها برای مدیریت اپلیکیشنها با استفاده از نامهایشان استفاده میکند. OpenSSH سرویسی است که به شما امکان میدهد به سرور خود وصل شوید و پروفایل خود را در UFW ثبت کرده است. این وضعیت را با اجرای دستور زیر میتواند مشاهده کنید:
ufw app list
خروجی
Available applications: OpenSSH
باید اطمینان حاصل کنیم که فایروال امکان اتصال SSH را میدهد تا بتوانید دفعه بعد هم وارد سرور شوید. با اجرای دستور زیر این اتصالها مجاز خواهند شد:
ufw allow OpenSSH
پس از آن میتوانیم فایروال را با اجرای دستور زیر فعال کنیم:
ufw enable
حرف y را وارد کرده و اینتر را بزنید تا ببینید که اتصالهای SSH همچنان مجاز هستند:
ufw status
خروجی
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6))
از آنجا که فایروال هم اینک همه اتصالها را به جز SSH مسدود ساخته است، اگر سرویسهای دیگر را نصب و پیکربندی کنید باید تنظیمات فایروال را بهروزرسانی کنید تا امکان ورود ترافیک برای آن سرویسها وجود داشته باشد.
گام پنجم – فعالسازی دسترسیهای بیرونی برای کاربر معمولی
اینک که کاربر معمولی را برای کاربردهای روزانه پیکربندی کردیم، باید مطمئن شویم که میتوانیم مستقیماً با استفاده از SSH وارد اکانت خود شویم. توصیه میکنیم تا زمانی که مطمئن نشدهاید میتوانید وارد حساب کاربری جدید شده و از sudo استفاده کنید، از حساب root خارج نشوید، چون بدین ترتیب میتوانید عیبیابی کرده و تغییرات ضروری را با حساب کاربری root صورت دهید. فرایند پیکربندی دسترسی SSH برای کاربر جدید به این نکته وابسته است که حساب کاربری root در سرور از کدام یک از گزینههای رمز عبور یا کلیدهای SSH برای احراز هویت استفاده میکند.
اگر حساب root از رمز عبور برای احراز هویت استفاده میکند
اگر با استفاده از یک رمز عبور وارد حساب کاربری root شدهاید، در این صورت برای SSH رمز عبور فعال شده است. شما میتوانید با باز کردن یک پنجره ترمینال جدید و استفاده از SSH با نام کاربری جدید وارد حساب کاربری جدید خود شوید:
ssh sammy@your_server_ip
پس از وارد کردن رمز عبور کاربر جدید، وارد این حساب خواهید شد. به خاطر داشته باشید که اگر لازم است دستوری را با دسترسیهای مدیریت اجرا کنید، باید در ابتدای آن از کلیدواژه sudo استفاده کنید:
sudo command_to_run
از شما خواسته میشود که رمز عبور کاربر معمولی خود را هنگام استفاده از sudo برای نخستین بار در هر نشست وارد کنید. برای بهبود امنیت سرور قویاً توصیه میکنیم که از کلیدهای SSH به جای احراز هویت به روش رمز عبور استفاده کنید. بدین منظور میتوانید از «آموزش مقدماتی مدیریت سرور لینوکس» بهره بگیرید.
اگر حساب root از کلیدهای SSH برای احراز هویت استفاده میکند
اگر با استفاده از کلیدهای SSH وارد حساب کاربری root خود شدهاید، در این صورت احراز هویت به روش رمز عبور برای SSH غیرفعال شده است. شما باید یک کپی از کلید عمومی محلی خود را به فایل ssh/authorized_keys./~ اضافه کنید تا بتوانید با موفقیت وارد سرور شوید. از آنجا که کلید عمومی از قبل در فایل ssh/authorized_keys./~ روی سرور قرار گرفته است، میتوانیم این فایل و ساختار دایرکتوری را در همین نشست موجود به کاربر جدید کپی کنیم.
سادهترین روش برای کپی فایلها با مالکیت و مجوزهای صحیح استفاده از دستور rsync است. این دستور دایرکتوری کاربر root را با حفظ مجوزها و اصلاح مالکان کپی میکند و همه این کارها صرفاً در یک دستور صورت میگیرد. اطمینان حاصل کنید که بخش هایلایت شده در دستور زیر با نام کاربری جدید شما جایگزین شده است:
rsync --archive --chown=sammy:sammy ~/.ssh /home/Sammy
دقت کنید که آدرس مبدأ و مقصد در دستور rsync وقتی اسلش (/) انتهایی را قید میکنید با وضعیتی که این / وجود نداشته باشد متفاوت خواهد بود. زمانی که از rsync استفاده میکنید، مطمئن شوید که دایرکتوری مبدأ (ssh./~) شامل اسلش انتهایی نیست؛ یعنی نباید به صورت /ssh./~ باشد.
اگر تصادفاً اسلش به انتهای آدرس مبدأ اضافه شده باشد، دستور rsync به جای این که کل ساختار دایرکتوری ssh./~ را کپی کند، صرفاً محتوای دایرکتوری ssh./~ حساب root را به دایرکتوری home کاربر sudo کپی خواهد کرد. بدین ترتیب فایلها در مکان نادرستی قرار میگیرند و SSH نمیتواند آنها را یافته و مورد استفاده قرار دهد. اینک میتوانید یک ترمینال جدید باز کید و از SSH با استفاده از نام کاربری جدید برای ورود به سرور استفاده کنید:
ssh sammy@your_server_ip
اینک میتوانید بدون وارد کردن رمز عبور وارد حساب کاربری جدید خود بشوید. به خاطر داشته باشید که اگر لازم باشد دستوری را با دسترسیهای مدیریت اجرا کنید باید پیش از آن عبارت sudo را وارد کنید:
sudo command_to_run
در این صورت از شما خواسته میشود که رمز عبور sudo را هنگام استفاده برای اولین بار در هر نشست وارد کنید و به طور دورهای نیز در مواد آتی این رمز عبور پرسیده میشود. اینک شما توانستهاید سرور خود را به طور اصولی راهاندازی کنید و میتوانید هر گونه نرمافزار دیگری که برای آن لازم دارید را نصب کنید.
اگر این مطلب برایتان مفید بوده است، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای لینوکس (Linux)
- آموزش Ubuntu (اوبونتو) – ۱۰ گام پس از نصب
- لینوکس اوبونتو و هر آنچه برای شروع به کار با آن باید بدانید — راهنمای جامع به زبان ساده
- مجموعه آموزشهای شبکههای کامپیوتری
- آموزش های ویژه علاقهمندان به کامپیوتر
==