آموزش : بهینه سازی امنیتی وبسایت ها

در این بخش میتوانید آموزش های مربوط به نیوک را مشاهده فرمائید.
نمایه کاربر
sam_pontiac
مدیر بازنشسته
مدیر بازنشسته
پست: 2695
تاریخ عضویت: یک‌شنبه ۱۹ آبان ۱۳۸۷, ۱۲:۰۰ ق.ظ
محل اقامت: سایبر !
تشکر کرده: 314 دفعه
تشکر شده: 969 دفعه

آموزش : بهینه سازی امنیتی وبسایت ها

پست توسط sam_pontiac »

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

اما از مقدمه و غیره هم که بگذریم ، برسیم سر بحث امنیتی ، مباحثی که در مورد امنیت یک سایت مهم هست رو در اینجا قرار میدیم تا شما بتونید از اون استفاده کنید و امیدواریم که بتونید به خوبی نتیجه ای رو بگیرید و تقصیر ضعیف بودن هاست رایگان رو مثلا به گردن نیوک نندازید.

اولین رکن که اصلی ترین رکن در مورد امنیت هست ، هاست و سرور سایت شماست.
اخیرا دیده شده که کاربران یک سری هاست ها و سرورهای بی هویت و به نوعی نا امن رو برای زحمات خودشون انتخاب میکنند.
در اینجا اول از همه مسئله هاست رایگان رو بن کل ما رد میکنیم ، به دلایل زیر :

هاست های رایگان ، که به نوعی رایج شده اند ، که نام هم نمی برم ، اگر شما تجربه ای داشته باشید ، بعد از یک مدت ، سرویس شما و اکانت شما رو مسدود ، و صفحه سایت شما رو که راه اندازی کردید ، به یک سایت که عمدتا mybookface.com هست انتقال میدند و این یعنی استفاده از بازدید کننده و زحمات شما برای خودشون.

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

___________
چه هاستی انتخاب کنیم و چه هاستی نه ؟

در مورد انتخاب هاست ، حتما دقت داشته باشید ، که اون هاست ، از آپ تایم قابل توجهی برخوردار باشه !
دوم اینکه مسائل امنیتی رو به خوبی مانند نصب بودن فایروال های ویژه ، آپدیت بودن نسخه مدیریت هاست ، و داشتن آنتی دداس و ...

از کجا متوجه این موضوع شویم که هاستی این موارد را دارا هست ؟
در مورد آپ تایم و ... میتونید از سایت هایی مثل host-tracker.com استفاده کنید که بعد از دقایقی ارزیابی هاستینگ مورد نظر ، تمامی مشخصات هاست رو برای شما به روز و روبروی شما قرار میده.
اکثر هاستینگ ها dns های سایت خودشون رو با dns های سایت هایی که میزبانی میکنند تغییر میدن بنا به دلایلی که برای خودشون دارا هستند ولی میتونید از طریق یک whois از یکی از سایت هایی که میزبانی میکنند ، مشخصات یک هاست رو پیدا بکنید.
* اگر هاستینگی هم حتی آدرسی از مشتری ای رو در سایتش نگذاشته بود ، ازشون بخواید که حد اقل آدرسی رو از یکی از مشتریانشون در اختیارتون قرار بدن.

سایت هایی که خصوص whois گرفتن هستند :
who.is
whois.domaintools.com
intodns.com
cqcounter.com/whois

میشه گفت ، هاست و سرور مهم ترین رکن یک سایت هست که کسی بخواد حرفه ای کار کنه ، باید هم حرفه ای انتخاب کنه.
می بینیم هاستینگ هایی رو که دقیقا مثل فروش آدامس ، 3 تا 100 تومن دارن کار میکنن و خیلی ها بدون در نظر گرفتن مسائل امنیتی و ... از اونها خریداری میکنن ، پس از هاستینگ هایی که هویتی ندارن ، و اطلاعات کافی ای رو در اختیار شما قرارنمیدن ، خرید نکنید !

___________
بعد از مطمئن شدن از تمامی این قضایا ، مطمئن شدن از سیستم خودتون هست !!!
برخی از عزیزان هم چت میکنن ، هم تو Cpanel بعنوان مثال کارشون رو میکنن ، این کاملا رد میشه !
حتما anti spyware های قوی ای رو روی سیستمتون نصب داشته باشید ، مثل Kaspersky Internet Security ، سیستم شما اولین هدف برای هکری هست که هدفش هک کردن سایت شماست.
اکثراَ لمر ها ( کودکان هکر ) از keylogger استفاده میکنند ، کی لاگر ها که اکثرا آشنایی دارید باهاشون ، بد افزارهایی هستند که به صورت مخفیانه به سیستم شما وارد شده و اعمال شما رو برای کسی که ارسال میکنه ، ضبط میکنه.
پس با نصب نرم افزارهای اتو آپدیت امنیتی ، این امنیت رو به سیستمتون اضافه کنید.
از سیستم عامل هایی استفاده کنید ، که قابلیت اتو آپدیت از سایت سازنده رو داشته باشه ( اکثر نسخه های ویندوز XP بعنوان مثال )

___________
ایمیلی که برای ارتباط با هاستینگ خودتون قرار دادید ، و ایمیلی که سرور شما رو با اون میشناسه ، در اختیار هر کسی قرار ندید ، و از اون در سایتتون استفاده نکنید ، حتی در قسمت تماس سایتتون !چون بد افزارها از طریق ایمیل هم سیستم شما رو تهدید خواهند کرد.

در مورد بعدی ، خودم به شخصه وقتی برخی کاربران ، یوزر پس ورد پنل هاستشون رو میفرستند برای چک کردن مشکلاتشون ، دیدم که در نهایت تعجب ، پس ورد Cpanel اونها بعنوان مثال این بوده :
123456
خب این امر مسلما مشکل ایجاد میکنه ، جالب تر اینکه سایتشون هم از بازدید نسبتا خوبی برخوردار بوده و هدف هر هکری ممکن هست قرار بگیره.
بگذارید پنل هاست ، خودش پسورد رو تعیین کنه ، که از کلمات ، اعداد ، کاراکترها و سیمبول های مختلف برای شما آماده سازی میکنه!
بعنوان مثال در Cpanel ، قسمت change password شما میتونید این کار رو به عهده خود Cpanel بگذارید و از گزینه Generate password استفاده کنید.
بعد از زدن generate password شما میتونید حتی تعداد کاراکترهای پس ورد رو هم تعیین کنید ، تعداد پس وردی که میگذارید نباید 6 حرف باشه ! اون هم 123456 ، این رو هر کسی به صورت شانسی هم باز میکنه ! بگذارید generate password رو به عنوان مثال طول پس ورد 32 کاراکتر ! این کار هر هکری رو هم سخت تر میکنه.

برای ورود به Cpanel خودتون ، اگر از امنیت سیستمتون مطمئن نیستید ، میتونید از کیبورد جهت تایپ پس ورد استفاده نکنید ، میتونید از کیبورد جهانی شبیه سازی شده ویندوز ، که در شاخه start > accessoris > Accessibility > on screen keyboard استفاده کنید.

( انجام دادن تمامی این کارها ، برای همه الزامی نیست ، این کارها برای افرادی الزامی هست که قصد حرفه ای کار کردن رو دارن )
___________

هر صفحه ای رو توی سایتتون حتی iframe نکنید.
هر اسکریپتی رو روی سایتتون نصب نکنید ، حتی برای تست !
خیلی اتفاق افتاده که از اسکریپت های نا امن ، که فقط تعریف و تمجید از اونها در سایت ارائه دهنده شده ، استفاده شده از طریق اون اسکریپت حمله هایی به سایت شده.

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


در ادامه بحث ، به مسائل امنیتی بیشتری پرداخته میشه و دوست عزیز و استاد گرامی Ali-MSH عزیز هم انشالله آموزش هایی رو در پیش رو خواهند داشت.
این مباحث ، فقط در حد توصیه هایی بودکه هم میتونید انجام بدین و هم نه ! البته نه برای کسانی که سایتشون براشون ارزشی نداره !

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


اگر مسئله ای خاص در این زمینه مد نظر شماست ، از طریق پیغام خصوصی اعلام کنید.


موفق و پیروز باشید.


صلوات ، نثار روح گذشتگان
از جمله
پدرم...
نمایه کاربر
milad-bushehr
مدیر بازنشسته
مدیر بازنشسته
پست: 5609
تاریخ عضویت: پنج‌شنبه ۲۴ اردیبهشت ۱۳۸۸, ۱۲:۰۰ ق.ظ
محل اقامت: بوشهر
تشکر کرده: 777 دفعه
تشکر شده: 1676 دفعه
تماس:

پست توسط milad-bushehr »

تعداد استفاده کنندگان نيوک در حال حاضر بسيار زياد است و روزانه به تعداد اين سايت ها افزوده ميشه
براحتي ميشه گفت تعداد بسيار زيادي از اين افراد به امنيت نيوک شک دارند و فکر مي کنند نيوک امنيت خيلي ضعيفي دارد و براحتي ميشه ان را هک کرد و تعداد بسيار کمي از اين افراد از امنيت نيوک خبر دارند و به ان اطمينان دارند و از امنيت سايت خود هيچ نگراني ندارند که اين افراد بيشتر از افراد "حرفه اي" هستند
مطمئنا اين چنين نيست و نيوک از امنيت بالايي برخوردار مي باشد و از سيستم هاي مديريت محتواي فارسي در ايران به مراتب امنيت بيشتري دارد
اگر واقعا فکر مي کنيد امنيت نيوک ضعيف هست پس چرا سايت خود نيوک را کسي نمي تواند هک کند؟ خيلي ها در جواب اين سوال پاسخ مي دهند که چون مديرانش استاد هستند و کسي نمي تواند ان را هک کند
مطمئن باشيد مديران نيوک هيچ جادويي تو کارشون نيست و هيچ کاري نمي کنند و فقط نکاتي را رعايت مي کنند که از هک شدن جلوگيري مي کند.
نیوک همیشه تمرکز زیادی رو امنیت داشته و همیشه به امنیت نیوک توجه زیادی داشته اند و همچنین در نسخه 8.2 به این امر توجه زیادی شد و امنیت نیوک به مراتب از قبل قوی تر شد.
يکي از روش هاي بسيار ساده که هکران از ان استفاده مي کنند حدس زدن رمز عبور سايت شما يا هاست است
افراد زيادي متاسفانه به اين امر توجه زيادي نمي کنند و هميشه از کلمه ها و عبارت هاي بسيار ساده که براحتي ميشه ان ها را حدس زد استفاده مي کنند و با اين کار امنيت سايت خود را به خطر مي اندازند
مطمئنا خيلي از دوستان در سايت خود ايميل,ايدي و ... را قرار مي دهند
براي مثال يک نفر ايدي خود را در سايت خود قرار داده است اين فرد پسورد سايت و ادي خود را يک کلمه عبور گذاشته ,اگر کسي ايدي شما را هک کند که کار دشواري هم نيست براحتي ميتوند وارد پنل مديريت شما شود
خيلي از افراد هميشه پسورد هاي خود را يکي انتخاب مي کنند براي مثال يک فرد پسود سايت,هاست,اي دي,ايميل خود را يک کلمه عبور گذاشته که اين کار ريسک بزرگي هست و هميشه شما بايد کلمه عبور هاي خود را مختلف انتخاب کنيد
مسئله ديگر اطمينان به ديگران است
من خودم شخصا مشاهده کردم که تعدادي از افراد پسورد هاست خود را در تاپيک قرار داده اند
خيلي هم از افراد به ديگر کاربران که درجه بالايي هم ندارند زود اطمينان مي کنند و پسورد هاست و يا سايت خود را به اين افراد مي دهند که مشکلات سايت و ... را برايشان حل کنند و يا سايت را نصب کنند
نصب نيوک کار دشواري نيست و اگر کسي قسمت اموزش را بخواند براحتي ميتواند اين کار را انجام دهد.پس سعي کنيد سايت را خودتان نصب کنيد و فقط کافيه يکم تلاش کنيد
البته ناگفته نماند افرادي هم در نيوک هستند که درجه بالايي ندارند و قابل اعتماد هستند که در اين مورد بحثي نمي کنيم
يکي از راهايي که ميتواند امنيت سايت شما را بالا ببرد تغيير دادن ادرس پنل مديريت است
اگر شما ادرس پنل مديريت خود را تغيير دهيد به مراتب امنيت سايت شما بالاتر خواهد رفت و با اين کار اگر کسي کلمه عبور مديريت شما را هم بدست اورد موفق به ورود به پنل سايت شما نخواهد شد
مسئله بعدی عضویت در سایت ها و فروم های مختلف هست
مطمئنا هر فرد در سایت ها و فروم های مختلفی عضو میشود
اگر شما کلمه عبور خود را در هنگام عضویت همان کلمه عبوری قرار دهید که کلمه عبور هاست و پنل مدیریت سایت شما است کار خطرناکی است
البته برای مثال در سیستم نیوک نمیشه این کار را کرد و پسورد یک کاربر را بدست اورد
سایت های زیادی هست این امکان را دارند,مخصوصا انجمن ها(فروم ها) چون بیشتر انجمن ها این امکان را دارا می باشند
پس مراقب باشید که در هنگام عضویت از کلمه عبور های مختلف استفاده کنید و به سادگی به سایتی اطمینان نکنید
بر حال امید وارم با گفتن این نکات اعتماد شما به امنیت نیوک بیشتر شود.
یا علی
آخرین ويرايش توسط 1 on milad-bushehr, ويرايش شده در 0.
نمایه کاربر
sam_pontiac
مدیر بازنشسته
مدیر بازنشسته
پست: 2695
تاریخ عضویت: یک‌شنبه ۱۹ آبان ۱۳۸۷, ۱۲:۰۰ ق.ظ
محل اقامت: سایبر !
تشکر کرده: 314 دفعه
تشکر شده: 969 دفعه

پست توسط sam_pontiac »

یکی از مهمترین مسائل ، کنترل حق دسترسی فایل ها و یا CHMODE و یا همان premission میباشد.
در تاپیکی که در مورد تروجان ها و ویروس ها توضیحی داشتیم ، اشاره شد که فایل های .js و برخی از صفحات html رو که به صورت IFRAME نمایش میدهید رو به حق دسترسی 444 تغییر بدید.
همینطور هم بهتر هست که فایل هایی با پس وند های .php رو مثل admin.php , config.php به همین منوال تغییر دسترسی به 444 دهید.
تاپیک گفته شده : http://www.phpnuke.ir/ftopict-10367.html " موارد گفته شده در این تاپیک رو پیشنهاد میکنم انجام بدین "

------------

مورد دوم ; تغییر نام فایل admin.php ( فایل مدیریت نیوک )
اکثر کاربران نیوک در این مورد اطلاع دارند و به نوعی میدانند که چگونه این کار رو باید انجام بدهند ، و توضیح این قسمت فقط مختص افرادیست که یا جدی نگرفتند و یا این کار را انجام ندادند.

تغییر نام فایل admin.php :

سیستم مدیریت محتوای نیوک به صورت پیش فرض مثل اکثر Cms ها ، اسم پنل مدیریت رو admin قرار میدهند و اکثر افراد غیر نیز با این فایل آشنائی دارند.یکی از بهترین راه حل ها برای کوتاه کردن دسترسی دیگران به قسمت مدیریت سایت ، تغییر نام فایل admin.php میباشد که دو مرحله بسیار آسان بیشتر ندارد.

1- rename کردن فایل از طریق file manager هاست.
2- تغییر نام فایل در تنظیمات سیستم ( config.php ) .

اکثرا تغییر نام رو میدونید باید به چه صورتی انجام شود.فقط کافیست که به file manager هاستتون و جایی که نیوک رو آپلود کردید وارد بشید و با انتخاب فایل admin.php اون رو به راحتی تغییر نام rename کنید.

اما تغییر نام در فایل تنظیمات نیوک ، یعنی فایل config.php :
بعد از تغییر نام فایل admin.php شما میتونید فایل config.php رو ویرایش کنید ، چه از طریق برنامه note pad و چه از طریق editor هاستتون ، و کدهای زیر رو پیدا کنید:

کد: انتخاب همه

$dbhost = "localhost";
$dbuname = "root";
$dbpass = "";
$dbname = "";
$prefix = "nuke";
$user_prefix = "nuke";
$dbtype = "MySQL";
$sitekey = "cPEnq15ZPmejnuKtzZMUHFH1bee9KLT9i5FfZBmI";
$subscription_url = "";
$tipath = "images/topics/";
$admin_file = "admin";
$cache_type = "mysql";

اگر به کد ها دقت کنید ، در خط 63 تا 74 فایل config.php قرار دارند.
همونطور که گفته شد ، بعد از تغییر نام فایل admin.php شما فقط کافیست ، نام مقابل متغیر $admin_file رو به نامی که تغییر دادید عوض کنید." فقط نامی که تغییر دادید و نوشتن .php لازم نیست "

یعنی به این صورت :

کد: انتخاب همه

$admin_file = "نام فایل ادمین در اینجا";

----------------
انشالله که تا به اینجای آموزش ها رو دقت کرده باشید ، و اعمال کرده باشید.آموزش بهینه سازی امنیت ادامه پیدا میکنه و استفاده کنید.
موفق و یپروز باشید.
صلوات ، نثار روح گذشتگان
از جمله
پدرم...
نمایه کاربر
milad-bushehr
مدیر بازنشسته
مدیر بازنشسته
پست: 5609
تاریخ عضویت: پنج‌شنبه ۲۴ اردیبهشت ۱۳۸۸, ۱۲:۰۰ ق.ظ
محل اقامت: بوشهر
تشکر کرده: 777 دفعه
تشکر شده: 1676 دفعه
تماس:

پست توسط milad-bushehr »

با سلام خدمت تمامی کاربران نیوک
در این تاپیک قصد دارم نحوه Enable کردن Frontpage Extensions که از این راه میشه Command ران کرد و بسیار هم خطرناک هست توضیح دهم

برای شروع ابتدا وارد WHM شوید
و سپس در قسمت Packages وارد Feature Manager شوید :


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


http://Sitename.ir:2086/scripts2/dofeaturemanager


[center]تصویر
[/center]
سپس در قسمت Add New Feature List کلمه Frontpage را تایپ کنید و Add را بزنید

[center]تصویر[/center][RIGHT]
سپس در لیست ظاهر شده Frontpage رو پیدا کنید و تیک اون رو بردارید و Save رو که در پایین صفحه هست بزنید تا تغییرات داده شده ذخیره بشه
[/RIGHT][center]تصویر[/center][RIGHT]
حال برای اینکه این قابلیت را در یوزر هایی که قبلا ایجاد کرده اید نیز Enable کنید ابتدا در قسمت FrontPage وارد قسمت Uninstall FrontPage Extensions شوید
[/RIGHT][center]تصویر
[/center][RIGHT]در این قسمت لیست یوزر ها و دامین های آنها را مشاهده می کنید ، باید برای هر یوزری که می خواهید Enable کنید نام یوزر یا دامین را در قسمت مشخص شده وارد کنید و UnInstall را بزنید تا این قابلیت برای یوزر انتخاب شده غیر فعال گردد
[/RIGHT][center]تصویر[/center][RIGHT]امید وارم مورد استفاده دوستان و همکاران قرار بگیرد و مفید واقع شود
" این آموزش خصوص افرادیست که از پلن هایی مانند Reseller استفاده میکنند " .
[/RIGHT][RIGHT]یا علی[/RIGHT]
آخرین ويرايش توسط 1 on milad-bushehr, ويرايش شده در 0.
نمایه کاربر
amir
مدیر کل سایت
مدیر کل سایت
پست: 6244
تاریخ عضویت: شنبه ۲۱ بهمن ۱۳۸۵, ۱۲:۰۰ ق.ظ
محل اقامت: Server room
تشکر کرده: 343 دفعه
تشکر شده: 4052 دفعه
تماس:

پست توسط amir »

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

حالا با فرض اینکه شما هم میخواین یکسری مواردی که لازم نیست فعال باشه روی اکانت خودتون رو ببندین من یک فایل php.ini آماده کردم که چندتا توابعی که به هر حال ممکنه مشکل ساز بشه در Shared Hosting رو بستم

شما کافیه فایل پیوست شده رو در شاخه اصلی سایت خودتون آپلود کنید.

یک نکته : مثلا register_globals غیر فعال شده ، پس اگر خواستین فعال بشه در فایل php.ini پیوست شده میتونید مقدار off مقابل این گزینه رو به on تغییر بدین و بعد از اتمام کارتون به حالت عادی برگردونید.

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

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


- در مطلب بعدی روی امنیت htaccess کار میکنیم
پیوست ها
php.zip
(265 بایت) 341 مرتبه دانلود شده
از ارسال پست های تبلیغاتی در انجمن های نیوک فارسی خودداری فرمایید.
نمایه کاربر
sam_pontiac
مدیر بازنشسته
مدیر بازنشسته
پست: 2695
تاریخ عضویت: یک‌شنبه ۱۹ آبان ۱۳۸۷, ۱۲:۰۰ ق.ظ
محل اقامت: سایبر !
تشکر کرده: 314 دفعه
تشکر شده: 969 دفعه

پست توسط sam_pontiac »

یکی از قابلیت هایی که فایل htaccess در اختیار کاربران قرار میده که میتونیم به جرات بگیم از مهمترین قابلیت های این فایل هست ، این مسئله هست که به شما امکان کنترل سطوح دسترسی به فایلها و فولدر ها رو نیز میده.برای مثال ، شما از اسکریپتی مثل رپیدلیچ استفاده میکنید که ممکن هست ، این اسکریپت برای سایت شما خطر آفرین باشه !
یکی از راه هایی که میتونید به صورت کامل ، اینطور خطرات رو به حد زیادی کاهش بدید ، دستوراتی در فایل .htaccess هست که میتونید در فولدرهایی که سطوح دسترسی 777 برای مثلا آپلود عکس و یا فایل قرار دادید ، اعمال کنید.
نکته : این قضیه به صورت کامل در فولدرهای پیش فرض نیوک اعمال شده و اکثر فولدرها دارای فایل امنیتی htaccess هستند.

پس این مثال فقط برای اون دسته از دوستانی هست که فقط و فقط ، قصد دارند در پوشه ای مثلا به اسم dl فایلهایی رو آپلود کنند و از اسکریپت های ترنسفر و ... استفاده میکنند و یا دارای فایلهای php ای هست که ممکن هست استفاده عام خطر آفرین باشه برای سایتتون.
شما یک فایل htaccess ایجاد میکنید و در پوشه مورد نظرتون قرار میدید.برای حل این مشکل در فولدری که به آن permission 777 را داده اید فایل htaccess. زیر را قرار دهید تا برای script های php. ,..... دسترسی execute را غیز فعال کنید.

کد: انتخاب همه

order deny,allow
deny from all

Options -ExecCGI
RemoveHandler .cgi .pl .py .php4 .pcgi4 .php .php3 .phtml .pcgi .php5 .pcgi5
RemoveType .cgi .pl .py .php4 .pcgi4 .php .php3 .phtml .pcgi .php5 .pcgi5

باز هم متذکر میشم که این تغییرات تا حد زیادی در فایل htaccess موجود در پکیج نیوک اعمال شده اند.
نکته : قابل توجه اون دسته از دوستانی که سرور سایتشون ویندوز هست ! سرورهای ویندوز بهیچ عنوان htaccess رو اجرا نمیکنند.این از معایب ویندوز هست.

در تکمیل آموزشهای استاد عزیزم امیر خان یک نکته رو متذکر بشم اون هم اینه که :
دوستانی که نیوک رو نصب کردند و نصب نیوک اونها به پایان رسیده ، حتما تابع register_global رو off کنند. زیرا این تابع به حمل کننده اجازه میدهد تا آزادانه در بیشتر حالات از
ضعف های برنامه نویسی استفاده کند. و فقط سیستم های مدیریتی ای که برنامه نویسی سطح پائین تری دارند با روشن بودن این تابع نیازمند هستند و این سیستم نیازی به روشن بودن این حالت نداره ، چون ضعف برنامه نویسی ای در نیوک وجود نداره.پس شما بعد از نصب ، یا این تابع رو حذف کنید و یا off کنید.

مسئله دیگری که قصد دارم توضیح بدم مسئله ای هست که اکثر سرورها و هاستینگ ها اون رو رعایت کردند و درش مشکلی دیده نمیشه.قبل تر ، اگر فایل php رو ویرایش میکردید ، در هاست شما فایلی با نام .php~ بوجود میومد که کلا از php خارج میشد و از محدود کنترل آپاچی خارج میشه.
مثلا شما فایل index.php رو ویرایش میکنید ، و عینا یک فایل با نام index.php~ کنار فایل شما بوجود میاد ( این برای اون دسته از افرادی هست که این موضوع براشون صدق میکنه ) و کلا هر کسی با کمی جستجو میتونه به صورت کامل محتویات فایل index.php~ شما رو ببینه.
افرادی که در سرور خود چنین مشکلی رو می بینند ، در مرحله اول باید با مدیر هاستینگ و تیم پشتیبانی هاستشون تماس بگیرند ، ولی اگر رفع و رجوعی نشد ، میتونید به راحتی ، فقط با قرار دادن کدهای زیر داخل فایل .htaccess این مشکل رو برطرف کنید :

[PHP] <FilesMatch "\.(inc .*sql .*~)$">
order allow ,deny
Deny from all
</FilesMatch> [/PHP]
صلوات ، نثار روح گذشتگان
از جمله
پدرم...
نمایه کاربر
amir
مدیر کل سایت
مدیر کل سایت
پست: 6244
تاریخ عضویت: شنبه ۲۱ بهمن ۱۳۸۵, ۱۲:۰۰ ق.ظ
محل اقامت: Server room
تشکر کرده: 343 دفعه
تشکر شده: 4052 دفعه
تماس:

پست توسط amir »

سلام

در ادامه مبحث بالا بردن امنیت نیوک فایل htaccess امن شده مخصوص ویرایش 8.2 رو میتوانید دانلود و جایگزین htaccess فعلی سایت کنید

از جایگزنی فایل مطمئن شوید ، در انتهای این فایل کدهای امنیتی تعریف شده و متفاوت هست کاملا با htaccess اولیه نیوک ، پس از این طریق میتوانید چک کنید که آیا فایل به درستی آپلود شده یا خیر.
اگر مشکلی در جایگزنی فایل داشتید ، محتویات فایل جدید را کلا کپی و در فایل قدیم past نمائید
پیوست ها
htaccess.zip
(5.33 کیلو بایت) 409 مرتبه دانلود شده
از ارسال پست های تبلیغاتی در انجمن های نیوک فارسی خودداری فرمایید.
نمایه کاربر
RezaSystem
کاربر خیلی فعال
پست: 1846
تاریخ عضویت: پنج‌شنبه ۲۵ مهر ۱۳۸۷, ۱۲:۰۰ ق.ظ
تشکر کرده: 493 دفعه
تشکر شده: 320 دفعه

پست توسط RezaSystem »

سلام دوستان خسته نباشید :

فایل جدید htaccess امنیتی جدید که امیر معظمی عزیز در بالا قرار داده است،بعضی از دوستان مثل بنده فایل htaccess را برای گوگل تپ بهتر تغییر داده اند و امکان حذف و ریختن مجدد این فایل را به دلیل مشکلات سایت ندارند به همین دلیل به امیر خان پیغام دادم که ایشون کدهای اضافه شده به اون فایل را برای من قرار دادند و گفتند در اختیار دوستان دیگر هم قرار بده.

کد: انتخاب همه

 
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti* 
<Files ~ "^\.ht"> 
Order allow,deny 
Deny from all 
</Files> 

Options All -Indexes 

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase / 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

<Limit GET POST> 
order deny,allow 
deny from all 
allow from all 
</Limit> 

<Limit PUT DELETE> 
order deny,allow 
deny from all 
</Limit> 

<IfModule mod_security.c> 

   # Enable ModSecurity 
   SecFilterEngine On 

   # Reject requests with status 403 
   SecFilterDefaultAction "deny,log,status:403" 

   # Some sane defaults 
   SecFilterScanPOST On 
   SecFilterCheckURLEncoding On 
   SecFilterCheckUnicodeEncoding Off 

   # Accept almost all byte values 
   SecFilterForceByteRange 1 255 

   # Server masking is optional 
   # SecServerSignature "Microsoft-IIS/5.0" 

   # Designate a directory for temporary files 
   # storage. It is a good idea to change the 
   # value below to a private directory, just as 
   # an additional measure against race conditions 
   SecUploadDir /tmp 
   SecUploadKeepFiles Off 

   # Only record the interesting stuff 
   SecAuditEngine RelevantOnly 
   # Uncomment below to record responses with unusual statuses 
   # SecAuditLogRelevantStatus ^5 
   SecAuditLog logs/modsec_audit.log 

   # You normally won't need debug logging 
   SecFilterDebugLevel 0 
   SecFilterDebugLog logs/modsec_debug.log 

   # Only accept request encodings we know how to handle 
   # we exclude GET requests from this because some (automated) 
   # clients supply "text/html" as Content-Type 
   SecFilterSelective REQUEST_METHOD "!^(GET|HEAD)$" chain 
   SecFilterSelective HTTP_Content-Type 
"!(^application/x-www-form-urlencoded$|^multipart/form-data;)" 

   # Do not accept GET or HEAD requests with bodies 
   SecFilterSelective REQUEST_METHOD "^(GET|HEAD)$" chain 
   SecFilterSelective HTTP_Content-Length "!^$" 

   # Require Content-Length to be provided with 
   # every POST request 
   SecFilterSelective REQUEST_METHOD "^POST$" chain 
   SecFilterSelective HTTP_Content-Length "^$" 

   # Don't accept transfer encodings we know we don't handle 
   SecFilterSelective HTTP_Transfer-Encoding "!^$" 

</IfModule> 
#Deny access to all CGI, Perl, Python and text files 
<FilesMatch "\.(cgi|pl|py|txt)"> 
Deny from all 
</FilesMatch> 

موفق باشید.تصویر
[CENTER]بهینه سازی امنیتی نیوک
بهینه سازی سئو نیوک
ماژول اختصاصی برای نیوک[/CENTER][CENTER]ماژول آزمون آنلاین نیوک + مدیریت در نیوک
پیام خصوصی بدهید.
[/CENTER]
نمایه کاربر
amir
مدیر کل سایت
مدیر کل سایت
پست: 6244
تاریخ عضویت: شنبه ۲۱ بهمن ۱۳۸۵, ۱۲:۰۰ ق.ظ
محل اقامت: Server room
تشکر کرده: 343 دفعه
تشکر شده: 4052 دفعه
تماس:

پست توسط amir »

سطح دسترسی مناسب
روی سرور های اشتراکی حق دسترسی بهینه به شرح زیر هست

فایل کانفیگ : 400
شاخه های دیگر : 555

در مورد شاخه های مربوط به آپلود که 777 هستند هم مسئله ای که دوست خوبم Sam_pontiac اشاره کردن رو مد نظر داشته باشید و تغییرات رو اعمال کنید در فایل htaccess شاخه مربوط به آپلود ، مثل شاخه images گالری یا files در modules/Forums

همچنین میتونید یک فایل hatccess فقط با محتویات زیر در شاخه های آپلود سایتتون که حق دسترسی 777 دارن آپلود کنید

کد: انتخاب همه

<Files ~ "\.(php*|cgi|pl)$">
deny from all
</Files>
از ارسال پست های تبلیغاتی در انجمن های نیوک فارسی خودداری فرمایید.
قفل شده قفل شده

بازگشت به “آموزش و مقالات - Learning & Articles”