راهنمای افزایش امنیت وب سایت ها

مقدمه :

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

اقدامات پردیس برای حفظ امنیت سرور ها :

1. استفاده از اخرین توصیه نامه های امنیتی نرم افزارهای اصلی سرور
2. مسدود کردن پرخطرترین توابع خطرپذیر PHP
3. نصب AntiShell و AntiVirus
4. اسکن های امنیتی

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

عوامل رایج هک شدن سایتها :

عوامل رایج هک شدن سایتها یک و یا چند مورد از موارد زیر می‌باشد :
1. استفاده از نرم‌افزارهای قدیمی
(معمولاً نرم‌افزارهای قدیمی دارای انواع اشکالات امنیتی می‌باشند و به دلیل قدیمی بودن این اشکالات شناخته‌شده هستند و توسط نفوذ گران استفاده می‌شود )
2. استفاده از سیستم های مدیریت محتوای قدیمی مانند جوملا 1.5 و یا ورد پرس قدیمی و یا انواع سیستم های مدیریت محتوای قدیمی
(در صورت استفاده از سیستم های مدیریت محتوای قدیمی مانند جوملای 1.5 و یا دیگر سیستم های قدیمی احتمال هک شدن سایت شما تقریباً 100 درصد می‌باشد)
3. استفاده از کدها و یا اسکریپت های ناامن و یا دارای امنیت پایین
(یکی از رایج‌ترین عوامل هک شدن استفاده از کدهای ناامن می‌باشد زیرا نفوذ از طریق کد صدها برابر ساده‌تر از نفوذ از روش‌های دیگر مانند سرور ، شبکه و یا هاست می‌باشد و تنها هکرهای بسیار حرفه‌ای توان نفوذ از روش‌های دیگر را دارند و معمولاً این هکرها تنها اقدام به نفوذ به سایت های بزرگ جهانی و یا دولتی می‌نمایند و به سایت های متوسط و کوچک نفوذ نمی‌نمایند )
4. استفاده از رمز عبور ضعیف و ساده
(یکی از رایج‌ترین عوامل هک شدن یک سایت پیدا کردن یکی از رمزهای عبور مانند رمز عبور کنترل پنل ، FTP ، دیتابیس ، admin، ایمیل ، بخش مدیریت سایت و یا یکی از رمز عبورهای سایت توسط هکر می‌باشد)
5. نصب نرم‌افزار ، ماژول ، قالب ، کامپاننت و یا پلاگین قفل شکسته
(معمولاً نفوذگر ها اقدام به شکستن قفل نرم‌افزارها می‌نمایند و سپس در آن نرم‌افزار یک در ورود پنهانی(back door)، ویروس مخفی (trojan) و یا کد مخرب قرار می‌دهند و سپس آن را به رایگان در اینترنت منتشر می‌نمایند و شما نیز ممکن است به دلیل رایگان بودن از آن استفاده نمایید. این روش یکی از رایج‌ترین روش‌های نفوذگرها برای نفوذ می‌باشد زیرا این امر موجب می‌شود پس از نصب آن نرم‌افزار، ماژول ، قالب ، کامپاننت و یا پلاگین سایت شما عملاً در اختیار هکر قرار می‌گیرد تا در زمان مناسب به آن نفوذ نماید . معمولاً این موارد در محل‌هایی بسیار مخفی قرار داده می‌شوند و پیدا کردن آن‌ها بسیار سخت و پیچیده بوده و تنها افراد دارای تخصص بسیار بالا در موضوع امینت ممکن است بتوانند این موارد مخفی را پیدا نماید)
6. نصب ماژول ، قالب ، کامپاننت و یا پلاگین قدیمی و یا دارای مشکلات امنیتی
(معمولاً هسته (بخش مرکزی – core) سیستم ها دارای امنیت مناسبی می‌باشد اما ماژول‌ها ، قالب‌ها، کامپاننت ها و یا پلاگین ها دارای امنیت بسیار پایینی می‌باشد. نفوذ از طریق هسته بسیار سخت تر از نفوذ از طرق ماژول‌ها ، قالب‌ها، کامپاننت ها و یا پلاگین ها می‌باشد به همین دلیل بیش از 90 درصد نفوذ به سیستم های از طریق ماژول‌ها ، قالب‌ها، کامپاننت ها و یا پلاگین های ناامن و یا قدیمی می‌باشد. این اشکالات معمولاً شناخته‌شده هستند و توسط نفوذ گران مورد استفاده قرار می‌گیرند)
7. عدم رعایت موارد امنیتی مربوط به نرم‌افزار مورد استفاده که توسط سازنده اعلام شده‌اند
(معمولاً هر نرم‌افزار استاندارد که دارای کیفیت و امنیت قابل قبولی باشد دارای یک راهنمای امنیتی می‌باشد که توسط تولیدکننده نرم‌افزار به استفاده‌کننده داده می‌شود که باید در هنگام نصب و استفاده آن نرم‌افزار تمامی موارد به صورت دقیق و 100 درصد رعایت گردد. معمولاً یکی از رایج‌ترین عوامل هک شدن سایت هایی که از نرم‌افزارهای استاندارد و باکیفیت استفاده می‌نمایند عدم رعایت موارد امنیتی ارائه‌شده توسط آن نرم‌افزار می‌باشد. )
8. عدم رعایت موارد امنیتی مربوط به سیستم مدیریت محتوای مورد استفاده مورد استفاده مانند تنظیم سطح دسترسی‌ها و موارد دیگر
(تمامی سیستم های مدیریت محتوای معروف و شناخته‌شده مانند جوملا ، ورد پرس و غیره که دارای کیفیت و امنیت قابل قبولی می‌باشد دارای یک راهنمای امنیتی می‌باشد که توسط تولیدکننده ارائه‌شده است که باید در هنگام نصب و استفاده از آن نرم‌افزار تمامی موارد به صورت دقیق و 100 درصد رعایت گردد. معمولاً یکی از رایج‌ترین عوامل هک شدن سایت های که از سیستم های مدیریت محتوای شناخته‌شده استفاده می‌نمایند عدم رعایت موارد امنیتی ارائه‌شده توسط آن نرم‌افزار می‌باشد. )
9. ویروسی شدن کامپیوتر مورد استفاده در مدیریت سایت
(یکی از روش‌های رایج نفوذ گران انتشار ویروس و تروجان در سطح اینترنت می‌باشد. معمولاً این نرم‌افزارهای مخرب بدون اطلاع مدیران سایت که در حال استفاده از کامپیوتر ، تبلت و یا کافی نت آلوده می‌باشند تمامی رمز عبورها را مخفیانه برای نفوذگر ارسال می‌نمایند و نفوذگر به راحتی و بدون اطلاع مدیر سایت از اینکه در زمانی رمز وی لو رفته سایت را هک می‌نمایند)
10. لو رفتن رمز عبور شما و مورد سوءاستفاده قرار گرفتن توسط شخص ثالث
(روش‌های لو رفتن رمز عبور بسیار متعدد می‌باشند برای نمونه دیدن تایپ رمز عبور توسط شخص دیگر و حفظ کردن آن، لو رفتن توسط کارمندان و یا همکاران ناراضی، قرار دادن نرم‌افزار جاسوس بر روی کامپیوتر فرد، ساده بودن رمز عبور و پیدا کردن آن با استفاده از روش‌های bruteforce ، حدس زدن رمز عبور مانند شماره تلفن و شماره شناسنامه و یا هر نوع رمز قابل حدس دیگر. ویروس‌ها و تروجان ها، قرار دادن رمزها در محل ناامن مانند فلش دیسک یا ایمیل که در صورت لو رفتن رمز ایمیل تمام رمزهای دیگر نیز لو می روند ، مهندسی اجتماعی و ده‌ها روش دیگر که توسط نفوذگر ها مورد استفاده قرار می‌گیرد و فرد بدون اینکه خودش اطلاع داشته باشد رمزش لو رفته است و بعد ها در زمانی مناسب رمز مورد سوءاستفاده قرار می‌گیرد.

راه حل‌های پیشنهادی :

راه حل‌های پیشنهادی موارد زیر می‌باشد :
1. توصیه می شود در صورتی که شما مطمئن هستید بسیاری از موارد بالا را رعایت ننموده اید، موقتاً سایت خود را تا رفع مشکلات امنیتی متوقف نموده و از کار بی اندازید.
2. از امن بودن کامل کامپیوتر شخصی خود مطمئن شوید و یک نرم‌افزار ضد ویروس قوی بر روی آن نصب نمایید و در صورت نیاز سیستم‌عامل و تمامی اطلاعات آن را حذف و مجدد سیستم‌عامل نصب نمایید.
3. تمامی رمزهای کنترل پنل هاست و ناحیه کاربری و ایمیل‌های خود را به یک رمز بسیار قوی و غیرقابل حدس تغییر دهید.
4. تمامی ماژول‌ها ، قالب‌ها، کامپاننت ها و یا پلاگین های سایت خود را کامل حذف نمایید
5. شما باید از عدم وجود ویروس و یا کدهای مخرب مخفی بر روی سایت خود مطمئن شوید. این مرحله بسیار سخت و پیچیده می‌باشد زیرا معمولاً هکر ها از کدهای مخرب مخفی ، شل‌ها و ویروس‌هایی استفاده می‌نمایند که بسیار پیچیده و مخفی می‌باشند. نرم‌افزارهای رایج آنتی ویروس و سیستم های ضد ویروس موجود در سرور و شبکه تنها توانایی تشخیص ویروس‌های شناخته‌شده و معروف را دارند و هکر ها هم با آگاهی از این موضوع و جهت جلوگیری از شناخته شدن کدهای خود معمولاً از شل‌ها ، ویروس‌ها و کدهای مخرب مشهور و شناخته‌شده که در اینترنت منتشرشده‌اند و شما می‌توانید آن‌ها را دانلود نمایید استفاده نمی‌نماید بلکه از کدهای تغییریافته و اختصاصی و مخفی استفاده می‌نماید که معمولاً توسط هیچ نرم‌افزار ضد ویروسی شناسایی نمی‌گردند.
6. تمامی نرم‌افزارها و یا سیستم های مدیریت محتوای سایت خود را به آخرین نسخه به‌روزرسانی نمایید. برای نمونه آخرین نسخه سیستم مدیریت محتوای جوملا و یا وردپرس
7. کدهای خود را به صورت دقیق و کامل از لحاظ امنیت و توسط یک فرد متخصص بررسی نموده و آن را امن کنید.
8. معمولاً یکی از رایج‌ترین عوامل هک شدن ضعف امنیتی کدهای سایت می‌باشد. در صورتی که شما از یکی از سیستم های مدیریت محتوای معروف استفاده نمی‌نمایید و کدهای شما توسط یک برنامه‌نویس تهیه شده است باید کدهای خود را از لحاظ امینت به طور کامل و دقیق بررسی نمایید. زیرا نفوذ از طریق کد صدها برابر ساده‌تر از نفوذ از طرق دیگر مانند سرور ، شبکه و یا هاست می‌باشد و تنها هکر های بسیار حرفه‌ای توان نفوذ از روش‌های دیگر را دارند و معمولاً این هکر ها تنها اقدام به نفوذ به سایت های بزرگ جهانی و دولتی می‌نمایند و به سایت های متوسط و کوچک نفوذ نمی‌نمایند )
9. معمولاً هسته (بخش مرکزی – core ) سیستم ها دارای امنیت مناسبی می‌باشد اما ماژول‌ها ، قالب‌ها، کامپاننت ها و یا پلاگین ها دارای امنیت بسیار پایینی می‌باشد.تا حد ممکن هرگز از ماژول ، قالب ، کامپاننت و یا پلاگین اضافی بر روی سایت خود استفاده ننمایید.
10. در صورت نیاز حتمی به استفاده از ماژول ، قالب ، کامپاننت و یا پلاگین اضافی بر روی سایت خود از بروز بودن و امن بودن آن‌ها اطمینان حاصل نمایید و هرگز از سیستم های قدیمی و یا ناامن استفاده ننمایید زیرا در آن حالت احتمال هک شدن شما تقریباً 100 درصد خواهد بود اما به طور کل این مورد توصیه نمی‌شود.
11. هرگز از نرم‌افزار ، ماژول ، قالب ، کامپاننت و یا پلاگین قفل شکسته استفاده ننمایید زیرا با استفاده از آن‌ها احتمال مورد نفوذ قرار گرفتن شما تقریباً 100 درصد خواهد بود.
12. راهنمای امنیتی تک‌تک نرم‌افزارها ، ماژول‌ها ، قالب‌ها، کامپاننت ها و پلاگین های مورد استفاده خود را به صورت کامل و دقیق مطالعه نموده و تمامی مراحل آن را به طول 100 درصد و دقیق انجام دهید زیرا انجام ندادن حتی یکی از موارد امنیتی می‌تواند منجر به هک شدن سایت شما گردد. این مورد یکی از رایج‌ترین علل نفوذ می‌باشد
برای نمونه چند راهنمای امنیتی در زیر ارائه‌شده است و برای پیدا کردن راهنمای امنیتی نرم‌افزار ، ماژول ، قالب ، کامپاننت و یا پلاگین در اینترنت جستجو نمایید و یا از تولیدکننده آن نرم‌افزار دریافت نمایید.
ورد پرس :
http://www.maketecheasier.com/improve-wordpress-security-with-this-checklist/2013/02/04
http://codex.wordpress.org/Hardening_WordPress
http://fooplugins.com/wordpress-brute-force-attack-checklist
جوملا :
http://docs.joomla.org/Security_Checklist/Getting_Started#The_most_important_guidelines
http://docs.joomla.org/Security_Checklist/Site_Administration
http://docs.joomla.org/Security_Checklist/You_have_been_hacked_or_defaced
http://extensions.joomla.org/extensions/access-a-security/site-security/site-protection/19451
http://docs.joomla.org/Vulnerable_Extensions_List
http://forum.joomla.org/viewtopic.php?f=621&p=2371858#p2371858
http://docs.joomla.org/Top_10_Stupidest_Administrator_Tricks
http://www.siteground.com/tutorials/joomla15/joomla_security.htm
http://www.siteground.com/joomla-hosting/joomla-extensions/ver1.5/jhack.htm
توجه: موارد بالا تنها برای بخش اصلی (هسته – core)جوملا و وردپرس بوده و کافی نمی‌باشند و شما باید موارد کامل تر را جستجو و پیدا نمایید. همچنین برای تک‌تک نرم‌افزارها ، ماژول‌ها ، قالب‌ها، کامپاننت ها و پلاگین های نصب‌شده باید موارد امنیتی رعایت گردد و نه فقط سیستم اصلی
10. از یک متخصص امنیت درخواست نمایید امنیت تمامی بخش‌های سایت شما را بررسی نماید.
11. پس از اطمینان از امن بودن تمامی موارد بالا تمامی رمزهای دسترسی به سیستم خود را مجدد و به طور کامل به یک رمز بسیار قوی و غیرقابل حدس تغییر دهید. رمز عبور ایمیل‌های شخصی ، ناحیه کاربری، کنترل پنل هاست ،FTP ، دیتابیس،Admin ،ایمیل‌های هاست، بخش مدیرت سایت و به طور کل تمامی رمزهای عبور دیگر.
12. در صورت حصول اطمینان از امن بودن سایت خود مجدد آن را فعال نمایید.
13. در دوره‌های زمانی کوتاه تمامی رمزهای عبور خود شامل موارد ذکرشده در بالا را تغییر دهید

نکته مهم: بیش از 99 درصد نفوذهای اینترنتی از طریق ضعف کدها می‌باشد و نه از طریق هاست ، سرور و یا شبکه زیرا به دلیل امینت بالای سیستم‌عامل‌های امروزی(لینوکس و ویندوز) و قدرت بالای تجهیزات شبکه امروزی مانند UTM ها و Firewall ها نفوذ از طریق هاست ، سرور و یا شبکه حتی در یک هاست بسیار ناامن بسیار سخت تر از نفوذ از طریق ضعف کد می‌باشد چه برسد به نفوذ به یک هاست و یا سرور دارای امنیت بالا. معمولاً تنها هکر های بسیار حرفه‌ای توان نفوذ از روش‌های دیگر را دارند و معمولاً این هکر ها تنها اقدام به نفوذ به سایت های بزرگ دولتی و جهانی می‌نمایند و به سایت های متوسط و کوچک نفوذ نمی‌نمایند . هنگامی که یک سایت از روشی غیر از هاست ، سرور و یا شبکه مورد نفوذ قرار گیرد تنها یک سایت هک نشده و تمامی و یا تعدادی از سایت ها مورد نفوذ قرار می‌گیرد ولی هنگامی که یک سایت تنها مورد نفوذ قرار می‌گیرد با احتمال تقریباً 100 به علت عدم رعایت یک و یا چند مورد از موارد امنیتی ذکرشده در بالا می‌باشد.

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

این مقاله توسط تیم امنیتی برتینا تهیه شده است.