یک اسکریپت بش بنویسید که یک فایل را با OpenSSL رمزنگاری کند، سپس آن را به صورت امن با scp به یک سرور از راه دور منتقل کند و در پایان صحت انتقال را با مقایسه SHA-256 فایل بازرمز شده در مقصد با فایل اصلی تأیید نماید.
8.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:07 0.0
برای پیادهسازی این اسکریپت میتوانید از openssl (مثلاً openssl enc -aes-256-cbc -salt -pbkdf2) برای رمزنگاری، از scp برای انتقال امن و از sha256sum برای محاسبه چکسام استفاده کنید؛ رمز را با read -s از کاربر بگیرید، فایل را محلی رمز کنید، فایل رمز شده را با scp منتقل کنید و با ssh روی سرور مقصد آن را بازرمز و sha256sum را محاسبه کرده و با مقدار محلی مقایسه کنید تا تأیید صحت صورت گیرد. نکات مفید: از کلیدهای SSH به جای وارد کردن مکرر رمز برای scp استفاده کنید، رمز عبوری را در اسکریپت ذخیره نکنید، خروجی و کد بازگشتی فرمانها را بررسی کنید (مثلاً با set -e یا کنترل $? ) و فایلهای موقت رمز شده/بازرمز شده را پس از اتمام پاک کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
طرح شما خوب است اما به نکات امنیتی بیشتری نیاز دارد؛ مثلاً از AES-256-GCM یا افزودن MAC برای تضمین تمامیت داده استفاده کنید تا رمزگذاری صرفاً محرمانگی نباشد. همچنین از کلیدهای SSH به جای رمزگذاری رمز در اسکریپت استفاده کرده و با ssh-agent یا کلیدهای غیر تعاملی، ورود امن به سرور را فراهم کنید. برای پایداری، اسکریپت را با set -euo pipefail مدیریت کنید و فایلهای موقت رمزگشایی/رمزنگاری را بهطور امن پاک کنید و خروجی هر فرمان را بررسی کنید. در نهایت صحت انتقال را با مقایسه مستقیم SHA-256 فایل مبدا و مقصد انجام دهید و در صورت ناسازگاری، پروسه با خطا مواجه شود.
گزارش