sql >> Databasteknik >  >> RDS >> Oracle

Aktivera SSL eller TLS i Oracle Apps R12

Säkerhet är ett stort problem idag. Här är stegen Aktivera SSL i Oracle Apps R12

Innehållsförteckning

Introduktion:

  • Datan mellan webbläsare och webbserver färdas okrypterad i R12-applikationen, så lösenordet och annan information kan spåras av sniffer. De kan få ditt användarnamn/lösenord eller annan känslig information. Detta blir avgörande när du har Internetåtkomst till Oracle Applications
  • Med SSL-implementering färdas data i de krypterade formerna och endast webbläsare och webbserver kan dekryptera den. Implementeringen kräver SSL-certifikatet och konfigurationen i R12-miljön   enligt konfigurationen

Vad är SSL?

SSL och TLS är det kryptografiska protokollet som säkerställer integritet mellan kommunicerande applikationer och deras användare på Internet

Vad är SSL-certifikat

SSL använder två typer av certifikat:

Användarcertifikat:

Dessa är certifikat som utfärdats till servrar eller användare för att bevisa sin identitet i en offentlig nyckel/privat nyckelutbyte.

Betrodda certifikat:
Detta är certifikat som representerar enheter som du litar på – till exempel certifikatmyndigheter som signerar användarcertifikaten de utfärdar.

Secure Sockets Layer (SSL)

SSL är en teknik som definierar de väsentliga funktionerna för ömsesidig autentisering, datakryptering och dataintegritet för säkra transaktioner. Utbyte av data mellan klienten och servern i sådana säkra transaktioner sägs använda Secure Sockets Layer (SSL).

Transport Layer Security (TLS)

Transport Layer Security är ett kryptografiskt protokoll som säkerställer integritet mellan kommunicerande applikationer och deras användare på Internet. Även om SSL stöds med alla versioner av Oracle Application Server, kräver TLS minst Application Server 10.1.2.0. Oracle Applications Release 12 stöder användningen av både SSL och TLS.

Så fungerar SSL

  1. Klienten skickar en begäran till servern med HTTPS-anslutningsläge.
  2. Servern presenterar sitt digitala certifikat för klienten. Detta certifikat innehåller serverns identifierande information som servernamn, organisation och serverns offentliga nyckel och digital signatur för CA:s privata nyckel
  3. Klienten (webbläsaren) har de publika nycklarna för alla CA. Den dekrypterar det digitala certifikatets privata nyckel. Denna verifiering bevisar att avsändaren hade tillgång till den privata nyckeln och därför sannolikt är den person som är associerad med den offentliga nyckeln. Om verifieringen går bra, autentiseras servern som en betrodd server.
  4. Klienten skickar till servern en lista över de krypteringsnivåer, eller chiffer, som den kan använda.
  5. Servern tar emot listan och väljer den starkaste krypteringsnivån som de har gemensamt.
  6. Klienten krypterar ett slumpmässigt nummer med serverns publika nyckel och skickar resultatet till servern (som endast servern ska kunna dekryptera med sin privata nyckel); båda parter använder sedan slumptalet för att generera en unik sessionsnyckel för efterföljande kryptering och dekryptering av data under sessionen

Så det är tydligt från stegen ovan, vi kommer att behöva ett digitalt certifikat för webbservern och vi använder Oracle wallet i 10.1.3 för att lagra certifikatet

Olik topologi för SSL  i Oracle Apps R12

ssl-implementeringen kommer att bero på topologin för R12-implementeringen. Jag lyfter här fram alla de viktigaste. Detta gäller både för R12.0- och R12.1-implementering.

  • En enda webbserverdistribution.

Det här är ganska enkelt. Vi kommer att behöva det digitala certifikatet för webbservern. Stegen är rakt fram. Trafiken mellan webbläsare och webbserver kommer att krypteras

  • Att ha en lastbalanserare som serverar 2 eller fler webbservrar gör det lite komplicerat

I det här fallet kan vi ha följande alternativ

  1. End to end-kryptering av trafik

Hela trafikflödet, dvs från webbläsare till lastbalanserare och från lastbalanserare till webbserver är krypterat

Det finns två sätt att göra det

(a) Pass-through-konfiguration :Belastningsbalansen i det här fallet dekrypterar/krypterar inte meddelandet .det går bara genom trafiken till webbservern

Viktigt att tänka på
När du konfigurerar Ebusiness Suite med lastbalanserande hårdvara skulle du på många ställen ha sett kravet på att ställa in cookie-baserad beständighet. Problemet vi har här är att när SSL-genomföring är på plats fungerar inte cookie-beständighet eftersom cookien är krypterad av Ebusiness Suite och belastningsutjämnaren kommer inte att kunna läsa den cookieinformation som behövs för att upprätthålla persistens. Här är ett utdrag från F5 dokumentation som förklarar detta mer detaljerat
Källa:
http://devcentral.f5.com/Tutorials/TechTips/tabid/63/articleType/ArticleView/articleId/262/Persisting-SSL-Connections.aspx
För SSL Pass-through-konfigurationer är beständighetsalternativen kraftigt begränsade:Eftersom LTM inte dekrypterar konversationen är endast den icke-SSL-krypterade informationen i sessionen tillgänglig för användning som en sessionsidentifierare. De primära delarna av beständig okrypterad information i ett krypterat SSL-flöde är käll- och destinations-IP-adresserna och själva SSL-sessions-ID:t, så endast källadress, destinationsadress eller SSL-beständighet kommer att fungera med SSL-pass-through-konfigurationer. När du använder källadressbeständighet kan detta skapa en situation där klienter som kommer åt systemet från en enhet av proxytyp alla fastnar på samma programnivå, vilket orsakar en obalans i trafiken på programnivån. Så att använda något mer unikt, som SSL-sessions-id, är att föredra.
Vi rekommenderar att du ställer in SSL-beständighet som den primära beständighetsmetoden och sedan ställer in Source Address som en backup-beständighetsmetod för att hålla nya anslutningar till samma server även om SSL sessions-ID ändras mitt i applikationssessionen. Det är också en bästa praxis att sedan konfigurera applikationsnivån för att minimera antalet SSL-sessionsomförhandlingar, konsultera lämpliga applikationsserveradministrationsguider för mer information. Som sådan är rekommendationen att använda SSL-beständighetsprofilen samt Källadressprofil.
Du kan dock helt enkelt köra Källadressprofilen på egen hand om klientens IP-adress skickas till belastningsutjämnaren.
Obs:beständighetstiden som tilldelats källadressprofilen eller SSL-profilen bör ökas till Oracles rekommenderade värde på 12 timmar.

(b) Dekryptering/kryptering :Lastbalansen i det här fallet dekrypterar trafiken på lastbalanseringsnivån och krypterar den igen och skickar den till webbservern som återigen dekrypterar den

2) SSL-terminator:Trafiken mellan webbläsare och lastbalanserare är endast krypterad. Lastbalansen fungerar som SSL-terminator och avslutar SSL på lastbalanseringsnivån och skickar den okrypterade trafiken till webbservern. Det har följande fördelar.

Minskad hanteringskostnad:Endast ett certifikat behöver underhållas (på LBR) snarare än flera certifikat på flera programnivåer
Prestandaförbättring:Avlastning av SSL-kryptering och avkryptering till lastbalanseraren förbättrar prestandan avsevärt genom att minska CPU-belastningen. Eftersom kunder nu får SSL-certifikat med nycklar på 2048 byte, kommer SSL-bearbetnings-CPU-belastningen på applikationsnivån att vara 5 gånger högre än att använda äldre 1024 byte SSL-nyckel

Steg för att utföra konfiguration för varje topologi ges nedan

En enda webbserver-distribution SSL i Oracle Apps R12

Steg 1

Ställ in din miljö

  1. Logga in på programnivån som OS-användaren som äger programnivåfilerna.
  2. Källa till miljöfilen för din programnivå (APPS.env) som finns i katalogen APPL_TOP.
  3. Navigera till $INST_TOP/ora/10.1.3 och hämta filen .env för att ställa in dina 10.1.3 ORACLE_HOME-variabler.

Obs! När du arbetar med plånböcker och certifikat måste du använda 10.1.3 körbara filer.

Viktig anmärkning

Om du använder klienter (JRE 8, vissa moderna webbläsare) eller Oracle Database 12c måste du utföra följande:

– Uppgradera FMW 10.1.3 till 10.1.3.5
– Applicera oktober 2015 CPU (patch 21845960).

Steg 2

Skapa en plånbok

  1. Navigera till katalogen $INST_TOP/certs/Apache.
  2. Flytta befintliga plånboksfiler till en säkerhetskopia om du vill använda dem igen i framtiden.
  3. Öppna Wallet Manager som en bakgrundsprocess:
$ owm &

På Oracle Wallet Manager-menyn, navigera till Wallet>New.

Svar NEJ till:Din standardplånbokskatalog finns inte. Vill du skapa den nu?

Den nya plånboksskärmen kommer nu att uppmana dig att ange ett lösenord för din plånbok

Ange lösenordet och kom ihåg det

En ny tom plånbok har skapats. Vill du skapa en certifikatbegäran just nu?

Efter att ha klickat på "Ja" på skärmen Skapa certifikatbegäran dyker upp

Fyll i lämpliga värden där:

Allmänt namn Det är namnet på din server inklusive domänen.
Organisationsenhet:(valfritt) Enheten inom din organisation.
Organisation Det är namnet på din organisation
Ort/Stad Det   är din ort eller stad.
Stat/provins är det fullständiga namnet på din stat eller provins, förkorta inte.

Välj ditt land från rullgardinsmenyn och för nyckelstorlek, välj 2048 som ett minimum. Klicka på OK.

Obs:Beroende på din certifikatleverantör kanske de inte accepterar den MD5-baserade certifikatbegäran (CSR) som genereras av Oracle Wallet Manager (OWM). Till exempel accepterar VeriSign nu endast  SHA12048-bitarsbaserade CSR:er eller högre. I sådana fall måste du konvertera MD5 CSR till en lämplig SHA1-baserad CSR.

Klicka på  På begärt certifikat

Du måste exportera certifikatbegäran innan du kan skicka in den till en certifieringsmyndighet.

  1. Klicka på Certifikat [Begärt] för att markera det.
  2. Klicka på Operations>
  3. från menyn

Exportera certifikatbegäran

  1. Spara filen som server.csr
  2. Klicka på Plånbok från menyn och klicka sedan på Spara.
  3. På skärmen Välj katalog ändra katalogen till din fullt kvalificerade plånbokskatalog.
  4. Klicka på OK.
  5. Klicka på Plånbok från menyn och markera rutan Automatisk inloggning.

Se till att göra detta lösenord till något du kommer ihåg. Du måste använda lösenordet när du öppnar plånboken med Oracle Wallet Manager eller utför operationer på plånboken med kommandoradsgränssnittet. Med automatisk inloggning aktiverade processer som skickats av OS-användaren som skapade plånboken behöver inte ange lösenordet för att komma åt plånboken.

  1. Avsluta Wallet Manager.

Plånbokskatalogen kommer nu att innehålla följande filer:

cwallet.sso
ewallet.p12
server.csr

Du kan nu skicka server.csr  till din certifieringsmyndighet för att begära ett servercertifikat

Steg 5

Importera ditt servercertifikat till plånboken

När du har fått ditt servercertifikat från din certifieringsmyndighet måste du importera det till din plånbok. Kopiera certifikatet till tech.crt i plånbokskatalogen på din server med någon av följande metoder:

  1. ftp certifikatet (i binärt läge)
  2. kopiera och klistra in innehållet i server.crt

Följ dessa steg för att importera tech.crt till din plånbok:

  1. Öppna Wallet Manager som en bakgrundsprocess:

$ owm &

  1. Klicka på Plånbok från menyn och sedan på Öppna.
  2. Svara Ja när du uppmanas:

Din standardplånbokskatalog finns inte.

Vill du fortsätta?

  1. På skärmen Välj katalog ändra katalogen till din fullt kvalificerade plånbokskatalog och

klicka på OK

  1. Ange ditt plånbokslösenord och klicka på OK.
  2. På Oracle Wallet Manager-menyn, navigera till Operations Import

Användarcertifikat.

Servercertifikat är en typ av användarcertifikat. Eftersom certifieringsmyndigheten utfärdade ett certifikat för servern och placerade dess distinguished name (DN) i fältet Ämne, är servern certifikatets ägare, alltså "användaren" för detta användarcertifikat.

  1. Klicka på OK.
  2. Dubbelklicka på server.crt för att importera den.
  3. Spara plånboken:
  4. På Oracle Wallet Manager-menyn klickar du på Plånbok.
  5. Verifiera att rutan för automatisk inloggning är markerad.
  6. Klicka på Spara

Obs:Om alla betrodda certifikat som utgör kedjan av server.crt inte finns i plånboken, kommer det att misslyckas att lägga till certifikatet. När plånboken skapades inkluderades certifikaten för de vanligaste CA:erna (som VeriSign, GTE och Entrust) automatiskt. Kontakta din certifieringsmyndighet om du behöver lägga till deras certifikat och spara den medföljande filen som ca.crt i plånbokskatalogen i base64-format. Ett annat alternativ är att följa instruktionerna nedan för att skapa ca.crt från ditt servercertifikat (server.crt). Om din certifieringsmyndighet tillhandahöll ett mellanliggande certifikat (för att slutföra kedjan) och spara sedan den tillhandahållna filen som intca.crt i ett Base64-format, detta måste importeras till Oracle Wallet Manager innan servern.crt importeras. Certifikat som består av flera delar (som typ P7B) skulle också falla i denna kategori

Skapa din certifieringsmyndighets certifikat

För att skapa ca.crt

  1. Kopiera tech.crt till din PC (om nödvändigt) med någon av följande metoder:

ftp (i binärt läge) tech.crt till din dator, kopiera innehållet i server.crt och klistra in i anteckningsblocket på datorn. Spara filen som server.crt

  1. Dubbelklicka på server.crt för att öppna den med Cyrpto Shell Extension.
  2. På fliken Certifieringsväg klicka på den första (översta) raden och sedan Visa certifikat.
  3. På fliken Detaljer klickar du på Kopiera till fil, detta startar exportguiden.
  4. Klicka på Nästa för att fortsätta.
  5. Välj Base64-kodad X.509 (.CER) och klicka på Nästa.
  1. Klicka på Bläddra och navigera till den katalog du väljer.
  2. Ange ca.crt som namn och klicka på ok för att exportera certifikatet.
  3. Stäng guiden.
  4. Kopiera ca.crt tillbaka till din plånbokskatalog (om nödvändigt) med någon av följande metoder:

ftp (i binärt läge) ca.crt till din plånbokskatalog för applikationsnivån kopiera innehållet i ca.crt och klistra in i en ny fil i din plånbokskatalog för applikationsnivån med en textredigerare. Spara filen som ca.crt

Om det finns mellanliggande certifikat, exportera det också med samma teknik

Detaljerade steg för att importera certifikat med skärmbilder

owm &

Klicka sedan på plånbok -> öppna

Klicka på Ja

Ange den fullständiga sökvägen till plånbokskatalogen

Ange plånbokslösenordet

Now Operations:Importera användarcertifikat

Alternativt kan du lägga till certifikatet med kommandot orapki också

orapki plånbok lägg till \
-plånbok . \
-trusted_cert \
-cert ca.crt \
-pwd

orapki plånbok lägg till \
-plånbok . \
-trusted_cert \
-cert int.crt \
-pwd

orapki wallet add \
-wallet .\
-user_cert \
-cert tech.crt \
-pwd

Viktigt steg
Om du behöver importera CA-certifikatet måste du också lägga till innehållet i filen ca.crt till filen b64InternetCertificate.txt som finns i katalogen 10.1.2 ORACLE_HOME/sysman/config:

$ cat ca.crt>> <10.1.2 ORACLE_HOME>/sysman/config/b64InternetCertificate.txt

Om du också fick ett mellanliggande certifikat (intca.crt) måste du också lägga till det i b64InternetCertificate.txt:
$ cat intca.crt>> <10.1.2 ORACLE_HOME>/sysman/config/b64InternetCertificate .txt

Steg 6

Ändra OPMN-plånboken

  1. Navigera till katalogen $INST_TOP/certs/opmn.
  2. Skapa en ny katalog med namnet BAK.
  3. Flytta filerna ewallet.p12 och cwallet.sso till BAK-katalogen som just skapades.
  4. Kopiera filerna ewallet.p12 och cwallet.sso från katalogen $INST_TOP/certs/Apache till katalogen $INST_TOP/certs/opmn.

Steg 7

Uppdatera JDK Cacerts-filen

Oracle Web Services kräver att certifikatet från den certifierande myndighet som utfärdade ditt servercertifikat (ca.crt från föregående steg) finns i JDK cacerts-filen. Dessutom kräver vissa funktioner i XML Publisher och BI Publisher att servercertifikatet (server.crt från föregående steg) finns.

Följ dessa steg för att vara säker på att dessa krav är uppfyllda:

  1. Navigera till katalogen $OA_JRE_TOP/lib/security.
  2. Säkerhetskopiera den befintliga cacerts-filen.
  3. Kopiera dina ca.crt- och server.crt-filer till den här katalogen och utfärda följande kommando för att säkerställa att cacerts har skrivbehörighet:
$ chmod u+w cacerts

Steg 8

Uppdatera kontextfilen

Använd E-Business Suite – Oracle Applications Manager (OAM) Context Editor för att ändra de SSL-relaterade variablerna som visas i denna tabell:

SSL-relaterade variabler i kontextfilen
Variabel Icke-SSL-värde SSL-värde
s_url_protocol http https
s_local_url_protocol http https
s_webentryurlprotocol http https
s_active_webport samma som s_webport samma som s_webssl_port
s_webssl_port inte tillämpligt standard är 4443
s_https_listen_parameter inte tillämpligt samma som s_webssl_port
s_login_page url konstruerad med http-protokoll och s_webport url konstruerad med https-protokoll och s_webssl_port
s_external_url url konstruerad med http-protokoll och s_webport url konstruerad med https-protokoll och s_webssl_port
 

Steg 9 – Kör Autoconfig

Autoconfig kan köras genom att använda adautocfg.sh-skriptet i katalogen Application Tier $ADMIN_SCRIPTS_HOME.

Relaterade artiklar

Autokonfigurering

Steg för att köra Autoconfig på R12-applikationen inklusive både databas och applikationsnivå

Oracle apps autoconfig mallar plats och hur man anpassar mallen för autoconfig filer

Steg 10 – Starta om Application Tier-tjänsterna

Använd adapcctl.sh-skriptet i katalogen $ADMIN_SCRIPTS_HOME för att stoppa och starta om Application Tier Apache-tjänsterna.

Steg som ska användas när du väljer SSL-terminator med Oracle-appar R12

Det finns inget behov av att skapa och installera certifikat på webbservern. Certifikatet kommer att installeras i SSL terminator. I det här fallet behöver vi bara ställa in kontextfilsparametern som anges nedan

Ändringar när du använder en SSL-accelerator
Variabel Icke-SSL-värde SSL-värde
s_url_protocol http http
s_local_url_protocol http http
s_webentryurlprotocol http https
s_active_webport samma som s_webport värdet för SSL-acceleratorns externa gränssnittsport
s_webentryhost samma som s_webhost SSL Accelerator värdnamn
s_webentrydomin samma som s_domännamn SSL Accelerator-domännamn
s_enable_sslterminator # ta bort "#" för att använda ssl_terminator.conf i ssl-terminerade miljöer
s_login_page url konstruerad med http-protokoll och s_webport url konstruerad med https-protokoll, s_webentryhost, s_webentrydomin, s_active_webport
s_external_url url konstruerad med http-protokoll och s_webport url konstruerad med https-protokoll, s_webentryhost, s_webentrydomin, s_active_webport

Kör autokonfigurering

Autoconfig kan köras genom att använda adautocfg.sh-skriptet i katalogen Application Tier $ADMIN_SCRIPTS_HOME.

Starta om Application Tier-tjänsterna

Använd adapcctl.sh-skriptet i katalogen $ADMIN_SCRIPTS_HOME för att stoppa och starta om Application Tier Apache-tjänsterna.

Steg för end-to-end-kryptering med Pass through-konfiguration på Load Balancer

1) Alla steg som anges för en enda webbserver måste utföras.

2) Certifikatet måste skapas med lastbalanserarens namn

3)   Vi kan köra certifikatstegen på en nod och sedan kopiera alla steg till de andra noderna

Kontextvärdet ändras

SSL-relaterade variabler i kontextfilen
Variabel Icke-SSL-värde SSL-värde
s_url_protocol http https
s_local_url_protocol http https
s_webentryurlprotocol http https
s_active_webport samma som s_webport samma som s_webssl_port
s_webssl_port inte tillämpligt standard är 4443
s_https_listen_parameter inte tillämpligt samma som s_webssl_port
s_login_page url konstruerad med http-protokoll och s_webport url konstruerad med https-protokoll och s_webssl_port
s_external_url url konstruerad med http-protokoll och s_webport url konstruerad med https-protokoll och s_webssl_port

Kör autokonfigurering

Autoconfig kan köras genom att använda adautocfg.sh-skriptet i katalogen Application Tier $ADMIN_SCRIPTS_HOME.

Starta om Application Tier-tjänsterna

Använd adapcctl.sh-skriptet i katalogen $ADMIN_SCRIPTS_HOME för att stoppa och starta om Application Tier Apache-tjänsterna.

Databasinställning  krävs

Oracle-produkter som Oracle Configurator, Order Management, iStore, Order Capture, Quoting, iPayment, iStore och Pricing får tillgång till data över Internet i HTTP- eller HTTPS-anslutningsläge. Implementeringen av SSL för Oracle Database Server (som fungerar som en klient som skickar förfrågningar till webbservern) använder Oracle Wallet Manager för att ställa in en Oracle-plånbok.

Obs! Detta är ett obligatoriskt krav för Oracle iStores skyltfönster när webbnivån också är SSL-aktiverad.

För att aktivera HTTPS-klientbegäran från databasen via UTL_HTTP måste du upprätta en truststore i plånboksformat. Du behöver inget servercertifikat för den här plånboken. Du behöver bara importera rot-CA-certifikatet för de rot-CA som är förtroendeankare för de webbplatser du behöver UTL_HTTP för att ansluta till.

1)När du har ställt in din miljö för databasnivån, navigera till katalogen $ORACLE_HOME/appsutil.
2)Skapa en ny plånbokskatalog med namnet:plånbok
3)Navigera till den nyskapade plånbokskatalogen.
4) Öppna Wallet Manager som en bakgrundsprocess:
owm &
5)På Oracle Wallet Manager-menyn, navigera till Wallet -> New.
Svara NEJ till:Din standardplånbokskatalog finns inte. Vill du skapa den nu?
Den nya plånboksskärmen kommer nu att uppmana dig att ange ett lösenord för din plånbok.
Klicka på NEJ när du uppmanas:
En ny tom plånbok har skapats. Vill du skapa en certifikatbegäran just nu?6) Om du behöver importera ca.crt:
På Oracle Wallet Manager-menyn, navigera till Operations -> Import Trusted Certificate.
Klicka på OK.
Dubbelklicka på ca.crt för att importera den.7) Spara plånboken:
Klicka på Plånbok på Oracle Wallet Manager-menyn.
Kontrollera att rutan för automatisk inloggning är markerad.
Klicka på Spara .
För att testa att plånboken är korrekt inställd och tillgänglig loggar du in på SQLPLUS som appanvändare och utför följande:SQL>select utl_http.request('[address to access]', '[proxyadress]' , 'fil:[fullständig sökväg till plånbokskatalog]', null) från dual;

där:

'[address to access]' =webbadressen till din E-Business Suite Rapid Install Portal.

'[proxyadress]' =webbadressen till din proxyserver, eller NULL om du inte använder en proxyserver.

'fil:[fullständig sökväg till plånbokskatalog]' =platsen för din plånbokskatalog (ange inte de faktiska plånboksfilerna).

Den sista parametern är plånbokslösenordet, som är inställt på null som standard.

Relaterade  länkar

Aktivera SSL eller TLS i Oracle E-Business Suite Release 12 (dok. ID 2143099.1)
Hur hittar du R12-komponenter Version
40 Adpatch-fråga som varje DBA bör känna till
awk-kommando
Keytool-kommando


  1. Skicka array till MySQL-lagrad rutin

  2. Hur kan jag få tidig tillgång till Oracle Java-uppdateringar, så att jag kan testa min RIA och undvika brandövningar när dessa uppdateringar görs offentliga?

  3. PostgreSQL INSERT ON CONFLICT UPDATE (upsert) använd alla uteslutna värden

  4. Fullt hanterad PostgreSQL-värd på AWS och Azure lanseras i tid för äldre migrering