سرور لینوکس جدید، چه در دیتاسنتر و چه بهصورت ماشین مجازی در دفتر، معمولاً با یک نصب حداقلی و دسترسی root تحویل داده میشود. چند کار ساده در همان ساعت اول، سرور را امنتر و قابل مدیریتتر میکند و برای سالها کار پایدار آمادهاش میسازد. دستورهای زیر برای توزیعهای رایج Debian و Ubuntu نوشته شدهاند؛ در خانواده RHEL، مثل Rocky Linux یا AlmaLinux، معادل آنها را با dnf و firewalld انجام دهید.
بهروزرسانی سیستم
اولین کار، نصب همه بهروزرسانیهاست:
- در Debian و Ubuntu:
apt update && apt upgrade - در خانواده RHEL:
dnf upgrade
اگر هسته (Kernel) بهروز شد، سرور را ریاستارت کنید. برای نصب خودکار وصلههای امنیتی در Debian و Ubuntu، بسته unattended-upgrades را نصب و پیکربندی کنید؛ اما برای سرورهای حساس، زمان ریاستارت را خودتان تعیین کنید.
کاربر جدید بهجای root
کار روزمره با حساب root یعنی یک اشتباه تایپی میتواند کل سیستم را خراب کند. یک کاربر شخصی بسازید و به او دسترسی sudo بدهید:
- با
adduserکاربر جدید را بسازید. - با
usermod -aG sudoاو را به گروه مدیران اضافه کنید؛ در خانواده RHEL این گروهwheelاست. - در یک پنجره جدید با این کاربر وارد شوید و
sudoرا امتحان کنید، پیش از اینکه دسترسی root را محدود کنید.
SSH امن با کلید
ورود با کلید SSH بسیار امنتر از رمز است. روی سیستم خودتان یک جفت کلید بسازید، مثلاً با ssh-keygen -t ed25519، و کلید عمومی را با ssh-copy-id روی سرور قرار دهید. وقتی مطمئن شدید ورود با کلید کار میکند، در فایل /etc/ssh/sshd_config این تنظیمات را اعمال کنید:
PermitRootLogin noبرای جلوگیری از ورود مستقیم rootPasswordAuthentication noبرای غیرفعال کردن ورود با رمز
سپس سرویس SSH را دوباره بارگذاری کنید. در نسخههای جدید، فایلهای پوشه /etc/ssh/sshd_config.d هم ممکن است همین تنظیمات را تعیین کنند و تنظیم شما را بیاثر کنند؛ آنها را هم بررسی کنید.
تا وقتی ورود با کاربر و کلید جدید را در یک نشست جداگانه تست نکردهاید، نشست فعلی را نبندید؛ وگرنه ممکن است دسترسی خودتان را از دست بدهید و فقط از کنسول ارائهدهنده بتوانید برگردید.
فایروال و مقابله با حدس رمز
در Ubuntu فایروال ساده ufw در دسترس است. اول SSH را مجاز کنید و بعد فایروال را روشن کنید:
ufw allow OpenSSH- پورتهای سرویس اصلی، مثلاً
ufw allow 443/tcp ufw enableو سپس بررسی باufw status
اگر SSH ناچار باید برای اینترنت باز باشد، ابزاری مثل fail2ban آدرسهایی را که پشت سر هم ورود ناموفق دارند برای مدتی مسدود میکند. بهتر از آن، محدود کردن SSH به IP دفتر یا VPN است.
تنظیمات پایه
- نام سرور: با
hostnamectl set-hostnameیک نام معنادار بگذارید. - منطقه زمانی: با
timedatectl set-timezone Asia/Tehranزمان را تنظیم کنید تا زمان لاگها و کارهای زمانبندیشده درست باشد. همگامسازی زمان (NTP) را هم فعال نگه دارید. - فضای دیسک و حافظه: با
df -hوfree -hوضعیت را ببینید و اگر Swap ندارید، درباره نیاز به آن تصمیم بگیرید. - سرویسهای در حال اجرا: با
ss -tulpnببینید چه سرویسهایی روی چه پورتهایی منتظر اتصالاند و موارد غیرضروری را غیرفعال کنید.
چکلیست
- سیستم کامل بهروز است و وصلههای امنیتی منظم نصب میشوند.
- کاربر شخصی با دسترسی
sudoساخته شده است. - ورود با کلید فعال و ورود root و ورود با رمز غیرفعال است.
- فایروال روشن است و فقط پورتهای لازم باز است.
- نام سرور، منطقه زمانی و NTP تنظیم شده است.
- بکاپ سرور پیش از نصب سرویس اصلی برنامهریزی شده است.
این چند قدم، پایه یک سرور لینوکس قابلاعتماد است. کارشناسان ITPlus724 میتوانند سرورهای لینوکس ابری یا محلی شما را راهاندازی، امن و نگهداری کنند.