How to Make Your Oracle APEX Application Secure Peter Lorenzen Technology Manager WM-data Denmark a LogicaCMG Company [email protected] © LogicaCMG 2006. All rights reserved 1 Presentation • Target audience is developers • Focus is on how to prevent hackers from gaining access • In terms of what I believe an APEX developer in a small shop, without a fulltime security expert or DBA, should know • More an overview of security threats and countermeasures than a thorough analysis • Point you to resources with more information about the different subjects • Assumption: An application that – is accessed from the Internet – contains valuable and secret information 2 APEX Project References • The Danish Department of Prisons and Probation uses APEX in the process of deciding in which facility a client should serve • RTX Telecom uses APEX to control DECT cordless telephones in Rumania • Naturgas Fyn is a provider of natural gas in Denmark. We have developed a system that calculates the amount of gas that is needed from each gas provider the following day 3 Agenda • Intro • Architecture – HTTP Servers – Choosing an Architecture • Hardening the Architecture –– PPaattcchhiinngg – Hardening the Database – Hardening the HTTP Web Server • Specific Threats – Cross-Site Scripting – SQL Injection • Hardening APEX – Miscellaneous • Conclusion 4 Intro – Security, what security? A security company estimates that there are a 71% likelihood that a Website has a Cross-Site Scripting vulnerability and 20% for a SQL Injection 5 Intro • Think about security from the beginning of a project • Plan security – Architecture etc. • Make sure people knows the security basic • Have people that is responsible for security, patching etc. APEX is secure, developers ☺ makes it insecure 6 Architecture APEX Components • Oracle HTTP Server (Database Companion CD) • Oracle 9i/10g/11g Database • Oracle HTTP Server (Oracle Application Server) • Oracle Express Edition • Oracle XML DB HTTP Server HTTP server There is such a thing as too cheap 7 Architecture Which HTTP Server to Use? Oracle HTTP Server Oracle XML DB HTTP Server (OHS) (cid:2) TTeecchhnnoollooggyy AAppaacchhee 11..33..xx DDeevveellooppeedd bbyy OOrraaccllee.. BBuuiillddss on the Oracle Shared Server architecture Database “connection” mod_plsql Embedded PL/SQL Gateway Use known and proven technology 8 Architecture "Security is an architecture, not an appliance” - Art Wittman Minimum Only HTTP communication Proxy HTTP Server Database + – Standard Apache 1.3/2.0 HTTP Server mod_proxy HTTP server – OHS based on an Apache 2.0.x HTTP Server 9 Architecture Using Secure Sockets Layer (SSL) encryption Database + HTTP server SSL? Security measures should match the risk and the value of the secured application/data 10
Description: