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

این جلسه بخشی از دورهٔ آپاچی در ۵۰ شب است. قرارداد نام‌ها، مسیرها و روش اعمال تغییر را در راهنمای دوره بخوان.

محیط: گزارش واقعی شب چهل‌وهشتم؛ Snapshot، maintenance window و ماتریس قابلیت‌های فعلی. شمارهٔ کنترل را از PDF منتخب بگیر.

هر تغییر یک دلیل و یک برگشت#

برای یک یافته، این زنجیره را ثبت کن: معیار رسمی، وضعیت واقعی، اثر مورد انتظار، فایل فعال، diff، آزمون، راه برگشت و نتیجه. ابتدا در Clone اعمال کن. تغییر permission، حذف ماژول و کاهش timeout را در یک مرحلهٔ مبهم جمع نکن.

مثال‌های اجرایی از این دوره، برای تطبیق با معیار PDF هستند:

یافتهٔ محتملتغییر محدودآزمون پس از تغییر
بنر پرجزئیاتتنظیم global شب ۴۳پاسخ موفق و خطا
ماژول CGI بی‌نیازحذف handler و سپس ماژولPHP-FPM و مسیرهای قدیمی
فایل خصوصی منتشرشدهانتقال خارج webroot و deny دفاعی403/404 و نبود دادهٔ خصوصی
اعتماد باز به هدر IPمحدود کردن remoteip به edge واقعیجعل مستقیم و مسیر مجاز
حد منابع نامتناسببودجهٔ اندازه‌گیری‌شدهٔ شب ۴۴upload، streaming و ظرفیت

وجود این موضوع‌ها در برنامهٔ hardening به معنی شماره‌گذاری آن‌ها به‌عنوان کنترل یک نسخهٔ CIS نیست؛ mapping باید با متن منتخب انجام شود.

اعمال و مشاهده#

بعد از هر تغییر Apache، -t، reload یا restart لازم، journal و درخواست تازه را بررسی کن. تغییر pool باید FPM configtest و restart خودش را هم داشته باشد. در failure، فایل و وضعیت سرویس قبلی را بازیابی و آزمون سالم را تکرار کن؛ برگشت نیز شاهد لازم دارد.

برای استثنای واقعی، نمونهٔ status فقط loopback را با مالک، توجیه مانیتورینگ و تاریخ بازبینی ثبت کن. exception را خودکار «قبول» حساب نکن. مقادیر profile و معیار رسمی را برای افزایش نمره دستکاری نکن.

گزارش قبل و بعد#

تعداد «قبول با شاهد»، «نیازمند اصلاح»، «استثنا»، «نامربوط» و «ارزیابی‌نشده» را جدا بده. کنترل نامربوط یا بررسی‌نشده نباید به قبول تبدیل شود. diff پیکربندی، خروجی دوبارهٔ audit و نتیجهٔ regression برنامه را کنار گزارش نگه دار.

تمرین: حذف ماژول proxy_fcgi چه قابلیت و چه تستی را می‌شکند؟ چرا بستن همهٔ POSTها ممکن است نمرهٔ ظاهری بهتر ولی WordPress خراب بدهد؟ برای تحویل شب بعد، تمام یافته‌های باز باید مالک و اقدام بعدی داشته باشند؛ وجود استثنا را پنهان نکن.

منبع: CIS Benchmarks ، راهنمای امنیت Apache .