پروژه VPN شخصی اضافه شدن قابلیت های جدید

 یادآوری رویکرد پروژه

همانطور که در قسمت دوم گفتیم، این پروژه مرحله ای توسعه می‌یابد:

  • آپدیت‌های مداوم
  • معرفی قابلیت‌های جدید
  • دریافت بازخورد شما
  • بهبود مستمر


قابلیت اول: افزودن کاربر جدید

Create User اولین و مهم‌ترین قابلیت هر پنل مدیریتی

فرم افزودن کاربر شامل:

1. نام کاربری (Username):

  • یکتا و منحصر به فرد
  • فقط حروف انگلیسی و اعداد
  • بدون کاراکترهای خاص

2. رمز عبور (Password):

  • حداقل 8 کاراکتر
  • ترکیبی از حروف و اعداد
  • امکان تولید خودکار

3. تاریخ انقضا (Expiry Date):

  • تعیین مدت اشتراک
  • انتخاب از تقویم
  • محاسبه خودکار روزهای باقیمانده

4. محدودیت اتصال (Connection Limit):

  • تعداد اتصالات همزمان مجاز
  • جلوگیری از اشتراک‌گذاری غیرمجاز
  • افزایش امنیت

5. وضعیت (Status):

  • فعال (Active)
  • غیرفعال (Disabled)
  • تعلیق موقت

فرآیند افزودن:

  1. وارد کردن اطلاعات
  2. اعتبارسنجی داده‌ها
  3. ذخیره در دیتابیس
  4. ایجاد کاربر در سرور SSH
  5. تأیید موفقیت

قابلیت دوم: محدودیت تعداد اتصال

Connection Limit چیست؟

محدودیت اتصال همزمان تعیین حداکثر تعداد دستگاه‌هایی که می‌توانند به‌طور همزمان با یک حساب کاربری متصل شوند

چرا مهم است؟

مشکل بدون محدودیت: یک کاربر می‌تواند اطلاعات خود را با ده‌ها نفر به اشتراک بگذارد:

  • از دست رفتن درآمد
  • مصرف بیش از حد منابع سرور
  • کاهش کیفیت سرویس

راه‌حل: تعیین محدودیت (مثلاً 2 اتصال همزمان):

  • کاربر فقط روی 2 دستگاه می‌تواند متصل شود
  • اتصال سوم رد می‌شود
  • کنترل بهتر بر مصرف

پیاده‌سازی:

  • چک کردن تعداد اتصالات فعلی
  • مقایسه با محدودیت تعیین شده
  • قبول یا رد اتصال جدید
  • لاگ اتصالات

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

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

  • کاربران تست
  • حساب‌های قدیمی
  • ورودی‌های اشتباه
  • کاربران دستی اضافه شده

Unauthorized Users Detection in Database اسکن خودکار دیتابیس برای یافتن کاربران مشکوک یا غیرمجاز

معیارهای تشخیص:

  • کاربران بدون تاریخ ایجاد
  • حساب‌های بدون ادمین سازنده
  • نام‌های کاربری غیرمعمول
  • داده‌های ناقص
  • کاربرانی که در سرور نیستند

فرآیند اسکن:

  1. خواندن تمام کاربران از دیتابیس
  2. بررسی معیارهای تعیین شده
  3. شناسایی موارد مشکوک
  4. نمایش لیست برای بررسی
  5. امکان حذف دسته‌ای

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

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

  • دسترسی مستقیم به سرور
  • کاربران سیستمی قدیمی
  • حساب‌های مخفی
  • نفوذگران احتمالی

Unauthorized Users Detection in SSH Server اسکن سرور SSH و مقایسه با دیتابیس پنل

فرآیند تشخیص:

  1. دریافت لیست کاربران از دیتابیس
  2. دریافت لیست کاربران از سرور SSH
  3. مقایسه دو لیست
  4. شناسایی تفاوت‌ها
  5. نمایش کاربران اضافی در سرور

انواع کاربران شناسایی شده:

  • کاربران سیستمی (root, nobody, ...)
  • کاربران غیرمجاز
  • حساب‌های فراموش شده
  • ورودی‌های مشکوک

اقدامات ممکن:

  • افزودن به دیتابیس
  • حذف از سرور
  • نادیده گرفتن (Whitelist)
  • بررسی دستی

قابلیت پنجم: همگام‌سازی دیتابیس و سرور

مشکل ناهماهنگی:

سناریوی 1: کاربر فقط در دیتابیس

  • ثبت شده ولی روی سرور ایجاد نشده
  • خطا در فرآیند افزودن
  • نیاز به ایجاد مجدد

سناریوی 2: کاربر فقط در سرور

  • روی سرور هست ولی در دیتابیس نیست
  • دسترسی مستقیم به سرور
  • نیاز به حذف یا ثبت

Database-Server Sync ابزار هوشمند برای همگام‌سازی خودکار

قابلیت‌ها:

1. شناسایی تفاوت‌ها:

  • کاربران موجود فقط در دیتابیس
  • کاربران موجود فقط در سرور
  • تفاوت‌های اطلاعات

2. گزارش تفصیلی:

  • تعداد کاربران در هر طرف
  • لیست تفاوت‌ها
  • پیشنهاد اقدام

3. عملیات دسته‌ای:

  • افزودن گروهی به سرور
  • حذف گروهی از سرور
  • بروزرسانی اطلاعات

4. ایمن و قابل برگشت:

  • تأیید قبل از اجرا
  • لاگ تمام عملیات
  • امکان بازگردانی

قابلیت ششم: مدیریت کاربران غیرمجاز

افزودن کاربران غیرمجاز:

گزینه 1: افزودن به دیتابیس اگر کاربر فقط روی سرور است:

  • ثبت اطلاعات در دیتابیس
  • تعیین تنظیمات
  • همگام‌سازی کامل

گزینه 2: افزودن به سرور اگر کاربر فقط در دیتابیس است:

  • ایجاد حساب SSH
  • تنظیم دسترسی‌ها
  • فعال‌سازی

حذف کاربران غیرمجاز:

گزینه 1: حذف از دیتابیس

  • پاکسازی رکورد
  • حفظ لاگ برای آمار
  • آزادسازی فضا

گزینه 2: حذف از سرور

  • حذف حساب SSH
  • پاکسازی فایل‌ها
  • قطع اتصالات فعال

گزینه 3: حذف کامل

  • حذف همزمان از هر دو
  • پاکسازی کامل
  • بدون امکان بازیابی

نمایش عملی در ویدیو

مثال 1: افزودن کاربر جدید

  • وارد کردن اطلاعات
  • تعیین محدودیت 2 اتصال
  • ذخیره و ایجاد

مثال 2: تشخیص کاربر غیرمجاز

  • اسکن دیتابیس
  • یافتن کاربر مشکوک
  • بررسی جزئیات

مثال 3: همگام‌سازی

  • شناسایی تفاوت
  • افزودن به سرور
  • تأیید نهایی

آپدیت بعدی: نقشه راه

قابلیت‌های در حال توسعه:

1. آخرین ورود کاربران (Last Login)

  • تاریخ و زمان آخرین اتصال
  • تعداد کل ورودها

2. اتصال Backend به Dashboard

  • نمایش آمار واقعی
  • کاربران فعال لحظه‌ای
  • ترافیک مصرفی
  • وضعیت سرور

3. سیستم بکاپ و بازیابی

  • بکاپ خودکار دیتابیس
  • دانلود بکاپ
  • بارگذاری بکاپ در پنل جدید
  • مهاجرت آسان

4. تغییر نوع رمزنگاری SSH

  • انتخاب الگوریتم
  • بهینه‌سازی سرعت
  • تنظیمات امنیتی پیشرفته

دعوت به مشارکت

چطور می‌توانید کمک کنید؟

1. پیشنهاد قابلیت‌های جدید:

  • در کامنت‌های یوتیوب
  • در Issues گیتهاب
  • از طریق وب‌سایت

2. گزارش باگ:

  • تست پنل
  • ثبت مشکلات
  • پیشنهاد راه‌حل

3. مشارکت در کد:

  • Pull Request
  • بهبود عملکرد
  • اضافه کردن ویژگی

4. مستندسازی:

  • راهنمای کاربری
  • ویدیوهای آموزشی
  • ترجمه

نصب و به‌روزرسانی

دستور نصب اولیه:

git clone https://github.com/itbity/IT-Bity-SSH-Panel.git && cd IT-Bity-SSH-Panel && sudo bash install.sh


لینک مخزن: https://github.com/itbity/IT-Bity-SSH-Panel

مزایای این آپدیت

برای ادمین:

  • کنترل کامل کاربران
  • جلوگیری از سوء استفاده
  • مدیریت آسان‌تر

برای کاربران:

  • سرویس باثبات‌تر
  • سرعت بهتر
  • امنیت بیشتر

برای پروژه:

  • گام به سوی تکمیل
  • افزایش کاربردی بودن
  • جذب مشارکت‌کنندگان

امنیت:

  • هش کردن رمزها
  • محدودیت تلاش ورود
  • لاگ تمام اقدامات
  • اعتبارسنجی ورودی‌ها

Comments

سوالات و نظرات خود درباره این آموزش را بنویسید. لطفاً سوالات فنی را دقیق مطرح کنید تا بتوانم پاسخ مناسبی ارائه دهم. اگر کد یا خطایی دارید، آن را با ذکر جزئیات بنویسید.

بایگانی وبلاگ

فرم تماس

Send