چکلیست مالکیت داده سایت و دسترسیها؛ ۷ مورد قبل از انتشار
چکلیست امنیت وردپرس از پایه لایههای دفاعی سایت را با چهارده مورد مرور میکند؛ آن مقاله از بیرون به دیوار نگاه میکند و این مقاله از درون به کلیدها: مالکیت، دسترسی و آنچه پس از پایان همکاری باقی میماند. به تجربهٔ ما بیشترین آسیبها نه از هکرها، که از مبهمبودن مالکیت و دسترسی میآید.
صحنهٔ آشناست: سایت را پیمانکار ساخته، دامنه به نام اوست، هاست به ایمیل شخصیاش است و بعد از دو سال هیچکس رمز مدیر ارشد را ندارد. هفت مورد این چکلیست همان صحنه را تکرار نمیکند؛ هر مورد، یک کار ساعتی مشخص دارد.
مالکیت داده سایت یعنی چه؟
مالکیت دو لایه دارد: مالکیت حقوقی — ثبت و فاکتور به نام شما — و مالکیت عملیاتی — دسترسی، رمز و کنترل روزمره. سایت فقط وقتی مال شماست که هر دو لایه بسته باشند؛ فاکتور به نام شما با رمز نزد پیمانکار سابق، نیمی از مالکیت است. همین تفکیک را در پرونده بنویسید.
طبق W3Techs حدود ۴۳٪ از همهٔ سایتهای جهان با وردپرس ساخته میشوند (تاریخ گردآوری: آبان ۱۴۰۵)؛ اما فرقی نمیکند سایت با چه چیزی ساخته شود، پرسش یکی است: ثبت دامنه، فاکتور هاست و مالکیت کد، به چه نامی است؟ پاسخ باید سند داشته باشد، نه حافظه.
خروجی این چکلیست یک پروندهٔ یکصفحهای است: مالک هر لایه، فهرست دسترسیها، محل پشتیبانها و شرایط تحویل. این پرونده را در جای امن نگه دارید و هر بار که همکاری تازهای شروع یا تمام میشود، بهروز کنید. همین پرونده در روز تعویض پیمانکار یا بحران، ساعتها بحث را به چند دقیقه کاری تبدیل میکند.
مورد یک تا سه؛ دامنه، هاست و کد به نام مالک

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

مورد شش، سرویسهای ثالث و API است: فهرست کنید چه سرویس بیرونی به سایت وصل است، هر سرویس چه دسترسیای دارد و کلیدها کجا نگه داشته میشوند. در پلتفرم سوئیت، ارتباطها با امضای HMAC-SHA256 اعتبارسنجی و دادهها با AES-256 رمزنگاری میشوند و بیش از ۹۰۰ تست خودکار پیش از هر انتشار اجرا میشود؛ برای هر سرویس ثالثی، سطحی همارز این استاندارد را بخواهید و راه خروج از آن را در قرارداد ببینید. کلیدهای بلااستفاده را هم حذف کنید؛ هر کلید قدیمی یک در باز است.
مورد هفت، تحویل مستند است: پروندهٔ مالکیت، فهرست دسترسیها، محل پشتیبانها و راهنمای ورود، در یک سند جمع و به مالک سپرده میشود. تحویل را با یک آزمون ساده ببندید: با سند، یک نفر بیرون از تیم فنی بتواند وارد شود؛ اگر نتوانست، سند ناقص است. این سند را سالی یکبار تازه کنید؛ نسخهٔ کهنه بدتر از بیسندی است، چون اعتماد کاذب میسازد.
جمعبندی؛ پیش از انتشار، مالکیت را یکبار ببندید
جمعبندی هفتموردی: دامنه به نام شما با تمدید خودکار؛ هاست با فاکتور شرکت؛ لایسنس و کد به ایمیل سازمانی؛ نقشها با اصل حداقل دسترسی و چرخش رمز در خروج؛ دادهٔ مشتری با محل و پشتیبان مشخص؛ سرویسهای ثالث با فهرست دسترسی و راه خروج؛ و تحویل مستندی که آزمون ورودش را پاس کرده باشد. همهٔ اینها پیش از انتشار یکبار بسته میشود، نه بعد از بحران. فهرست را چاپ کنید و کنار پرونده بگذارید؛ چکلیستی که دیده نمیشود، اجرا نمیشود.
این چکلیست مکمل لایههای فنی است؛ فهرست کامل مقالههای این خوشه در هاب امنیت و پشتیبانگیری و شناسنامهٔ امنیتی پلتفرم — رمزنگاری، امضا و تست خودکار — در صفحهٔ امنیت پلتفرم آمده است. هفتهٔ اول را ساده بگیرید: جدول سهردیفهٔ مالکیت و چرخش رمز حسابهای مدیریتی؛ بقیه موارد با همان ریتم ماهانه کامل میشود. اگر همین امروز یک مورد را ببندید، فردا یک مورد کمتر برای بحران باقی میماند؛ هر فصل یکی از موارد را کامل کنید.
رصد ما، رشد شما.
سؤالات پرتکرار
دامنه به نام پیمانکار ثبت شده؛ چه کنیم؟
انتقال دامنه را از ثبتکننده بخواهید و حساب را به ایمیل سازمانی خودتان منتقل کنید. تا پایان انتقال، تمدید خودکار و قفل انتقال را چک کنید و رسید را در پروندهٔ مالکیت بگذارید.
رمز مدیر ارشد را از دست دادهایم؛ راهی هست؟
از طریق دیتابیس یا ایمیل بازیابی مدیر تازه بسازید، بعد همهٔ رمزهای مدیریتی را بچرخانید و ورود دومرحلهای را روشن کنید. بعدش پروندهٔ دسترسیها را بسازید که تکرار نشود.
پشتیبانها کجا نگه داریم؟
دستکم دو نسخه در دو مکان جدا از هاست، با چرخهٔ منظم و یک ریستور آزمایشی دورهای. پشتیبانی که آزموده نشده، در روز بحران معمولاً کار نمیکند.
پیمانکار عوض میشود؛ دقیقاً چه کار کنیم؟
سه کار: چرخش همهٔ رمزها و حذف دسترسی، بازبینی فهرست سرویسهای ثالث و کلیدها، و تحویل مستند با آزمون ورود بیرونی. این سه را بهعنوان بند پایان همکاری در قرارداد بنویسید.
از کجا شروع کنیم؟
با جدول سهردیفهٔ دامنه، هاست و کد؛ بعد چرخش رمز حسابهای مدیریتی. برای دیدن وضع فعلی دامنه پیش از هر تغییر، از ممیزی رایگان دامنه شروع کنید.