Daugiau

8.5: naujas puslapis - geomokslai


8.5: naujas puslapis

Problema

Kai „Windows Server 2012“ paslaugos interneto informacijos paslaugos (IIS) prasideda paleidžiant sistemą, ji automatiškai suaktyvina visas sukonfigūruotas svetaines. Tai reiškia, kad pirmą kartą pasiekus bet kurią svetainę, ji bus pasiekiama ir greitai reaguos. Tačiau sistemai, kurioje sukonfigūruotas didelis svetainių skaičius, reikia ne tik daug laiko ir išteklių, kad suaktyvintų visas tas svetaines vienu metu, bet jos gali naudoti daug atminties. Jei dauguma svetainių pasiekiamos retai, tai gali būti nereikalingas sistemos išteklių švaistymas.

Atminkite, kad & quotactivation & quot šiame kontekste reiškia procesą, kurio metu IIS registruoja svetainę HTTP protokolo krūva (HTTP.SYS), kuri yra „Windows Server“ operacinės sistemos dalis. Šis aktyvinimas neturėtų būti painiojamas su veiksmu kuriant svetainės darbuotojo procesą.


„Apache Tomcat“ 8

Žemiau esančiame aprašyme naudojamas kintamojo pavadinimas $ CATALINA_BASE, kad būtų nurodytas pagrindinis katalogas, pagal kurį išspręsta dauguma santykinių kelių. Jei nesukonfigūravote „Tomcat“ keliems egzemplioriams, nustatydami katalogą CATALINA_BASE, tada $ CATALINA_BASE bus nustatyta kaip $ CATALINA_HOME, katalogo, į kurį įdiegėte „Tomcat“, vertė.

Norėdami įdiegti ir sukonfigūruoti „Tomcat“ SSL/TLS palaikymą, turite atlikti šiuos paprastus veiksmus. Norėdami gauti daugiau informacijos, perskaitykite likusią šios instrukcijos dalį.

Sukurkite raktų saugyklos failą, kad išsaugotumėte serverio privatų raktą ir savarankiškai pasirašytą sertifikatą, vykdydami šią komandą:

ir nurodykite slaptažodžio reikšmę „changeit“.

Atšaukite įrašą „SSL HTTP/1.1 jungtis“, esantį $ CATALINA_BASE/conf/server.xml, ir pakeiskite, kaip aprašyta toliau esančioje konfigūracijos skiltyje.

Įvadas į SSL/TLS

„Transport Layer Security“ (TLS) ir jo pirmtakas „Secure Sockets Layer“ (SSL) yra technologijos, leidžiančios interneto naršyklėms ir žiniatinklio serveriams bendrauti saugiu ryšiu. Tai reiškia, kad siunčiami duomenys yra užšifruoti iš vienos pusės, perduodami, o po to iššifruojami kitos pusės prieš apdorojimą. Tai yra dvipusis procesas, o tai reiškia, kad tiek serveris, tiek naršyklė prieš išsiunčiant duomenis užšifruoja visą srautą.

Kitas svarbus SSL/TLS protokolo aspektas yra autentifikavimas. Tai reiškia, kad iš pradžių bandant užmegzti ryšį su žiniatinklio serveriu saugiu ryšiu, šis serveris pateiks jūsų žiniatinklio naršyklei įgaliojimų rinkinį „sertifikato“ pavidalu, kaip įrodymą, kad svetainė yra kas ir ką ji teigia būti. Tam tikrais atvejais serveris taip pat gali paprašyti jūsų interneto naršyklės sertifikato, prašydamas to įrodyti tu esate tai, kuo jūs tvirtinate. Tai žinoma kaip „Kliento autentifikavimas“, nors praktikoje tai daugiau naudojama sandoriams tarp įmonių (B2B) nei atskiriems vartotojams. Dauguma SSL palaikančių žiniatinklio serverių neprašo kliento autentifikavimo.

SSL/TLS ir „Tomcat“

Svarbu pažymėti, kad sukonfigūruoti „Tomcat“, kad būtų galima pasinaudoti saugiais lizdais, paprastai reikia tik tada, kai jis veikia kaip atskiras žiniatinklio serveris. Išsamią informaciją galite rasti saugumo sumetimų dokumente. Kai „Tomcat“ pirmiausia paleidžiamas kaip „Servlet“/JSP konteineris už kito žiniatinklio serverio, pvz., „Apache“ ar „Microsoft IIS“, paprastai reikia sukonfigūruoti pagrindinį žiniatinklio serverį, kad jis tvarkytų vartotojų SSL ryšius. Paprastai šis serveris derės dėl visų su SSL susijusių funkcijų, tada perduos visas užklausas, skirtas „Tomcat“ konteineriui, tik iššifravęs šias užklausas. „Tomcat“ taip pat grąžins aiškaus teksto atsakymus, kurie bus užšifruoti prieš grąžinant juos į vartotojo naršyklę. Šioje aplinkoje „Tomcat“ žino, kad ryšiai tarp pirminio žiniatinklio serverio ir kliento vyksta saugiu ryšiu (nes jūsų programa turi turėti galimybę apie tai paklausti), tačiau ji nedalyvauja šifravime ar iššifravime.

„Tomcat“ gali naudoti bet kurį kriptografinį protokolą, kurį teikia pagrindinė aplinka. Pati „Java“ teikia kriptografines galimybes per JCE/JCA ir užšifruoto ryšio galimybes per JSSE. Bet kuris suderinamas kriptografijos „teikėjas“ gali pateikti „Tomcat“ kriptografinius algoritmus. Integruotas teikėjas („SunJCE“) palaiko įvairias SSL/TLS versijas, pvz., SSLv3, TLSv1, TLSv1.1 ir pan. Išsamesnės informacijos apie protokolą ir algoritmų palaikymą ieškokite „Java“ versijos dokumentacijoje.

Jei naudojate pasirenkamą „tcnative“ biblioteką, galite naudoti „OpenSSL“ kriptografijos teikėją per JCA/JCE/JSSE, kuris gali pasiūlyti kitokį kriptografinių algoritmų pasirinkimą ir (arba) našumą, palyginti su „SunJCE“ teikėju. Taip pat galite naudoti „tcnative“, kad įgalintumėte APR jungtį, kurios kriptografinėms operacijoms naudojamas „OpenSSL“. Išsamesnės informacijos apie protokolą ir algoritmų palaikymą ieškokite „OpenSSL“ versijos dokumentacijoje.

Sertifikatai

Norint įdiegti SSL, žiniatinklio serveris turi turėti susietą sertifikatą kiekvienai išorinei sąsajai (IP adresui), kuri priima saugius ryšius. Šio dizaino teorija yra tokia, kad serveris turėtų suteikti tam tikrą pagrįstą garantiją, kad jo savininkas yra tas, kuris, jūsų manymu, yra, ypač prieš gaunant neskelbtiną informaciją. Nors platesnis sertifikatų paaiškinimas nepatenka į šio dokumento taikymo sritį, pagalvokite apie sertifikatą kaip apie „skaitmeninį pasą“ interneto adresui. Jame nurodoma, su kokia organizacija yra susieta svetainė, taip pat pateikiama pagrindinė kontaktinė informacija apie svetainės savininką ar administratorių.

Šis sertifikatas yra kriptografiškai pasirašytas jo savininko, todėl kitiems yra labai sunku suklastoti. Kad sertifikatas veiktų lankytojų naršyklėse be įspėjimų, jį turi pasirašyti patikima trečioji šalis. Šie vadinami Sertifikavimo institucijos (CA). Norėdami gauti pasirašytą sertifikatą, turite pasirinkti CA ir vykdyti nurodymus, kuriuos pateikia jūsų pasirinkta CA, kad gautumėte sertifikatą. Galimos įvairios CA, įskaitant kai kurias, kurios nemokamai siūlo sertifikatus.

„Java“ siūlo palyginti paprastą komandinės eilutės įrankį, vadinamą „keytool“, kuris gali lengvai sukurti „savarankiškai pasirašytą“ sertifikatą. Savarankiškai pasirašyti sertifikatai yra tiesiog vartotojo sukurti sertifikatai, kurių nepasirašė gerai žinoma CA, todėl nėra garantuojama, kad jie bus autentiški. Nors savarankiškai pasirašyti sertifikatai gali būti naudingi kai kuriems bandymų scenarijams, jie netinka jokiam gamybiniam naudojimui.

Bendrieji SSL paleidimo patarimai

Saugant svetainę naudojant SSL, svarbu įsitikinti, kad visas svetainėje naudojamas turtas yra teikiamas naudojant SSL, kad užpuolikas negalėtų apeiti saugumo įterpdamas kenkėjiško turinio į „JavaScript“ failą ar pan. Norėdami dar labiau padidinti savo svetainės saugumą, turėtumėte įvertinti HSTS antraštės naudojimą. Tai leidžia jums pranešti naršyklei, kad jūsų svetainė visada turėtų būti pasiekiama per https.

Norint naudoti virtualius pavadinimus pagal pavadinimą naudojant saugų ryšį, reikia kruopščiai sukonfigūruoti vardus, nurodytus viename sertifikate arba nuo „Tomcat 8.5“, kur galima serverio pavadinimo indikacijos (SNI) palaikymas. SNI leidžia kelis sertifikatus skirtingais pavadinimais susieti su viena TLS jungtimi.

Konfigūracija

Paruoškite sertifikatų raktų saugyklą

„Tomcat“ šiuo metu veikia tik JKS, PKCS11 arba PKCS12 formato raktų saugyklose. JKS formatas yra standartinis „Java“ „Java KeyStore“ formatas ir yra sukurtas naudojant komandų eilutės įrankį „keytool“. Šis įrankis yra įtrauktas į JDK. PKCS12 formatas yra interneto standartas, juo galima manipuliuoti (be kita ko) naudojant „OpenSSL“ ir „Microsoft“ raktų tvarkyklę.

Kiekvienas raktų saugyklos įrašas identifikuojamas pagal slapyvardžio eilutę. Nors daugelis raktų saugyklos diegimų slapyvardžių apdoroja nejautriai, didžiosios ir mažosios raidės yra prieinamos. Pavyzdžiui, PKCS11 specifikacijoje reikalaujama, kad slapyvardžiai būtų didžiosios ir mažosios raidės. Kad būtų išvengta problemų, susijusių su slapyvardžių mažosiomis ir mažosiomis raidėmis, nerekomenduojama naudoti slapyvardžių, kurie skiriasi tik tuo atveju.

Jei norite importuoti esamą sertifikatą į JKS raktų saugyklą, perskaitykite dokumentaciją (JDK dokumentacijos pakete) apie keytool. Atminkite, kad „OpenSSL“ dažnai prideda skaitomus komentarus prieš raktą, tačiau „Keytool“ to nepalaiko. Taigi, jei jūsų sertifikate yra komentarų prieš pagrindinius duomenis, pašalinkite juos prieš importuodami sertifikatą naudodami „keytool“.

Jei norite importuoti esamą sertifikatą, kurį pasirašė jūsų CA, į PKCS12 raktų saugyklą naudodami „OpenSSL“, vykdykite tokią komandą:

Išsamesniais atvejais ieškokite „OpenSSL“ dokumentacijos.

Norėdami sukurti naują JKS raktų saugyklą, kurioje yra vienas savarankiškai pasirašytas sertifikatas, vykdykite šiuos veiksmus iš terminalo komandinės eilutės:

(RSA algoritmui turėtų būti teikiama pirmenybė kaip saugiam algoritmui, o tai taip pat užtikrina bendrą suderinamumą su kitais serveriais ir komponentais.)

Ši komanda sukurs naują failą vartotojo kataloge, kuriame jį paleisite, pavadinimu „.keystore“. Norėdami nurodyti kitą vietą ar failo pavadinimą, pridėkite -keystore parametrą, po to visą kelio pavadinimą prie savo raktų saugyklos failo, į aukščiau pateiktą komandą keytool. Taip pat turėsite atspindėti šią naują vietą server.xml konfigūracijos faile, kaip aprašyta vėliau. Pavyzdžiui:

Vykdę šią komandą, pirmiausia būsite paraginti įvesti raktų saugyklos slaptažodį. Numatytasis „Tomcat“ naudojamas slaptažodis yra „changeit“ (visos mažosios raidės), nors, jei norite, galite nurodyti pasirinktinį slaptažodį. Taip pat turėsite nurodyti pasirinktinį slaptažodį server.xml konfigūracijos faile, kaip aprašyta vėliau.

Tada būsite paraginti pateikti bendrą informaciją apie šį sertifikatą, pvz., Įmonę, kontaktinį vardą ir pan. Ši informacija bus rodoma vartotojams, kurie bando pasiekti saugų jūsų programos puslapį, todėl įsitikinkite, kad čia pateikta informacija atitinka tai, ko jie tikisi.

Galiausiai būsite paraginti rakto slaptažodį, kuris yra būtent šio sertifikato slaptažodis (priešingai nei kiti sertifikatai, saugomi tame pačiame raktų saugyklos faile). Klaviatūros raginimas jums pasakys, kad paspaudus klavišą ENTER automatiškai naudojamas tas pats rakto slaptažodis, kaip ir raktų saugykloje. Galite laisvai naudoti tą patį slaptažodį arba pasirinkti pasirinktinį. Jei pasirinksite kitą slaptažodį nei raktų saugyklos slaptažodis, taip pat turėsite nurodyti pasirinktinį slaptažodį server.xml konfigūracijos faile.

Jei viskas pavyko, dabar turite raktų saugyklos failą su sertifikatu, kurį gali naudoti jūsų serveris.

Redaguokite „Tomcat“ konfigūracijos failą

„Tomcat“ gali naudoti tris skirtingus SSL diegimus:

  • JSSE diegimas pateikiamas kaip „Java“ vykdymo laiko dalis
  • JSSE diegimas, kuris naudoja „OpenSSL“
  • APR diegimas, kuris pagal numatytuosius nustatymus naudoja „OpenSSL“ variklį

Tiksli konfigūracijos informacija priklauso nuo to, kuris diegimas naudojamas. Jei sukonfigūravote jungtį nurodydami bendrąjį protokolą = "HTTP/1.1", tada Tomcat naudojamas diegimas pasirenkamas automatiškai. Jei diegiant naudojamas APR, t. Y. Įdiegėte „Tomcat“ savąją biblioteką, tada ji naudos „JSSE OpenSSL“ diegimą, kitaip ji naudos „Java JSSE“ diegimą.

Jei reikia, galima išvengti automatinio įgyvendinimo pasirinkimo. Tai daroma nurodant klasės pavadinimą protokolas jungties atributas.

Norėdami apibrėžti „Java“ (JSSE) jungtį, nepriklausomai nuo to, ar APR biblioteka įkelta, ar ne, naudokite vieną iš šių būdų:

Jei reikia, „OpenSSL JSSE“ diegimą taip pat galima aiškiai sukonfigūruoti. Jei APR biblioteka yra įdiegta (kaip ir naudojant APR jungtį), galite ją įgalinti naudodami atributą sslImplementationName. Naudojant „OpenSSL JSSE“ diegimą, konfigūracijoje gali būti naudojami arba JSSE atributai, arba „OpenSSL“ atributai (naudojami APR jungčiai), tačiau negalima maišyti abiejų tipų atributų tame pačiame SSLHostConfig arba „Connector“ elemente.

Arba, norėdami nurodyti APR jungtį (APR biblioteka turi būti prieinama), naudokite:

Jei naudojate APR arba JSSE OpenSSL, turite galimybę konfigūruoti alternatyvų OpenSSL variklį.

Taip pat „useAprConnector“ atributas gali būti naudojamas, kad „Tomcat“ pagal nutylėjimą naudotų APR jungtį, o ne NIO jungtį:

Taigi, norėdami įjungti „OpenSSL“, įsitikinkite, kad SSLEngine atributas nustatytas į kitą, o ne išjungtą. Numatytoji reikšmė įjungta ir, jei nurodote kitą reikšmę, ji turi būti galiojantis „OpenSSL“ variklio pavadinimas.

SSLRandomSeed leidžia nurodyti entropijos šaltinį. Produktyviai sistemai reikia patikimo entropijos šaltinio, tačiau entropijai surinkti gali prireikti daug laiko, todėl bandymo sistemose negalima naudoti jokių blokuojančių entropijos šaltinių, tokių kaip „/dev/urandom“, kurie leis greičiau paleisti „Tomcat“.

Paskutinis žingsnis yra sukonfigūruoti jungtį faile $ CATALINA_BASE/conf/server.xml, kur $ CATALINA_BASE yra pagrindinis „Tomcat“ egzemplioriaus katalogas. SSL jungties & ltConnector & gt elemento pavyzdys įtrauktas į numatytąjį failą server.xml, įdiegtą kartu su „Tomcat“. Norėdami sukonfigūruoti SSL jungtį, kurioje naudojama JSSE, turėsite pašalinti komentarus ir juos redaguoti, kad atrodytų maždaug taip:

Pastaba: jei įdiegta „tomcat-native“, konfigūracija naudos JSSE su „OpenSSL“ diegimu, kuris palaiko šią konfigūraciją arba toliau pateiktą APR konfigūracijos pavyzdį.

APR jungtis naudoja skirtingus atributus daugeliui SSL nustatymų, ypač raktus ir sertifikatus. APR konfigūracijos pavyzdys yra toks:

Konfigūracijos parinktys ir informacija apie privalomus atributus yra dokumentuoti HTTP jungties konfigūracijos nuorodos SSL palaikymo skyriuje. Įsitikinkite, kad naudojamoms jungtims naudojate tinkamus atributus. NIO ir NIO2 jungtys naudoja JSSE, nebent įdiegta JSSE OpenSSL diegimo priemonė (tokiu atveju ji palaiko JSSE arba OpenSSL konfigūracijos stilius), tuo tarpu APR/gimtoji jungtis naudoja APR.

Prievado atributas yra TCP/IP prievado numeris, kuriuo „Tomcat“ klausysis saugių ryšių. Tai galite pakeisti bet kokiu norimu prievado numeriu (pvz., Į numatytąjį https ryšių prievadą, kuris yra 443). Tačiau norint paleisti „Tomcat“ prievadų numeriais, mažesniais nei 1024, daugelyje operacinių sistemų būtina atlikti specialią sąranką (nepatenka į šio dokumento taikymo sritį).

Jei čia pakeisite prievado numerį, taip pat turėtumėte pakeisti vertę, nurodytą atributui redirectPort ne SSL jungtyje. Tai leidžia „Tomcat“ automatiškai peradresuoti vartotojus, kurie bando pasiekti puslapį su saugumo apribojimu, nurodančiu, kad reikalingas SSL, kaip reikalaujama „Servlet“ specifikacijoje.

Baigę šiuos konfigūracijos pakeitimus, turite iš naujo paleisti „Tomcat“, kaip įprastai, ir pradėti verslą. Turėtumėte turėti prieigą prie bet kurios „Tomcat“ palaikomos žiniatinklio programos per SSL. Pavyzdžiui, pabandykite:

ir jūs turėtumėte pamatyti įprastą „Tomcat“ reklamos puslapį (nebent pakeitėte ROOT žiniatinklio programą). Jei tai nepadeda, šiame skyriuje pateikiami kai kurie trikčių šalinimo patarimai.

Sertifikato diegimas iš sertifikavimo institucijos

Norėdami gauti ir įdiegti sertifikatą iš sertifikavimo institucijos (pvz., Verisign.com, thawte.com arba trustcenter.de), perskaitykite ankstesnį skyrių ir vykdykite šias instrukcijas:

Sukurkite vietinę sertifikato pasirašymo užklausą (CSR)

Norėdami gauti sertifikatą iš pasirinktos sertifikavimo institucijos, turite sukurti vadinamąją sertifikato pasirašymo užklausą (CSR). Sertifikavimo institucija naudos tą ĮSA, kad sukurtų sertifikatą, pagal kurį jūsų svetainė būtų nustatyta kaip „saugi“. Norėdami sukurti CSR, atlikite šiuos veiksmus:

    Sukurkite vietinį savarankiškai pasirašytą sertifikatą (kaip aprašyta ankstesniame skyriuje):

Dabar turite failą certreq.csr, kurį galite pateikti sertifikavimo institucijai (kaip tai padaryti, peržiūrėkite sertifikavimo institucijos svetainės dokumentus). Už tai gausite sertifikatą.

Sertifikato importavimas

Dabar, kai turite sertifikatą, galite jį importuoti į vietinę raktų saugyklą. Pirmiausia turite į savo raktų saugyklą importuoti vadinamąjį grandinės sertifikatą arba šaknies sertifikatą. Po to galite tęsti sertifikato importavimą.

  • Atsisiųskite grandinės sertifikatą iš sertifikavimo institucijos, iš kurios gavote sertifikatą.
    Norėdami gauti „Verisign.com“ komercinius sertifikatus, apsilankykite šiuo adresu: http://www.verisign.com/support/install/intermediate.html
    Norėdami gauti „Verisign.com“ bandomuosius sertifikatus, apsilankykite šiuo adresu: http://www.verisign.com/support/verisign-intermediate-ca/Trial_Secure_Server_Root/index.html
    „Trustcenter.de“ eikite į: http://www.trustcenter.de/certservices/cacerts/en/en.htm#server
    Jei norite rasti Thawte.com, apsilankykite: http://www.thawte.com/certs/trustmap.html
  • Importuokite grandinės sertifikatą į raktų saugyklą

Kiekviena sertifikavimo institucija linkusi šiek tiek skirtis nuo kitų. Jie gali reikalauti šiek tiek kitokios informacijos ir (arba) pateikti sertifikatą ir susijusią sertifikatų grandinę skirtingais formatais. Be to, taisyklės, kurias sertifikavimo institucijos naudoja išduodamos sertifikatus, laikui bėgant keičiasi. Dėl to galite pastebėti, kad aukščiau pateiktas komandas gali tekti keisti. Jei jums reikia pagalbos, pagalba teikiama per „Apache Tomcat“ vartotojų adresų sąrašą.

Naudojant OCSP sertifikatus

Jei norite naudoti internetinį sertifikatų būsenos protokolą (OCSP) su „Apache Tomcat“, įsitikinkite, kad atsisiuntėte, įdiegėte ir sukonfigūravote „Tomcat“ vietinę jungtį. Be to, jei naudojate „Windows“ platformą, būtinai atsisiųskite „ocsp“ palaikančią jungtį.

Norėdami naudoti OCSP, jums reikia:

  • OCSP įgalinti sertifikatai
  • „Tomcat“ su SSL APR jungtimi
  • Konfigūruotas OCSP atsakiklis

OCSP įgalintų sertifikatų generavimas

„Apache Tomcat“ reikalauja, kad sertifikate, kuriame įgalintas OCSP, sertifikate būtų užkoduota OCSP atsakiklio vieta. Pagrindiniai su OCSP susiję sertifikato institucijos parametrai failo openssl.cnf gali atrodyti taip:

Aukščiau pateikti parametrai į sertifikatą užkoduos OCSP atsakiklio adresą 127.0.0.1:8088. Atminkite, kad atlikdami toliau nurodytus veiksmus, turite turėti opensl.cnf ir kitą CA konfigūraciją. Norėdami sukurti OCSP palaikantį sertifikatą:

OCSP jungties konfigūravimas

Norėdami sukonfigūruoti OCSP jungtį, pirmiausia patikrinkite, ar įkeliate Tomcat APR biblioteką. Norėdami gauti daugiau informacijos apie APR diegimą, patikrinkite „Apache Portable Runtime“ (APR) pagrįstą „Tomcat“ vietinę biblioteką. Pagrindinė OCSP palaikanti jungties apibrėžtis server.xml faile atrodo taip:

Paleidžiamas OCSP atsakiklis

„Apache Tomcat“ teiks užklausą OCSP atsakiklio serveriui, kad gautų sertifikato būseną. Bandymo metu paprastas būdas sukurti OCSP atsakiklį yra atlikti šiuos veiksmus:

Atminkite, kad naudojant OCSP turi veikti jungties sertifikate užkoduotas atsakiklis. Daugiau informacijos rasite OCSP dokumentuose.

Problemų sprendimas

Čia pateikiamas įprastų problemų, su kuriomis galite susidurti nustatydami SSL ryšį, sąrašas ir ką su jomis daryti.

    Kai „Tomcat“ paleidžiamas, gaunu tokią išimtį kaip „java.io.FileNotFoundException“: / nerastas".

Tikėtinas paaiškinimas yra tas, kad „Tomcat“ negali rasti raktų saugyklos failo ten, kur jis ieško. Pagal numatytuosius nustatymus „Tomcat“ tikisi, kad raktų saugyklos failas bus pavadintas .keystore vartotojo namų kataloge, kuriame veikia „Tomcat“ (kuris gali būti toks pats kaip jūsų :-). Jei raktų saugyklos failas yra kitur, prie „Tomcat“ konfigūracijos failo elemento & ltConnector & gt turėsite pridėti „keytoreFile“ atributą.

Darant prielaidą, kad kažkas to neturi iš tikrųjų sugadintas jūsų raktų saugyklos failas, greičiausiai priežastis yra ta, kad „Tomcat“ naudoja kitokį slaptažodį nei tas, kurį naudojote kurdami raktų saugyklos failą. Norėdami tai išspręsti, galite grįžti ir iš naujo sukurti raktų saugyklos failą arba pridėti arba atnaujinti „keytorePass“ atributą „ltconnector & gt“ elemente „Tomcat“ konfigūracijos faile. PRISIMINTI - Slaptažodžiai skiria didžiąsias ir mažąsias raides!

Tikėtinas paaiškinimas yra tas, kad „Tomcat“ negali rasti serverio rakto slapyvardžio nurodytoje raktų saugykloje. Patikrinkite, ar „TomCat“ konfigūracijos failo & ltConnector & gt elemente nurodytas teisingas „keytoreFile“ ir „keyAlias“. PRISIMINTI - „keyAlias“ reikšmėse gali būti skiriamos didžiosios ir mažosios raidės!

Jei naudojate APR/vietinę jungtį arba „JSSE OpenSSL“ diegimą, tai nustatys trumpalaikių DH raktų stiprumą pagal jūsų RSA sertifikato rakto dydį. Pavyzdžiui, naudojant 2048 bitų RSA raktą, DH raktams bus naudojamas 2048 bitų pirminis raktas. Deja, „Java 6“ palaiko tik 768 bitų, o „Java 7“ - tik 1024 bitų. Taigi, jei jūsų sertifikate yra stipresnis raktas, seni „Java“ klientai gali sukelti tokius rankos paspaudimo gedimus. Norėdami sušvelninti, galite pabandyti priversti juos naudoti kitą šifrą, sukonfigūruodami atitinkamą SSLCipherSuite ir suaktyvinti SSLHonorCipherOrder, arba įterpti silpnus DH parametrus į savo sertifikato failą. Pastarasis metodas nerekomenduojamas, nes silpnina SSL saugumą („logjam“ ataka).

Jei vis dar kyla problemų, geras informacijos šaltinis yra TOMCAT-USER pašto sąrašą. Nuorodas į ankstesnių pranešimų archyvus šiame sąraše, taip pat prenumeratos ir atsisakymo informaciją rasite adresu https://tomcat.apache.org/lists.html.

SSL naudojimas seansų stebėjimui jūsų programoje

Tai nauja „Servlet 3.0“ specifikacijos funkcija. Kadangi jis naudoja SSL seanso ID, susietą su fiziniu kliento ir serverio ryšiu, yra keletas apribojimų. Jie yra:

  • „Tomcat“ turi turėti jungtį su atributu isSecure nustatyta kaip tiesa.
  • Jei SSL ryšius tvarko tarpinis serveris arba aparatūros spartintuvas, jie turi užpildyti SSL užklausų antraštes (žr. SSLValve), kad „Tomcat“ matytų SSL seanso ID.
  • Jei „Tomcat“ nutraukia SSL ryšį, nebus galima naudoti seanso replikacijos, nes SSL seanso ID kiekviename mazge bus skirtingas.

Norėdami įjungti SSL seanso stebėjimą, turite naudoti konteksto klausytoją, kad nustatytumėte tik SSL konteksto stebėjimo režimą (jei įjungtas bet koks kitas stebėjimo režimas, jis bus naudojamas kaip pirmenybė). Tai gali atrodyti maždaug taip:

Pastaba: SSL seanso stebėjimas įdiegtas NIO ir NIO2 jungtims. Jis dar neįdiegtas APR jungčiai.

Įvairūs patarimai ir bitai

Norėdami pasiekti SSL seanso ID iš užklausos, naudokite:

Papildomos diskusijos šia tema rasite „Bugzilla“.

Norėdami nutraukti SSL seansą, naudokite:

Atminkite, kad šis kodas yra skirtas „Tomcat“ dėl SSLSessionManager klasės naudojimo. Šiuo metu tai galima tik NIO ir NIO2 jungtims, o ne APR/vietinei jungčiai.


Žiūrėti video įrašą: Chemijos pamoka Chemijos ir geomokslų fakultete 2018 (Spalio Mėn 2021).