آموزش دروپال - قسمت نهم - امنیت در دروپال

توسط amin, 13 مرداد, 1392

سلام

امروز می خواهم برای شما از دو افزونه و دو توصیه ای که باعث می شود وب سایت دروپالیتان امن تر شود صحبت کنم :

  1. security review

با نصب این افزونه اگر به قسمت گزارش های (Reports) سایت بروید یک گزینه به نام Security review اضافه شده که با کلیک بر روی اون به صفحه ای مشابه تصویر زیر می رسید:

در بالای این صفحه روی گزینه RUN کلیک کنید و از منوی باز شده زیر آن Run checklist را بفشارید. پس از اتمام کار یک لیست از وضعیت امنیت سایت شما در حوزه های مختلف ظاهر می شود. موارد سبز رنگ حاکی از امن بودن اون مورد هستند ولی موارد قرمز رنگ نواقص امنیتی سایت شما هستند که می توانید از توضیحات روبروی هر گزینه جهت رفع نواقص بهره ببرید.

یک موردی درباره سایت های روی Host Sharing یا همون هاست اشتراکی هست که به دلیل خوب پیکربندی نشدن اون ها توسط ایرانی ها من خودم اکثر مواقع با خطای قرمز رنگ همان طور که در تصویر بالا می بینید مواجه می شوم که مورد خیلی مهمی نیست و می توانید بی خیالش باشید ولی فقط حواستان به فایل settings.php  باشد که مجوز اون روی 444 تنظیم شده باشد که در ادامه توضیح میدم.

 

  1. Captcha

اگر با اینترنت کار کرده باشید حتما می دونید چیه ؟ همان خط های کج و مووجی که از شما می خواهند داخل یک باکس وارد کنید تا مبادا اسپم باشید.

هستند برنامه ها و برنامه نویس هایی در اینترنت که کارشون خراب کردن کار بقیه است !!! یعنی میشینن کلی چیز یاد می گیرن بعد میفتن به جون یک سایت تا دخلش را بیاورند . خیلی از مواقع هم پول می گیرند برای این کارها ! یکی از ساده ترین و متداول ترین این عملیات های خراب کاری عملیات brute force هست که شاید اسمش را شنیده باشید که در این حرکت سعی می کنند با حدس زدن رمز ورود به سایت شما به داخل سایت نفوذ کنند. یک برنامه می نویسند که به صورت خودکار وارد صفحه login سایت شما بشود (صفحه /user در دروپال ) و شروع می کند به وارد کردن رمز عبور های مختلف تا بالاخره شانسی یکی از اون ها رمز عبور سایت شما باشد.

یکی از راه های جلوگیری از این حرکت گذاشتن همین captcha هاست. با این کار دیگه اون برنامه که نمی تونه مثل من و شما متن را بخونه و کد را بنویسه پس در نتیجه نمی تونه رمز ورود را حدس بزنه و امتحان کنه به همین سادگی !

البته روش های دیگه ای هم هست مثلا یک افزونه هست که با نصب اون تعداد دفعات ورود برای کاربر محدود میشه. مثلا بهش میگید که اگر 5 بار شخص برای ورود به اکانتش تلاش کرد و رمز را اشتباه زد دیگه برای امروز نگذار وارد بشه یا مثلا تا دو ساعت دیگه و قوانین دیگه  ای که می تونم افزونه Login Security را در این زمینه خدمتتون معرفی کنم.

در هنگام نصب هم گزینه CAPTCHA و هم گزینه image CAPTCHA را فعال کنید. سپس به صفحه پیکربندی رفته و روی لینک CAPTCHA کلیک کنید.

در این صفحه همان طور که مشخص است برای هر کدام از فرم های دلخواه خود می توانید CAPTCHA را اضافه کنید که پیشنهاد من اضافه کردن image(from module image_captcha) می باشد که امن ترین حالت است.

یک نکته ی دیگر هم این که اگر با افزونه وب فرم یک فرم ایجاد کرده اید برای اضافه کردن CAPTCHA به آن می توانید از قسمت خالی که در تصویر مشخص است استفاده کنید.

برای مثال اگر شماره وب فرم شما 3 باشد ( برای پیدا کردن شما به قسمت محتوا بروید و روی لینک ویرایش وب فرم مورد نظر موس را نگه دارید و در قسمت لینک عددی که به صورت node/3 ظاهر می شود شماره وب فرم است ) باید در قسمت خالی عبارت webform_client_form_3 را وارد کنید و نوع CAPTCHA را نیز مشخص کرده و ذخیره کنید.

در ادامه تنظیمات این صفحه می توانید توضیحات را برای زبان های مختلف سایت ( مثلا فارسی ) را نیز ترجمه کرده و وارد کنید و بقیه قسمت ها را نیز راحت متوجه خواهید شد.

 

  1. Files Permission

مجوزهای دسترسی در سیستم عامل لینوکس به صورت خاصی تعریف می شوند. ( من خودم برای سرور به شدت طرفدار لینوکس هستم و با دروپال کارهایی که سایت هاشون روی سرورهای ویندوزی هست به شدت توصیه می کنم اگر مشکلی ندارند هر چه سریع تر سرور را لینوکس کنند که واقعاً از نظر سرعت و امنیت و کارایی خیلی بهتره )

مثلا اگر دیده باشید جلوی فایل نوشته 755 که حالا این یعنی چه؟

ببینید ما سه حوزه داریم داخل لینوکس . تقریبا مثل همون نقش ها (roles) داخل دروپاله !

اول سازنده یا صاحب (owner) و دوم هر گروه (group) و سوم هم بقیه (others) .

برای هر کدوم از این نقش ها سه تا مجوز داریم : خوندن (read) ، نوشتن (write) و اجرا کردن (execute).

این مجوزها به صورت عددی در مبنای دو بیان می شوند. به جدول زیر دقت کنید:

Total Execute(X) Write(W) Read(R)  
7 1 2 4 User
7 1 2 4 Group
7 1 2 4 Others

حالا مثلا اگر من بخوام که برای یک فایل یا پوشه صاحبش بتونه هم بخونه ، هم بنویسه و هم اجرا کنه – گروهش بتونه هم بخونه و هم اجرا کنه  - بقیه هم بتونند فقط بخونند مجوزش میشه چی ؟ 754

عدد 7 یعنی صاحب همه مجوزها را داره که جمعشون میشه 7 و عدد 5 یعنی گروه فقط مجوز اول و سوم را داره که جمعش میشه 5 و عدد 4 هم یعنی بقیه  فقط مجوز اولی یعنی خوندن را دارندکه میشه عدد 4.

گفتم داخل هاست اشتراکی به جز فایل settings.php خیلی خوب نمیشه باهاش کار کرد ولی اگر vps دارید حتما باید این مجوزها را به درستی تنظیم کنید.

اگر به آدرس https://drupal.org/node/244924 برید یک سری توضیحات خیلی عالی ارایه داده که در پایان اون (در قسمت Linux Servers) هم یک سری اسکریپت آماده آورده که با اجرا کردن اون ها تمامی مجوزهای فایل ها روی هاست شما را به صورت اتوماتیک به صورت صحیح تنظیم می کنه.

توصیه های ساده ای مثل انتخاب رمز عبور امن ( اطلاعات بیش تر ) و همچنین ندادن رمز عبور کاربر یک ( سازنده سایت ) به هیچ کس و  انتخاب افزونه های امن (سبز رنگ ) را که دیگه حتما حواستون هست.

این مقاله را هم بخونید  بدک نیست.

اگر با این موارد مشکلی داشتید پیام بزارید تا بهتر و جزیی تر براتون بگم !

متن ساده

  • No HTML tags allowed.
  • نشانی‌های وب و پست الکتونیکی به صورت خودکار به پیوند‌ها تبدیل می‌شوند.
  • خطوط و پاراگراف‌ها بطور خودکار اعمال می‌شوند.

کاربر مهمان (تایید نشده)

10 سال 3 ماه قبل

سلام
ممنون از این همه زحمتی که بابت آموزش می کشید....
طبق آموزش های قبلی شما که گفته بودید یه سایت در نظرتون بیارید بعد شروع کنید به درست کردن اون با دروپال من هم همین کار رو کردم، کار واقعا سختیه :( (ولی انصافا کلی چیز یاد گرفتم!!! )

حالا یه سوال برام مطرح شده و اون اینکه اگر ما یه سایت تجاری داشته باشیم و به خواهیم به کاربرامون یه حجم خاصی بدیم و بگیم "شما چون کاربر عادی هستید 20مگابایت اختصاصی دارید و شمایی که کاربر خاص هستی 100 مگا بایت اختصاصی برای آپلود فایل و گذاشتن محتوا دارید"
برای در واقع quoda کردن فضای دیسک برای هر نقشی و کاربری چه ماژولی هست و یا اینکه چه کاری باید انجام داد؟؟

بازم از وقتی که می گذارید ممنونم

یه امین دیگه (تایید نشده)

10 سال 2 ماه قبل

سلام امپیــــــــــــــــــــــن جونم!!!!!

امیر حسین (تایید نشده)

10 سال قبل

دمت گرم...خیلی کارت درسته.
من تو دروپال تازه کار هستم و امروز تمام مقالات و مطالبی که گذاشته بودی رو تک تک خوندم.
خلی حال کردم.
مرسی.