مقدمه
در دنیای امروزی که امنیت اطلاعات و حفاظت از دادهها اهمیت بسیاری دارد، تنظیمات صحیح و بهینهسازی سرورهای وب میتواند نقش مهمی در کاهش خطرات امنیتی ایفا کند. تنظیمات پیشفرض سرورها ممکن است اطلاعات زیادی در مورد پلتفرم و نسخه سرور فاش کنند و مهاجمان را در یافتن آسیبپذیریهای مرتبط یاری کنند. در این مقاله، به بررسی مجموعهای از اقدامات امنیتی و بهینهسازیهایی که میتوانید در فایل htaccess.
و تنظیمات سرور خود انجام دهید، میپردازیم.
1. پنهان کردن اطلاعات نسخه سرور
افشای اطلاعات نسخه سرور در هدرهای HTTP و صفحات خطا میتواند به مهاجمان کمک کند تا آسیبپذیریهای خاص پلتفرم سرور شما را شناسایی کنند. برای پنهان کردن این اطلاعات، میتوانید دستورات زیر را در فایل htaccess.
خود اضافه کنید:
ServerSignature Off
ServerTokens Prod
- ServerSignature Off: این دستور، نمایش امضای سرور را در صفحات خطا غیرفعال میکند.
- ServerTokens Prod: این دستور، اطلاعات نسخه سرور را در هدرهای HTTP به حداقل میرساند و فقط نام محصول را نمایش میدهد.
2. تنظیم Content-Type و charset
برای اطمینان از اینکه مرورگرها به درستی نوع محتوا و مجموعه کاراکترها را تشخیص میدهند، باید تنظیمات مربوط به Content-Type
و charset
را به صورت زیر تنظیم کنید:
AddDefaultCharset UTF-8
<IfModule mod_headers.c>
Header set Content-Type "text/html; charset=UTF-8"
</IfModule>
این تنظیمات تضمین میکنند که محتوای شما همیشه با مجموعه کاراکتر UTF-8 ارائه شود.
3. تنظیمات امنیت محتوایی (CSP)
پالیسی امنیت محتوایی (CSP) به شما کمک میکند تا بارگذاری منابع غیرمجاز را محدود کنید و از حملات XSS جلوگیری کنید. تنظیمات زیر را به فایل htaccess.
خود اضافه کنید
<IfModule mod_headers.c>
Header set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' https://cdnjs.cloudflare.com; style-src 'self' 'unsafe-inline' https://cdnjs.cloudflare.com; font-src 'self' https://cdnjs.cloudflare.com; object-src 'none';"
</IfModule>
4. جلوگیری از MIME-sniffing
برای جلوگیری از MIME-sniffing توسط مرورگرها که میتواند منجر به حملات drive-by download شود، از هدر X-Content-Type-Options
با مقدار nosniff
استفاده کنید:
<IfModule mod_headers.c>
Header set X-Content-Type-Options "nosniff"
</IfModule>
5. محافظت در برابر کلیکجکینگ
کلیکجکینگ یک تکنیک حمله است که در آن کاربر فریب داده میشود تا بر روی یک لینک یا دکمه مخفی کلیک کند. برای جلوگیری از این حملات، از هدر X-Frame-Options
استفاده کنید:
<IfModule mod_headers.c>
Header set X-Frame-Options "DENY"
</IfModule>
6. محافظت در برابر حملات XSS
حملات Cross-Site Scripting (XSS) میتوانند منجر به اجرای کدهای مخرب در مرورگر کاربران شوند. برای جلوگیری از این حملات، از هدر X-XSS-Protection
استفاده کنید:
<IfModule mod_headers.c>
Header set X-XSS-Protection "1; mode=block"
</IfModule>
7. فعالسازی HSTS
HTTP Strict Transport Security (HSTS) مرورگرها را مجبور میکند تا همیشه از HTTPS برای ارتباط با سایت استفاده کنند و از Downgrade و SSL Stripping جلوگیری میکند:
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
</IfModule>
8. تغییر مسیر همه درخواستها از HTTP به HTTPS
برای اطمینان از اینکه تمامی ارتباطات با سایت شما از طریق HTTPS انجام میشود، از تنظیمات زیر برای تغییر مسیر HTTP به HTTPS استفاده کنید:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
9. تنظیم صفحه خطای سفارشی
برای جلوگیری از نمایش صفحه پیشفرض سرور هنگام وارد کردن آدرس اشتباه، میتوانید یک صفحه خطای سفارشی ایجاد کنید و آن را در فایل htaccess.
تنظیم کنید:
ErrorDocument 404 /404.html
نتیجهگیری
با اعمال این تنظیمات در فایل htaccess.
و سرور خود، میتوانید امنیت وبسایت خود را بهبود بخشیده و از افشای اطلاعات حساس جلوگیری کنید. این تنظیمات به کاهش خطرات امنیتی و حفاظت بهتر از دادههای کاربران کمک میکنند.