9نکات امنیتی برای محافظت از وب سایت شما از هکر
در این مقاله توصیه های مهم را برای بهینه سازی امنیت وب سایت در طراحی سایت آموزش میدهیم.
با توجه به میزان اطلاعاتی که در پیام های خطای دارید مراقب باشید. برای اطمینان از اینکه اسرار موجود در سرور شما (مثلا کلید API یا کلمه عبور پایگاه داده) نادرست است.
فقط خطاهای حداقل را برای کاربران خود ارائه دهید. جزئیات کامل استثنائی را ارائه ندهید، زیرا این می تواند حملات پیچیده مانند تزریق SQL را بسیار ساده تر کند.
خطاهای جزئی را در سرور خود نگه دارید و فقط به کاربران اطلاعاتی را که نیاز دارند نشان دهید.
تأیید باید همیشه در مرورگر و طرف سرور انجام شود. مرورگر می تواند از خرابی های ساده مانند فیلدهای اجباری خالی و هنگام وارد کردن متن به فیلد فقط اعداد عبور کند.
با این حال می توانید از آنها دور شوید و باید اطمینان حاصل کنید که این اعتبارسنجی و اعتبارسنجی عمیق تر از طرف سرور ،به دلیل عدم انجام این کار می تواند به کد مخرب یا کد اسکریپت در پایگاه داده وارد شود یا موجب ایجاد نتایج نامطلوب در وب سایت شما شود.
همه می دانند که باید از کلمه عبور پیچیده استفاده کنند، اما این بدان معنی نیست که همیشه انجام می شود. مهم است که از کلمات عبور قوی برای سرور و ناحیه وبسایت خود استفاده کنید،
اما برای حفظ امنیت حسابهای کاربری، اصرار داشتن بر روی شیوه های رمز عبور خوب لازم است.
همانطور که کاربران ممکن است آن را دوست نداشته باشند، اجرای الزامات رمز عبور مانند حداقل هشت کاراکتر، شامل حرف بزرگ و شماره، به حفظ اطلاعات خود در طولانی مدت کمک می کند.
رمزهای عبور همیشه باید به عنوان مقادیر رمزگذاری ذخیره شوند، ترجیحا با استفاده از یک الگوریتم هش کردن یک طرفه مانند ،SHA.
در صورتی که کسی هک کردن و سرقت گذرواژههای خود را داشته باشد، استفاده از گذرواژههای هشدار میتواند به محدودیت خسارت کمک کند، زیرا رمزگشایی آنها امکانپذیر نیست.
خوشبختانه بسیاری از CMS ها از مدیریت جعبه استفاده می کنند که بسیاری از ویژگی های امنیتی وب سایت ساخته شده را دارند.
اگرچه ممکن است برخی از پیکربندی ها یا ماژول های اضافی برای استفاده از کلمه عبور شور (قبل از دروپال 7) یا حداقل قدرت رمز عبور تنظیم شود. اگر از دات نت استفاده می کنید. ارزش استفاده از ارائه دهندگان عضویت به دلیل اینکه آنها بسیار قابل تنظیم هستند، امنیت وب سایت داخلی را فراهم می کنند و شامل کنترل های آماده سازی برای ورود و تنظیم مجدد رمز عبور می باشد.
اجازه دادن به کاربران برای آپلود فایل ها به وب سایت شما می تواند خطر امنیتی وب سایت رابه خطراندازد ممکن است که هر فایل آپلود شده یک اسکریپت داشته باشد .که هنگام اجرای آن بر روی سرور شما به طور کامل وب سایت شما را باز می کند.
اگر یک فایل آپلود داشته باشید، باید همه فایل ها را با سوء ظن زیاد درمان کنید. اگر شما به کاربران اجازه آپلود تصاویر را می دهید، نمی توانید بر روی فرمت فایل یا نوع MIME تکیه کنید تا مطمئن شوید که فایل یک تصویر است زیرا این می تواند به راحتی جعلی باشد.
حتی باز کردن فایل و خواندن هدر، و یا استفاده از توابع برای بررسی اندازه تصویر، اثبات کامل نیست. اکثر فرمت های تصاویر اجازه ذخیره یک بخش نظر را می دهند که می تواند شامل کد پی اچ پی باشد توسط سرور اجرا شود.
برای جلوگیری از این کار و جلوگیری از دسترسی کاربران به هر فایل که آپلود می کنید. به طور پیش فرض سرورهای وب سعی نمی کنند فایل ها را با پسوند های تصویری اجرا کنند.اما توصیه نمی شود تنها به بررسی پسوند فایل به عنوان یک فایل با نام image.jpg.php شناخته شده است.
تا اطمینان حاصل شود که فرمت فایل صحیح باشد یا برای تغییر مجوز فایل، به عنوان مثال، chmod 0666 بنابراین نمیتوان آن را اجرا کرد.
در صورت استفاده از * nix شما می توانید یک فایل .htaccess ایجاد کنید (به زیر مراجعه کنید) که تنها اجازه دسترسی به تنظیمات فایل را میدهد که جلوگیری از حمله دوبارۀ افزونه ذکر شده است.
در نهایت، راه حل توصیه شده برای جلوگیری از دسترسی مستقیم به فایل های آپلود شده است. به این ترتیب، هر فایل ارسال شده به وب سایت شما در یک پوشه خارج از webroot یا در پایگاه داده به عنوان یک حباب ذخیره می شود.
اگر پرونده های شما به طور مستقیم در دسترس نباشد، شما باید یک اسکریپت برای استخراج فایل ها از پوشه خصوصی یا یک متد HTTP در .NET ایجاد کنید و آنها را به مرورگر ارسال کنید. برچسب های تصویر از یک ویژگی src پشتیبانی می کند که یک URL مستقیم برای یک تصویر نیست.
بنابراین ویژگی src شما می تواند به اسکریپت تحویل فایل شما اشاره کند که نوع محتوای صحیح آن را در هدر HTTP تنظیم می کند.
بیشتر ارائه دهندگان میزبانی با پیکربندی سرور برای شما مقابله می کنند، اما اگر شما وب سایت خود را در سرور خود میزبانی می کنید، چند چیز وجود دارد که می خواهید بررسی کنید.
و تمام پورت های غیر ضروری را مسدود می کند. اگر چه از طریق شبکه داخلی به سرور دسترسی ندارید، ممکن است این امکان وجود نداشته باشد زیرا شما باید پورت ها را باز کنید تا اجازه آپلود فایل ها را داشته باشید و از راه دور به سرور خود بر روی SSH یا RDP وارد شوید.
اگر اجازه می دهید فایل ها از طریق اینترنت آپلود شوند، از روش های حمل و نقل امن به سرور خود مانند SFTP یا SSH استفاده کنید.
در صورت امکان، پایگاه داده شما در یک سرور متفاوت با سرور وب شما اجرا می شود. انجام این کار به این معنی است که سرور پایگاه داده را نمی توان مستقیما از دنیای بیرون مشاهده کرد، تنها وب سرور شما می تواند به آن دسترسی پیدا کند،
در نهایت، درباره محدود کردن دسترسی فیزیکی به سرور خودرا فراموش نکنید.
HTTPS یک پروتکل است که برای تامین امنیت در اینترنت استفاده می شود. HTTPS به کاربران تضمین می کند که آنها با سرور مورد نظر خود صحبت می کنند و هیچ کس دیگر نمی تواند محتوای مورد نظر خود را در زمان حمل و نقل تغییر دهد.
بسیار توصیه میشودهر چیزی را که کاربران ممکن است خصوصی بخواهند،تنها از HTTPS برای ارائه آن استفاده کنید.
هنگامی که شما فکر می کنید تمام کارها را انجام داده اید، زمان آن است که بتوانید امنیت وب سایت خود را تست کنید. موثرترین راه برای انجام این کار، استفاده از برخی از ابزارهای امنیتی وب سایت است که اغلب به عنوان تست نفوذ شناخته می شود.
بسیاری از محصولات تجاری و رایگان برای کمک به شما در این زمینه وجود دارد. آنها به روش مشابهی به اسکریپتهایی که هکرها در آن کار می کنند، کار می کنند و تلاش می کنند تا با استفاده از برخی از روش های پیشین ذکر شده مانند تزریق SQL، سایت خود را به خطر بیندازید.
برخی از ابزارهای رایگان که ارزش دیدن دارند
Netsparker نسخه رایگان جامعه و نسخه آزمایشی در دسترس است. برای آزمایش تزریق SQL و XSS خوب است.
OpenVAS ادعا می کند که پیشرفته ترین اسکنر امنیتی منبع باز است. برای تست آسیب پذیری های شناخته شده، در حال حاضر بیش از 25،000 اسکن می کند.
SecurityHeaders.io چک آنلاین رایگان. یک ابزار برای گزارش سریع اینکه کدام هدرهای امنیتی ذکر شده در بالا مانند CSP و HSTS یک دامنه فعال است و به درستی پیکربندی شده است.
نتایج آزمایشات خودکار می تواند ناخوشایند باشد، زیرا آنها بسیاری از مسائل بالقوه را ارائه می دهند. مهم این است که ابتدا به مسائل حیاتی تمرکز کنید.
امیدوارم این نکات به حفظ اطلاعات سایت و اطلاعات شما کمک کند. خوشبختانه اکثر CMS ها دارای بسیاری از ویژگی های امنیتی وب سایت داخلی هستند، اما هنوز هم یک ایده خوب برای شناختن سوء استفاده های امنیتی رایج است، بنابراین می توانید اطمینان حاصل کنید که پوشش داده شده است.
همچنین برخی از ماژول های مفید موجود برای CMS ها برای بررسی نصب شما برای نقص امنیتی رایج مانند Security Review for Drupal و WP Security Scan برای WordPress وجود دارد.