پرش به محتوا
کیاران
بازگشت به بلاگ
n8n 6 دقیقه مطالعه

امنیت داده‌ها در n8n

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

جدا نگه داشتن رمزها از متن ورک‌فلو

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

در این راهنما به مسیر خودکار «ورک‌فلو» و به هر قطعه «نود» می‌گوییم. نام تنظیمات را به فارسی معنی می‌کنیم و شکل انگلیسی‌اش را هم می‌نویسیم تا در منو پیدایش کنید.

۱. امنیت داده‌ها در n8n از جای رمز شروع می‌شود

توکن تلگرام، کلید API و رمز پایگاه را در بخش اطلاعات ورود بگذارید. n8n این بخش را Credential می‌نامد. این مقدارها را در نود Set، در نود Code، در یادداشت روی صفحه، و در متن پیام تلگرام ننویسید. هر چه از خروجی یک نود برگردد ممکن است در تاریخچهٔ اجرا ذخیره شود. رمزی که داخل پیام است، در تاریخچه هم هست.

خودِ n8n مقدار Credential را پیش از ذخیره در پایگاه رمز می‌کند. کلید این رمزنگاری روی سرور است، نه در تنظیمات ورک‌فلو. اگر نسخهٔ پشتیبان پایگاه با همان کلید خوانده نشود، اطلاعات ورود قبلی باز نمی‌شوند. روی سرویس مدیریت‌شده این کلید را کیاران نگه می‌دارد. آن را با رمز ورود پنل اشتباه نگیرید و از داخل ویرایشگر عوضش نکنید. اگر توکنی لو رفت، همان توکن را در مبدأ باطل کنید: در تلگرام، گوگل یا پنل پیامک.

وقتی از منوی Workflow گزینهٔ Download را می‌زنید، فایل JSON نام و شناسهٔ Credential را دارد، نه خودِ رمز ذخیره‌شده. با این حال اسم Credential گاهی خودش حساس است. یک حالت جدا هم هست: اگر نود HTTP Request را از روی یک دستور cURL ساخته باشید، هدر Authorization ممکن است همان‌طور داخل نود مانده باشد. قبل از فرستادن فایل، آن هدر را پاک کنید. در گزارش هفتگی با n8n هم همین قاعده است: رمز ایمیل داخل موضوع نامه نمی‌آید.

۲. آدرس وب‌هوک را بدون قفل رها نکنید

قفل کردن وب‌هوک و کم کردن دادهٔ ذخیره‌شده بعد از اجرا

وب‌هوک آدرسی است که یک سرویس دیگر با آن، ورک‌فلو شما را صدا می‌زند. طولانی بودن این آدرس جای رمز عبور را نمی‌گیرد. اگر نوع احراز هویت (Authentication) روی None باشد، هر کس آدرس را داشته باشد می‌تواند ورک‌فلو را اجرا کند. برای مسیری که ردیف می‌سازد، پیام می‌فرستد یا سفارش را عوض می‌کند، None را انتخاب نکنید.

روی نود وب‌هوک، Authentication را روی Header Auth بگذارید. یعنی سرویس مبدأ باید یک هدر مشخص بفرستد. در Credential دو فیلد هست: Name برای نام هدر و Value برای مقدار مخفی. نام را چیزی مثل X-Webhook-Token بگذارید و مقدار را یک رشتهٔ بلند و تصادفی انتخاب کنید. اگر طرف مقابل فقط نام کاربری و رمز می‌شناسد، Basic Auth هم قابل استفاده است. JWT Auth برای وقتی است که سرویس امضای آماده می‌فرستد. برای یک فرم ساده لازم نیست.

اگر فقط یک سرور حق دارد این آدرس را صدا بزند، فهرست IP مجاز را هم پر کنید. نام این فیلد IP(s) Allowlist است. اگر خالی باشد، هر IP پذیرفته می‌شود. درخواست بیرون از فهرست، پاسخ 403 می‌گیرد.

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

۳. تاریخچهٔ اجرا، یک نسخهٔ دیگر از دادهٔ مشتری است

n8n می‌تواند بعد از هر اجرای موفق، بدنهٔ درخواست، ردیف شیت و پاسخ سرویس را نگه دارد. هنگام ساختن ورک‌فلو این تاریخچه مفید است. وقتی ورک‌فلو شماره و آدرس نگه می‌دارد، همین تاریخچه یک بایگانی اضافه می‌شود.

در Settings همان ورک‌فلو، گزینهٔ Save successful production executions را روی Do not save بگذارید. یعنی اجرای موفقِ محیط واقعی ذخیره نشود. گزینهٔ ذخیرهٔ اجرای ناموفق (Save failed production executions) را بی‌دلیل خاموش نکنید. اگر خطای واقعی ذخیره نشود، دیگر نمی‌شود همان اجرا را دوباره تلاش کرد و چیزی هم برای بررسی خطا نمی‌ماند.

این تنظیم، پاک کردن کل تاریخچهٔ سرور نیست. نگهداری و حذف دوره‌ای اجراها بخشی از محیط است و در کیاران همراه بکاپ هفتگیٔ پلن مدیریت می‌شود. کار شما این است که ورک‌فلو حساس، اجراهای موفق را انبار نکند. متن خطای نود را هم طوری ننویسید که رمز یا کل بدنهٔ درخواست را برگرداند. اگر باید اجرا را عمداً متوقف کنید، نود Stop And Error کافی است. متنش را کوتاه و بدون اطلاعات محرمانه بنویسید.

۴. رمز حساب اصلی را در گروه نفرستید

ورود به پنل یعنی دسترسی به ورک‌فلوها و اطلاعات ورود. رمز حساب اصلی (Owner) را مشترک نگذارید و در پیام‌رسان نفرستید. اگر در نسخهٔ شما دعوت همکار با نقش Member هست، برای او حساب جدا بسازید. نقش مدیر پیشرفته (Admin) و ورود سازمانی (SSO) را برای هر محیطی فرض نکنید. در بسیاری از نسخه‌ها فقط Owner و Member وجود دارد. اگر این گزینه‌ها را در Settings نمی‌بینید، روی همین محیط فعال نیستند. جایگزینش، دادن رمز خودتان به بقیه نیست.

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

۵. اگر چیزی غیرعادی دیدید، اول توکن را باطل کنید

ترتیب را این‌طور نگه دارید. اول توکن را در تلگرام، گوگل یا سرویس متصل باطل کنید و Credential را در n8n با مقدار تازه عوض کنید. بعد اجراهای اخیر را ببینید: کدام ورک‌فلو، چه ساعتی و کدام نود. فایل JSON را جایی عمومی نگذارید. اگر لازم است خود محیط یا بکاپ بررسی شود، به پشتیبانی کیاران بگویید. عوض کردن کلید رمزنگاری سرور راه بازیابی نیست و اطلاعات ورود موجود را ناخوانا می‌کند.

جمع‌بندی

رمز را فقط در Credential بگذارید. وب‌هوکی که کاری در سیستم انجام می‌دهد بدون Header Auth نماند. ذخیرهٔ اجرای موفق را برای دادهٔ حساس خاموش کنید. رمز حساب اصلی را به اشتراک نگذارید. جدا بودن محیط و بکاپ هفتگی جای این چهار کار را نمی‌گیرد. مشخصات سرویس اجرا در صفحهٔ n8n است.

پرسش‌های متداول

آیا فایل JSON ورک‌فلو رمز تلگرام را داخل خود دارد؟

دانلود معمولی، نام و شناسهٔ Credential را دارد نه خودِ رمزی که در Credential ذخیره شده. اگر هدر Authorization هنگام ساختن HTTP Request از روی cURL داخل نود مانده باشد، همان هدر در فایل هست. قبل از ارسال حذفش کنید.

بکاپ هفتگی یعنی داده جای دیگری هم هست؟

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

اگر آدرس وب‌هوک خیلی طولانی باشد کافی است؟

نه. مسیر طولانی فقط پیداکردنش را سخت‌تر می‌کند. اگر Authentication روی None باشد، دانستن آدرس برای اجرا کافی است. Header Auth را فعال کنید و اگر مبدأ مشخص است، فهرست IP مجاز را هم پر کنید.

محیط اجرا را از رایانهٔ شخصی جدا کنید

رمزها را همچنان خودتان در Credential می‌گذارید. کیاران محیط اختصاصی و مدیریت‌شده را می‌دهد تا ورک‌فلو روی لپ‌تاپ نمونه نماند. پلن پایه آلمان ۷ روز بدون پرداخت است.

شروع ۷ روز رایگان · درخواست مشاوره

گفت‌وگو و دیدگاه‌ها

تجربه و پرسش خود را با دیگر خوانندگان در میان بگذارید.

۰

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. فیلدهای ضروری علامت‌گذاری شده‌اند.