Vaultwarden 1.36.0: আপগ্রেড গাইড
সেলফ-হোস্টিং মানে হলো আপনি নিজেই আপনার সিকিউরিটি টিম।
ক্লাউড ব্যবহারের ক্ষেত্রে, আপনি কোনো ত্রুটি লক্ষ্য করার আগেই একটি কোম্পানি তা সমাধান করে দেয়। Vaultwarden-এর ক্ষেত্রে, ঝুঁকির দায়ভার আপনার। আপনি যদি আপডেট এড়িয়ে যান, তবে আপনি পরিচিত সিকিউরিটি ত্রুটির (vulnerabilities) সম্মুখীন হতে পারেন।
Vaultwarden 1.36.0 দুটি গুরুত্বপূর্ণ বিষয় সমাধান করেছে: • অ্যাডমিন প্যানেল অথেন্টিকেশন (authentication)। • সেশন টোকেন হ্যান্ডলিং (handling)।
অ্যাডমিন প্যানেল একটি সাধারণ লক্ষ্যবস্তু। অনেক ব্যবহারকারী এটি একটি পাবলিক সাবডোমেনে চালান। আপনি যদি আপনার প্রক্সি লেভেলে /admin পাথটি ব্লক না করেন, তবে আপনি ঝুঁকির মুখে আছেন।
1.36.0-এ মূল উন্নতিসমূহ:
• সার্ভার-সাইড রেট লিমিটিং (rate limiting): অ্যাপটি এখন অভ্যন্তরীণভাবে রেট লিমিটিং পরিচালনা করে। এটি এখন আর শুধুমাত্র আপনার Nginx বা Caddy কনফিগারির ওপর নির্ভর করে না। এটি আক্রমণকারীদের ফেক IP হেডার ব্যবহার করে লিমিট বাইপাস করা থেকে বিরত রাখে।
• উন্নত সেশন সিকিউরিটি: সার্ভার এখন প্রতিটি API কলের ক্ষেত্রে টোকেন এক্সপায়ারি (expiry) পরীক্ষা করে। এটি চুরি করা টোকেনগুলো যেন নির্ধারিত সময়ের বেশি কাজ করতে না পারে তা নিশ্চিত করে।
• আপডেট করা ডিপেন্ডেন্সি (dependencies): OpenSSL এবং tower-http-এর জন্য করা ফিক্সগুলো ডিনায়াল-অফ-সার্ভিস (denial-of-service) আক্রমণের ঝুঁকি কমায়।
ডেটা না হারিয়ে কীভাবে আপগ্রেড করবেন:
আপনার ডাটাবেস সঠিকভাবে ব্যাকআপ নিন। শুধু ফাইলগুলো কপি করবেন না। ডেটা করাপশন এড়াতে কন্টেইনারের ভেতরে SQLite ব্যাকআপ কমান্ড ব্যবহার করুন। চালান:
docker exec vaultwarden sqlite3 /data/db.sqlite3 '.backup /data/db_backup.sqlite3'ব্যাকআপ যাচাই করুন। নতুন ফাইলটির ওপর একটি ইন্টিগ্রিটি চেক (integrity check) চালান। যদি এটি "ok" না দেখায়, তবে পরবর্তী ধাপে যাবেন না।
অ্যাটমিক আপগ্রেড (atomic upgrade) পদ্ধতি ব্যবহার করুন। প্রথমে আপনার কন্টেইনার বন্ধ করবেন না। এতে ডাউনটাইম (downtime) তৈরি হয়। পরিবর্তে, পুরনো ইমেজটি চলাকালীন নতুন ইমেজটি পুল (pull) করুন, তারপর সার্ভিসটি পুনরায় তৈরি করুন। চালান:
docker compose pull vaultwardendocker compose up -d vaultwardenআপনার IP হেডার সেট করুন। রেট লিমিটিং কাজ করছে কিনা তা নিশ্চিত করতে, আপনার প্রক্সি কোন হেডার ব্যবহার করে তা Vaultwarden-কে জানান। আপনার এনভায়রনমেন্টে এটি যোগ করুন:
IP_HEADER=X-Forwarded-For
আপনার সেটআপ আরও সুরক্ষিত (hardening) করতে:
• প্লেইন টেক্সট (plaintext) ADMIN_TOKEN ব্যবহার করা বন্ধ করুন। পরিবর্তে একটি argon2 হ্যাশ ব্যবহার করুন। • আপনার রিভার্স প্রক্সির মাধ্যমে /admin পাথটিকে আপনার লোকাল নেটওয়ার্কের মধ্যে সীমাবদ্ধ রাখুন। • আপনি যদি একমাত্র ব্যবহারকারী হন, তবে SIGNUPS_ALLOWED কে false সেট করুন।
একটি আপগ্রেড করতে পাঁচ মিনিট সময় লাগে। সঠিক প্রস্তুতির জন্য দশ মিনিট প্রয়োজন। ব্যাকআপ নিতে ভুলবেন না।
