توصیه های کلی جهت برقراری امنیت سایت
1.استفاده از
آنتی ویروس جهت جلوگیری از نفوذ به کامپیوتر ادمین سایت: در صورت نفوذ و هک سیستم ادمین، هکر می تواند به تمامی رمزهای عبور از جمله
رمز کنترل پنل (
مدیریت سایت،
هاست ،
دیتابیس و...) دسترسی پیدا کند.
2.تعریف
رمز عبور پیچیده و تغییر دوره ای تمامی رمزهای عبور احتمال بروز مشکلات امنیتی را کاهش می دهد.
3.محدودیت دسترسی براساس آی پی (
IP Blocking) : درصورتی که دسترسی مدیران سایت تنها از
IP های مجاز امکان پذیر باشد، هکرها حتی با داشتن نام کاربری و رمز عبور امکان ورود با IP خارج از محدوده IP های مجاز را ندارند.
4.تعریف
سطوح دسترسی برای مدیران و کاربران (برروی هاست و سایت):
Confidentiality یکی از
اصول امنیت شبکه بوده و طبق آن تنها کاربران مجاز می توانند به اطلاعات مشخص دسترسی داشته باشند. تعریف سطوح دسترسی و محدود کردن دسترسی کاربران به اطلاعات طبقه بندی شده در سایت کمک شایانی به
حفظ امنیت اطلاعات می نماید، به عنوان مثال
دسترسی Write می بایست برای کاربران محدود گردد.
برخی از حملات شبکه و سرور
حمله به سرور و استفاده از شل کد:
در صورتی که تمامی تدابیر امنیتی (شبکه و برنامه نویسی) برروی سایت شما رعایت شده باشد، باز امکان نفوذ وجود دارد. هکر می تواند با پیداکردن سرور سایت شما و هک کردن سایت دیگری با امنیت پایین برروی همان سرور، از یک شل کد جهت دسترسی به کلیه فایل های روی آن سرور از جمله فایل های سایت شما استفاده نماید.
حملات تکذیب سرویس (DOS (Denial Of Service
در این نوع حملات، هکر با استفاده از ارسال درخواست های بیشمار موجب افزایش درخواست از سرویس دهنده شده و از دسترسی کاربران مجاز به سرویس ها و اطلاعات سرویس دهنده جلوگیری می کند و سایت از دسترس خارج می شود. ارسال spam نمونه ای از این نوع حملات است. همچنین در حملات (DDOS (Distributed Of Service مهاجم به صورت توزیع شده از یک یا چند کامپیوتر قربانی اقدام به حمله از نوع DOS می نماید.
حملات Land, Winuk, Ping Of Death, ICMP, SYN Flood, Teardrop و... از این نوع هستند.
نشانه های این نوع حملات، عدم دسترسی به سایت، افزایش Spam، عدم اتصال به دیتابیس، کاهش سرعت بارگذاری صفحات و... می باشد.
روش های پیشگیرانه از حملات شبکه و سرور
استفاده از (SSL(Secure Socket Layer:
تبادل اطلاعات مهم از جمله مشخصات حساب بانکی، رمزهای عبور و ...با استفاده از پروتکل HTTP ناامن بوده و امکان نفوذ و هک در این موارد وجود خواهد داشت به همین دلیل می بایست از SSL استفاده شود.
رمز نگاری پیشرفته اطلاعات:
هنگام تبادل اطلاعات برروی شبکه امکان نشت اطلاعات و استراق سمع توسط هکر وجود دارد. در صورتی که اطلاعات بدون رمزنگاری یا به صورت رمزنگاری ساده برروی شبکه تبادل شود، دسترسی به اطلاعات بسیار آسان خواهد بود. به منظور جلوگیری از این مورد، می توان با استفاده از رمزنگاری پیشرفته مانند توابع Hash در صورت نشت اطلاعات از دسترسی هکر به محتوای آن جلوگیری کرد.
تهیه میزبانی سایت از دیتاسنترهای معتبر:
صاحبان وب سایت با تهیه سرویس میزبانی یا سرور اختصاصی از شرکت های هاستینگ معتبر تا حدود زیادی می توانند از امنیت سایت خود مطمئن باشند. دیتا سنترهای معتبر با استفاده از Firewall سخت افزاری و نرم افزاری، نرم افزارهای مانیتورینگ شبکه، آنتی ویروس ها، DDos Protection و Anti Spam از حملات هکرها جلوگیری می نمایند. همچنین در صورت بروز حمله و یا وضعیت غیرعادی به دلیل دارا بودن پشیبانی 24 ساعته ( چک کردن مداوم وضعیت شبکه و سرورها) از بروز حمله جلوگیری می کنند.
برخی از حفره های امنیتی در کد نویسی سایت
وارد کردن کدهای غیر مجاز (Query) و دسترسی به دیتابیس سایت توسط هکرها، تزریق کد نام دارد. هکر می تواند با ورود کد موجب بروز خطا در دیتابیس شده و با استفاده از آن به اطلاعات دیتابیس بدون مجوز، دسترسی پیدا کند. وجود باگ در کد نویسی صفحه Login و یا وجود اطلاعات دیتابیس در URL صفحه اجازه تزریق کد را می دهد. یکی از راههای پیشگیری از این مشکل استفاده از Store Procedure به جای Query String در کد نویسی صفحات می باشد.
LFI) Local File Inclusion):
اشتباهات برنامه نویسی هنگام استفاده از توابعی مانند Require و Include که فایل یا صفحه ای را فراخوانی می کنند، موجب می شود تا هکر امکان مشاهده ی فایل های سایت را پیدا کند.
XSS) Cross Site Scripting):
وجود این باگ امکان وارد کردن و اجرای کدهای Java Script رابه هکر می دهد، که موجب نفوذ در سیستم و استخراج اطلاعات می گردد. از جمله مشکلات ناشی از این باگ، دسترسی هکر به اطلاعات Session و اکانت کاربران سایت می باشد.
روش پیشگیری از XSS: در صورت وجود امکان آپلود فایل توسط کاربران، می بایست فرمت فایل ارسالی محدود شود.
برخی از روش های پیشگیری از حفره های امنیتی کد نویسی:
1.در صورت عدم تبحر در برنامه نویسی، دسترسی مداوم به وب مستر و برنامه نویس حرفه ای جهت کد نویسی و بروز رسانی سایت و اهمیت برقراری امنیت وب سایت، شما می توانید با استفاده از سیستم های مدیریت محتوای مناسب (CMS، پورتال) سایت خود را طراحی نمایید. در صورتی که این نوع نرم افزارها توسط شرکت های معتبر و تیم های حرفه ای برنامه نویسی تولید شده باشد، تدابیر امنیتی و استانداردهای کد نویسی در آنها رعایت شده و شما دیگر نگران اینگونه حملات نخواهید بود.
2.هنگامی که شما به عنوان برنامه نویس تحت وب اقدام به کدنویسی سایت می نمایید می بایست تمامی تدابیر امنیتی از جمله مواردی که در امنیت دیتابیس، Session ها و...مانند کد گذاری یکطرفه و متقارن موثر است را رعایت نموده و از توابع و متدها به صورت صحیح و در جای مناسب استفاده نمایید.
3.از کدها و اسکریپت های آماده ناامن استفاده ننمایید. زیرا ممکن است این کدها دارای امنیت پایین بوده و یا توسط هکرها جهت نفوذ برروی اینترنت ارائه شده باشند.
4.درهنگام طراحی سایت با استفاده از سیستم های مدیریت محتوای Open Source مانند ورد پرس و جوملا موارد امنیتی مربوط به آنها را هنگام نصب نرم افزار رعایت نموده، همچنین از جدیدترین نسخه های ارائه شده استفاده نمایید.
5.بهتر است پس از کد نویسی، سایت از نظر امنیت توسط یک متخصص امنیت سایت بررسی شود.