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

 

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

 

در این چند سال اخیر که اوراکل ای‌پکس (اپکس) “یکی از محصولات شرکت اوراکل” وارد بازار ایران شده، همیشه  سوال های زیادی در خصوص امنیت آن پرسیده می شود، آیا این ابزار تحت وب امن می باشد؟ و به چه صورت می توان امنیت آن را تضمین کرد. در این پست سعی شده که از صفر تا صد نکات و موضوعات مختلف در این صنعت در اختیار دوستان قرار گیرد که دیگر هیچ شک و شبه ای باقی نماند.
در مورد موضوعات زیر، در این پست مطالبی جمع آوری و ارائه می گردد:
آیا (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) که توسط بیش از ۷۰۰۰ نمایندگی فروش یا تیم فروش آنها استفاده می شود ، در APEX نوشته شده است.
  • تعداد زیادی سیستم مدیریتی Oracle Cloud (ردیابی پروژه ، نظارت بر سرویس ابر ، مخزن تست Cloud QA و غیره) در APEX نوشته شده است.
  • دفتر برنامه Beta ، کلیه برنامه های بتا را در کلیه محصولات و خدمات اوراکل با مجموعه ای از برنامه های APEX مدیریت می کند.
  • The Innovation Engine یک بستر است که توسط یک تیم در EMEA نوشته شده است ، تا ایده های افراد را در سراسر خط مشاغل و جغرافیا ها به خود جلب کند ، و آنها را قادر می سازد تا برای بهبود شرکت و پیگیری آن از طریق تمام مراحل ، پیشنهاداتی ارائه دهند و بیش از ۳۰۰۰۰ کاربران دارد.
  • یکی از جالب ترین استقرارهای APEX ، سیستم داخلی (apex.oraclecorp.com) است که هر نفری در این شرکت، می تواند برای توسعه و استقرار برنامه های تولیدی خودش، مورد استفاده قرار گیرد. این شبیه به apex.oracle.com است ، اما این سیستم برای برنامه های تولید داخلی است.
  • این تقریبا توسط هر مشاغلی در شرکت استفاده می شود – توسعه برنامه های فیوژن ، بانک اطلاعات QA ، فروش مستقیم اوراکل EMEA ، تیم های فروش منطقه ای آمریکای شمالی ، تولید و توزیع ، معماری شرکت و بسیاری موارد دیگر. از این نوشتار ، ۴۴۹۲ محل کار وجود دارد.
  • و همچنین فراموش نکنید که 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 را برای ۷۰ نوع مختلف از آسیب پذیری امنیتی تجزیه و تحلیل می کند.
اوراکل اپکس-تست امنیت با ابزار ApexSec

 

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

 

اپلیکیشن امن با اوراکل ای‌پکس (اپکس)
امتیاز ۴٫۵ از ۴ رای

2 دیدگاه. همین الان خارج شوید

  • هوشمند راستین
    دسامبر 20, 2019 9:18 ب.ظ

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

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

    پیروز باشید

    پاسخ
    • سعید حسن پور
      دسامبر 21, 2019 3:25 ق.ظ

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

      پاسخ

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

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

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

فهرست
Oracle APEX Capabilities (OAC)