Oracle Portal kasutamine üle SSL
Sisukord
- 1 Sissejuhatus
- 2 Teenuse krüptimine välise SSL-offloaderi abil
- 2.1 Seadistada iAS HTTP Server
- 2.2 Seadistada Parallel Page Engine
- 2.3 Seadistada oracle arvutis nimelahendus uuele avalikule nimele web.loomaaed.tartu.ee
- 2.4 Registreerida OracleAS Portalis uus avalik nimi
- 2.5 Seadistada ümber WebCache
- 2.6 Seadistada ruuter sh nn loopback
- 2.7 Seadistada uue avaliku teenuse jaoks OracleAS Portalile monitooring
- 2.8 Re-registreerida Oracle HTTP Server Partner Application
- 2.9 Tulemus
- 2.10 Kontrollid
- 2.11 Probleemid
- 3 Teenuse krüptimine Oracle WebCache abil
- 4 Kasulikud lisamaterjalid
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
- teenuse aadress - http://web.loomaaed.tartu.ee:7778/
- sso aadress - https://www.loomaaed.tartu.ee/
Tulemus
- teenuse aadress - https://web.loomaaed.tartu.ee/
- sso aadress - https://www.loomaaed.tartu.ee/
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
- Home URL - https://web.loomaaed.tartu.ee/portal/page/portal/KannatlikPortal/Edulugu/Toimingud
- Success URL - https://web.loomaaed.tartu.ee/portal/page/portal/KannatlikPortal/Edulugu/Toimingud
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
- Logida sisse iAS EM Consolesse aadressil http://www.loomaaed.tartu.ee:1810/ ja liikuda sektsiooni
WebCache -> Administration -> Ports
ning avaneb sarnane vaade
- 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