ابزار مدیریتی/تنظیم سرور اوبونتو

بسم الله الرحمن الرحیم

مخاطب این متن:
- کسایی که میخوان سرور اوبونتو رو مدیریت/تنظیم کنن
- کسایی که می‌خوان سرویس/برنامه‌ای رو به صورت راحت و امن در سرور اوبونتو راه‌اندازی کنن
- برنامه‌نویسان بک‌اند
- متخصصین devops
- علاقه‌مندان به اوبونتو

چه مشکلی وجود داره؟

یک سرور اختصاصی با سیستم‌عامل اوبونتو (20 به بالا) داریم. می‌خوایم اون رو به صورت راحت و امن، تنظیم و مدیریت کنیم.

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

همچنین بعد از تنظیمات اولیه، لازمه مجموعه ابزارهای مدیریتی‌ای داشته باشیم تا کارهای مدیریتی آینده ما رو آسون کنن. مثلا می‌خوایم کاربری رو با شرایط خاص ایجاد/محدود کنیم، سرویسی رو به nginx اضافه/حذف کنیم، دسترسی کاربری رو از ssh حذف کنیم و...

بنابراین نیاز به مجموعه ابزارهایی داریم که:

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

لیست امکانات مورد نظر

ابزار مدیریتی مورد نظر باید امکانات زیر رو برامون فراهم کنه:

  • با یک خط فرمان ساده، قابل نصب و به روز رسانی باشه
  • با توجه به اینکه یکی از بهترین روش‌های اجرا/مدیریت سرویس‌ها با داکر هستش، ابزاری برای نمایش وضعیت داکر کاربرها داشته باشه. مثلا بگه فلان داکر فعاله، غیرفعاله، متوقف شده، داره راه اندازی میشه و...
  • ابزاری برای مدیریت ssh داشته باشیم. می‌خوایم دسترسی کاربری رو به ssh اضافه/حذف کنیم. همچنین کارهایی مثل تغییر پورت ssh و...
  • ابزاری برای اضافه کردن کاربر با امکانات جانبی مثل تعیین دایرکتوری کاربر، پیشنهاد رمز عبور قوی، تعیین سطوح دسترسی مناسبی (به نحوی که سایر کاربرها به دایرکتوری کاربر دسترسی نداشته باشن) و...
  • امکان ایجاد/محدود کردن کاربر. اصطلاحا کاربر restrict شده. به طوری که فقط و فقط به به برنامه‌ها و خط فرمان‌های مجاز دسترسی داشته باشه نه هیچ چیز دیگه از جمله cd. این کار باید به صورت امن انجام بشه تا راه دور زدن وجود نداشته باشه و امنیت رو بالا ببره. همچنین ابزاری برای حذف و اضافه کردن خط فرمان برای کاربر محدود شده.
  • تبدیل کاربرهای عادی به کاربرهای محدود شده و بالعکس
  • ابزار قطع دسترسی تمامی sessionهای کاربر
  • ابزار تنظیمات کاربرها مثل اضافه کردن کاربر به گروه sudo یا root، تغییر رمز کاربر، تعیین ssh key، فعال/غیرفعال کردن ورود با رمز عبور و...
  • امکان ایجاد کاربر محدود شده با دسترسی به docker اختصاصی. کاربری که هم restrict شده هستش و هم داکری اختصاصی برای راه اندازی سرویس داره. اینکار باعث میشه کاربر کاملا ایزوله شده‌ای ایجاد بشه که حتی اگر ضعفی در برنامه و داکر وجود داشت، امکان دسترسی و خرابکاری به سایر قسمت‌ها وجود نداشته باشه.
  • تنظیمات فایروال
  • ارزیابی وضعیت انقضای sslها و نشون دادن پیام اخطار در پیغام welcome
  • ایجاد ssh key برای کاربری خاص با امکاناتی مثل پیشنهاد رمز عبور قوی برای کلید
  • اسکریپت‌های آماده برای نصب برنامه‌های رایج و معروف مثل داکر، nginx، گیت‌لب، curl و...
  • ابزار تولید رمز عبور قوی
  • ابزار ارزیابی وضعیت تنظیمات nginx. مثلا اگر سرویس اضافه شده در nginx به مشکل خورد پیغام خطایی نشون بده، یا اگر sslهای تعریف شده مشکلی خوردن اخطار بده، همچنین وضعیت فعال یا غیرفعال بودن nginx و...
  • ابزار تنظیمات اولیه nginx خصوصا پیشنهادهای امنیتی. ارزیابی با سیستمی مثل gixy و...
  • ابزار اضافه اضافه کردن سرویس به nginx. مثلا اطلاعاتی مثل server_name، proxy_pass و... رو بگیره و درصورت معتبر بودن به nginx اضافه کنه.

ایجاد ابزار مورد نظر

به زودی قراره ابزار مورد نظر بر پایه ابزاری به نام servess تولید و در دسترس عموم قرار بگیره. در روزهای آینده، لینک پروژه موردنظر در همینجا قرار می‌گیره.

به روزرسانی 27 مرداد 1401

  • مخزن کدها: کدهای برنامه و مستندها رو می‌تونید در گیت‌هاب ما پیدا کنید.
  • سیستم مدیریت پروژه: مدیریت کارهای این پروژه (عموما مسائل غیرفنی) در ترلو انجام میشه.

دوست داری به بقیه کمک کنی؟
+ اگر نظر و پیشنهادی داری همینجا مطرح کن تا این مطلب کامل‌تر بشه
+ این مطلب رو برای کسایی که نیاز دارن بفرست
+ این مطلب رو لایک کن