ایجاد یک وب سایت نیاز به زمان و تلاش زیادی دارد. به خصوص اگر از یک سیستم مدیریت محتوای محبوب مانند وردپرس استفاده می کنید، احتمالاً دائماً در معرض حملات مختلف قرار خواهید گرفت.
البته، اگرچه ایجاد یک سیستم 100٪ امن هرگز امکان پذیر نیست، برطرف کردن هر چه بیشتر آسیب پذیری های امنیتی باید یکی از ضروری ترین اولویتها برای محافظت از ساختار وب سایتمان باشد تا شانس موفقیت حملات به حداقل برسد.
هنگامی که از اقدامات امنیتی غفلت می کنیم، باید این احتمال را در نظر بگیریم محتوایی که با صرف زمان و مشقت فراوان ایجاد کرده ایم ممکن است تنها در یک حمله موفقیت آمیز از بین برود.
در این مقاله سعی خواهیم کرد نحوه چیدمان هدرهای HTTP در وب سرور IIS که یکی از مهمترین اقدامات امنیتی است را بررسی کنیم.
در مرحله آغازین، بیایید از
با اسکن آدرس URL وب سایت خود شروع کنیم تا بفهمیم در کدام سطح قرار داریم.
رتبههای بهدستآمده عبارتند از: A+، A، B، C، D، E، F. یعنی هر چه به رتبه “A+” نزدیکتر باشیم، ایمنتر هستیم. برعکس، وقتی به رتبه “F” نزدیک می شویم، به این معنی است که امنیت کمتری داریم.
هنگامی که قبل از ویرایش هدرهای HTTP تست انجام دهیم، مشاهده میکنیم که در برابر یک سایت وردپرس نصب شده در IIS قرار داریم که به طور پیش فرض به عنوان “F” ظاهر می شود زیرا هیچ اقدامی انجام نشده است.
وقتی موضوع را در اینترنت جستجو میکنید، میتوانید مقالات زیادی پیدا کنید که اشاره بر انجام اینگونه تغییرات با استفاده از فایل “htaccess.” وب سرور آپاچی دارند.
با این حال . htaccess” را نمی توان در IIS استفاده کرد زیرا عمدتا توسط وب سرور آپاچی استفاده می شود.
در وب سرور IIS، فایل “web.config” به جای فایل “.htaccess” آپاچی مورد استفاده قرار میگیرد. بنابراین، هر جا که نیاز به تغییر .htaccess داشته باشیم، باید به Web.config” مراجعه کنیم.
میتوانید کدهای تنظیمات مضکور را مستقیماً با ویرایش فایل web.config درج نمایید، اما در این مطلب از مدیریت Internet Information Services (IIS) برای اضافه کردن تنظیمات استفاده میکنیم و سپس نحوه نمایش کدهای مربوطه در فایل web.config را میبینیم.
تنظیمات مربوط به IIS Manager
از منوی Start روی Internet Information Services (IIS) Manager کلیک کنید.
سایتی را که “WordPress” را اجرا می کند از نمایش درختی سمت چپ انتخاب کنید و از لیست در وسط روی “HTTP Response Headers” دوبار کلیک کنید تا باز شود.
تمام نام ها و پارامترهای ذکر شده پیش رو را با کلیک بر روی دکمه “افزودن” در قسمت های مورد نیاز تایپ کرده و OK را کلیک کنید.
- X-Content-Type-Options
nosniff - X-Frame-Options
SAMEORIGIN - X-XSS-Protection
1; mode=block - Referrer-Policy
no-referrer-when-downgrade - Content-Security-Policy
upgrade-insecure-requests - Strict-Transport-Security
max-age=31536000 - Permissions-Policy
fullscreen=(self), accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=()
اگر در وب سایت شما بعد از اعمال مقررات پیشنهادی ما مشخصا در مورد “Permissions-Policy” مشکلاتی رخ دهد، می توانید گزینه ها را مطابق با محیط و امکانات ساختاری که ایجاد نموده اید، تغییر دهید.
تغییرات اعمالی ما باید در فایل “web.config” به صورت زیر کدگذاری شوند.
—
<httpProtocol>
<customHeaders>
<add name="X-Content-Type-Options" value="nosniff" />
<add name="X-Frame-Options" value="SAMEORIGIN" />
<add name="X-XSS-Protection" value="1; mode=block" />
<add name="Referrer-Policy" value="no-referrer-when-downgrade" />
<add name="Content-Security-Policy" value="upgrade-insecure-requests" />
<add name="Strict-Transport-Security" value="max-age=31536000" />
<add name="Permissions-Policy" value="fullscreen=(self), accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), midi=(), payment=()" />
</customHeaders>
</httpProtocol>
اگر میخواهید این کدها را مستقیماً بدون پرداختن به تنظیمات مدیریتی IIS به فایل web.config اضافه کنید، بهترین مکان درست زیر قوانین «بازنویسی» (rewrite) وردپرس خواهد بود.
در این مقاله سعی کردیم به یکی از مهم ترین موضوعات تحت عنوان “امنیت” که باید همواره در حال توسعه سایت مورد توجه ویژه باشد، اشاره نماییم.