• امنیت عمومی سایت در سرورهای لینوکس و پنل مدیریتی Cpanel - بخش دوم

امنیت عمومی سایت در سرورهای لینوکس و پنل مدیریتی Cpanel - بخش اول

 

7- استفاده از htaccess

فایل htaccess در واقع برای پیکربندی و تنظیمات خاص در وب سرور apache می باشد که معمولا در ریشه سایت قرار میگیرد.با استفاده از این فایل میتوانید تنظیمات آپاچی را تغییر دهید به طور مثال redirect کردن صفحات یا مسدود سازی ip یک کاربر و...

در این مقاله تنها به چند مورد کاربردی برای امنیت وب سایت اشاره می شود برای استفاده بهتر از فایل htaccess با جستجو به نتایج بهتری خواهید رسید.

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

توجه کنید که htaccess حساس به حروف بزرگ و کوچک می باشد.

برای مسدود سازی یک Ip میتوانید از نمونه کد زیر استفاده نمایید:


RewriteCond %{REMOTE_ADDR} ^(A.B.C.D)$
RewriteRule ^/* http://www.domain.com/sorry.html [L]

که به جای ABCD اجزای 4 گانه ip قرار میگیرید و به جای sorry.html صفحه ای که میخواهید کاربر به آن هدایت شود.

جلوگیری از hotlink

اگر فکر میکنید افراد سود جو از مطالب سایت شما مانند عکسها یا موزیکها و.. در سایت خود استفاده میکنند و این امر ممکن است باعث از دست رفتن پهنای باند سایت شما شود میتوانید از کد زیر استفاده نمایید.


RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?domain.com/ .*$ [NC]
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]

برای جلوگیری از sql injection و همچنین بهینه سازی url های سایت خود میتوانید از کد زیر استفاده نمایید

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]

 

8- ایجاد لاگ فایل از تراکنش ها

بهتر است همیشه از تمامی فعالیت هایی که بر روی سایت انجام می شود یک فایل به صورت لاگ ذخیره نمایید تا در صورت بروز مشکل بتوانید از طریق آن هرچه سریعتر مشکل ایجاد شده را بر طرف نمایید.

معمولا بر روی  CMSها کامپوننت یا ماژولی برای این منظور در نظر گرفته شده که باید فعال شوند اما در صورتی که میخواهید خودتان چنین فایلی بسازید بهتر است تمامی تراکنش های صورت گرفته در کل سایت را مد نظر قرار دهید و آنهارا در یک فایل متنی ساده ذخیره نمایید.

همچنین وب سرور آپاچی در صورتی که قسمتی از کد بر روی سایت خطایی دهد فایلی با نام error_log ایجاد میکند که با بازخوانی آن میتوانید مشکل بوجود آمده را حل نمایید.

 

9- تغییر سطوح دسترسی فایلها و فولدرها

برای امنیت بهتر همیشه سعی کنید سطح دسترسی فایلها و فولدهای سایت خود را به درستی تنظیم نمایید.

سطح دسترسی از 2 بخش کلی تشکیل میشود 1 گروه کاربری 2 مجوز استفاده.

در گروه کاربری 3 سطح کاربری وجود دارد که اولی user  یا owner می باشد که یعنی خود شما یا در واقع کسی که اطلاعات cpanel را دارد.گروه سوم group می باشد که در واقع گروه کاربرانی را شامل می شود که به سایت دسترسی دارند.گروه سوم world یا public می باشد که شامل تمامی افرادی می شود که به نت دسترسی دارند.

مجوز های استفاده نیز شامل 3 گروه می شود اولی read که یعنی این گروه فقط اجازه خواندن اطلاعات را دارد .گروه بعدی write می باشد که یعنی اجازه تغییر در فایلها و پوشه ها را دارا می باشد.گروه آخر execute می باشد که اجازه اجرای فایلها را دارا می باشد.

ارزش رقمی read برابر با 4 و ارزش رقمی write برابر با 2 و execute برابر با 1 می باشد.

هر گروه کاربری مجوز دسترسی خود را از مجموع سطح دسترسی های مشخص شده میگیرد به عنوان مثال اگر به گروه user هر 3 سطح دسترسی را بدهیم مجموع آن برابر 7 خواهد شد که یعنی هر 3 کار را میتواند انجام دهد یا اگر فقط قابلیت read و write را بدهیم مجوع آن برابر با 6 خواهد شد.

سطوح دسترسی از کنار هم قرار گرفتن این اعداد و انتساب آن به گروه های کاربری حاصل می شود.

به طور مثال اگر فایلی دارای سطح دسترسی 644 باشد یعنی خود شما اجازه خواندن و نوشتن روی آن فایل را دارید و سایر گروه ها فقط اجازه خواندن فایل را دارا می باشند. در ادامه لیستی از سطوح دسترسی با توضیح قرار داده شده است:

برای فایلها:

۰۰۰ هیچ کس هیچ نوع دسترسی به این فایل ندارد و فقط خود شما می توانید حذفش کنید.
۶۰۰ به جز شما هیچ کس به این فایل دسترسی ندارد.
۶۴۴ شما اجازه  کار با این فایل را دارید و دیگران فقط می توانند آن را اجرا کنند.
۶۶۶ یک حالت خاص که بعضی فایلها را از دسترس نرم افزارهای نصب شده روی سایت خارج می کند.
۷۶۶ همه  افراد همه نوع دسترسی به این فایل دارند. این سطح دسترسی فقط برای حالتهای خاص است!

برای پوشه ها:

۰۰۰ هیچ کس هیچ نوع دسترسی به این پوشه ندارد.
۶۴۴ هیچ کس به جز شما اجازه  دسترسی به این پوشه را ندارد و حتی فایل ها و پوشه های داخل این پوشه نیز قابل دسترسی نخواهند بود.
۷۱۱ شما کامل به این پوشه دسترسی دارید و بقیه فقط می توانند به فایل ها و پوشه های داخل این پوشه دسترسی داشته باشند. یعنی اگر فقط به آدرس این پوشه مراجعه شود خطای ۴۰۳ صادر می شود. یعنی دسترسی مستقیم به این پوشه امکان پذیر نیست.
۷۵۵ شما کامل به این پوشه دسترسی دارید و بقیه هم به طور کامل به این پوشه دسترسی دارند. حتی اگر فقط آدرس این پوشه را وارد نمایند و فایل index در این پوشه موجود نباشد، لیست فایل ها و پوشه هایی را که در این پوشه قرار دارند برایشان نمایش داده خواهد شد!
۷۷۷  همه  افراد همه نوع دسترسی به این پوشه دارند. این سطح دسترسی فقط برای حالتهای خاص است!
بهترین سطح دسترسی برای فایل ها ۶۴۴ و برای پوشه های شما ۷۵۵ است.

 

10- استفاده از بسته های بروز رسانی

اگر از نرم افزارهای (Third Party) مانند  CMS ها یا FORUM  ها برای مدیریت وب سایت خود استفاده میکنید حتما از نصب آخرین patch های امنیتی بر روی سایت خود اطمینان حاصل نمایید.اکثر این نرم افزارها به صورت خودکار یا از طریق rss در سایتهای خود اخبار مربوط به بروز رسانی ها را منتشر میکنند که میتوانید از آنها جهت اطلاع از آخرین بروز رسانی ها استفاده کنید.

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

 

11- کد نویسی اصولی و صحیح

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

به طور مثال همیشه در قسمتهایی که لازم است comment نویسی را انجام دهید تا زمانی که خودتان یا دیگران به کدتان مراجعه میکنند براحتی بتوانند آنرا درک کنند.

همیشه از سایت مرجع کمک بگیرید و توابعی که ممکن است به زودی deprecate شود را در کدها خود استفاده نکنید.

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

همیشه مقادیری که قرار است به دیتابیس وارد شود یا از دیتابیس خوانده شود چک کنید.

هیچ موقع به طور مستقیم اطلاعات فرم را در کوئری وارد نکنید.

سعی کنید به جای نوشتن query ها به صورت مستقیم از روش هایی مانند PDO استفاده نمایید.

مواردی از این دست به امنیت بیش از پیش سایت شما کمک خواهد کرد.

 

12- استفاده از یک سرور خوب و مطمئن

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

پس همیشه سعی کنید فضایی که برای سایت خود تهیه میکنید از یک سرور مطمئن و قابل اعتماد باشد سروری که چندین سایل فعالیت میکند و شناخته شده است و یا سایتهای بزرگی را پشتیبانی میکند.

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

http://www.yougetsignal.com/tools/web-sites-on-web-server/

اگر هم از سرور شخصی یا مجازی استفاده میکنید حتما توسط شخصی مطمئن و متخصص آنرا پیکربندی نمایید تا امنیت سایت شما به طور کامل حفظ شود.

 

منبع: پارتیاوب


تاریخ ثبت: ۱۳۹۳,۰۲,۱۳
بازدید: 9219
این مطلب را به اشتراک بگذارید cloob  twitter  stumbleupon  linkedin  Facebook