مقدمه
زمانی که برای اولین بار یک سرور CentOS جدید ایجاد میکنید، لازم است در همان ابتدای کار چند مرحله پیکربندی اولیه انجام دهید. این اقدامات باعث افزایش امنیت و بهبود قابلیت استفاده از سرور میشوند و یک پایهی محکم برای تنظیمات و عملیات بعدی فراهم میکنند.
در این راهنما که توسط دیدگاه بازبینی و آمادهسازی شده است، مراحل زیر بررسی میشوند:
-
ورود به CentOS با کاربر root
-
ایجاد کاربر جدید در CentOS
-
اعطای دسترسی مدیریتی (sudo)
-
راهاندازی فایروال پایه در CentOS
-
فعالسازی دسترسی خارجی به سرور
مرحله ۱ — ورود به CentOS با کاربر Root
برای اتصال به سرور، باید آدرس IP عمومی سرور خود را بدانید. همچنین به رمز عبور کاربر root یا کلید خصوصی SSH (در صورتی که احراز هویت با کلید انجام شده باشد) نیاز دارید.
اگر هنوز به سرور متصل نشدهاید، میتوانید از طریق دستور زیر با کاربر root وارد شوید (به جای
your_server_ip
ssh root@your_server_ipدر صورت نمایش هشدار مربوط به اصالت میزبان (host authenticity)، آن را تأیید کنید.
اگر از احراز هویت با رمز عبور استفاده میکنید، رمز عبور root را وارد نمایید.
در صورت استفاده از کلید SSH محافظتشده با passphrase، ممکن است در اولین اتصال هر نشست از شما passphrase خواسته شود.
اگر این اولین ورود شما با رمز عبور است، احتمال دارد سیستم از شما بخواهد رمز عبور root را تغییر دهید.
درباره کاربر Root
کاربر root بالاترین سطح دسترسی را در سیستمهای لینوکسی دارد. به دلیل این سطح دسترسی بسیار بالا، توصیه میشود از این کاربر برای استفاده روزمره استفاده نکنید. چرا که حتی یک اشتباه کوچک میتواند باعث ایجاد تغییرات مخرب در سیستم شود.
به همین دلیل، در ادامه یک کاربر جدید با دسترسی محدودتر ایجاد میکنیم که برای کارهای روزانه استفاده خواهد شد. این کاربر در صورت نیاز، میتواند موقتاً به دسترسی مدیریتی دست پیدا کند.
مرحله ۲ — ایجاد کاربر جدید
پس از ورود به سیستم با کاربر root، میتوانید یک کاربر جدید ایجاد کنید که از این پس برای ورود به سرور استفاده خواهد شد.
در مثال زیر کاربری با نام
sammy
adduser sammyسپس برای این کاربر یک رمز عبور قوی تنظیم کنید:
passwd sammyرمز عبور باید دو بار وارد شود. پس از آن، کاربر آماده استفاده است. در مرحله بعد، دسترسی sudo به این کاربر داده میشود.
مرحله ۳ — اعطای دسترسی مدیریتی (sudo)
در حال حاضر، کاربر جدید دسترسی عادی دارد. اما گاهی نیاز است برخی دستورات مدیریتی اجرا شوند.
برای جلوگیری از ورود مجدد به حساب root، میتوان به کاربر عادی دسترسی sudo داد. این امکان به کاربر اجازه میدهد با افزودن کلمه
sudo
در CentOS، کاربرانی که عضو گروه
wheel
usermod -aG wheel sammyاز این پس، کاربر میتواند با استفاده از
sudo
مرحله ۴ — راهاندازی فایروال پایه
فایروالها نقش مهمی در امنیت سرور دارند و دسترسی به پورتها را محدود میکنند. در CentOS، سرویس
firewalldfirewall-cmd
نکته: اگر سرور شما روی زیرساختهایی مانند DigitalOcean قرار دارد، میتوانید به جای firewalld از فایروال ابری استفاده کنید. توصیه میشود همزمان فقط از یک فایروال استفاده شود.
نصب firewalld
dnf install firewalld -yاز آنجا که تنظیمات پیشفرض اجازه اتصال SSH را میدهند، میتوان فایروال را بلافاصله فعال کرد:
systemctl start firewalldبررسی وضعیت سرویس:
systemctl status firewalldدر صورتی که وضعیت
active (running)
مشاهده سرویسهای مجاز
firewall-cmd --permanent --list-allمشاهده لیست سرویسهای قابل فعالسازی
firewall-cmd --get-servicesافزودن یک سرویس (مثلاً HTTP)
firewall-cmd --permanent --add-service=httpاعمال تغییرات:
firewall-cmd --reloadبرای هر سرویس جدیدی که در آینده نصب میکنید، باید پورت یا سرویس مربوطه را بهصورت دستی در فایروال باز کنید.
مرحله ۵ — فعالسازی دسترسی خارجی برای کاربر عادی
اکنون که یک کاربر غیر root برای استفاده روزمره داریم، باید امکان اتصال SSH با این کاربر فراهم شود.
تا زمانی که از ورود موفق و عملکرد sudo مطمئن نشدهاید، بهتر است اتصال root را قطع نکنید.
اگر ورود root با رمز عبور انجام میشود
میتوانید با دستور زیر وارد شوید:
ssh sammy@your_server_ipبرای اجرای دستورات مدیریتی:
sudo command_to_runبرای افزایش امنیت، دیدگاه اکیداً توصیه میکند از احراز هویت مبتنی بر SSH Key به جای رمز عبور استفاده کنید.
اگر ورود root با SSH Key انجام میشود
در این حالت باید کلید عمومی را به کاربر جدید منتقل کنید. سادهترین راه استفاده از دستور
rsync
rsync --archive --chown=sammy:sammy ~/.ssh /home/sammyسپس میتوانید بدون نیاز به رمز عبور وارد شوید:
ssh sammy@your_server_ipجمعبندی
در این مرحله، سرور شما یک پیکربندی پایه، امن و استاندارد دارد. اکنون میتوانید با خیال راحت نصب نرمافزارها و سرویسهای مورد نیاز خود را آغاز کنید.
در ادامه پیشنهاد میشود راهنمای راهاندازی SSH Key در CentOS 8 را نیز مطالعه کنید تا ورود به سرور را امنتر و بدون رمز عبور انجام دهید.
