• چه تمهیدات امنیتی ای در نرم افزار داده ورزان، اندیشیده شده ؟

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

      1.    تغییر نام فولدر ادمین : فولدر ادمین در هر یک از وب سایتهای اینترنتی راه اندازی شده با پرتال داده ورزان دارای یک آدرس منحصر به فرد بوده و صرفا مدیر سایت از این آدرس اطلاع دارد . به عنوان نمونه فولدر ادمین در سایت خبرگزاری وزارت راه : rahnews نام فولدر ادمین می باشد .
      2.    استفاده از قابلیت فولدر امن در کنترل پنل هاست : با عنایت به امنیت لحاظ شده در قابلیت Protected Directories هاست ، فولدر ادمین نرم افزار داده ورزان، به صورت Secure Folder تعریف گردیده است ، لذا برای دسترسی کاربران به آن می بایست ، نام کاربری . کلمه عبور ویژه وارد گردد . این نام کاربری و کلمه عبور از هر سایت به سایت دیگر متفاوت است .
      3.    استفاده از نام کاربری . کلمه عبور متفاوت برای هر وب سایت : نام کاربری و کلمه عبور سایت که به وسیله کد تولید می شود ، در هر یک از وب سایتهای راه اندازی شده با پرتال داده ورزان با یکدیگر متفاوت بوده و در حالی که اکثر سیستم مدیریت محتوا های موجود نام کاربری و کلمه عبور مشخص دارند ( به عنوان نمونه admin ) ، اما پرتال داده ورزان برای هر یک از وب سایتهای اینترنتی از نام کاربری و کلمه عبور متفاوت استفاده می نماید .
      4.    تعریف نام کاربری و کلمه عبور با شرایط و ویژگیهای خاص : با عنایت به تعریف نام کاربری . کلمه عبور امن ، پرتال داده ورزان سعی بر آن دارد تا در تمامی نامهای کاربری و کلمات عبور استفاده شده در نرم افزار از قواعد زیر تبعیت نماید :
      a.    عدم استفاده از نام کاربری و کلمه عبور قابل حدس در وب سایتها
      b.    استفاده از مجموع کاراکتر ، حروف بزرگ و کوچک ، علایم و خط فاصله در نام کاربری و کلمه عبور
      5.    اعطای Write Permission ، به فولدرهای مورد نیاز قبل از نوشتن فایل بر روی آن  و حذف آن پس از اتمام کار : چنانچه یکی از فولدر های سایت مانند فولدر image نیاز به مجوز write داشته باشد ، ابتدا در کد این مجوز اعطا شده و بلافاصله پس از انجام کار ، مجوز گرفته می شود .
      6.    استفاده از Error Handler  : زمانی که خطاهای نرم افزار ، به شکل مناسبی مدیریت نشوند ، در صفحاتی از سایت که دچار خطا یا اشتباه شده ، اطلاعات مهمی نمایش داده می شود که امکان سوء استفاده از آنها وجود خواهد داشت . در پرتال داده ورزان علاوه بر از کار انداختن خطاهای نرم افزار ، با استفاده هوشمندانه از قابلیت ارور هندلینگ سعی شده تا با نمایش پیغام های خطای سوری (غیر واقعی) ، هکرها را گمراه و سردرگم نموده و از هک سایت جلوگیری گردد .
      7.    تست و بررسی درستی ورودی های کاربر : با عنایت به اینکه ، معمولا بیشترین حمله هکرها به برنامه های تحت وب از طریق فرم ها ی تعاملی برنامه و کاربران صورت می پذیرد ، در پرتال داده ورزان کلیه مقادیر ورودی کابران در فرمها  ، هم به صورت client Side و هم به صورت Server  Side اعتبار سنجی و ولیدیت می شود .
      8.    جلوگیری از Cross site scripting  یا  XSS: در کلیه مداخل ورودی سایت مانند باکس جستجو  ... ، سعی شده تا از تزریق Script در سایت جلوگیری شود .
      9.    محافظت در برابر  SQL Injection: در کلیه دستورات برقراری ارتباط با پایگاه داده سایت ، در نظر گرفته شده است تا از SQL Injection  ، ممانعت شده و به هیچ عنوان از تک کوتیشن یا دابل کوتیشن غیر مجاز استفاده نگردد .
      10.    استفاده از Stored Procedure به جای دستورات مستقیم SQL در کدنویسی : با عنیات به اینکه استفاده از Stored Procedure به جای دستورات اس کیو ال می تواند به افزایش امنیت و البته کارایی سایت کمک نماید ، در تمامی بخشهای سایت سعی شده است تا از Stored Procedure به جای SQL استفاده شود .
      11.    ممانعت از Injection flaws : در تمامی مداخل ورودی پرتال ، آدرس ها و URL های نرم افزار سعی شده تا صرفاً کاراکترها و فرمتهای مجاز در پرتال وارد شود و از هرگونه ورود کاراکترها یا حروف یا فرمتهای غیر مجاز در URL یا InputBox های نرم افزار جلوگیری شود .
      12.    ممانعت از Malicious file execution : در تمامی بخشهایی که به هر نحوی قرار است ، فایلی آپلود گردد ، فرمت فایل به صورت دقیق بررسی شده و در صورت غیر مجاز بودن فایل ، هم به لحاظ فرمت ( ASP , PHP , … ) و هم به لحاظ حجم و ... بررسی و اعتبار سنجی می شود .
      13.    ممانعت از بروزBroken authentication and session management  : در تمامی بخشهای سایت سعی شده است تا با رمزنگاری و استفاده از SSL ، از موضوع از دست رفتن Session و کوکی و یا نیمه کاره رها شدن آنها جلوگیری شود .
      14.    Secure cryptographic storage: سعی شده تا کلیه اطلاعات مهم مانند نام کاربری و کلمه عبور در نرم افزار به صورت رمزنگاری و اینکریپت شده ، ذخیره و جابجا شود .
      15.    جلوگیری از دیتا اسنیفرینگ : با تغییر جاوا اسکریپت نام کاربری و کلمه عبور هنگام ارسال از باکس لاگین در سایت ، سعی شده با تغییر کلاینت ساید آن از دیتا اسنیفرینگ  ممانعت گردد .
      16.    جلوگری از دسترسی بدون مجوز کاربران به صفحات بخش ادمین بدون لاگین : برخی از صفحات سایت (مانند صفحات بخش مدیریت) تنها در اختیار کاربرانی با دسترسی خاص بوده و طبیعتاً با تایپ مجدد آدرس آنها در مرورگر ، حق دسترسی به آن وجود نخواهد داشت .
      17.    استفاده از SSL برای مشتریان خاص : در صورت درخواست مشتریان این امکان وجود دارد تا از SSL برای بخش مدیریت وب سایت اینترنتی ایشان استفاده شود .
      18.    عدم استفاده از متغیرهای از پیش تعریف نشده در کد : برخی موارد امنیتی ریز ، در کد نویسی پرتال داده ورزان رعایت شده اند که منجمله می توان به عدم استفاده از متغیرهای  بدون تعریف در هیچ کجای نرم افزار اشاره نمود .
      19.    ثبت ردپای کاربران و نظارت بر آن : پرتال داده ورزان با ثبت ردپای کاربران و تحت نظر گرفتن IP ایشان و نحوه حرکت در سایت و پارامترهایی مانند میزان صفحات درخواست شده در هر ثانیه به وسیله یک آی پی مشخص ، سعی در جلوگیری از موتور گذاشتن روی سایت و تخریب آن می باشد .
      20.    توانمندی سایت در تولید خروجی HTML : قبل از اینکه به سراغ نحوه پیاده سازی سایت بانک سامان با قابلیت HTML سازی برویم ، ابتدا می بایست با تفاوت فایلهای HTML با فایلهای ASP ، PHP ، JSP و ... آشنا شوید .
      هنگامی که شما درخواست نمایش صفحه ای  که به صورت فایلهای ASP یا PHP و ... برنامه نویسی شده است را می نمایید ، ابتدا این فایل بر روی سرویس دهنده اینترنتی ( هاست ) اجرا می شود و اطلاعات مورد درخواست شما ، از دیتابیس استخراج شده و پس از انجام پروسه هایی ، فایل HTML ای تولید شده و برای مرورگر شما ارسال می گردد . به این ترتیب شما صفحه مورد نظرتان را مشاهده می نمایید .
      به عنوان نمونه فرض کنید شما آدرس یک وب سایت اینترنتی را در نوار آدرس مرورگرتان تایپ می کنید و کلید اینتر را می فشارید ، به این ترتیب سرویس دهنده اینترنتی ، تاریخ امروز را چک کرده و اخبار ، مطالب و محتویات مربوط به این تاریخ را از بین سایر اطلاعات موجود در دیتابیس استخراج کرده و با کنار هم قراردادن این بخش ها ، فایل خروجی را به صورت HTML برای مرورگر شما ارسال می نماید .
      با هر بار درخواست هر بازدیدکننده سایت ، برای مشاهده یکی از صفحات سایت شما ، این پروسه یک بار به شکل کامل انجام می شود . لذا تولید این فایلها پروسه زیادی را به سرور تحمیل کرده و زمانی برای تولید هر یک از صفحات مورد درخواست بازدیدکنندگان صرف خواهد شد . البته با توجه به سرعت زیاد کامپیوترهای سرویس دهنده ، این زمان از چند ثانیه تجاوز نخواهد کرد ولی زمانی این قضیه به شکلی کاملا مشهود رخ می نماید که تعداد زیادی بازدیدکنندگان ، در آن واحد درخواست نمایش یکی از صفحات شما را ( مانند صفحه homePage ) نمایند یا از سایت شما بازدید کنند .
      یکی از محاسن سایتهای استاتیک که به صورت فایلهای HTML طراحی می شوند و بر روی هاست آپلود می گردند این است که به جای اینکه هاست ، هر بار لازم باشد فایل مورد درخواست کاربر را تولید نماید ، صرفا بدون انجام هیچ پروسه ای فایل مورد نظر را برای وی ارسال می نماید . اما سایتهای استاتیک در برابر این حسن ، عیب بسیار مهمی دارند و آنهم این است که در سایتهای استاتیک ، قابلیت به روز رسانی وجود ندارد . به عنوان نمونه فرض نمایید که شما می خواهید خبر مهمی را بر روی سایتتان قرار دهید . در این صورت تنها راه چاره تماس با شرکت طراح سایتتان است تا صفحه HTML مربوط به این خبر را به صورت دستی تولید نماید ( این شرکت نیز پس از دریافت مبلغ انجام این کار ، فایل را با دو روز کار ، بر روی هاست قرار می دهد ) این زمانی است که دیگر این خبر اهمیت چندانی ندارد .
      امنیت اینگونه طراحی ( HTML ) نیز بسیار بالاتر از حالت عادی است و علت آن این است که معمولا نفوذگران اینترنتی ( هکرها ) با دور زدن کد نویسی های انجام شده ، توسط تیم برنامه نویسی ، به اینگونه سایتها نفوذ می نمایند.
      برای واضح تر شدن قضیه بیایید یک مثال را دنبال نماییم : فرض کنید شما در وب سایت خود نام کاربری و کلمه عبور را اعتبارسنجی می نمایید تا مطمئن شوید که کسی که لاگین می نماید ، همان مدیر سایت است . در این حالت کافی است ، هکر با نرم افزارهای ویژه ای ، نام کاربری و کلمه عبورتان را شنود نماید  . به همین راحتی می تواند در سایت شما نفوذ کند .
      اما وقتی سایت شما استاتیک به نظر می رسد و لاگین در آن مشاهده نمی شود ، به معنای این است که دست ایشان از نفوذ به سایت ، تا حد بسیار زیادی کوتاه می شود .
      در پایان باید یک مطلب دیگر را نیز خاطر نشان نمایم و آنهم رتبه سایتهایی است که به صورت HTML طراحی شده اند . این سایتها چون معمولا توسط عامل انسانی و به صورت دستی تولید می شوند و برای نمایششان پروسه ای انجام نمی شود ، در موتورهای جستجوگر از رتبه بهتری نسبت به سایر انواع فایل (  ASP ، PHP و ... ) برخوردارند.
      اما می توان با اندیشیدن یک تمهید ویژه ، محاسن هر دو را یکجا ایجاد نمود و آن هم راه اندازی و پیاده سازی وب سایت اینترنتی کاملا دینامیکی است که خروجی آن به صورت HTML تولید و بر روی سرور ذخیره شود . به این صورت شما ، هم از مزایای سایتهای استاتیک ( سرعت بارگزاری و عدم تحمیل پروسه ای خاص به سرور ، رتبه سایت در موتورهای جستجوگر ) ، برخوردار خواهید بود و هم از مزایای یک سایت دینامیک ( قابلیت به روز رسانی توسط خود شما )


دیگر پرسش ها پیرامون : سیستم مدیریت محتوا و پرتال داده ورزان