پرش به محتوای اصلی

برای مدیرِ فناوریِ اطلاعات و مدیرِ منابعِ انسانی

امنیتِ دادهٔ پرسنلی در سامانهٔ رفاهی؛ ده پرسشی که پیش از قرارداد از هر فروشنده بپرسید

وقتی از فروشندهٔ نرم‌افزار یا سامانهٔ رفاهی می‌پرسید «دادهٔ ما امن است؟» جوابِ همه «بله» است و این جواب هیچ اطلاعی ندارد. راهنمای درست پرسیدن است، نه اعتماد کردن: ده پرسش که پاسخِ هر کدام یا مشخص و قابلِ نوشتن در قرارداد است، یا نیست، و «نیست» خودش جواب است. برای مدیرِ آی‌تی و مدیرِ منابعِ انسانی نوشته شده و مستقل از فروشنده است؛ در انتها پاسخِ خودمان به همان ده پرسش آمده، با لینک به جایی که تعهدش نوشته شده.

انتشار:
زمانِ خواندن:
۱۱ دقیقه
در این مقاله
  1. چه داده‌ای در یک سامانهٔ رفاهی جمع می‌شود، و چرا حساس است
  2. ده پرسش
  3. انتشارِ نتیجه با کدِ مستعار به‌جای نام
  4. پایانِ قرارداد: خروجیِ کامل، بدونِ گره به تسویه
  5. پاسخِ سرای سازمانی به همین ده پرسش

چه داده‌ای در یک سامانهٔ رفاهی جمع می‌شود، و چرا حساس است

سامانهٔ رفاهی در ظاهر دادهٔ کم‌خطری دارد: کدِ پرسنلی، واحد، سابقه. ولی امتیازدهی سه فیلدِ دیگر می‌خواهد که هر کدام به‌تنهایی حساس است و کنارِ هم یک نیم‌رخِ کامل می‌سازد: تعدادِ عائلهٔ تحتِ تکفل، وضعیتِ ایثارگری، و سوابقِ استفاده. و خروجیِ سامانه یک دادهٔ حساسِ چهارم تولید می‌کند که معمولاً کسی به آن فکر نمی‌کند: چه کسی، کِی، در کدام شهر نیست. فهرستِ برندگانِ نوروز با نام، یک فهرستِ خانه‌های خالی هم هست.

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

ده پرسش

هر پرسش با یک پاسخِ خوب و یک پاسخِ بد آمده. پاسخِ خوب لزوماً پاسخِ ما نیست؛ پاسخی است که مشخص و قابلِ نوشتن در قرارداد است. پاسخِ بد پاسخی است که یا مبهم است یا مسئولیت را به شما برمی‌گرداند بی‌آنکه بگوید.

۱. داده دقیقاً کجا نگهداری می‌شود؟

کشور، مرکزِ داده، و اینکه زیرساخت مالِ فروشنده است یا اجاره‌ای. پاسخِ خوب: «روی زیرساختِ داخلِ کشور، در مرکزِ دادهٔ فلان، به این شکل: یک ماشینِ مجازیِ اختصاصی برای سازمانِ شما.» پاسخِ بد: «روی ابر» بدونِ نامِ کشور، یا «هر جا شما بخواهید» بدونِ اینکه بگوید پیش‌فرض چیست.

۲. دادهٔ ما از دادهٔ مشتری‌های دیگر چطور جدا شده؟

سه مدلِ رایج: ماشینِ مجازی یا پایگاه‌دادهٔ جدا برای هر مشتری؛ پایگاه‌دادهٔ مشترک با ستونِ شناسهٔ مشتری در هر جدول؛ یا چیزی بینِ این دو. پاسخِ خوب: نامِ مدل، و اگر مشترک است، اینکه کدام لایه مانعِ دیدنِ دادهٔ دیگری می‌شود و آزمون شده. پاسخِ بد: «کاملاً ایزوله» بدونِ گفتنِ چطور.

۳. پشتیبان‌گیری چطور است: تناوب، رمزگذاری، کلید، آزمونِ بازیابی؟

چهار جزء، هر کدام جدا. پاسخِ خوب: «شبانه؛ رمزگذاری‌شده؛ کلیدِ رمزگذاری جدا از خودِ پشتیبان نگهداری می‌شود؛ بازیابی هر چند وقت یک بار آزمایش می‌شود.» پاسخِ بد: «پشتیبان‌گیریِ منظم داریم» و بس. پشتیبانِ رمزگذاری‌نشده یعنی یک نسخهٔ کاملِ دادهٔ پرسنلی که هر کس به فایلش برسد می‌خواند؛ و پشتیبانی که هیچ‌وقت بازیابی نشده، پشتیبان نیست.

۴. رمزگذاریِ ارتباط و نگهداریِ رمزهای عبور؟

پاسخِ خوب: «همهٔ ارتباط روی TLS؛ رمزهای عبور با یک تابعِ هشِ کُند و نمکِ یکتا، غیرِ قابلِ بازگردانی؛ اگر ورود با دایرکتوریِ سازمان است، رمز اصلاً ذخیره نمی‌شود.» پاسخِ بد: «رمزها رمزگذاری شده‌اند» (رمزگذاری قابلِ بازگردانی است؛ رمزِ عبور باید هش شود، نه رمزگذاری)، یا «ما رمزها را داریم اگر فراموش کنند».

۵. کدام کارکنانِ فروشنده به دادهٔ ما دسترسی دارند، چرا، و ثبت می‌شود؟

پشتیبانی گاهی باید داده را ببیند. پاسخِ خوب: «فقط برای رفعِ اشکال، فقط این نقش‌ها، هر دسترسی ثبت می‌شود و قابلِ گزارش به شماست.» پاسخِ بد: «تیمِ ما مورد اعتماد است.» اعتماد سنجهٔ امنیتی نیست؛ ثبت هست.

۶. ثبتِ وقایع و اطلاع‌رسانیِ رخداد؟

چه چیزی ثبت می‌شود (ورود، خروجی‌گرفتن، تغییرِ دستی، تغییرِ نقش)، چقدر نگه داشته می‌شود، و اگر رخدادِ امنیتی شد کِی به شما گفته می‌شود. پاسخِ خوب: فهرستِ رویدادها، مدتِ نگهداری، و یک زمانِ مشخص برای اطلاع‌رسانی در قرارداد. پاسخِ بد: «لاگ داریم» بدونِ فهرست، و سکوت دربارهٔ رخداد.

۷. کدام فیلدها لازم است و آیا کدِ ملی، حقوق یا نشانی خواسته می‌شود؟

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

۸. نتیجهٔ قرعه با نام منتشر می‌شود یا با کدِ مستعار؟

همان ردیفِ آخرِ جدولِ بالا. پاسخِ خوب: «پیش‌فرض کدِ مستعار؛ هر کارمند کدِ خودش را می‌داند؛ انتشار با نام یک تنظیمِ آگاهانهٔ سازمان است.» پاسخِ بد: «فهرست با نام و شمارهٔ پرسنلی روی تابلو.» بخشِ بعد این را باز می‌کند.

۹. در پایانِ قرارداد داده چه می‌شود: خروجی، قالب، هزینه، حذف؟

پاسخِ خوب: «خروجیِ کامل در قالبِ استاندارد (اکسل یا CSV به‌علاوهٔ پشتیبانِ پایگاه‌داده)، در هر زمان، بدونِ هزینه و بدونِ گره به تسویهٔ مالی؛ حذف پس از تحویل و به درخواستِ کتبیِ شما.» پاسخِ بد: «خروجی پس از تسویه» یا «قالبِ اختصاصی». دادهٔ رفاهیِ ده سالِ سازمان سوابقِ امتیازدهی است؛ فروشنده‌ای که آن را گرو نگه دارد، شما را نگه داشته.

۱۰. تعهدِ قراردادی به عدمِ استفادهٔ دیگر و عدمِ اشتراک با شخصِ ثالث؟

پاسخِ خوب: بندِ صریح در قرارداد که داده برای هیچ مقصودِ دیگری استفاده و با هیچ طرفِ سومی به اشتراک گذاشته نمی‌شود، با ذکرِ استثناهای واقعی (مثلاً درگاهِ پرداخت که فقط مبلغ و شناسهٔ سفارش را می‌بیند). پاسخِ بد: ارجاع به «سیاستِ حریمِ خصوصیِ سایت» که هر وقت خواستند عوض می‌کنند، یا وجودِ ابزارِ تحلیلِ شخصِ ثالث در خودِ سامانه.

انتشارِ نتیجه با کدِ مستعار به‌جای نام

قرعه‌کشیِ قابلِ راستی‌آزمایی فهرستِ قفل‌شده را علنی می‌کند، و همین باعثِ یک سوءتفاهم می‌شود: «پس اسمِ همه با امتیازشان علنی می‌شود؟» نه. فهرستِ عمومی با کدِ مستعار منتشر می‌شود؛ هر کارمند کدِ خودش را پیش از قفل در پیشخوانِ خودش دیده و می‌تواند خودش را در فهرست پیدا کند و اثرانگشت را بررسی کند، بدونِ اینکه بداند ردیفِ کناری کیست. نگاشتِ کد به کدِ پرسنلی فقط در نسخهٔ داخلیِ گزارش و نزدِ واحدِ رفاه و ناظر است. راستی‌آزمایی در هر دو حالت یکسان کار می‌کند، چون به نام وابسته نیست. پاسخِ «آیا نامِ کارکنان منتشر می‌شود؟» در صفحهٔ سازوکار همین است.

یک تصمیمِ کوچک که باید آگاهانه باشد: کدِ مستعار برای هر دوره تازه باشد یا ثابت؟ کدِ ثابت راحت‌تر است (کارمند یک بار حفظش می‌کند) ولی اجازه می‌دهد کسی الگوی بردِ یک کد را در چند دوره دنبال کند. کدِ هر دوره این را می‌بندد و فقط یک اعلامِ قبلی بیشتر می‌خواهد. برای سازمانِ بزرگ یا جایی که اتهامِ «همیشه همان‌ها می‌برند» جدی است، کدِ هر دوره بهتر است؛ و در هر دو حالت، کد نباید از کدِ پرسنلی مشتق‌شدنی باشد.

پایانِ قرارداد: خروجیِ کامل، بدونِ گره به تسویه

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

پاسخِ سرای سازمانی به همین ده پرسش

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

پرسشپاسخِ ما
۱. محلِ دادهروی زیرساختِ داخلِ کشور؛ یا روی سرورِ خودِ سازمان اگر آن شکلِ استقرار را انتخاب کنید
۲. جداسازییک ماشینِ مجازیِ جدا برای هر سازمان؛ دادهٔ شما با دادهٔ هیچ مشتریِ دیگری در یک پایگاه‌داده نمی‌نشیند
۳. پشتیبانمنظم و رمزنگاری‌شده؛ کلیدِ رمزنگاریِ پشتیبان‌ها جدا از خودِ پشتیبان نگهداری می‌شود؛ مدتِ نگهداری به پلن بستگی دارد و در قرارداد نوشته می‌شود
۴. ارتباط و رمزهاارتباط روی TLS؛ رمزهای عبور با scrypt و نمکِ یکتا، غیرِ قابلِ بازگردانی؛ با ورودِ سازمانی رمزی ذخیره نمی‌شود
۵. دسترسیِ فروشندهفقط برای پشتیبانی و رفعِ اشکال؛ دامنه و ثبتِ آن در قرارداد؛ در استقرار روی سرورِ سازمان، دسترسیِ شبکه را خودِ شما می‌دهید و می‌گیرید
۶. ثبتِ وقایع و رخدادنشستِ ورود در پایگاه‌داده و قابلِ ابطالِ آنی؛ هر تغییرِ دستی با نام و زمان و دلیل در سندِ رسمیِ دوره. زمانِ تعهدشدهٔ اطلاع‌رسانیِ رخداد هنوز در قرارداد نهایی نشده؛ کتبی بخواهید
۷. حداقلِ دادهفقط فیلدهای امتیازدهی و اطلاع‌رسانی؛ کدِ ملی، حقوق و نشانی خواسته نمی‌شود
۸. کدِ مستعارپیش‌فرض؛ انتشار با نام یک تنظیمِ آگاهانهٔ سازمان است
۹. پایانِ قراردادخروجیِ کامل (اکسل/CSV و پشتیبانِ پایگاه‌داده، با پرونده‌های راستی‌آزمایی) در هر زمان و بدونِ هزینه؛ هرگز گره به تسویه؛ حذف به درخواستِ کتبیِ شما پس از تحویل
۱۰. شخصِ ثالثداده برای هیچ مقصودِ دیگری استفاده و با هیچ طرفِ سومی به اشتراک گذاشته نمی‌شود و این در قرارداد نوشته می‌شود؛ تنها استثنا درگاهِ پرداخت است که فقط مبلغ و شناسهٔ سفارش را می‌بیند. سایت کوکیِ ردیابی و ابزارِ تحلیلِ شخصِ ثالث ندارد
پاسخِ ما، عیناً از سندِ حریمِ خصوصی و صفحه‌های استقرار و پرسش‌ها. ردیفِ ۶ یک تعهدِ نهایی‌نشده دارد و پنهانش نمی‌کنیم.
  • پاسخِ هر ده پرسش از هر فروشنده کتبی گرفته شده و در پیوستِ قرارداد آمده
  • محلِ داده و مدلِ جداسازی با نام نوشته شده، نه با صفت
  • قالب، زمان و بی‌شرط‌بودنِ خروجیِ داده در قرارداد است
  • فهرستِ فیلدهای منتقل‌شده با دلیلِ هر کدام تأیید شده و کدِ ملی و حقوق در آن نیست
  • تصمیمِ کدِ مستعار (ثابت یا هر دوره) گرفته و به کارکنان اعلام شده
  • زمانِ اطلاع‌رسانیِ رخدادِ امنیتی، هر چه هست، عددی و در قرارداد است

پرسش‌های پرتکرار

آنچه معمولاً بعد از خواندن پرسیده می‌شود

میزبانی داده پرسنلی داخل کشور الزامِ قانونی است؟

این مقاله تفسیرِ حقوقی نمی‌کند؛ الزام‌ها بسته به نوعِ سازمان (دولتی، بانک، شرکتِ خصوصی) و مقرراتِ بالادستی‌اش فرق می‌کند و باید از دفترِ حقوقی یا مرجعِ ناظرِ خودتان پرسیده شود. آنچه مستقل از الزام درست است: محلِ داده باید با نامِ کشور و مرکزِ داده در قرارداد بیاید، و اگر سیاستِ سازمان خروجِ داده از شبکهٔ داخلی را نمی‌پذیرد، استقرار روی سرورِ خودِ سازمان گزینه‌ای است که باید وجود داشته باشد، حتی اگر گران‌تر باشد.

حفاظت از داده کارکنان در سامانهٔ رفاهی مسئولیتِ فروشنده است یا سازمان؟

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

پشتیبان گیری رمزگذاری شده یعنی چه و چرا کلید باید جدا باشد؟

یعنی فایلِ پشتیبان بدونِ کلید قابلِ خواندن نیست، پس اگر کسی به محلِ نگهداریِ پشتیبان‌ها برسد، دادهٔ پرسنلی را نمی‌خواند. کلید باید جدا از خودِ پشتیبان نگهداری شود، وگرنه همان کسی که به پشتیبان رسیده به کلید هم رسیده و رمزگذاری بی‌اثر است. از فروشنده بپرسید کلید کجاست و چه کسی به آن دسترسی دارد؛ «رمزگذاری‌شده» بدونِ این دو پاسخ ناقص است.

خروجی داده پایان قرارداد باید شاملِ چه چیزهایی باشد؟

همهٔ جدول‌ها در قالبِ استاندارد (اکسل یا CSV)، یک پشتیبانِ استانداردِ پایگاه‌داده که با آن بتوان همه‌چیز را در سیستمِ دیگری بازسازی کرد، و پرونده‌های راستی‌آزماییِ همهٔ دوره‌های گذشته، چون سوابقِ قابلِ دفاعِ سازمان همان‌هاست. بدونِ هزینه، بدونِ شرطِ تسویه، و در هر زمان نه فقط در پایان. اگر فروشنده قالبِ اختصاصی می‌دهد، بپرسید با چه ابزارِ رایگانی خوانده می‌شود.

انتشار نام کارکنان در فهرست برندگان مشکلِ قانونی دارد؟

این را از دفترِ حقوقیِ خودتان بپرسید؛ پاسخ به مقرراتِ سازمان بستگی دارد. مستقل از قانون، انتشار با نام دو چیز را علنی می‌کند که لازم نیست: امتیازِ هر نفر (و از آن، عائله و ایثارگری‌اش) و اینکه کِی در شهر نیست. کدِ مستعار هر دو را می‌بندد بی‌آنکه راستی‌آزماییِ قرعه کشی را ضعیف کند، چون هر کارمند کدِ خودش را می‌داند و می‌تواند خودش را در فهرست پیدا کند. پس حتی اگر انتشار با نام مجاز باشد، دلیلی برایش نیست.

قدمِ بعد

همین روش، در سامانه

هرچه در این مقاله آمد بدونِ نرم‌افزار هم شدنی است. این صفحه‌ها نشان می‌دهند سرای سازمانی همان کار را چطور انجام می‌دهد.

ببینید همین دوره روی دادهٔ سازمانِ خودتان چه شکلی می‌شود

یک دمو بگیرید یا استعلامِ کتبی بخواهید. استعلام رایگان است و هیچ تعهدی ایجاد نمی‌کند.