دیوار آتش با htaccess - بخش اول
دوشنبه, ۲۵ بهمن ۱۳۸۹، ۱۱:۲۷ ب.ظ
فایل htaccess. در بسیاری از وب سرورهایی که با آپاچی(Apache) کار می کنند، مورد استفاده قرار می گیرد و امکانات بسیاری را بدون تغییر تنظیمات سرور اصلی ایجاد می نماید. آپاچی پس از مشاهده فایل htaccess. آن را اجرا می کند و سپس به تفسیر فایل های اسکریپت موجود در آن پوشه می پردازد. این موضوع امکان ایجاد یک دیوارآتش(Firewall) با درجه ی امنیتی متوسط را فراهم می آورد. در این مقاله به بررسی برخی امکانات امنیتی در این دیوارآتش می پردازیم.
غیرفعال نمودن لیست کردن پوشه ها (Directory Listing)
با غیرفعال نمودن لیست کردن پوشه ها، امکان مشاهده ی فایل های موجود در یک پوشه توسط کاربران گرفته می شود. برای این کار، کد زیر را به فایل htaccess. اضافه کنید:
با استفاده از این دستور از لیست کردن کلیه فایل های موجود در پوشه ها، جلوگیری می شود. حرف * در دستور بالا اشاره به همین موضوع دارد.
همچنین شما می توانید تنها لیست کردن برخی فایل ها را غیرفعال کنید:
با این دستور لیست کردن تمام فایل ها به جز فایل هایی که پسوند cgi، php و jsp دارند، صورت می گیرد.
همان طور که می دانید فایل htaccess. پوشه ی حاضر در آن و تمام زیر پوشه ها(subfolders)، را تحت تاثیر قرار می دهد. با توجه با این موضوع، اگر بخواهیم در زیرپوشه ای خاص همچنان لیست کردن فایل ها صورت بگیرد، کافی است کد زیر را در فایل htaccess. موجود در آن زیرپوشه قرار دهیم:
علامت مثبت (+) در کد بالا به معنای این است که لیست کردن پوشه ها، در آن پوشه و تمام زیر پوشه های آن انجام می پذیرد، در غیر این صورت می توان از علامت منفی(-) به جای مثبت استفاده کرد تا این قانون تنها برای پوشه ی حاضر اعمال گردد.
در ابتدا ذکر این نکته ضروری است که سطح دسترسی(Chmod) امن برای فایل htaccess. مقدار 644 و برای فایل htpasswd. مقدار 640 می باشد.
مباحثی که ما در این سری آموزش دنبال می کنیم عبارت است از:
- غیرفعال نمودن لیست کردن پوشه ها
- محافظت از فایل ها و پوشه ها با رمز عبور
- ممنوعیت کاربران خاص
- جلوگیری از Hotlink فایل ها و تصاویر
- جلوگیری از اجرای انواع اسکریپت
- جلوگیری از مرورگرهای آفلاین و بوت های مزاحم
- محافظت از فایل htaccess.
- جلوگیری از ارجاعات ناخواسته
- تغییر پسوند فایل ها
- اجبار به استفاده از اتصال مطمئن (SSL)
غیرفعال نمودن لیست کردن پوشه ها (Directory Listing)
با غیرفعال نمودن لیست کردن پوشه ها، امکان مشاهده ی فایل های موجود در یک پوشه توسط کاربران گرفته می شود. برای این کار، کد زیر را به فایل htaccess. اضافه کنید:IndexIgnore *
با استفاده از این دستور از لیست کردن کلیه فایل های موجود در پوشه ها، جلوگیری می شود. حرف * در دستور بالا اشاره به همین موضوع دارد.
همچنین شما می توانید تنها لیست کردن برخی فایل ها را غیرفعال کنید:
IndexIgnore *.php *.cgi *.jsp
با این دستور لیست کردن تمام فایل ها به جز فایل هایی که پسوند cgi، php و jsp دارند، صورت می گیرد.
همان طور که می دانید فایل htaccess. پوشه ی حاضر در آن و تمام زیر پوشه ها(subfolders)، را تحت تاثیر قرار می دهد. با توجه با این موضوع، اگر بخواهیم در زیرپوشه ای خاص همچنان لیست کردن فایل ها صورت بگیرد، کافی است کد زیر را در فایل htaccess. موجود در آن زیرپوشه قرار دهیم:
Options +Indexes
علامت مثبت (+) در کد بالا به معنای این است که لیست کردن پوشه ها، در آن پوشه و تمام زیر پوشه های آن انجام می پذیرد، در غیر این صورت می توان از علامت منفی(-) به جای مثبت استفاده کرد تا این قانون تنها برای پوشه ی حاضر اعمال گردد.
آموزش اول از سری دیوار آتش با htaccess. در اینجا به پایان می رسد.
ادامه دارد
۸۹/۱۱/۲۵