OHS kasutamine üle SSL'i

Allikas: Kuutõrvaja
Redaktsioon seisuga 16. oktoober 2008, kell 12:13 kasutajalt Imre (arutelu | kaastöö) (Java keystore'i kasutamine)

Eesmärk

Eesmärk on seada OHS (Oracle HTTP Server) käima üle SSL'i ehk https:// protokolli. Selleks tuleb kasutusele võtta serveri sertifikaat ning kehtesta Apache seadistusfaili tehtud vastavad muudatused.

Antud juhul tegeleb SSL protokolliga veebiserveri ise ja mitte Oracle WebCache. Selline moodus on asjakohane näiteks SSO (Single Sign-On) teenust pakkuva OHS puhul.

Sertifikaadi moodustamine

Oracle iAS hoiab sertifikaate ja võtmeid selleks ettenähtud konteineris, mida nimetatakse Wallet'iks (ingl. k. rahakott). Reegilina on Wallet kaitstud parooliga, mis tuleb Walleti moodustamisel ära näidata. Üheks võimaluseks OHS server sertifikaati kasutama õpetada on

  • käivitada Walleti haldusprogramm owm (oracle wallet manager)
  • moodustada seal sertifikaadipäring
  • ekportida sertifikaadipäring ja oma lemmik CA'l lasta selle alusel moodustada sertifikaat
  • laadida selle päringu alusel väljastatud sertifikaat ning CA sertifikaat Walletisse

Seejuures on oluline tähele panna, et Oracle sisaldab ka OCA (oracle certificate authority) vahendeid, tingimata ei pea aga neid kasutama kui eesmärgiks on vaid OHS õpetada https:// peal teenindama.

Wallet käivitamiseks tuleb öelda

 $ export ORACLE_HOME=/opt/app/oracle_ias/oracle/infra/product/10.1.2
 $ /opt/app/oracle_ias/oracle/infra/product/10.1.2/bin/owm

ning seejärel avaneb graafiline kasutajaliides, tundub, et serveri haldamisel on seda kõige otstarbekam kasutada üle VNC

Owm-1.gif

Vaikimisi on walleti faili nimi

 ewallet.p12

ning walleti kasutamisel, nt owm programmiga või OHS veebiserveriga tuleb näidata ära kataloog, kus see fail asub. Walleti salvestamisel saab lülitada sisse 'Auto-Login', mis tähendab seda, et Walleti kasutamisel veebiserveris parooli ei nõuta.

Walleti kasutamine

OHS veebiserveri SSL'i kasutama seadistamist kirjeldatakse üksikasjalikult näiteks sellistes materjalides

  • Oracle Application Server Certificate Authority Administrator's Guide
  • Noodis 351341.1 - How To Setup and Configure SSO/OHS for SSL

Lihtsamal juhul piisab järgmistest tegevustest

  • Veebiserveri seadistusfailis $ORACLE_HOME/Apache/Apache/conf/ssl.conf tuleb teha sellised muudatused
 < SSLSessionCache        none
 ---
 > # SSLSessionCache        none
 
 < # SSLSessionCache shmcb:/opt/app/oracle_ias/infra/product/10.1.2/Apache/Apache/logs/ssl_scache(512000)
 ---
 > SSLSessionCache shmcb:/opt/app/oracle_ias/infra/product/10.1.2/Apache/Apache/logs/ssl_scache(512000)
 
 < # SSLSessionCacheTimeout 300
 ---
 > SSLSessionCacheTimeout 300
 
 < SSLWallet file:/home/oracle/ssl
 ---
 > SSLWallet file:/opt/app/oracle_ias/infra/product/10.1.2/Apache/Apache/conf/ssl.wlt/default
 
 < SSLVerifyClient optional
 ---
 > #SSLVerifyClient require

Lisada VirtualHost sektsiooni lõppu

 RewriteEngine on
 RewriteOptions inherit
  • OPMN seadistusfailis teha muudatus
 >  
 ---
 < 
  • öelda
 $ $ORACLE_HOME/sso/bin/ssocfg.sh https minu.domeen.ee 4443
  • öelda
 $ dcmctl updateConfig -v -d
  • seista ja käivitada OHS
 $ opmnctl stopproc ias-component=HTTP_Server
 $ opmnctl startproc ias-component=HTTP_Server

Tulemusena peaks pordil https://...:4443/ olema teenus nähtav.

Java keystore'i kasutamine

Kui iAS kontrolli all töötav Java rakendus peab saama pöörduda välja https teenuse poole kliendina, siis selleks tuleb reeglina lisada vastava teenuse juursertifikaat java keystore faili. Keystore'i saab hallata keytool utiliidiga, näiteks sedasi saab vaadata keystore'is olemasolevaid sertifikaate

 $ /usr/local/java/bin/keytool -list -keystore /tee/failini/cacerts -storepass changeit
 Keystore type: jks
 Keystore provider: SUN
 
 Your keystore contains 25 entries
 
 equifaxsecureebusinessca1, Jul 23, 2003, trustedCertEntry,
 Certificate fingerprint (MD5): 64:9C:EF:2E:44:FC:C6:8F:52:07:D0:51:73:8F:CB:3D
 verisignclass4ca, Jun 29, 1998, trustedCertEntry,
 Certificate fingerprint (MD5): 1B:D1:AD:17:8B:7F:22:13:24:F5:26:E2:5D:4E:B9:10
 ...

'changeit' tundub olevat Java keystore'i default parool, sarnaselt kui Oracle andmebaasi näite skeemi ligipääsuks on tiger/scott vms.

Keystore faili CA sertifikaadi lisamiseks tuleb öelda näiteks

 $ keytool -import -v -trustcacerts -alias JUUR-SK -file JUUR-SK.PEM.cer -keystore /tee/failini/cacerts -storepass changeit
 Owner: CN=Juur-SK, O=AS Sertifitseerimiskeskus, C=EE, EMAILADDRESS=pki@sk.ee
 Issuer: CN=Juur-SK, O=AS Sertifitseerimiskeskus, C=EE, EMAILADDRESS=pki@sk.ee
 Serial number: 3b8e4bfc
 Valid from: Thu Aug 30 16:23:01 EET 2001 until: Fri Aug 26 17:23:01 EEST 2016
 Certificate fingerprints:
        MD5:  AA:8E:5D:D9:F8:DB:0A:58:B7:8D:26:87:6C:82:35:55
        SHA1: 40:9D:4B:D9:17:B5:5C:27:B6:9B:64:CB:98:22:44:0D:CD:09:B8:89
 Trust this certificate? [no]:yes
 Certificate was added to keystore
 [Storing /tee/failini/cacerts]

Märkused

  • Kui Auto-Login mitte sisse lülitada, tuleb walleti parool näidata OHS seadistusfailis parameetriga
 SSLWalletPassword saladu5