اپلیکیشن امن با اوراکل ای پکس (اپکس)

 

اپلیکیشن امن با اوراکل ای پکس (اپکس)

 

در این چند سال اخیر که اوراکل ای‌پکس (اپکس) “یکی از محصولات شرکت اوراکل” وارد بازار ایران شده، همیشه  سوال های زیادی در خصوص امنیت آن پرسیده می شود، آیا این ابزار تحت وب امن می باشد؟ و به چه صورت می توان امنیت آن را تضمین کرد. در این پست سعی شده که از صفر تا صد نکات و موضوعات مختلف در این صنعت در اختیار دوستان قرار گیرد که دیگر هیچ شک و شبه ای باقی نماند.
در مورد موضوعات زیر، در این پست مطالبی جمع آوری و ارائه می گردد:
آیا (Oracle Application Express(APEX امن است؟
مدیر ارشد APEX Team آقای جوئل کالمن چند سال پیش در این خصوص مطلبی را در این وبلاگ ارائه کردند.
  • نسخه APEX 5.0.3 نسخه ای می باشد که بیشترین درجه امنیتی را دارد.
  • نسخه APEX 5.0.3 دارای ویژگی های امنیتی بیش از هر نسخه از APEX در تاریخ ما می باشد.
  • ما هرگز اجازه انتشار هر نسخه ای از APEX با آسیب پذیری های امنیتی شناخته شده، چه آنهایی که داخل و یا خارج از فعالیت ما باشد را نمی دهیم.
  • ما به طور معمول خودمان عملیات اسکن APEX را برای آسیب پذیری های امنیتی که شامل انواع تهدیدها می باشد انجام می دهیم و این عمل برای چند بار در یک چرخه انتشار تکرار می شود.
  • سرویس اسکیمای ابری دیتابیس اوراکل “Oracle Database Cloud Schema Service” بر روی APEX اجرا می شود و در عین حال یکی دیگر از مجموعه تست های امنیتی ابری نیز (توسط تیم های ارزیابی امنیتی در اوراکل) بر روی آن دوباره تکرار می شود.
  • سایت Oracle Store  با APEX می باشد.
  • APEX در سازمان های نظامی بی شماری و خیلی از سازمان های طبقه بندی شده در سراسر جهان استفاده می شود.
  • حتی داخل خود کمپانی اوراکل, میزبان استفاده کننده از یک نمونه APEX , مخصوصا در جهت هر خطی از کسب و کار شرکت می باشد که سخت ترین اطلاعات طبقه بندی شده شرکت اوراکل را صریح و واضح  می کند.
  • APEX حتی در محصولات امنیتی اوراکل که شامل Oracle Audit Vault & Database Firewall, Oracle Key Vault  و Oracle Real Application Security می باشد، استفاده شده است.
  • امنیت در APEX وجود دارد و بدین معنی است که نرم افزارهای نوشته شده نیز امن می باشند.
  • همچنین شما می توانید امنیت نرم افزار خود را توسط ابزارهایی که وجود دارند مورد ارزیابی قرار دهید. یکی از بهترین ابزار در بازار ApexSec از کمپانی Recx می باشد.
بهترین روش در این صنعت(اپلیکیشن های تحت وب) جدا کردن سرور mid-tier از سرور دیتابیس است. در حالی که شما می توانید ORDS را بصورت  standalone  یا بر روی  WLS یا Tomcat و  حتی دیتابیس همه در یک سرور همان APEX هست اجرا کنید. البته این بهترین روش در این صنعت نیست. بهتر است ORDS به طور جداگانه در WLS (یا Tomcat) روی سرور مخصوص خود مستقر شوید و از طریق SQL * Net به بانک اطلاعاتی متصل شوید. علاوه بر این ، بر روی محیط های عملیاتی ، ترجیحا باید هرکدام از اینها در پشت فایروال خود و در zone (منطقه شبکه) خودشان باشد.
این توصیه ها منحصر به APEX نیست، تقریباً برای هرگونه استقرار تولید یک برنامه وب ، این مدل را دنبال می کنند.
آیا Oracle APEX در پروژه های داخلی کمپانی اوراکل مورد استفاده قرار می گیرد؟
‎مدیر ارشد APEX Team آقای جوئل کالمن  بدین صورت پاسخ می دهد:
  • تعداد زیادی از استقرار اپلیکیشن های APEX در مقیاس بزرگ در Oracle وجود دارد.
  • به عنوان مثال ، کل سیستم نقل قول (QRS) که توسط بیش از 7000 نمایندگی فروش یا تیم فروش آنها استفاده می شود ، در APEX نوشته شده است.
  • تعداد زیادی سیستم مدیریتی Oracle Cloud (ردیابی پروژه ، نظارت بر سرویس ابر ، مخزن تست Cloud QA و غیره) در APEX نوشته شده است.
  • دفتر برنامه Beta ، کلیه برنامه های بتا را در کلیه محصولات و خدمات اوراکل با مجموعه ای از برنامه های APEX مدیریت می کند.
  • The Innovation Engine یک بستر است که توسط یک تیم در EMEA نوشته شده است ، تا ایده های افراد را در سراسر خط مشاغل و جغرافیا ها به خود جلب کند ، و آنها را قادر می سازد تا برای بهبود شرکت و پیگیری آن از طریق تمام مراحل ، پیشنهاداتی ارائه دهند و بیش از 30000 کاربران دارد.
  • یكی از جالب ترین استقرارهای APEX ، سیستم داخلی (apex.oraclecorp.com) است كه هر نفری در این شركت، می تواند برای توسعه و استقرار برنامه های تولیدی خودش، مورد استفاده قرار گیرد. این شبیه به apex.oracle.com است ، اما این سیستم برای برنامه های تولید داخلی است.
  • این تقریبا توسط هر مشاغلی در شرکت استفاده می شود – توسعه برنامه های فیوژن ، بانک اطلاعات QA ، فروش مستقیم اوراکل EMEA ، تیم های فروش منطقه ای آمریکای شمالی ، تولید و توزیع ، معماری شرکت و بسیاری موارد دیگر. از این نوشتار ، 4492 محل کار وجود دارد.
  • و همچنین فراموش نکنید که Oracle Store و Oracle Partner Store نیز با اوراکل اپکس(ای‌پکس) ایجاد شده است.
  • لیست برخی از اپلیکیش های داخلی شرکت اوراکل
چگونه اپلیکیشن امن با اوراکل اپکس (ای پکس) ایجاد کنیم؟
قسمت اول
امنیت اوراکل اپکس (ای‌پکس)- قسمت اول
سه اقدام مهم در رابطه با امنیت اوراکل اپکس (ای‌پکس) وجود دارد:
  • امنيت در Instance  اوراكل اي پكس
  • تنظيمات امنيتي در Workspace
  • امنيت در اپليكيشن ها
(برای اطلاعات بیشتر بر روی قسمت اول کلیک کنید)
قسمت دوم
امنیت اوراکل اپکس (ای‌پکس)- قسمت دوم
بررسي امنيت
امنيت يك فرآيند است:
  • يك رويداد نيست.
  • هكرها هيچ موقع از تلاش براي نفوذ به سايت شما دست بر نمي دارند، پس شما هم نبايد دست از محافظت از سايتتان برداريد.
امنيت بايد در زمان طراحي ديده بشود:
  • اگر پس از ايجاد كردن اپليكيشن بخواهيم آن را امن كنيم کاری اشتباه است.
امنيت بايد براي سيستم هاي خارج و داخل بايد يكسان باشد:
  • بيشتر شاخه هاي امنيتي بايد داخل آن باشد.
خوشبختانه APEX تعداد مختلفي، ويژگي براي بهبود بخشيدن امنيت اپليكيشن ها ارائه داده است:
  • انواع كنترل دسترسي Access Control
  • احراز هويت Authentication
  • مجوز دسترسي  Authorization
  • تداخل صحيح Tamper Proofing
  • صفحه ها
  • آيتم ها
  • تزريق كوئري Sql Injection
  • cross site-scripting
(برای اطلاعات بیشتر بر روی قسمت دوم کلیک کنید)
قسمت سوم
امنیت اوراکل اپکس (ای‌پکس)- قسمت سوم
مجوز دسترسي Authorization
Authorization Scheme
  • در اوراکل اي پكس (اپکس)  Authorization Schema  تعيين ميكند كاربر شناخته شده اي كه وارد سيستم شد حال مي تواند يا نمي تواند ببيند ، دسترسي داشته يا اينكه بتواند تحت شرايط خاص اجرا كند.
  • جواب آن بصورت Boolean مي باشد.
  • شما مي توانيد از قسمت هاي زير استفاده كنيد:
    • SQL Query
    • PL/SQL Function
    • Item Value Comparison
    • Preference Value Comparison
(برای اطلاعات بیشتر بر روی قسمت سوم کلیک کنید)
 قسمت چهارم
امنیت اوراکل اپکس (ای‌پکس)- قسمت چهارم
تداخل صحيح Tamper Proofing
در هر سيستم يا اپليكيشن تحت وب موضوع دستكاري و تغيير وجود دارد.
كاربران مخرب سعي مي كنند كه از ضعف هاي اپليكيشن هاي APEX شما به روش هاي مختلفي بهره برداري كنند
  • مشخصات صفحه Page Attributes
  • دستكاري URL Tampering * URL
  • تزريق  SQL Injection *SQL
  • اجراي اسكريپت در سايت Cross Site Scripting
خوشبختانه با اجراي تمهيداتي مي توان در مقابل چنين حملاتي مقابله كرد.
(برای اطلاعات بیشتر بر روی قسمت چهارم کلیک کنید)
قسمت پنجم
امنیت اوراکل اپکس (ای‌پکس)- قسمت پنجم
امنيت آيتم ها:
  • URL Tampering
  • Session State Protection
  • Page Access Protection
  • Item Protection
  • Hidden Items
  • Hidden Item Protection
(برای اطلاعات بیشتر بر روی قسمت پنجم کلیک کنید)
 
 قسمت ششم
امنیت اوراکل اپکس (ای‌پکس)- قسمت ششم
 تزريق كوئري Sql Injection
تكنيك تزريق كد
  • جايي كه كاربر در هنگام ورود اطلاعات كنترل نوع متغيرها را بصورت قوي انجام نداده و همچنين كنترل حذف كاركترها و يا جلوي ورود آنها را نمي گيرد و سپس بوسيله فرمتي از نوع دستورات SQL انجام مي پذيرد.
  • بصورت موثر اين امكان را به كاربران مي دهد كه در هسته كوئري ها تغييرات انجام دهند.
در سه ناحيه اين نگراني وجود دارد:
  • هنگامي كه از &ITEM. در بين SQL و PL/SQL استفاده مي كنيم
  • صدا زدن با DBMS_SQL
  • صدا زدن با  EXECUTE IMMEDIATE
برای محافظت در برابر حمله تزریق در دیتابیس اوراکل می توانید این مطلب که قبلا توضیح داده شده را نیز مشاهده کنید.
(برای اطلاعات بیشتر بر روی قسمت ششم کلیک کنید)
 
 قسمت هفتم
امنیت اوراکل اپکس (ای‌پکس)- قسمت هفتم
 اجراي اسكريپت در سايت (Cross Site Scripting(XSS
  • به کاربران مخرب اجازه تزريق كدهاي كلاينت سايت را ميدهد از قبيل جاوا اسكريپت در صفحه هاي وب.
  • مي توان كنترل دسترسي را كنار گذاشت و از طريق راه هاي فرعي از اطلاعات كوكي ها بهره برداري كرد. اطلاعات را بدست آورد و براي سايت هاي ديگر فرستاد.
  • بيشترين تهديدها در خصوص آيتم هايي است كه بايد اطلاعات آنها وارد شود و كنترلي بر روي ورود آنها وجود ندارد.
  • اگر ديتاهايي كه وارد مي شود اطلاعات اضافي از قبيل اسكريپت ها و كاركترهاي اضافي از آنها بيرون انداخته نشود ممكن است باعث آسيب و يا حتي باعث دزديدن اطلاعات شود.
(برای اطلاعات بیشتر بر روی قسمت هفتم کلیک کنید)
بکارگیری Advisor  در APEX
APEX Advisor ابزاری برای اسکن صفحه ها در محیط اوراکل اپکس (ای پکس)  که از طریق منوی Utilities می توان به آن دسترسی داشته باشیم. می توانید Advisor را در برابر یک صفحه واحد یا در کل یک برنامه اجرا کنید ، “یکپارچگی” (Integrity) یک اپلیکیشن و همچنین دسترسی (Accessibility) را نیز بررسی کنید. Advisor برای بررسی خطاها ، استفاده از ویژگی های مستهلک ، مسائل امنیتی ، تنگناها در عملکرد ، تضمین کیفیت و سایر بهترین روش ها (deprecated attributes, security issues, performance bottlenecks, quality assurance, and other best practices) بررسی می کند. هر نتیجه داده شده حاوی پیوندی به مؤلفه با موضوع و توضیحی از مسئله یافت شده و همچنین ، بیشتر مواقع  توضیح در مورد چگونگی حل آن است. می توانید برای اسکن صفحه ها ، آن را بارها و بارها اجرا کنید.

اوراکل اپکس- Advisor

استفاده از SSL
انجام تنظیمات  بر روی Instance  برای استفاده از گواهینامه SSL به این معنی است که هر داده منتقل شده بین مشتری در مرورگر و سرور رمزگذاری می شود تا حملات man-in-the-middle کاهش یابد. این عمل می تواند در محیط Internal APEX تنظیم شود تا مستقیماً با APEX با استفاده از Oracle Wallet کار کند و یا به صورت متناوب در وب سرور با یک پروکسی معکوس پیکربندی شده تا بتوانید ترافیک بین مشتری و سرور وب را رمزگذاری کنید. اکنون می توانید مجوزهای SSL رایگان را نیز از LetsEncrypt دریافت کنید.
تست امنیت با ابزار ApexSec
ApexSec امنیت هرگونه اپلیکیشن APEX را بررسی کرده و از پشتیبانی کد PL / SQL توسعه یافته استفاده می کند. ApexSec می تواند یک export  از اپلیکیشن را مورد بررسی قرار داده و کد شما را اسکن کند یا مستقیماً به بانک اطلاعاتی متصل شود. ابزاری درخشان برای ارزیابی امنیت یک اپلیکیشن APEX است. حتی توسط خود Oracle مورد استفاده قرار می گیرد. ApexSec  اپلیکیشن APEX را برای 70 نوع مختلف از آسیب پذیری امنیتی تجزیه و تحلیل می کند.
اوراکل اپکس-تست امنیت با ابزار ApexSec

 

نتایج بررسی امنیت اپلیکیشن های عملیاتی با اوراکل ای‌پکس(اپکس)  در یکی از مراکز کشور
محیط چند اپلیکیشن عملیاتی ایجاد شده با اوراکل APEX  در یکی از مراکز کشور که بر روی اینترنت نیز خدمات ارائه می دهند، توسط سعید حسن پور پیاده سازی شده و بوسیله یکی از شرکت های معتبر تست امنیت، چندین بار مورد آزمون امنیت قرار گرفت و نتایج زیر از آن آزمون ها بدست آمده است.
اوراکل اپکس-تست امنیت اول
اوراکل اپکس-تست امنیت دوم
شماره ۱۰و۱۴:
از مواردی که در شماره های ۱۰و۱۴ به آن اشاره شده است، مربوط به ساده بودن Captcha بوده که این مورد به سادگی قابل رفع می باشد:
  • راه اول استفاده از ReCaptcha  بسیار قوی شرکت Google  می باشد.
  • راه حل دوم ایجاد یک Captcha   بصورت  جداگانه  و استفاده آن در اوراکل ای پکس(اپکس). برای مشاهده مثال کلیک کنید.
  • راه حل سوم تغییرات در Captcha اوراکل ای پکس(اپکس)  و پیچیده کردن تصاویر.
شماره ۳۲:
این نوع آسیب پذیری از نوع Low شناخته شده و درجه آن بسیار پایین می باشد. این آسیپ پذیری  بنحویی در سطح آیتم های صفحه ها در اوراکل ای پکس(اپکس) رعایت شده که می تواند جلوی این آسیپ پذیری را بگیرد. قسمت پنجم  نحوه جلوگیری آن توضیح داده شده است.
نتیجه گیری:
ما تلاش کردیم که تمام نکات و موضوعات مختلف درباره امنیت اوراکل ای پکس(اپکس) را در اختیار دوستان قرار دهیم، که دیگر بدون هیچ نگرانی تولید اپلیکیشن های اوراکل ای پکس(اپکس) را شروع کنند.خوشحال می شویم، اگرمورد امنیتی دراین صنعت برخورد کردید با ما در میان بگذارید، همچنین نظر خودتان در مورد این مطلب را بیان کنید.
امیدوار هستیم که مورد استفاده دوستان قرار گرفته باشد

 

4.5/5 - (4 امتیاز)

2 دیدگاه. پیغام بگذارید

  • هوشمند راستین
    آذر 29, 1398 9:18 ب.ظ

    با سلام خدمت دوست گرامی

    عالی و پربار و پر محتوی بود. واقعا سایت بسیار مناسب و خوبی دارید و مطالب مفیدی قرار میدید.
    امیدوارم همیشه موفق باشید.

    پیروز باشید

    پاسخ
    • سعید حسن پور
      آذر 30, 1398 3:25 ق.ظ

      با سلام خدمت دوست عزیز
      برای اینکه نظر خودتان را اظهار می کنید بسیار سپاسگذارم.

      پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

این قسمت نباید خالی باشد
این قسمت نباید خالی باشد
لطفاً یک نشانی ایمیل معتبر بنویسید.

keyboard_arrow_up
Oracle APEX Capabilities (OAC)