Indholdsfortegnelse
Introduktion til aktivering af TLS i R12.1
- Dataene mellem webbrowser og webserver bevæger sig ukrypteret i R12-applikationen, så adgangskoden og andre oplysninger kan spores af sniffer. Vi undgår dette ved at implementere TLS i R12.
- Med TLS-implementering transporteres dataene i de krypterede formularer, og kun webbrowser og webserver kan dekryptere dem. Implementeringen kræver SSL-certifikatet og konfigurationen i R12-miljøet i henhold til konfigurationen
Transport Layer Security (TLS)
Transport Layer Security, eller TLS, er efterfølgeren til SSL. TLS er ligesom SSL en protokol, der krypterer trafik mellem en klient og en server. TLS opretter en krypteret forbindelse mellem to maskiner, der gør det muligt at overføre private oplysninger uden problemer med aflytning, datamanipulation eller meddelelsesforfalskning.
Hvad er SSL?
SSL er en teknologi, der definerer de væsentlige funktioner for gensidig autentificering, datakryptering og dataintegritet for sikre transaktioner. Udveksling af data mellem klienten og serveren i sådanne sikre transaktioner siges at bruge Secure Sockets Layer (SSL). Dette er blevet forældet til fordel for den foretrukne TLS-reference fremover.
Sådan fungerer SSL/TLS
- Klienten sender en anmodning til serveren ved hjælp af HTTPS-forbindelsestilstand.
- Serveren præsenterer sit digitale certifikat til klienten. Dette certifikat indeholder serverens identifikationsoplysninger såsom servernavn, organisation og serverens offentlige nøgle og digital signatur af CA's private nøgle
- Klienten (webbrowseren) har de offentlige nøgler til alle CA. Det dekrypterer det digitale certifikats private nøgle. Denne verifikation beviser, at afsenderen havde adgang til den private nøgle og derfor sandsynligvis er den person, der er knyttet til den offentlige nøgle. Hvis verifikationen går godt, godkendes serveren som en betroet server.
- Klienten sender serveren en liste over de krypteringsniveauer eller chiffer, som den kan bruge.
- Serveren modtager listen og vælger det stærkeste krypteringsniveau, som de har til fælles.
- Klienten krypterer et tilfældigt tal med serverens offentlige nøgle og sender resultatet til serveren (som kun serveren skal kunne dekryptere med sin private nøgle); begge parter bruger derefter det tilfældige tal til at generere en unik sessionsnøgle til efterfølgende kryptering og dekryptering af data under sessionen
Så det fremgår tydeligt af ovenstående trin, at vi skal bruge et digitalt certifikat til webserveren.
Vigtig bemærkning
Vi har også tidligere læst artiklen
Aktivering af SSL eller TLS i Oracle Apps R12
- Ovenstående artikel giver implementeringstrinnene for SSL V3 /TLS1.0 med Oracle Apps R12.0 og R12.1 version.
- Denne artikel dækker specifikt trinene til TLS 1.0/1.1/1.2-implementering i R12.1
Aktivering af TLS i R12.1 afhænger af topologien af R12-implementeringen. Jeg fremhæver her alle de vigtigste.
- En enkelt webserverimplementering.
Dette er ret simpelt. Vi skal bruge det digitale certifikat til webserveren. Trinene er lige frem. Trafikken mellem webbrowser og webserver bliver krypteret
- At have en belastningsbalancer, der tjener til 2 eller flere webservere, gør det en smule kompliceret
I dette tilfælde kunne vi have følgende muligheder
- Ende til slut-kryptering af trafik
Hele trafikstrømmen fra browser til load balancer og fra load balancer til webserver er krypteret
Der er to måder at gøre det på
- Pass-through-konfiguration :Belastningsbalancen i dette tilfælde dekrypterer/krypterer ikke beskeden .den passerer bare gennem trafikken til webserveren
- Dekryptering/kryptering :Belastningsbalancen i dette tilfælde dekrypterer trafikken på belastningsbalanceringsniveauet og krypterer den igen og sender den til webserveren, som igen dekrypterer den
- SSL-terminator:Trafikken mellem webbrowser og load balancer er kun krypteret. Load balancen fungerer som SSL-terminator og afslutter SSL'en på load balancer-niveau og sender den ukrypterede trafik til webserveren.
Trin til at aktivere TLS i R12.1 på hver topologi er angivet nedenfor
En enkelt webserverimplementering
Trin 0 :Forudsætning
1) Opgrader til et minimum af Java Development Kit (JDK) 7.
For at gøre dette skal du følge instruktionerne i My Oracle Support Document 1467892.1, Using JDK 7.0 Seneste opdatering med Oracle E-Business Suite Release 12.0 og 12.1.
2) – Opgrader til Oracle HTTP Server (OHS) 10.1.3.5.
For at gøre dette skal du følge instruktionerne i My Oracle Support Knowledge Document 454811.1, Opgradering til den nyeste Oracle AS 10g 10.1.3.x-patch Set i Oracle E-Business Suite Release 12.
3) – Anvend CPU'en fra oktober 2015 eller en senere CPU til Oracle Fusion Middleware 10.1.3.5.
Download Patch 21845960 til UNIX eller Patch 21845962 til Windows fra My Oracle Support og følg instruktionerne i Document 2051000.1, Oracle E-Business Suite Releases 11i og 12 Critical Patch Update Knowledge Document (oktober 2015).
4) – Anvend platformspecifikke opdateringer.
For AIX og HP Kun Itanium, anvend også Patch 21948197 til Oracle Fusion Middleware 10.1.3.5.
Kun til Windows, anvend også Patch 22251660 til Oracle Fusion Middle ware 10.1.3.5.
5) – Anvend patch 22447165 og 22458773 til Oracle Fusion Middleware 10.1.3.5.
6) – Anvend produktspecifikke patches.
•Oracle Workflow – Anvend patch 22974534:R12.OWF.B for at løse et Oracle Workflow Notification Mailer-problem.
•Oracle iProcurement – Anvend de patches, der er nævnt i My Oracle Support Knowledge Document 1937220.1, Punch-out i Oracle iProcurement og Exchange mislykkes, efter at leverandørens websted er migreret fra SSLv3 til TLS-protokol (med SSL Handshake SSLIOClosedOverrideGoodbyeKiss), som svarer til den relevante applikationsversion.
•Oracle iPayment – Sørg for at opfylde kravene i Dokument 1573912.1, Alt om Oracle Payments Release 12 Tegnebøger og betalingsdatakryptering, til betalingskonfiguration . Derudover skal du anvende patch 22724663:R12.IBY.B.
•Oracle XML Gateway – For Oracle E-Business Suite Release 12.1 krav til patchning, se dokument 1961140.1, Konfiguration af Oracle XML Gateway til SSL/TLS-godkendelse i Oracle E -Business Suite Release 12.1. Derudover skal du anvende patch 22922530:R12.ECX.B.
Trin 1
Indstil dit miljø
- Log på applikationsniveauet som den OS-bruger, der ejer applikationsniveaufilerne.
- Kilde din programlags miljøfil (APPS
.env) placeret i APPL_TOP-mappen. - Naviger til $INST_TOP/ora/10.1.3 og source filen
.env for at indstille dine 10.1.3 ORACLE_HOME-variabler. - Gå til mappen $INST_TOP/certs/Apache
opret en værtsspecifik OpenSSL-konfigurationsfil i den mappe som følgende
cat new.cnf[req]prompt =nodefault_md =sha256distinguished_name =dnreq_extensions =ext[dn]CN =www.example.comO =Eksempel IncOU =Key TeamL =San DiegoST =CaliforniaC =US[ext]subjectAltName =DNS:www .example.com,DNS:example.com
Forklaring
[req]prompt =nej do not promptdefault_md =sha256 standardmeddelelsessammendraget skal være sha256 baseddistinguished_name =dn hent det Distinguished Name fra [dn] sectionreq_extensions =ext hent udvidelserne fra [ext] sektionen[dn]CN =www.eksempel.com sæt Fælles Navn til dit fulde værtsnavn Californien indstil staten til staten eller provinsen eller territoriet for din virksomheds hovedkvarter. værtsnavnet på dit websted er WWW.tilføjer også domænet uden den førende WWW. her. Ellers skal du bare gentage det almindelige navn.
For vores tilfælde ville filen være
cat new.cnf
[req]
prompt =nej
default_md =sha256
distinguished_name =dn
req_extensions =ext
[dn]
CN =www.techgoeasy.com
O =techgoeasy
OU =tech
L =Los Angles
ST =Californien
C =USA
[ext]
subjectAltName =DNS:www.techgoeasy.com,DNS:techgoeasy.com
Hvis du husker det, svarer dette til, hvad vi bruger til at gøre i wallet med SSL
Trin 2 Opret CSR-filen til certificeringsgenerering
(a) Opdater PATH
PATH=$<10.1.3 OH>/Apache/open_ssl/bin:$PATH
(b) Sørg for, at LD_LIBRARY_PATH indeholder en sti til din Oracle Fusion Middleware 10.1.3 ORACLE_HOME/lib.
eksporter LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib
(c) Kør nu følgende kommando:
openssl req -newkey rsa:2048 -nodes -keyout server.key -sha256 -out new.csr -config new.cnf
Send csr'et til certifikatmyndigheden for at få certifikatet
Vi bruger ikke Oracle wallet her
Trin 3 Modtag servercertifikat og certifikatkædefiler fra CA.
Fra CA vil du modtage følgende:
1) Et CA-signeret servercertifikat
2) Certifikatet for rod-CA
3) Certifikaterne for eventuelle påkrævede mellemliggende CA'er
Hvis du kun modtager én fil, kan du oprette disse filer ved hjælp af nedenstående metode
Oprettelse af din certificeringsmyndigheds certifikat
For at oprette ca.crt
- Kopiér server.crt til din pc (hvis nødvendigt) ved hjælp af en af følgende metoder:
ftp (i binær tilstand) server.crt til din pc
kopier indholdet af server.crt og indsæt i notesblok på pc'en. Gem filen som server.crt
- Dobbeltklik på server.crt for at åbne den med Cyrpto Shell-udvidelsen.
- På fanen Certificeringssti klik på den første (øverste) linje og derefter Vis certifikat.
- På fanen Detaljer, klik på Kopier til fil, dette vil starte eksportguiden.
- Klik på Næste for at fortsætte.
- Vælg Base64-kodet X.509 (.CER), og klik på næste.
- Klik på Gennemse, og naviger til det ønskede bibliotek.
- Indtast ca.crt som navn, og klik på ok for at eksportere certifikatet.
- Luk guiden.
- Kopiér ca.crt tilbage til din tegnebogsmappe (hvis nødvendigt) ved hjælp af en af følgende metoder:
ftp (i binær tilstand) ca.crt til dit applikationsniveau tegnebogsmappe. Kopiér indholdet af ca.crt og indsæt i en ny fil i din applikationslistes tegnebogsmappe ved hjælp af en teksteditor. Gem filen som ca.crt
Placer ovenstående filer i den samme mappe, som indeholder din server private nøgle:server.key.
Du bør sikre dig, at servercertifikatfilen hedder server.crt, rod-CA-certifikatet hedder ca.crt, og at de mellemliggende certifikater er i en fil kaldet intermediate.crt.
Hvis du ikke har et mellemcertifikat , kør følgende kommando for at oprette en tom intermediate.crt-fil
echo -n> intermediate.crt
Bekræft, at din $INST_TOP/certs/Apache-mappe indeholder følgende filer
server.key
new.csr
server.crt
intermediate.crt
ca.crt
Opret en certifikatfil for OPMN, der indeholder servercertifikatet og et eventuelt mellemcertifikat ved at udføre følgende:
cat server.crt intermediate.crt ca.crt> opmn.crt
Trin 4 Opdater kontekstfilen
Brug E-Business Suite – Oracle Applications Manager (OAM) Context Editor til at ændre de SSL-relaterede variabler som vist i denne tabel:
SSL-relaterede variabler i kontekstfilen | ||
Variabel | Ikke-SSL-værdi | SSL-værdi |
s_url_protocol | http | https |
s_local_url_protocol | http | https |
s_webentryurlprotocol | http | https |
s_active_webport | samme som s_webport | samme som s_webssl_port |
s_webssl_port | ikke relevant | standard er 4443 |
s_https_listen_parameter | ikke relevant | samme som s_webssl_port |
s_login_page | url konstrueret med http-protokol og s_webport | url konstrueret med https-protokol og s_webssl_port |
s_external_url | url konstrueret med http-protokol og s_webport | url konstrueret med https-protokol og s_webssl_port |
Trin 5 Udfør yderligere konfiguration .
Kopier de originale filer fra
Erstat denne linje i skabelonen:
Med følgende:
Instruktionerne her er at kommentere en linje og tilføje en ny linje til reference mod_ssl.so. Rediger følgendeLoadModule ossl_module libexec/mod_ossl.so Til følgende:#LoadModule ossl_module libexec/mod_ossl.soLoadModule ssl_module libexec/mod_sslDefine.>
D_TOP>/admin/template/custom/ssl_conf_1013.tmp (til UNIX) Trin 1 - Kommenter følgende linje i skabelonen: #SSLWallet-fil:%s_web_ssl_directory%/Apache Trin 2 - Tilføj følgende 3 linjer til skabelonen:SSLCertificateFile %s_web_ssl_directory%/Apache/server.crt SSLCertificateKeyFile %s_directory%_web_directory /Apache/server.key SSLCertificateChainFile %s_web_ssl_directory%/Apache/intermediate.crt Trin 3 - Erstat følgende:SSLChipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM Med følgende:SSLChipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM :!aNULL:!RC4:!SEED:!IDE:!CAMELLIA:+HIGH:+MEDIUM trin 4 - Erstat følgende:SSLProtocol -all +TLSv1 +SSLv3 Med følgende:SSLProtocol all -SSLv2 -SSLv3Trin 6 Udfør yderligere konfiguration for at aktivere TLS1.1 og TLS 1.2
Følgende ændring vil aktivere TLS 1.1- og TLS 1.2-protokollerne, som ikke er aktiveret som standard i Java 7.
Kopier de originale filer nævnt i tabellen nedenfor fra
/admin/skabelon til /admin/skabelon/custom, hvis den brugerdefinerede mappe eller nogen af de tilpassede skabelonfiler ikke allerede eksisterer. Opdater disse brugerdefinerede filer som dokumenteret nedenfor.
Tilpasset skabelonfil Ændring /admin/template/custom/oc4j_properties_1013.tmp /admin/template/custom/oafm_oc4j_properties_1013.tmp /admin/template/custom/ forms_oc4j_properties_1013.tmp
(Tilføj:
https.protocols=TLSv1,TLSv1.1,TLSv1.2
Trin 7 Opdater b64InternetCertificate.txt TrustStores .
Tilføj indholdet af ca.crt-filen til filen b64InternetCertificate.txt, som findes i 10.1.2 ORACLE_HOME/sysman/config-mappen:
$ kat ca.crt>> <10.1.2 ORACLE_HOME>/sysman/config/b64InternetCertificate.txt Trin 8 – Opdater cacerts TrustStore .
Hvis du har købt dit servercertifikat fra en kommerciel CA, vil du højst sandsynligt ikke skulle udføre dette trin, da root CA-certifikatet allerede vil være til stede i cacerts. Keytool-kommandoen vil fortælle dig, hvis du forsøger at tilføje et certifikat, der allerede findes i cacerts.
Følg disse trin for at være sikker på, at disse krav er opfyldt:
- Naviger til mappen $OA_JRE_TOP/lib/security.
- Sikkerhedskopier den eksisterende cacerts-fil.
- Kopiér dine ca.crt-filer til denne mappe, og udgiv følgende kommando for at sikre, at cacerts har skrivetilladelser
$ chmod u+w cacertsTilføj din Apache ca.crt til cacerts:
$ keytool -importcert -alias ApacheRootCA -file ca.crt -v -keystore cacerts
Når du bliver bedt om det, skal du indtaste nøglelageradgangskoden (standardadgangskoden er "changeit").
Tilføj din Apache ca.crt til cacerts:
$ keytool -importcert -alias ApacheRootCA -file ca.crt -v -keystore cacerts
Når du bliver bedt om det, skal du indtaste nøglelageradgangskoden (standardadgangskoden er "changeit").
Tilføj din Apache ca.crt til cacerts:
$ keytool -importcert -alias ApacheRootCA -file ca.crt -v -keystore cacerts
Når du bliver bedt om det, skal du indtaste nøglelageradgangskoden (standardadgangskoden er "changeit").
$ chmod u-w cacerts
Trin 9 – Kør Autoconfig
Autoconfig kan køres ved at bruge adautocfg.sh-scriptet i mappen Application Tier $ADMIN_SCRIPTS_HOME.
Trin 10 – Genstart Application Tier-tjenesterne
Brug adapcctl.sh-scriptet i mappen $ADMIN_SCRIPTS_HOME til at stoppe og genstarte Apache-tjenesterne på Application Tier.
Trin, der skal bruges, når du går til SSL-terminator
Der er ikke behov for certifikatoprettelse og installation på webserveren. I dette tilfælde skal vi blot indstille kontekstfilparameteren nedenfor
Ændringer ved brug af en SSL-accelerator Variabel Ikke-SSL-værdi SSL-værdi s_url_protocol http http s_local_url_protocol http http s_webentryurlprotocol http https s_active_webport samme som s_webport værdien af SSL Acceleratorens eksterne grænsefladeport s_webentryhost samme som s_webhost SSL Accelerator værtsnavn s_webentrydomain samme som s_domænenavn SSL Accelerator-domænenavn s_enable_sslterminator # fjern '#' for at bruge ssl_terminator.conf i ssl-terminerede miljøer s_login_page url konstrueret med http-protokol og s_webport url konstrueret med https-protokol, s_webentryhost, s_webentrydomain, s_active_webport s_external_url url konstrueret med http-protokol og s_webport url konstrueret med https-protokol, s_webentryhost, s_webentrydomain, s_active_webport Kør Autoconfig
Autoconfig kan køres ved at bruge adautocfg.sh-scriptet i mappen Application Tier $ADMIN_SCRIPTS_HOME.
Genstart Application Tier-tjenesterne
Brug adapcctl.sh-scriptet i mappen $ADMIN_SCRIPTS_HOME til at stoppe og genstarte Apache-tjenesterne på Application Tier.
Trin til ende-til-ende-kryptering med Pass through-konfiguration på Load Balancer
1) Alle de trin, der er givet for en enkelt webserver, skal udføres.
2) Certifikatet skal oprettes med load balancer Name
3) Vi kan udføre certifikattrinnene på én node og derefter kopiere alle trinene til de andre noder
Kontekstværdiændringer
SSL-relaterede variabler i kontekstfilen Variabel Ikke-SSL-værdi SSL-værdi s_url_protocol http https s_local_url_protocol http https s_webentryurlprotocol http https s_active_webport samme som s_webport samme som s_webssl_port s_webssl_port ikke relevant standard er 4443 s_https_listen_parameter ikke relevant samme som s_webssl_port s_login_page url konstrueret med http-protokol og s_webport url konstrueret med https-protokol og s_webssl_port s_external_url url konstrueret med http-protokol og s_webport url konstrueret med https-protokol og s_webssl_port Kør Autoconfig
Autoconfig kan køres ved at bruge adautocfg.sh-scriptet i mappen Application Tier $ADMIN_SCRIPTS_HOME.
Genstart Application Tier-tjenesterne
Brug adapcctl.sh-scriptet i mappen $ADMIN_SCRIPTS_HOME til at stoppe og genstarte Apache-tjenesterne på Application Tier.
Trin til ende til ende-kryptering med kryptering/dekryptering på Load Balancer
1) Alle de trin, der er givet for en enkelt webserver, skal udføres.
2) Certifikatet skal også oprettes på load balancer niveau og web node niveau. Det skal oprettes med load balancer Name på begge sider
3) Vi kan udføre certifikattrinnene på én webnode og derefter kopiere alle trinene til de andre noder
4) Belastningsbalancen skal have klient-SSL-certifikatet for webnodecertifikatet
Kontekstværdiændringer
SSL-relaterede variabler i kontekstfilen Variabel Ikke-SSL-værdi SSL-værdi s_url_protocol http https s_local_url_protocol http https s_webentryurlprotocol http https s_active_webport samme som s_webport samme som s_webssl_port s_webssl_port ikke relevant standard er 4443 s_https_listen_parameter ikke relevant samme som s_webssl_port s_login_page url konstrueret med http-protokol og s_webport url konstrueret med https-protokol og s_webssl_port s_external_url url konstrueret med http-protokol og s_webport url konstrueret med https-protokol og s_webssl_port Kør Autoconfig
Autoconfig kan køres ved at bruge adautocfg.sh-scriptet i mappen Application Tier $ADMIN_SCRIPTS_HOME.
Genstart Application Tier-tjenesterne
Brug adapcctl.sh-scriptet i mappen $ADMIN_SCRIPTS_HOME til at stoppe og genstarte Apache-tjenesterne på Application Tier.
Yderligere konfiguration
Opsætning af databaselag
Oracle-produkter såsom Oracle Configurator, Order Management, Order Capture, Quoting, iPayment, iStore og Pricing udnytter databasen som en HTTP-klient. Implementeringen af TLS til Oracle Database Server (som fungerer som en klient, der sender anmodninger til webserveren) gør brug af Oracle Wallet Manager til at konfigurere en Oracle wallet.
For at aktivere HTTPS-klientanmodningen fra databasen ved hjælp af UTL_HTTP, skal du oprette en truststore i tegnebogsformat. Du behøver ikke et servercertifikat til denne tegnebog. Du behøver kun at importere rod-CA-certifikatet for de rod-CA'er, der er tillidsankeret for de websteder, du skal bruge UTL_HTTP til at oprette forbindelse til.
- Når du har indstillet dit miljø for databaseniveauet, skal du navigere til $ORACLE_HOME/appsutil mappen.
- Opret en ny tegnebogsmappe med navnet pung.
- Naviger til den nyoprettede tegnebogsmappe.
- Åbn Oracle Wallet Manager som en baggrundsproces.
owm &
- I Oracle Wallet Manager-menuen skal du navigere til Wallet> Ny .
Svar NEJ til:Din standard tegnebogsmappe eksisterer ikke. Vil du oprette det nu? Den nye tegnebogsskærm vil nu bede dig om at indtaste en adgangskode til din tegnebog. Klik på NEJ, når du bliver bedt om det:En ny tom tegnebog er blevet oprettet. Ønsker du at oprette en certifikatanmodning på dette tidspunkt?- Hvis du har brug for at importere ca.crt, skal du i Oracle Wallet Manager-menuen navigere til Operations> Importér pålideligt certifikat . Klik på OK . Dobbeltklik på ca.crt for at importere det.
- Gem tegnebogen:I Oracle Wallet Manager-menuen skal du klikke på Wallet . Bekræft Automatisk login afkrydsningsfeltet er markeret. Klik på Gem .
For at teste, at tegnebogen er korrekt konfigureret og tilgængelig, skal du logge ind på SQLPLUS som apps bruger og udføre følgende:
SQL>vælg utl_http.request('[adgangsadresse]', '[proxyadresse]', 'fil:[fuld sti til tegnebogsmappe]', null) fra dual;
hvor:
‘[adgangsadresse]’ =URL'en til din Oracle E-Business Suite Rapid Install Portal.
‘[proxyadresse] ' =URL'en på din proxyserver eller NULL, hvis du ikke bruger en proxyserver.
'fil:[fuld sti til tegnebogsmappe]' =placeringen af din tegnebogsmappe (angiv ikke de faktiske tegnebogsfiler).Den sidste parameter er tegnebogens adgangskode, som er sat til null som standard.
Eksempler:
SQL>vælg utl_http.request('https://www.oracle.com/robots.txt','http://www-proxy.com:80', 'file:/d1/oracle/db/ tech_st/12.1.0/appsutil/wallet', null) fra dual;
SQL>vælg utl_http.request('https://www.oracle.com/robots.txt',null, 'file:/d1 /oracle/db/tech_st/12.1.0/appsutil/wallet', null) fra dual;Hvis tegnebogen er konfigureret korrekt, vil du få returneret de første 2.000 tegn på HTML-siden.
Relaterede links
Aktivering af SSL eller TLS i Oracle E-Business Suite Release 12 (Doc ID 2143099.1)
Sådan finder du R12-komponenter Version
40 Adpatch-spørgsmål, som enhver DBA bør kende
awk-kommando
Keytool-kommando