Oracle Portal kasutamine üle SSL

Allikas: Kuutõrvaja

Sissejuhatus

Käesolev tekst kirjeldab kahte juhtumit, kuidas Oracle Portal 10.1.4, mis on seadistatud käima ühes arvutis, st seal töötavad muu hulgas

  • rakenduskiht - WebCache, OHS, OC4J, Portal
  • infrastruktuur - metadata ja infrastructure andmebaas, OID, SSO

seadistada ümber selliseks, et kogu avaliku võrgu ja teenuse vaheline andmevahtus toimub üle krüptitud (SSL) ühenduste.

Lähtepunkt

Tulemus

Tulemuse saavutamiseks on kaks erinevat võimalust

  • Teenuse krüptimine välise SSL-offloaderi abil - Oracle tarkvara iseenesest teenindab samutu http://web. ja https://www. aadresse, aga kõige ette on paigutatud nn generic SSL-offloader (nt tarkvara Pound või riistvara F5), mille abil pakutakse lõppkasutajale teenust aadressil https://web.loomaaed.tartu.ee/
  • Teenuse krüptimine Oracle WebCache abil - Oracle WebCache on seadistatud käima teenindama https://web.loomaaed.tartu.ee/ aadressi

Järgnevas kirjeldatakse järjekorras kuidas neid võimalusi realiseerida.

Teenuse krüptimine välise SSL-offloaderi abil

Tegevus toimub aadressil http://download.oracle.com/docs/cd/B14099_19/portal.1014/b19305/cg_secur.htm#CHDJIDJA asuva juhendi punkti 6.3.2.1.5 alusel

 Oracle Application Server Portal Configuration Guide 10g Release 2 (10.1.4) ->
    Configuring OracleAS Security Framework for OracleAS Portal ->
       Configuring Options for OracleAS Security Framework ->
           6.3.2.1.5 External SSL with Non-SSL Within Oracle Application Server

Tööle hakkab selline skeem

                  _|_   teenus: https://web.loomaaed.tartu.ee/ (192.168.32.90)
      tulemüür   |   |  sso: https://www.loomaaed.tartu.ee:4443/
                 |___|
                   |
                   |
         --|-------|-------|--
           |               |
          _|_             _|_
         |   |           |   | oracle tarkvara arvuti
         |___|           |___| 10.0.13.72
          
      SSL-offloader      webcache: http://www.loomaaed.tartu.ee:7778/
      10.0.13.78:443     sso: https://www.loomaaed.tartu.ee:4443/
                         webcache admin: http://www.loomaaed.tartu.ee:4000, 4001/
                         ias ohs: http://www.loomaaed.tartu.ee:7779/

kus on kujutatud

  • avalik teenuse ja sso aadress
  • ssl-offloader
  • oracle tarkvaraga arvuti

Estitatud skeemi käivitamiseks tuleb sooritada selline järgnevus

  • seadistada iAS HTTP Server
  • seadistada Parallel Page Engine
  • seadistada oracle arvutis nimelahendus uuele avalikule nimele web.loomaaed.tartu.ee
  • register OracleAS Portalis uus avalik nimi
  • seadistada ümber WebCache
  • seadistada ruuter sh nn loopback
  • seadistada uue avaliku teenuse jaoks OracleAS Portalile monitooring
  • reregistreerida Oracle HTTP Server Partner Application

Seadistada iAS HTTP Server

Avada iAS osa EM konsoolis

 Farm -> ias.www.loomaaed.tartu.ee -> HTTP_Server -> Administration ->
   Advanced Server Properties -> httpd.conf

ning lisada faili lõppu

 LoadModule certheaders_module libexec/mod_certheaders.so
 NameVirtualHost 10.0.13.72:7779
 
 <VirtualHost 10.0.13.72:7779>
     ServerName web.loomaaed.tartu.ee
     Port 443
     SimulateHttps On
     RewriteEngine On
     RewriteOptions inherit
 </VirtualHost>
 
 <VirtualHost 10.0.13.72:7779>
     ServerName www.loomaaed.tartu.ee
     Port 7778
     RewriteEngine On
     RewriteOptions inherit
 </VirtualHost>

Ning peale Apply valimist vastata jaa küsimusele, et teha HTTP Serverile restart.

Failisüsteemis vastab sellele fail /opt/app/oracle_ias/ias/product/10.1.2/Apache/Apache/conf/httpd.conf.

Seadistada Parallel Page Engine

Lisada faili /opt/app/oracle_ias/ias/product/10.1.2/j2ee/OC4J_Portal/applications/portal/portal/WEB-INF/web.xml olemasoleva

 <servlet-name>page</servlet-name>
 <servlet-class>oracle.webdb.page.ParallelServlet</servlet-class>

järele nii et kokku on

 <servlet-name>page</servlet-name>
 <servlet-class>oracle.webdb.page.ParallelServlet</servlet-class>
   <init-param>
     <param-name>useScheme</param-name>
     <param-value>http</param-value>
   </init-param>
   <init-param>
     <param-name>usePort</param-name>
     <param-value>7778</param-value>
   </init-param>
   <init-param>
      <param-name>httpsports</param-name>
      <param-value>443</param-value>
   </init-param>

Kehtestada muudatused

 $ . .oraprofileIAS
 $ dcmctl updateconfig
 $ opmnctl stopall
 $ opmnctl startall

Seadistada oracle arvutis nimelahendus uuele avalikule nimele web.loomaaed.tartu.ee

Lisada oracle tarkvara arvuti /etc/hosts faili rida

 192.168.32.90   web.loomaaed.tartu.ee

Registreerida OracleAS Portalis uus avalik nimi

Muuta faili /opt/app/oracle_ias/ias/product/10.1.2/portal/conf/iasconfig.xml alugs selliseks

 <IASConfig XSDVersion="1.0">
    <IASFarm Name="Farm-dl.loomaaed.tartu.ee" Host="web.loomaaed.tartu.ee">
       <WebCacheComponent ListenPort="443" InvalidationPort="4001"
       InvalidationUsername="invalidator" InvalidationPassword="xxx"
       SSLEnabled="true"/>
    </IASFarm>
    <IASInstance Name="ias.www.loomaaed.tartu.ee" Host="www.loomaaed.tartu.ee">
    ...

kus InvalidationPassword mitte ei autendi muudatuste tegemiste midagi millelegi, vaid seab parooli

Muudatuste kehtestamiseks sobib öelda, seejuures on vaja näidata OID Admin kasutaja parool

 $ . .oraprofileIAS
 $ cd /opt/app/oracle_ias/ias/product/10.1.2/portal/conf/
 $ ./ptlconfig -dad portal -site -wc
 Portal Dependency Settings Tool
 
 Processing Portal instance '/pls/portal' (cn=infra,cn=oraclecontext)
 Enter either the Portal schema or OID Admin password:     
 Processing complete

ning

 $ ./ptlconfig -dad portal -em

Seadistada ümber WebCache

Improvisatsioon juhendi ainetel, juhendis esitatud info päris ei klapi EM konsooliga, tulemus on selline

 Site                       Default Site  Aliases                      Origin Servers
 
 www.loomaaed.tartu.ee:7778                                            www.loomaaed.tartu.ee:7779
 web.loomaaed.tartu.ee:443   *            web.loomaaed.tartu.ee:7778   www.loomaaed.tartu.ee:7779
                                          web.loomaaed.tartu.ee:80

Ja vastata küsimusele, kas restartida WebCache jaatavalt.

Seadistada ruuter sh nn loopback

Tulemüüris on kasutatud selliseid aadressteisendusi

 rdr inet proto tcp from { 10.0.13.72, <eesti>, <arendus_dl_wsrp_arendus> } to 192.168.32.90 port 443 tag TO_ARENDUS -> 10.0.13.78
 rdr inet proto tcp from 10.0.13.72 to 192.168.32.90 port { 4000, 4001, 7778 } tag TO_ARENDUS -> 10.0.13.72

Seadistada uue avaliku teenuse jaoks OracleAS Portalile monitooring

Faili /opt/app/oracle_ias/ias/product/10.1.2/sysman/emd/targets.xml muuta <Target TYPE="oracle_portal" all parameetri väärtus selliseks

 <Property NAME="PortalListeningHostPort" VALUE="https://web.loomaaed.tartu.ee:443"/>

ning muudatuste kehtestamiseks öelda

 $ . .oraprofileIAS
 $ emctl reload

Re-registreerida Oracle HTTP Server Partner Application

 $ . .oraprofileIAS
 $ /opt/app/oracle_ias/ias/product/10.1.2/sso/bin/ssoreg.sh \
   -oracle_home_path /opt/app/oracle_ias/ias/product/10.1.2 \
   -site_name web.loomaaed.tartu.ee \
   -config_mod_osso TRUE \
   -mod_osso_url https://www.loomaaed.tartu.ee:4443/ \
   -config_file /opt/app/oracle_ias/ias/product/10.1.2/Apache/Apache/conf/osso/osso.conf \
   -admin_info cn=orcladmin \
   -virtualhost
 ...
 Sat Sep 26 12:28:19 EEST 2009  SSORegistrar : ORACLE_CONFIG_HOME not set. \
   Using /opt/app  /oracle_ias/ias/product/10.1.2/ as the default value.
 Check /opt/app/oracle_ias/ias/product/10.1.2/sso/log/ssoreg.log for details of this registration
 SSO registration tool finished successfully.

Tulemus

Tulemusena öeldakse peale SSO abil sisselogimist https://web.loomaaed.tartu.ee/ aadressil, et 'You cannot login because there is either invalid or no configuration information stored in the enabler configuration table (WWSEC_ENABLER_CONFIG_INFO$).'.

Juhendile lisaks tehtud muudatused

  • 'You cannot login because ...' teatest saab lahti öeldes
 $ . .oraprofileIAS
 $ cd /opt/app/oracle_ias/ias/product/10.1.2/portal/conf
 $ ./ptlconfig -dad portal -sso -host web.loomaaed.tartu.ee -port 443 -ssl
  • Selleks, et peale SSO sisselogimist jõuaks kasutaja teenuse juurde tekkis mõte, et kohendada SSO Partner rakenduste Success jt URLisid
 EM -> infra -> Single Sign-On:orasso -> Administer via Single Sign-On Web Application -> \
   SSO Server Administration -> Administer Partner Applications -> KannatlikPortaal

ning muuta kahe lahtri sisu selliselt

Kontrollid

Uue domeeninime web.loomaaed.tartu.ee kasutamise seisukohast on oluline portal.WWSEC_ENABLER_CONFIG_INFO$ tabeli sisu, seda saab küsida nt selliselt

 $ . .oraprofileINFRA 
 $ sqlplus / as sysdba
 ..
 SQL>  select LSNR_TOKEN from portal.WWSEC_ENABLER_CONFIG_INFO$;
 
 LSNR_TOKEN
 --------------------------------------------------------------------------------
 web.loomaaed.tartu.ee
 www.loomaaed.tartu.ee:7778
 
 SQL> quit

Probleemid

  • Portali komponent on peale sooritusi EM konsoolis nö punane ja down, samas Portali komponendi komponendid on korras
  • sisselogimisel ei suunata kasutajate teenuse uuele aadressile (https://web.loomaaed.tartu.ee/) vaid vanale (http://www.loomaaed.tartu.ee:7778/) kuigi minnes käsitsi uuele aadressile, saab teenust kasutada.

Teenuse krüptimine Oracle WebCache abil

TODO

Üldiselt Oracle WebCache komponent seadistatakse tööle teenust pakkuvate muude komponentide ette, st kui klient brauseriga pöördub, siis ta suhtleb WebCache'i soketiga.

WebCache võimaldab muu hulgas

  • termineerida SSL ühendusi
  • moodustada nö teenuse URI aadressruumi mitmetest rakendusserveritest pakutavatest teenustest
  • korraldada koormusjaotust

WebCache seadistamine

Oracle WebCache'i sobib seadistada nt vaikimisi pordil 7779 töötava Oracle HTTP Server (OHS) ette kliendi SSL ühendusi termineerima. Selleks on vaja, et kõnealuses arvutis oleks vaba nt port 443 nö interneti poolsel võrguseadmel ja kasutada veebiserveri sertifikaat.

Kuna 443 on privilegeeritud port, siis esmalt tuleb webcached programmi omanik muuta juurkasutajaks ning märkida setuid bitt

 -rwsr-x---  1 root dba 3617426 Dec 22  2008 \
   /opt/app/oracle_ias/ias/product/10.1.2/webcache/bin/webcached

Selleks sobib sooritada selline järgnevus

  • peatada WebCache protsessid öeldes
 $ . .oraprofileIAS
 $ opmnctl stopproc ias-component=WebCache
  • juurkasutajana öelda
 # export ORACLE_HOME=/opt/app/oracle_ias/ias/product/10.1.2
 # cd /opt/app/oracle_ias/ias/product/10.1.2/webcache/bin
 # ./webcache_setuser.sh setroot 2300
 
 setroot task completed successfully.
  • käivitada WebCache protsessid
 $ . .oraprofileIAS
 $ opmnctl startproc ias-component=WebCache

Seejärel tuleb iAS EM Console abil seadistada WebCache pakkuma teenust 443 pordil ja vahendama seal vajalikku OHS teenust

 WebCache -> Administration -> Ports

ning avaneb sarnane vaade

Ias-webcache-1.gif

  • Seadistada 443 port valides
 Ports -> Listen Ports -> Add a row

väärtustega

 ip address: 10.0.13.72
 port: 443
 protocol: HTTPS
 wallet: /home/oracle/ssl
  • Seadistada veebikoht valides
 Sites -> Create

väärtustega

 Host: www.loomaaed.tartu.ee
 Port: 4443
 Prefix: /
 Selected Origin Servers: www.loomaaed.tartu.ee:7779

Tulemusena öeldakse kasutajaliideses, et tuleb vajutada nupule, mis kutsub esile WebCache komponendi restardi ning seejärel saab seaditatud pordil asuda teenust kasutama.

Protsessitabelis on vastav protsess

 # netstat -anp | grep :443
 tcp  0  0 10.0.13.72:443   0.0.0.0:*   LISTEN      9786/webcached

Kasulikud lisamaterjalid

  • Oracle Application Server Web Cache Administrator's Guide