نحوه راه‌اندازی Vaultwarden روی VPS لینوکس

راه‌اندازی Vaultwarden روی VPS لینوکس
azarsys team
مدت زمان مطالعه : 18 دقیقه
0 کامنت
۱۴۰۵/۰۶/۲۹

استفاده از پسوردهای تکراری ریسک هک شدنت رو بالا می‌بره؛ پس برای هر اکانت یه رمز قوی بذار و توی یه جای امن ذخیره‌اش کن.Password Managerها برای ذخیره، مدیریت و امنیت رمزها و اطلاعات مهم درست شدن. توی این پست یادت میگیری چطور والت‌واردن (Vaultwarden) رو روی سرور لینوکس راه بندازی تا یه مدیریت پسورد اختصاصی (Self-hosted) داشته باشی و کنترل کامل داده‌های حسابت رو دست خودت بگیری.

راه‌اندازی Password Manager اختصاصی با Vaultwarden روی سرور لینوکس

والت واردن (Vaultwarden) چیه؟

Vaultwarden یه نرم‌افزار سروریِ متن‌بازه که بهت اجازه می‌ده یه سرویس مدیریت رمز عبور اختصاصی (Self-hosted) واسه خودت راه بندازی. این پروژه با زبان Rust نوشته شده و یک پیاده‌سازی غیررسمی و سازگار با API سرور Bitwarden محسوب می‌شه که نسبت به سرور رسمی منابع کمتری مصرف می‌کنه. بعد از نصب Vaultwarden روی سرور، می‌تونی از کلاینت‌های Bitwarden مثل اپلیکیشن موبایل، دسکتاپ و افزونه مرورگر برای اتصال به سرورت استفاده کنی.

نحوه اتصال کلاینت‌های Bitwarden به Vaultwarden روی سرور لینوکس

این‌طوری کنترل بیشتری روی زیرساخت سرویس مدیریت پسورد و اطلاعات حسابت داری.

آموزش مرحله به مرحله نصب و راه‌اندازی Vaultwarden روی سرور لینوکس

پیش‌‌نیازهای راه‌اندازی Vaultwarden

  • اول از همه یه سرور لینوکس بگیر که منابعش با تعداد کاربرها، حجم دیتابیس و فایل‌هایی که می‌خوای آپلود کنی جور دربیاد. حواست باشه سرورت پایداری و آپتایم مناسبی داشته باشه تا دسترسی به Vaultwarden تا حد ممکن بدون قطعی انجام بشه.
  • با SSH به سرورت وصل شو تا بتونی راحت از راه دور مدیریتِش کنی و دستوراتت رو روش اجرا کنی.
  • قبل از شروع هر کاری، سیستم‌عامل و پکیج‌های سرور رو کاملاً آپدیت کن تا موقع نصب به باگ و خطایی برنخوری.
  • فایروال سرورت رو هم ردیف کن؛ واسه امنیت بیشتر، فقط پورت‌های ضروری رو باز بذار، مثل پورت SSH برای مدیریت خودِ سرور و پورت HTTPS برای اینکه بتونی به والت‌واردن وصل بشی.

نصب Docker و Docker Compose روی سرور

بعد از آماده‌سازی سرور، نوبت ردیف کردن محیط اجرای Vaultwarden هست. توی این آموزش از داکر استفاده شده؛ پس حتماً قبلشDocker Engine و Docker Compose رو روی سرورت نصب کن. داکر انجین محیط اجرای کانتینر رو بهت میده و داکر کامپوز هم برای تعریف و مدیریت سرویس، پورت‌ها، Volumeها و کل تنظیماتش به کارت میاد.

راه‌اندازی Vaultwarden با Docker Compose

روی سرور ساختار دایرکتوری ایجاد کن. وقتی والت واردن رو با داکر کمپوز اجرا می‌کنی اطلاعات دائمی Vaultwarden رو بیرون از کانتینر ذخیره کن تا اگه کانتینر پاک شد یا دوباره اون رو ساختی، داده‌های کاربرهات از بین نرن.

ذخیره داده‌های دائمی Vaultwarden در Volume داکر روی سرور لینوکس

حالا باید فایل Compose رو درست کنی تا داکر بفهمه والت واردن رو چجوری باید اجرا کنه. یه فایل به اسم compose.yaml درست می‌کنی و اطلاعاتی مثل Imageهای مناسب برای Vaultwarden، اسم کانتینر، تنظیمات کانتینر، محل ذخیره داده‌های برنامه (مثل اطلاعات حساب‌ها و ولت‌های کاربران، دیتابیس و…) و پورت‌هایی که استفاده می‌شن رو مشخص می‌کنی. این اطلاعات داخل Volume یا مسیر متصل‌شده به /data باقی می‌مونن.

برای اینکه از پنل مدیریت والت‌واردن محافظت کنی، یه رمز ادمین تعیین کن و با الگوریتم Argon2id ازش یه هش بساز. مقدار هش‌شده‌ای که با Argon2id ساختی رو به عنوان ADMIN_TOKEN قرار بده تا مقدار اصلی توکن مدیریتی توی فایل تنظیمات ذخیره نشه و لو نره.

بعد اینکه فایل کمپوز رو تنظیم کردی و محیط اجرا و volumes و Imageها رو واسه داکر مشخص کردی، می‌تونی اجراش کنی.

docker compose up -d

بعد از اینکه کانتینر رو اجرا کردی، اول با این دستور وضعیتش رو بررسی کن:

docker compose ps

اگه وضعیت کانتینر Up بود، یعنی داره کار می‌کنه. بعدش برای بررسی خطاهای احتمالی، لاگ‌های والت‌واردن رو نگاه کن:

docker compose logs vaultwarden

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

نصب Reverse Proxy و فعال‌سازی HTTPS

این لایه مثل یه واسط بین کاربرها و والت‌واردن قرار می‌گیره.

نحوه اتصال امن کاربران به Vaultwarden از طریق Reverse Proxy و HTTPS

ریورس پروکسی درخواست‌های ورودی رو می‌گیره، می‌فرسته واسه والت‌واردن و جوابش رو برمی‌گردونه به کاربر. از طرفی، برای هندل کردن HTTPS و گواهی SSL/TLS هم به کارت میاد. پس اول:

وب سرور رو روی سرورت نصب کن. میتونی از وب سرورهایی مثل Nginx، Caddy و Apache به‌عنوان Reverse Proxy استفاده کنی.

یک دامنه یا زیردامنه برای Vaultwarden مشخص کن.

یک رکورد DNS برای دامنه یا زیردامنه Vaultwarden تنظیم کن تا به IP عمومی سروری که Vaultwarden روی اون اجرا می‌شه اشاره کنه.

وب سرور رو جوری تنظیم کن که درخواست‌های دامنه Vaultwarden را به Vaultwarden داخل Docker منتقل کنه.

حالا برای دامنه ای که داری گواهی TLS بگیر. می‌تونی از Let’s Encrypt و ابزارهایی مثل Certbot واسه این کار کمک بگیری. وب سرورت رو جوری تنظیم کن که درخواست‌ها رو با اتصال HTTPS بگیره.

تنظیمات اولیه و پیکربندی پنل مدیریت

بعد از راه‌اندازی Vaultwarden و دسترسی به دامنه سرویس، کاربران می‌تونن با توجه به تنظیمات سرور، حساب خودشونو بسازن یا از طریق دعوت به سرویس اضافه بشن. هر کاربر هم برای حساب خودش یک Master Password تعیین می‌کنه که برای محافظت از Vault رمزنگاری‌شده اون استفاده می‌شه.

به عنوان مدیر سرویست می‌تونی با اضافه کردن مسیر /admin به آدرس والت وردن وارد پنل مدیریتی بشی.

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

البته باید ادمین توکنی که توی مراحل قبل تعیین کردی رو یادت باشه وگرنه همینجوری نمیتونی به پنل دسترسی داشته باشی.

حالا میتونی اکثر تنظیمات رو از همین پنل انجام بدی. مثلا اینکه آیا کاربران جدید می‌تونن حساب بسازن یا نه! می‌تونی از اعضای تیمت دعوت کنی یا بررسی کنی ببینی چه کاربرهایی حساب دارن. حتی می‌تونی قابلیت SMTP رو هم تنظیم کنی. با تنظیم SMTP، به والت‌واردن این امکان رو می‌دی که ایمیل‌های ضروری سیستم مثل دعوت‌نامه‌ها یا پیام‌های مربوط به مدیریت اکانت رو راحت ارسال کنه.

واسه بررسی و مدیریت لاگ‌ها توی این روش که با داکر کمپوز کار کردیم، وارد سروری شو که Vaultwarden رو روش نصب کردی. از طریق ترمینال سرور می‌تونی لاگ‌های کانتینر رو ببینی. دستور زیر رو بزن تا لاگ‌های کانتینر Vaultwarden رو به‌صورت زنده ببینی:

docker compose logs -f vaultwarden

متصل کردن کلاینت‌های بیت واردن به سرور vaultwarden

حالا که Vaultwarden رو نصب و تنظیم کردی، باید کلاینت‌های Bitwarden رو جوری تنظیم کنی که به سرور خودت وصل بشن. برای این کار، قبل از ورود به حساب، گزینه مربوط به سرور یا محیط ورود رو باز کن و حالت Self-hosted Environment رو انتخاب کن. بعد آدرس دامنه Vaultwarden رو همراه با https:// وارد کن.

تنظیم آدرس سرور Vaultwarden در کلاینت Bitwarden به صورت Self-hosted

بعد از ذخیره تنظیمات، می‌تونی با حسابی که روی Vaultwarden ساختی وارد اپلیکیشن موبایل، دسکتاپ یا افزونه مرورگر Bitwarden بشی.

ایمن‌سازی

چون Vaultwarden با اطلاعات حساسی مثل پسوردها سر‌و‌کار داره، برای استفاده واقعی حتماً باید HTTPS رو فعال کنی. این ارتباط رمزگذاری‌شده نمی‌ذاره اطلاعات موقع انتقال بین کلاینت و سرور لو برن. پس قبل از هر کاری، مطمئن شو که گواهی TLS معتبری داری و کاربرها حتماً از طریق آدرس HTTPS به ولت‌واردن وصل می‌شن.

برای بالا بردن امنیت اکانت‌ها، کاربرها می‌تونن احراز هویت دو مرحله‌ای (2FA) رو از تنظیمات حسابشون فعال کنن. اینجوری حتی اگه یکی Master Password رو پیدا کرد باید یه لایه امنیتی دیگه مثل کد TOTP یا کلید امنیتی رو هم وارد کنه تا بتونه وارد حساب بشه.

واسه اینکه امنیت رو بالاتر ببری، قابلیت ریت لیمیت (Rate Limiting) رو روی ریورس پروکسی یا وب‌سرورت فعال کن تا کسی نتونه پشت‌سرهم به صفحه ورود درخواست بفرسته. در ضمن، اگه با ساختار لاگ‌های سرورت جور درمیاد، از ابزارهایی مثل Fail2Ban استفاده کن. این ابزار IPهایی که رفتار مشکوک دارند برای مدت محدودی مسدود می‌کنه.

بکاپ‌گیری از Vaultwarden

باید از داده‌های پایدار Vaultwarden مثل دیتابیس، فایل‌های پیوست، کلیدهای RSA و فایل‌های پیکربندی config.json بکاپ داشته باشی تا اگه سرور خراب شد، داده‌ها رو اشتباهی پاک کردی، دیتابیس آسیب دید یا سرورت رو عوض کردی بتونی این اطلاعات رو بازیابی کنی. حواست باشه که اگه می‌خوای بکاپ رو بیرون از سرور اصلی (مثل فضای ابری یا یه سرور دیگه) ذخیره کنی، بهتره قبل از انتقال حتماً رمزنگاریش کنی؛ این‌طوری اگه کسی دسترسی غیرمجاز هم پیدا کنه، نمی‌تونه از اطلاعاتش استفاده کنه.

بکاپ‌گیری و بازیابی داده‌های Vaultwarden شامل دیتابیس فایل‌ها و کلیدهای RSA

حواست باشه که داشتن بکاپ به تنهایی کافی نیست؛ باید مطمئن بشی که وقت نیاز، واقعاً کار می‌کنه! پس بعد از تنظیم بکاپ، هر چند وقت یک‌بار فایل‌ها رو توی یه محیط آزمایشی تست (Restore) کن تا خیالت از سالم بودن اطلاعات راحت بشه. در ضمن، همیشه چندتا نسخه بکاپ داشته باش و اون‌ها رو جایی خارج از سرور اصلی نگه‌داری کن تا ریسک پریدن اطلاعات کمتر بشه.

به‌روزرسانی و نگهداری

  • نسخه‌های جدید و اطلاعیه‌های مربوط به Vaultwarden رو به‌صورت منظم بررسی کن. ولی قبل اینکه روی سرور اصلیت نصبش کنی بهتره روی محیط آزمایشی امتحانش کنی. واسه این کار اول باید Image جدید رو بگیری و بعد کانتینر رو دوباره با Image جدید درست کنی:

docker compose pull
docker compose up -d

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

نکات مهم بعد از راه‌اندازی Vaultwarden

  • بعد از راه‌اندازی، حتماً مصرف منابع سرور رو زیر نظر داشته باش تا با زیاد شدن کاربرها یا حجم داده‌ها، سیستم کند نشه. چک کردن دوره‌ای CPU، رم و هارد بهت کمک می‌کنه قبل از اینکه سرویس قطع یا دچار مشکل بشه، بفهمی کی نیاز به ارتقای سرور داری.
  • اگه Vaultwarden رو واسه استفاده شخصی راه انداختی، حتماً بعد از ساختن اکانت اصلی خودت، ثبت‌نام عمومی رو غیرفعال کن تا غریبه‌ها نتونن توش اکانت بسازن. واسه کارهای تیمی هم بهتره کاربرها فقط با دعوت ادمین عضو بشن تا کنترل کاملی روی اعضای مجموعه داشته باشی.
  • پنل مدیریت از مسیر /admin باز می‌شه و برای ورود بهش به همون Admin Token نیاز داری. اما چون این بخش تنظیمات خیلی حساسی داره، بهتره دسترسی بهش رو فقط واسه IPهای خودت مجاز کنی. این‌طوری خیالت راحته که کسی نمی‌تونه به بخش مدیریتی سیستم دسترسی پیدا کنه.

تجربه شخصی

راه‌اندازی Vaultwarden با آماده شدنش واسه استفاده واقعی زمین تا آسمون فرق داره! ممکنه خیلی راحت نصبش کنی و وارد پنل بشی، اما کار همین‌جا تموم نمیشه. توی دنیای واقعی، زمانی می‌تونی به یه سرویس اعتماد کنی که علاوه بر نصب کردنش، یه برنامه مشخص هم واسه مانیتورینگ، بکاپ‌گیری و بازیابی اطلاعاتش داشته باشی. کلاً زمانی می‌شه بگی کار راه‌اندازی تموم شده که واسه نگهداری و بازیابی اطلاعاتت هم یه برنامه درست داشته باشی.

سخن آخر

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

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

این پست را به اشتراک بگذارید
سوالات متداول

دلایل مختلفی داره ولی اگه بخوایم به چند دلیل رایج اشاره کنیم: ممکنه اطلاعات SMTP اشتباه وارد شده باشه و پورت یا نوع Encryption اشتباه باشه. ممکنه ایراد از پورت نباشه ولی روی سرور مسدود شده باشه اینم یکی از دلایل میتونه باشه.

برای بررسی اینکه بکاپت درست هست و میشه روش حساب کرد یا نه اول یه محیط آزمایشی درست کن. Vaultwarden رو روش نصب کن و فایل های Backup رو به‌جای داده های جدید بزار. سرویس رو اجرا کن و بررسی کن ببین کاربرا وجود دارن یا نه، میشه به حساب ها وارد شد یا نه، اطلاعات والت قابل مشاهده هستن یا نه!

Bitwarden یه سرویس مدیریت پسورد رسمیه که هم نسخه ابری داره و هم می‌تونی روی سرور خودت راهش بندازی. اما Vaultwarden یه نسخه فوق‌العاده سبک و متن‌باز از همون سرور بیت‌واردنه که با اپلیکیشن‌ها و افزونه‌های رسمی بیت‌واردن سازگاری داره.

0

دیدگاه و پرسش