Top Banner
IPsec Add-On for PCF ® Documentation Version 1.8 Published: 5 Feb 2019 © 2019 Pivotal Software, Inc. All Rights Reserved.
31

IPsec Add-On for PCF Documentation · recommendations for troubleshooting IPsec. Verify that IPsec Works with PCF To verify that IPsec works between two hosts, you can check that

Feb 17, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • IPsecAdd-OnforPCF®

    Documentation

    Version1.8

    Published:5Feb2019

    ©2019PivotalSoftware,Inc.AllRightsReserved.

  • 235

    11132325262830

    TableofContents

    TableofContentsIPsecAdd-onforPCFTroubleshootingtheIPsecAdd-onforPCFReleaseNotesInstallingtheIPsecAdd-onforPCFUpgradingtheIPsecAdd-onforPCFUninstallingtheIPsecAdd-onforPCFCheckingCertificateDatesRotatingActiveIPsecCertificatesRenewingExpiredIPsecCertificates

    ©CopyrightPivotalSoftwareInc,2013-2019 2 1.8

  • IPsecAdd-onforPCFPagelastupdated:

    ThisguidedescribestheIPsecAdd-onforPCF,whichsecuresdatatransmissionsinsidePivotalCloudFoundry (PCF).TopicscoveredinthisguideincludeIPsecAdd-onforPCFinstallationandconfiguration,troubleshooting,andcertificaterotation.

    YourorganizationmayrequireIPsecifyoutransmitsensitivedata.

    OverviewTheIPsecAdd-onforPCFprovidessecuritytothenetworklayeroftheOSImodelwithastrongSwan implementationofIPsec.TheIPsecAdd-onprovidesastrongSwanjobinFIPSmodetoeachBOSH-deployedVM.

    IPsecencryptsIPdataflowbetweenhosts,betweensecuritygateways,andbetweensecuritygatewaysandhosts.TheIPsecAdd-onforPCFsecuresnetworktrafficwithinaCloudFoundrydeploymentandprovidesinternalsystemprotectionifamaliciousactorbreachesyourfirewall.

    ProductSnapshotThefollowingtableprovidesversionandversion-supportinformationabouttheIPsecAdd-onforPCF.

    Element Details

    Version v1.8.31

    Releasedate April27,2018

    CompatibleOpsManagerversion(s) v1.10.x,v1.11.x,v1.12.x,v2.0.x,andv2.1.x

    CompatibleElasticRuntimeversion(s) v1.10.x,v1.11.x,andv1.12.x

    CompatiblePivotalApplicationService(PAS) version(s) v2.0.xand2.1.x

    IaaSsupport vSphere,GCP,AWS,Azure,andOpenstack

    *AsofPCFv2.0,ElasticRuntimeisrenamedPivotalApplicationService(PAS).

    IPsecImplementationDetailsTheIPsecAdd-onforPCFimplementsthefollowingcryptographicsuite:

    KeyAgreement(Diffie-Hellman) IKEv2MainMode

    BulkEncryption AES128GCM16

    Hashing SHA2 256

    Integrity/AuthenticationTag 128bitGHASHICV

    DigitalSigning RSA3072/4096

    PeerAuthenticationMethod Public/PrivateKey

    LimitationIPsecAdd-onforPCFhasthefollowinglimitations:

    Duetoaknownissue inWindowsServerOS,appshostedonPASforWindowscannotroutetrafficwhendeployedwiththeIPsecadd-onforPCF.

    PivotalrecommendsconfiguringIPsectouseaself-signedcertificatetosigninstancecerts.Usingacertificatesignedbyapublicorthird-partyCAisnotrecommended.

    Note:IPsecAdd-onforPCFv1.8isnolongersupported.Thesupportperiodforv1.8hasexpired.Tostayup-to-datewiththelatestsoftwareandsecurityupdates,upgradetoasupportedversion.

    *

    ©CopyrightPivotalSoftwareInc,2013-2019 3 1.8

    https://network.pivotal.io/products/pivotal-cfhttps://www.strongswan.org/https://github.com/Microsoft/hcsshim/issues/244

  • ©CopyrightPivotalSoftwareInc,2013-2019 4 1.8

  • TroubleshootingtheIPsecAdd-onforPCFPagelastupdated:

    ThistopicprovidesinstructionstoverifythatstrongSwan-basedIPsecworkswithyourPivotalCloudFoundry(PCF)deploymentandgeneralrecommendationsfortroubleshootingIPsec.

    VerifythatIPsecWorkswithPCFToverifythatIPsecworksbetweentwohosts,youcancheckthattrafficisencryptedinthedeploymentwith tcpdump ,performthepingtest,andcheckthelogswiththestepsbelow.

    1. Checktrafficencryptionandperformthepingtest.SelecttwohostsinyourdeploymentwithIPsecenabledandnotetheirIPaddresses.Thesearereferencedbelowas IP-ADDRESS-1 and IP-ADDRESS-2 .

    a. SSHinto IP-ADDRESS-1 .

    $sshIP-ADDRESS-1

    b. Onthefirsthost,runthefollowing,andallowittocontinuerunning.

    $tcpdumphostIP-ADDRESS-2

    c. Fromaseparatecommandline,runthefollowing:

    $sshIP-ADDRESS-2

    d. Onthesecondhost,runthefollowing:

    $pingIP-ADDRESS-1

    e. VerifythatthepackettypeisESP.Ifthetrafficshows ESP asthepackettype,trafficissuccessfullyencrypted.Theoutputfrom tcpdump willlooksimilartothefollowing:

    03:01:15.242731IPIP-ADDRESS-2>IP-ADDRESS-1:ESP(spi=0xcfdbb261,seq=0x3),length100

    2. Openthe /var/log/daemon.log filetoobtainadetailedreport,includinginformationpertainingtothetypeofcertificatesyouuse,andtoverifyanestablishedconnectionexists.

    3. NavigatetoyourInstallationDashboard,andclickRecentInstallLogstoviewinformationregardingyourmostrecentdeployment.Searchfor“ipsec”andthestatusoftheIPsecjob.

    4. Run ipsec statusall toreturnadetailedstatusreportregardingyourconnections.Thetypicalpathforthisbinary:/var/vcap/packages/strongswan-x.x.x/sbin . x.x.x representstheversionofstrongSwanpackagedintotheIPsec.

    IfyouexperiencesymptomsthatIPsecdoesnotestablishasecureconnection,returntotheInstallingtheIPsecAdd-onforPCFtopicandreviewyourinstallation.

    IfyouencounterissueswithinstallingIPsec,refertotheTroubleshootingIPsecsectionofthistopic.

    TroubleshootIPsec

    IPsecInstallationIssues

    Symptom

    Unresponsiveappsorincompleteresponses,particularlyforlargepayloads

    ©CopyrightPivotalSoftwareInc,2013-2019 5 1.8

  • Explanation:PacketLoss

    IPsecpacketencryptionincreasesthesizeofpacketpayloadsonhostVMs.Ifthesizeofthelargerpacketsexceedsthemaximumtransmissionunit(MTU)sizeofthehostVM,packetlossmayoccurwhentheVMforwardsthosepackets.

    IfyourVMswerecreatedwithanAmazonPVstemcell,thedefaultMTUvalueis1500forbothhostVMsandtheapplicationcontainers.IfyourVMswerecreatedwithAmazonHVMstemcells,thedefaultMTUvalueis9001.Gardencontainersdefaultto1500MTU.

    Solution

    Implementa100MTUdifferencebetweenhostVMandthecontainedapplicationcontainer,usingoneofthefollowingapproaches:

    DecreasetheMTUoftheapplicationcontainerstoavaluelowerthantheMTUoftheVMforthatcontainer.IntheElasticRuntimetileconfiguration,clickNetworkingandmodifyApplicationsNetworkMaximumTransmissionUnit(MTU)(inbytes)beforeyoudeploy.Decreaseitfromthedefaultvalueof1454to1354.

    IncreasetheMTUoftheapplicationcontainerVMstoavaluegreaterthan1500.Pivotalrecommendsaheadroomof100.Run ifconfigNETWORK-INTERFACEmtuMTU-VALUE tomakethischange.ReplaceNETWORK-INTERFACEwiththenetworkinterfaceusedtocommunicatewithotherVMsForexample: $ifconfigNETWORK-INTERFACEmtu1600

    Symptom

    Unresponsiveappsorincompleteresponses,particularlyforlargepayloads

    Explanation:NetworkDegradation

    IPsecdataencryptionincreasesthesizeofpacketpayloads.Ifthenumberofrequestsandthesizeofyourfilesarelarge,thenetworkmaydegrade.

    Solution

    ScaleyourdeploymentbyallocatingmoreprocessingpowertoyourVMCPUorGPUs,which,additionally,decreasesthepacketencryptiontime.Onewaytoincreasenetworkperformanceistocompressthedatapriortoencryption.Thisapproachincreasesperformancebyreducingtheamountofdatatransferred.

    IPsecRuntimeIssues

    Symptom

    ErrorsrelatingtoIPsec,includingsymptomsofnetworkpartition.YoumayreceiveanerrorindicatingthatIPsechasstoppedworking.

    Forexample,thiserrorshowsasymptomofIPsecfailure,afailed clock_global-partition :

    Failedupdatingjobclock_global-partition-abf4378108ba40fd9a43>clock_global-partition-abf4378108ba40fd9a43/0(ddb1fbfa-71b1-4114-a82c-fd75867d54fc)(canary):ActionFailedget_task:Task044424f7-c5f2-4382-5d81-57bacefbc238result:StoppingMonitoredServices:Stoppingserviceipsec:SendingstoprequesttoMonit:Requestfailed,response:Response{StatusCode:503,Status:'503ServiceUnavailable'}(00:05:22)..

    Explanation:Asynchronous monit JobPriorities

    WhenamonitstopcommandisissuedtotheNFSmounterjob,ithangs,preventingashutdownofthePCFcluster.

    ThisisnotaproblemwiththeIPsecadd-onreleaseitself.Rather,itisaknownissuewiththeNFSmounterjobandthemonitstopscriptthatcanmanifestitselfafterIPsecisdeployedwithPCFv1.7.

    Thisissueoccurswhenmonitjobprioritiesareasynchronous.Becausetheorderofjobshutdownisarbitrary,itispossiblethattheIPsecjobwillbe

    ©CopyrightPivotalSoftwareInc,2013-2019 6 1.8

  • stoppedfirst.Afterthishappens,thenetworkconnectivityforthatVMgoesaway,andtheNFSmounterjoblosesvisibilitytotheassociatedstorage.ThiscausestheNFSmounterjobtohang,anditblocksthemonitstopfromcompleting.SeetheMonitjobGithubdetails forfurtherinformation.

    Solution1. BOSH ssh intothestuckinstancebyrunningoneofthefollowingcommands:

    ForOpsManagerv1.10orearlier:bosh ssh VM-INDEX

    ForOpsManagerv1.11orlater: bosh2 -e BOSH-ENVIRONMENT -d DEPLOYMENT-NAME ssh VM-INDEX

    2. Authenticateasrootandusethe svstopagent commandtokilltheBOSHAgent:

    $sudosu#svstopagent

    3. RunthefollowingcommandtodetectthemissingmonitjobVM.

    ForOpsManagerv1.10orearlier:bosh cloudcheck

    ForOpsManagerv1.11orlater: bosh2 -e ENVIRONMENT-NAME -d DEPLOYMENT-NAME cloud-check

    Forexample,

    #boshcloudcheckVMwithcloudID`vm-3e37133c-bc33-450e-98b1-f86d5b63502a'missing:

    -Ignoreproblem-RecreateVMusinglastknownapplyspec-DeleteVMreference(DANGEROUS!)

    4. Choose RecreateVMusinglastknownapplyspec .

    5. Continuewithyourdeployprocedure.

    SymptomAppfailstostartwiththefollowingmessage:

    FAILEDServererror,statuscode:500,errorcode:10001,message:Anunknownerroroccurred.

    TheCloudControllerlogshowsitisunabletocommunicatewithDiegodueto getaddrinfo failing.

    Deploymentfailswithasimilarerrormessage: diego_database-partition-620982d595434269a96a/0(a643c6c0-bc43-411b-b011-58f49fb61a6f)'isnotrunningafterupdate.Reviewlogsforfailedjobs:etcd

    Explanation:SplitBrain consul

    Thiserrorindicatesa“splitbrain”issuewithConsul.

    Solution

    Confirmthisdiagnosisbycheckingthe peers.json filefrom/var/vcap/store/consul_agent/raft.Ifitisnull,thentheremaybeasplitbrain.Tofixthisproblem,followthesesteps:

    Note:ThisissueaffectsdeploymentsusingCFv231orearlier,butinCFv232thereleaseusesannginxblobstoreinsteadoftheNFSblobstore.TheerrordoesnotexistforPCFdeploymentsusingCFreleasesgreaterthanCFv231.TheerroralsodoesnotapplytoPCFdeploymentsthatuseWebDAVastheirCloudControllerblobstore.

    ©CopyrightPivotalSoftwareInc,2013-2019 7 1.8

    https://github.com/cloudfoundry/cf-release/blob/v231/jobs/nfs_mounter/monit

  • 1. Run monit stop onallConsulservers:

    2. Run rm -rf /var/vcap/store/consul_agent/ onallConsulservers.

    3. Run monit start consul_agent onallConsulserversoneatatime.

    4. Restarttheconsul_agentprocessontheCloudControllerVM.Youmayneedtorestartconsul_agentonotherVMs,aswell.

    Symptom

    YouseethatcommunicationisnotencryptedbetweentwoVMs.

    Explanation:ErrorinNetworkConfiguration

    TheIPsecBOSHjobisnotrunningoneitherVM.ThisproblemcouldhappenifbothIPsecjobscrash,bothIPsecjobsfailtostart,orthesubnetconfigurationisincorrect.ThereisamomentarygapbetweenthetimewhenaninstanceiscreatedandwhenBOSHsetsupIPsec.Duringthistime,datacanbesentunencrypted.Thislengthoftimedependsontheinstancetype,IAAS,andotherfactors.Forexample,onat2.microonAWS,thetimefromnetworkingstarttoIPsecconnectionwasmeasuredat95.45seconds.

    Solution

    SetupanetworkingrestrictiononhostVMstoonlyallowIPsecprotocolandblockthenormalTCP/UDPtraffic.Forexample,inAWS,configureanetworksecuritygroupwiththeminimalnetworkingsettingasshownbelowandblockallotherTCPandUDPports.

    AdditionalAWSConfiguration

    Type Protocol PortRange Source

    CustomProtocol AH(51) All 10.0.0.0/16

    CustomProtocol ESP(50) All 10.0.0.0/16

    CustomUDPRule UDP 500 10.0.0.0/16

    Symptom

    Youseeunencryptedappmessagesinthelogs.

    Explanation: etcd SplitBrain

    Solution1. CheckforsplitbrainetcdbyconnectingwithBOSH ssh intoeachetcdnode:

    $curllocalhost:4001/v2/members

    2. Checkifthemembersareconsistentonallofetcd.Ifanodehasonlyitselfasamember,ithasformeditsownclusteranddeveloped"splitbrain."Tofixthisissue,SSHintothesplitbrainVMandrunthefollowingcommands:

    a. $sudosu-

    b. #monitstopetcd

    Note:Whenconfiguringanetworksecuritygroup,IPsecaddsanadditionallayertotheoriginalcommunicationprotocol.Ifacertainconnectionistargetingaportnumber,forexampleport8080withTCP,itactuallyusesIPprotocol50/51instead.Duetothisdetail,traffictargetedatablockedportmaybeabletogothrough.

    ©CopyrightPivotalSoftwareInc,2013-2019 8 1.8

  • c. #rm-r/var/vcap/store/etcd

    d. #monitstartetcd

    3. Checkthelogstoconfirmthenoderejoinedtheexistingcluster.

    Symptom

    IPsecdeploymentfailswith Errorfillingintemplate'pre-start.erb'

    Error100:Unabletorenderinstancegroupsfordeployment.Errorsare:-Unabletorenderjobsforinstancegroup'consul_server-partition-f9c4b18fd83cf3114d7f'.Errorsare:-Unabletorendertemplatesforjob'ipsec'.Errorsare:-Errorfillingintemplate'pre-start.erb'(line12:undefinedmethod`each_with_index'for#)-Unabletorenderjobsforinstancegroup'nats-partition-f9c4b18fd83cf3114d7f'.Errorsare:-Unabletorendertemplatesforjob'ipsec'.Errorsare:-Errorfillingintemplate'pre-start.erb'(line12:undefinedmethod`each_with_index'for#)

    Explanation:TypographicalorsyntaxerrorindeploymentdescritorYAMLsyntax

    Solution

    CheckthedeploymentdescriptorYAMLsyntaxfortheCAcertificatesentry:

    releases:-{name:ipsec,version:1.0.0}

    addons:-name:ipsec-addonjobs:-name:ipsecrelease:ipsecproperties:ipsec:ipsec_subnets:-10.0.1.1/20no_ipsec_subnets:-10.0.1.10/32#boshdirectorinstance_certificate:|-----BEGINCERTIFICATE-----MIIEMDCCAhigAwIBAgIRAIvrBY2TttU/LeRhO+V1t0YwDQYJKoZIhvcNAQELBQAw...-----ENDCERTIFICATE-----instance_private_key:|-----BEGINEXAMPLERSAPRIVATEKEY-----MIIEogIBAAKCAQEAtAkBjrzr5x9g0aWgyDEmLd7m9u/ZzpK7UScfANLaN7JiNz3c...-----ENDEXAMPLERSAPRIVATEKEY-----ca_certificates:-|-----BEGINCERTIFICATE-----MIIEUDCCArigAwIBAgIJAJVLBeJ9Wm3TMA0GCSqGSIb3DQEBCwUAMB0xGzAZBgNVBAMMElBDRiBJUHNlYyBBZGRPbiBDQTAeFw0xNjA4MTUxNzQwNDVaFw0xOTA4MTUx...-----ENDCERTIFICATE-----

    Intheexampleabove,thevaluesthatappearafterthe ca_certificates :keyarecontainedwithinalistandarenotjustasinglecertificate.Thisentrymustbefollowedbyalinestartingwith - ,andendingwith | .ThelinesfollowingthiscontainthePEMencodedcertificate(s).

    Theerrormessageshownaboveindicatingaproblemwiththe each_with_index methodprovidesahintthatthe -| YAMLsyntaxsequenceismissing.UsethissyntaxeveninsituationswherethereisonlyoneCAcertificate,forexamplealistofoneentry.

    Symptom

    ©CopyrightPivotalSoftwareInc,2013-2019 9 1.8

  • Completesystemoutagewithnowarning.

    Explanation:IPsecCertificatesMightHaveExpired

    ExpiredIPseccertificatescancauseasuddensystemoutage.Forexample,theself-signedcertificatesgeneratedbythescriptprovidedintheinstallationinstructionshavealifetimeof365days.IPseccertificatesexpireifyoudonotrotatethemwithintheirlifetime.

    Solution

    RenewexpiredIPseccertificates.ToavoidfuturedowntimeduetoexpiredIPseccertificates,setacalendarremindertorotatethecertificatesbeforetheyexpire.

    Forhowtorenewcertificates,seeRenewingExpiredIPsecCertificates.Forhowtorotatethem,seeRotatingIPsecCertificates.

    Symptom

    BOSHshowsaVMinafailingstate.OnthefailingVM, monitsummary

    shows ipsec withastatusof Doesnotexist .

    Explanation:IPsecstopped/crashedandMonitCannotAutomaticallyBringitBackUp.

    IPsecisrequiredtobethefirstprocesstostartandthelastprocesstostop.Asaresult,thestartandstopscriptsarelocatedin pre-start and post-stop ,whichisaconcepttoBOSH,butnottoMonit.MonitisnotabletobringIPsecbackupautomaticallybecauseitdoesnotknowwhat pre-start is.Afteryourunthe pre-start manually,thenMonitisabletodetectIPsecashealthy.

    Solution1. FromthefailingVM,runthefollowingcommandasroot: /var/vcap/jobs/ipsec/bin/pre-start

    2. Run monit summary .Iftherestartissuccessful,Monitshows ipsec withastatusof Running .

    ©CopyrightPivotalSoftwareInc,2013-2019 10 1.8

  • ReleaseNotesPagelastupdated:

    ThistopiccontainsreleasenotesfortheIPsecAdd-onforPCF.

    v1.8.31ReleaseDate:April27,2018

    Featuresincludedinthisrelease:

    OptionstoconfiguresyslogmessagesthatwarnaboutupcomingIPseccertificatesexpiry.

    Fixedissuesinthisrelease:

    WhenthehostVMhasmorethanonenetworkinterfaceavailable,the leftsubnet isalwaysconfiguredwiththeinternalIPaddress.Previously,theleftsubnet wasconfiguredwiththefirstavailableinterface,whichmayormaynotbetheinternaladdress.

    v1.8.14ReleaseDate:January24,2018

    Featuresincludedinthisrelease:

    Anewmanifestpropertynamed dpdaction hasbeenadded.ThispropertycontrolstheIPsecresponseupondetectinga“dead”networkpeer.Thedefaultvalueis restart .

    Knownissuesinthisrelease:

    WhenusingIKEv1,Pivotalrecommendsthatyousetthemanifestproperty dpdaction to none .

    v1.8.12ReleaseDate:January19,2018

    Featuresincludedinthisrelease:

    AnarbitrarylengthcertificatechainisnowsupportedforbothLinuxandWindows.

    AwarningmessageisgeneratedintheIPsecstdoutlogfilewhenthe optional flagissettotrue.

    Anewmanifestpropertyhasbeenadded, optional_warn_interval ,tocontrolthemessageintervalfortheoptional-is-truewarning.

    Thedefault log_level isnowsetto-1forLinux.

    Thegolangdependencyhasbeenupdatedtov1.9.2.

    AnerrorisreportedifthehostIPaddressisinneithertheIPsecnortheno-IPsecsubnet.

    If,uponshutdown,theIPsecjobisnotthelastmonitjobrunning,awarningislogged.

    Anewmanifestpropertyhasbeenadded, ike_version .Acceptedvaluesare ikev1 or ike (forIKEv2).

    AdditionalcertificateverificationhasbeenaddedsothatanerrorisreportedifthesuppliedinstancecertificateandCAcertificatearenotrelated.

    Knownissuesinthisrelease:

    PivotaldoesnotrecommendusingIKEv1becauseofsecurityandperformancelimitations.

    OnlyuseIKEv1fordeploymentsthatrequireit:mixedenvironmentscontainingbothLinuxandWindowsVMs.

    v1.8.3ReleaseDate:October11,2017

    ©CopyrightPivotalSoftwareInc,2013-2019 11 1.8

  • Featuresincludedinthisrelease:

    UpdatesstrongSwanto5.6.0

    UpdatesOpenSSLto1.0.2l

    UpdatesOpenSSLFIPSto2.0.16

    Loglevelisnowconfigurable.

    Keyexchangeisnowconfigurable.

    InstancecertificateisvalidatedwiththeCAcertificateonstart.

    Fixedissuesinthisrelease:

    Stopscripttimeoutisconfigurable.

    Knownissuesinthisrelease:

    IKEv1onWindows:WindowsusesIKEv1forKeyexchange.IKEv2doesnotsupportmultiplerootcertificates,andthereforedoesnotsupportcertificaterotation.AnissuehasbeenfiledwithMicrosoft.

    SpuriousConfigurationWarning:AspartoftheupgradetoStrongSwanv5.4.0,thisversionoftheIPsecadd-onmayemitasequenceofspuriousconfigurationwarningmessages.Themessagesaresimilartothefollowing:

    !!Yourstrongswan.confcontainsmanualpluginloadoptionsforcharon.!!Thisisrecommendedforexpertsonly,see!!http://wiki.strongswan.org/projects/strongswan/wiki/PluginLoad

    Thesemessagesarebothexpectedandharmless.Asacautiontoendusers,theStrongSwansoftwarenowemitsawarningmessagewhenitdetectsthattheinstallationincludesamanuallyconfiguredsetofplugins.Asamatterofsecurityhygienebestpractices,theIPsecadd-onhasalwaysusedamanual(explicit)configurationandloadsarestrictedsetofStrongSwanplugins.Anyunusedpluginsarenotloaded.ThenewestversionofStrongSwannowissuesthiswarningmessagewhenitdetectsthatsituation.TheactuallistofpluginsinusehasbeendeterminedtobeappropriateforuseofStrongSwaninthePCFenvironment.Thiswarningisexpectedandshouldbeignored.

    MTUSizing:Use1354onOpenStack.KeepthedefaultonAWSandvSphere.

    ©CopyrightPivotalSoftwareInc,2013-2019 12 1.8

  • InstallingtheIPsecAdd-onforPCFPagelastupdated:

    ThistopicdescribeshowtoprepareyournetworkforIPsec,createanIPsecruntimeconfig,andaddIPsectoyourdeployment.

    PrerequisitesTocompletetheIPsecinstallation,verifythatyouhavesatisfiedthefollowingprerequisitesbeforeyoubegin:

    GoogleCloudPlatform(GCP),vSphere,Azure,AmazonWebServices(AWS),orOpenStackasyourIaaS

    PivotalCloudFoundry(PCF)operatoradministrationrights

    BOSHdeployedthroughOpsManagerv1.8orlater

    SettheMTUforyourIaaSinthePivotalApplicationService(PAS)orElasticRuntimetile,underNetworking.PivotalrecommendsMTUvaluesof1354onGCP,1438onAzure,andthedefaultvaluesonAWSandvSphere.ForOpenStack,followtherecommendationsofyourNeutron/ML2 pluginprovider,orempiricallytestthecorrectMTUforyourenvironment.

    BestPracticesIPsecmayaffectthefunctionalityofotherservicetiles.Asaresult,PivotalrecommendsdeployingPAS(orElasticRuntime)andeachservicetiletodifferentisolatedsubnets.Alternatively,youcanminimallydeployallservicetilestoasingleisolatedsubnet,apartfromthePAS(orElasticRuntime)subnet.SomeservicetilesdonotsupportIPsecandmustbeplacedinanon-IPsecsubnet.

    ForIPseconLinuxVMs,PivotalrecommendsanyUbuntustemcellsforvSphere,OpenStack,andHVMstemcellsforAWS.ThesestemcellsareavailableonPivotalNetwork .IfyouusePVstemcellsobtainedfrombosh.io ,seethePacketLosssectionoftheTroubleshootingtheIPsecAdd-onforPCFtopictoadjustMTUvalues.

    ForIPseconWindowsVMs,PivotalrecommendstheWindows2012R2stemcellsforAWS,GCP,orAzureavailableonPivotalNetwork .

    Step1:ConfigureNetworkSecurityPerformthestepsintheappropriatesectionbelowtoconfigureyourIaaSnetworksecurity.

    GoogleCloudPlatformToconfigureyourGoogleCloudPlatform(GCP)environmentforIPsec,performthefollowingsteps:

    1. NavigatetotheNetworkingsectionoftheGCPConsole.

    2. ClickFirewallrules.

    3. ClickCreateFirewallRule.

    4. ForName,enter ipsec .

    5. ForNetwork,selectthenetworkwhereOpsManagerisdeployed.Forexample,opsmgr.

    6. ForSourcefilter,selectAllowfromanysource(0.0.0.0/0).

    7. ForAllowedprotocolsandports,enter udp:500; ah; esp .

    8. ClickCreate.

    9. AdjusttheMTUvalueto 1354 byperformingtheprocedureinthePacketLosssectionoftheTroubleshootingtheIPsecAdd-onforPCFtopic.

    vSphere

    ©CopyrightPivotalSoftwareInc,2013-2019 13 1.8

    https://wiki.openstack.org/wiki/Neutron/ML2https://network.pivotal.io/products/stemcellshttps://bosh.iohttps://network.pivotal.io/products/stemcells-windows-server

  • Confirmthatyournetworkallowstheprotocolslistedinthetablebelow.

    ProtocolName ProtocolNumber Port(s)

    AH 51 Any

    ESP 50 Any

    UDP 17 500

    Azure1. Confirmthatyournetworkallowstheprotocolslistedinthetablebelow.

    ProtocolName ProtocolNumber Port(s)

    AH 51 Any

    ESP 50 Any

    UDP 17 500

    2. AdjusttheMTUvalueto 1438 .Forinstructions,seeExplanation:PacketLoss.

    AWSToconfigureyourAWSenvironmentforIPsec,performthefollowingsteps:

    1. NavigatetoEC2Dashboard>SecurityGroups.

    2. SelecttheSecurityGroupwiththedescriptionPCFVMsSecurityGroupandclickEdit.

    3. CreatethefollowingInboundRules.

    Type ProtocolName ProtocolNumber PortRange Source

    CustomProtocol AH 51 All 10.0.0.0/16

    CustomProtocol ESP 50 All 10.0.0.0/16

    CustomUDPRule UDP 17 500 10.0.0.0/16

    OpenStack

    ToconfigureyourMirantisOpenStackenvironmentforIPsec,performthefollowingsteps:

    1. NavigatetoProject/Access&Security.

    2. SelectthesecuritygroupandclickManageRules.

    3. CreatethefollowingIngressandEgressRules.AdjustthesourceCIDRasneededforyourenvironment.

    ProtocolName ProtocolNumber PortRange Source

    ESP 50 Any 0.0.0.0/0

    AH 51 Any 0.0.0.0/0

    UDP 17 500 0.0.0.0/0

    Note:ThedefaultPCFVMsSecurityGroupistypicallyspecifiedwithasubnetof 10.0.0.0/16 .IfyourPCFsubnetisdeployedtoadifferentCIDRblock,adjustthesourceasneeded.

    Note:ThefollowingnetworkconfigurationisoptimizedforMirantisOpenStack,butotherOpenStackdistributionshaveasimilarworkflow.

    ©CopyrightPivotalSoftwareInc,2013-2019 14 1.8

  • Step2:CreatetheIPsecManifestToaddIPsectoVMsinyourdeployment,youmustcreatearuntimeconfigfilenamed ipsec-addon.yml thatconfiguresIPsecadd-onpropertiesforLinuxVMs,WindowsVMs,orboth.Performthefollowingsteps:

    1. CreateanIPsecruntimeconfigfile ipsec-addon.yml ,withthecodebelowasatemplate.

    releases:\- name: ipsec version: 1.X.Xaddons:

    1. Addpropertiestothe ipsec-addon.yml fileasdescribedbelowforLinuxVMsandWindowsVMs.

    AddLinuxVMSupporttoYourRuntimeConfigPerformthefollowingstepstoaddIPsectoLinuxVMsinyourdeployment:

    1. AddthefollowingYAMLunder addons: toyour ipsec-addon.yml file:

    releases:- name: ipsec version: 1.X.Xaddons:- name: ipsec-addon jobs: - name: ipsec release: ipsec include: stemcell: - os: ubuntu-trusty properties: ipsec: optional: false ipsec_subnets: - 10.0.1.1/20 no_ipsec_subnets: - 10.0.1.10/32 # bosh director - 10.0.1.4/32 # ops manager instance_certificate: | -----BEGIN CERTIFICATE----- MIIEMDCCAhigAwIBAgIRAIvrBY2TttU/LeRhO+V1t0YwDQYJKoZIhvcNAQELBQAw ... -----END CERTIFICATE----- instance_private_key: | -----BEGIN EXAMPLE RSA PRIVATE KEY----- EXAMPLExRSAxPRIVATExKEYxDATAxEXAMPLExRSAxPRIVATExKEYxDATA ... -----END EXAMPLE RSA PRIVATE KEY----- ca_certificates: - | -----BEGIN CERTIFICATE----- MIIFCTCCAvGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwl0ZXN0 ... -----END CERTIFICATE----- - | -----BEGIN CERTIFICATE----- MIIFCTCCAvGgAwIBAgIBATAAYDVQQDEwl0ZXN0NBgkqhkiG9w0BAQsFADAUMRIwE ... -----END CERTIFICATE----- prestart_timeout: 30 esp_proposals: aes128gcm16! ike_proposals: aes128-sha256-modp2048! log_level: 1 ike_version: ike optional_warn_interval: 1 force_udp_encapsulation: false instance_certificate_info_period: 30 instance_certificate_warn_period: 14 instance_certificate_error_period: 7 instance_certificate_critical_period: 3

    Note:EnablingIPsecforWindowsaddsIPsecsecuritytoWindowsVMsthatuserscancreateafterinstallingthePASforWindows2012R2 tile.

    ©CopyrightPivotalSoftwareInc,2013-2019 15 1.8

    https://docs.pivotal.io/pivotalcf/windows2012r2/index.html

  • 2. Replacethevalueslistedinthetemplateasfollows:

    releases: - version :SpecifytheversionnumberofyourIPsecdownloadfromPivotalNetwork. optional :ThisvaluemakesIPsecenforcementoptional.ToaddIPsectoanexistingPAS(orElasticRuntime)deployment,setthisflagtotrue .AfterIPsechasbeensuccessfullyinstalled,setthisflagbackto false andredeploy.

    ipsec_subnets :Listthesubnetsthatyouwanttobeencrypted.Youcanincludetheentiredeploymentoraportionofthenetwork.Encryptanynetworkthathandlesbusiness-sensitivedata. no_ipsec_subnets :ListtheIPaddressofyourBOSHDirectorandOpsManagerVM,alongwithanyotherIPaddressesinyourPCF

    deploymentthatyouwanttocommunicatewithwithoutencryption.PivotalrecommendsthatyoulistthesubnetsthatareusedforPCFmanagedservices.SubnetsforPCFmanagedservicesthatdonotsupportIPsec(suchasanPivotalOpsManager)mustbelistedunderno_ipsec_subnets .

    instance_certificate :CopyinthesignedcertificatethatwillbeusedbyallyourinstanceVMs.YoumustuseoneoftheCAsintheca_certificates propertytosignthiscertificate.Pivotalrecommendsthatyouuseaself-signedcertificate.Formoreinformation,seeGeneratea

    Self-SignedCertificate.

    instance_private_key :Copyintheprivatekeythatcorrespondstothe instance_certificate above.Thiskeymustnotuseapassphrase.

    ca_certificates :CopyinCAcertificatesfortheinstanceVMtotrustduringthevalidationprocess.Inmostcases,youonlyneedtheCAcertificateusedtosigntheinstancecertificate.DuringCAcredentialrotation,youneedtwoCAcertificates.

    IPsecv1.8.12andlatersupportstheCAcertificatechain.Concatenatethecontentsoftherootandtheintermediatecertificatesasoneofthelistitemsinca_certificates,withtherootCAatthetop:

    ca_certificates: - | -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- - | -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----

    prestart_timeout :Youcanmodifythe30-seconddefaultprestarttimeoutvalue.ThisvaluelimitsthenumberofsecondsallowedforIPsectostartbeforefailingtheattempt.

    log_level :YoucanspecifytheIKEdaemonnumericalloglevel,rangingfrom -1 to 4 .Formoreinformation,seeLoggerConfiguration inthestrongSwandocumentation.

    optional_warn_interval :Theintervalinhoursofwarningwhen optional propertyissettotrue.Itprintsthewarningmessage{Date} - IPsec is set to "Optional" inthefile /var/vcap/sys/log/ipsec/ipsec.stdout.log forLinux.

    force_udp_encapsulation :AvailableonLinux-onlydeployments.Ifsetto true itforcesUDPencapsulationforESPpackets.

    WARNING:CommunicationbetweenexistingcomponentsfailsifyoutrytoaddIPsectoanexistingdeploymentwithoutsettingoptional to true .

    Note:IfyouhaveanexternalloadbalancersuchasF5,addittothe no_ipsec_subnets property.Ifyouwanttoincludeitinthe ipsec_subnet ,youmustconfigureitmanually.

    WARNING:IPsthatarenotin ipsec_subnets or no_ipsec_subnets havenodefaultbehaviorandcannotcommunicatewithotherinternalVMs.YoumustspecifyinternalIPsin ipsec_subnets or no_ipsec_subnets .

    WARNING:InGCP,ifyouusethedefaultrouterforDNSinsteadoftheGooglepublicDNSat 8.8.8.8 ,youmustaddtheIPaddressofthedefaultrouterinyoursubnetto no_ipsec_subnets .Forexample, 10.0.0.1/32 .

    Note:TherootandtheintermediatecertificatescannothavethesamesubjectName.Thisisalsocalledthecommonname,andissetwithCN= .Therootmustbethefirstcertificateofthechain.

    ©CopyrightPivotalSoftwareInc,2013-2019 16 1.8

    https://wiki.strongswan.org/projects/strongswan/wiki/LoggerConfiguration

  • instance_certificate_info_period :Iftheinstancecertificateexpiresduringthesetperiodindays,theIPsecreleasewritesan [INFO] messageinthelogs.

    instance_certificate_warn_period :Iftheinstancecertificateexpiresduringthesetperiodindays,theIPsecreleasewritesa [WARN] messageinthelogs.

    instance_certificate_error_period :Iftheinstancecertificateexpiresduringthesetperiodindays,theIPsecreleasewritesan [ERROR]messageinthelogs.

    instance_certificate_critical_period :Iftheinstancecertificateexpiresduringthesetperiodindays,theIPsecreleasewritesa [CRITICAL]messageinthelogs.

    AddWindowsVMSupporttoYourRuntimeConfigToaddIPsectoWindowsServer2012R2VMsinyourdeployment,followthesesteps:

    1. Modifythe ipsec-addon.yml createdduringtheprevioussectiontoaddthepropertiesindicatedinboldbelowunderthe ipsec key.

    - name: ipsec-addon ... properties: ipsec: . . . ike_version: ikev1 dpdaction: none

    1. AddthefollowingYAMLunder addons: toyour ipsec-addon.yml file.Additunderthe ipsec-addon sectionforLinux,ifyouincludedoneabove.

    - name: ipsec-windows-addon jobs: - name: ipsec-win release: ipsec include: stemcell: - os: windows2012R2 properties: ipsec: optional: false ipsec_subnets: - 10.0.1.1/20 no_ipsec_subnets: - 10.0.1.10/32 # bosh director - 10.0.1.4/32 # ops manager instance_certificate: | -----BEGIN CERTIFICATE----- MIIEMDCCAhigAwIBAgIRAIvrBY2TttU/LeRhO+V1t0YwDQYJKoZIhvcNAQELBQAw ... -----END CERTIFICATE----- instance_private_key: | -----BEGIN EXAMPLE RSA PRIVATE KEY----- EXAMPLExRSAxPRIVATExKEYxDATAxEXAMPLExRSAxPRIVATExKEYxDATA ... -----END EXAMPLE RSA PRIVATE KEY----- ca_certificates: - | -----BEGIN CERTIFICATE----- MIIFCTCCAvGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwl0ZXN0 ... -----END CERTIFICATE----- - | -----BEGIN CERTIFICATE----- MIIFCTCCAvGgAwIBAgIBATAAYDVQQDEwl0ZXN0NBgkqhkiG9w0BAQsFADAUMRIwE ... -----END CERTIFICATE----- quick_mode_proposals: - encryption: AESGCM128 hash: AESGMAC128 main_mode_proposals:

    WARNING:Settingthispropertyto true inmixeddeploymentscausesthedeploymenttofail.IfyoudonothaveaLinux-onlydeployment,youmustset force_udp_encapsulation to false .

    ©CopyrightPivotalSoftwareInc,2013-2019 17 1.8

  • - encryption: AES128 hash: SHA256 keyexchange: DH14

    1.Replacethevalueslistedinthetemplateasfollows:* ipsec_subnets :Copyandpastethevaluefromipsec_subnetsforLinux.* no_ipsec_subnets :Copyandpastethevaluefromno_ipsec_subnetsforLinux.* instance_certificate :Copyandpastethevaluefrom

    instance_certificateforLinux.* instance_private_key :Copyandpastethevaluefrominstance_private_keyforLinux.* ca_certificates :Copyandpastethevaluefromca_certificatesforLinux.* optional :CopyandpastethevaluefromoptionalforLinux.

    Optional:CustomLinux/WindowsMixedDeploymentProposalsAdefaultproposalsetisalreadyselectedforthe ipsec-addon.yml .Ifyouwanttousedifferentproposals,modifythe ipsec-addon.yml usingthefollowingtable:

    1. Selecttheencryptiontypefromthefirstrow.

    2. Copythepropertiesfromthatrowinto ipsec-addon.yml accordingly.Seethe ipsec-addon.yml fileexampleabove.

    EncryptionTypeLinux(ipsec-addon) Windows(ipsec-win-addon)

    ike_proposals esp_proposals main_mode_proposals quick_mode_proposals

    128BitEncryption aes128-sha256-modp2048! aes128gcm16!- encryption: AES128 hash: SHA256 keyexchange: DH14

    - encryption: AESGCM128 hash: AESGMAC128

    256BitEncryption aes256-sha256-modp2048! aes256gcm16!- encryption: AES256 hash: SHA256 keyexchange: DH14

    - encryption: AESGCM256 hash: AESGMAC256

    ike_proposals :YoucanmodifytheIKE(MainMode)encryptionandintegrityalgorithms,andtheDiffie-Hellmangroup.Thedefault,aes128-sha256-modp2048! ,is128bitAES-CBCforencryption,SHA2_256_128HMACforintegrity,andGroup14forDiffie-Hellman.

    esp_proposals :YoucanmodifytheESP(QuickMode)encryptionandintegrityalgorithms.Thedefault, aes128gcm16! ,is128bitAES-GCMwith128bitICVforbothencryptionandintegrity.

    main_mode_proposals :ThisisanarrayofMainModealgorithmsforencryption,integrity,andkeyexchange.Thisvaluemustmatchthelistspecifiedinike_proposalsforLinux.SeethetableforproposalsetsforbothLinuxandWindows.ThedefaultentrythatmatchestheLinuxdefaultis:

    - encryption: AES128 hash: SHA256 keyexchange: DH14

    quick_mode_proposals :ThisisanarrayofQuickModealgorithmsforencryptionandintegrity.Thisvaluemustmatchthelistspecifiedinesp_proposalsforLinux.SeethetableforproposalsetsforbothLinuxandWindows.ThedefaultentrythatmatchestheLinuxdefaultis:

    - encryption: AESGCM128 hash: AESGMAC128

    Step3:DownloadandDeploytheIPsecAdd-onTodownloadtheIPsecbinary,addyourIPsecruntimeconfigtoyourBOSHmanifest,anddeploytheIPsecadd-on,followtheprocedurebelow.

    AssumptionaboutOpsManagerVersionsTheprocedurebelowassumesthefollowingaboutyourOpsManager,BOSHCLI,andruntimeconfig.

    WARNING:CommunicationbetweenexistingcomponentsfailsifyoutrytoaddIPsectoanexistingdeploymentwithoutsetting optional to true .

    ©CopyrightPivotalSoftwareInc,2013-2019 18 1.8

  • OpsManagerVersion BOSHCLIVersion RuntimeConfig Moreinformation1.10andearlier CLIv1 single,default,runtimeconfigfile BOSHCLIv1

    1.11andlater CLIv2+ runtimeconfiginmultiple,namedfiles,sothat ipsec canbemanagedseparatelyBOSHCLIv2

    Configs-bosh

    Procedure1. DownloadtheIPsecadd-onsoftwarebinaryfromthePivotalNetwork toyourlocalmachine.

    2. CopythesoftwarebinarytoyourOpsManagerinstance.

    $scp-iPATH-TO-PRIVATE-KEYipsec-release.tar.gzubuntu@YOUR-OPS-MANAGER-VM-IP:

    3. CopytheIPsecruntimeconfigfiletoyourOpsManagerinstance.

    $scp-iPATH-TO-PRIVATE-KEYipsec-addon.ymlubuntu@YOUR-OPS-MANAGER-VM-IP:

    4. SSHintoOpsManager.

    $ssh-iPATH-TO-PRIVATE-KEYubuntu@YOUR-OPS-MANAGER-VM-IP

    5. OntheOpsManagerVM,navigatetothesoftwarebinarylocationinyourworkingdirectory.

    $cdPATH-TO-BINARY

    6. LogintotheBOSHDirector.

    ForOpsManagerv1.10orearlier:

    i. OntheOpsManagerVM,targettheinternalIPaddressofyourBOSHDirector.Whenprompted,enteryourBOSHDirectorcredentials.ToretrieveyourBOSHDirectorcredentials,navigatetoOpsManager,clicktheCredentialstab,andclickLinktoCredentialnexttoDirectorCredentials.Forexample:

    $bosh--ca-cert/var/tempest/workspaces/default/root_ca_certificatetargetYOUR-BOSH-DIRECTOR-INTERNAL-IPTargetsetto'p-bosh'Yourusername:directorEnterpassword:******************Loggedinas'director'

    ForOpsManagerv1.11orlater:

    i. OntheOpsManagerVM,createanaliasintheBOSHCLIforyourOpsManagerDirectorIPaddress.Forexample:

    $bosh2alias-envmy-env-e10.0.0.3

    ii. LogintotheBOSHDirector,specifyingthenewlycreatedalias.Forexample:

    $bosh2-emy-envlog-in

    7. Uploadyourrelease,specifyingthepathtothetarballedIPsecbinary,byrunningoneofthefollowingcommands:

    ForOpsManagerv1.10orearlier:

    $boshuploadreleasePATH-TO-BINARY/BINARY-NAME.tar

    ForOpsManagerv1.11orlater:

    $bosh2-emy-envupload-releasePATH-TO-BINARY/BINARY-NAME.tar

    BreakingChange:IfyouareusingPCFv1.11orlater,youmustusenamedruntimeconfigs.Ifyouhavenotalreadysplityourruntimeconfigintomultiplenamedfiles,dosobeforeupgradingtheIPsecAdd-onforPCF.Forgeneralinformationaboutnamedruntimeconfigfiles,seeConfigs .

    ©CopyrightPivotalSoftwareInc,2013-2019 19 1.8

    https://bosh.io/docs/sysadmin-commands.htmlhttps://bosh.io/docs/cli-v2.htmlhttps://bosh.io/docs/configs.htmlhttps://bosh.io/docs/configs.htmlhttps://network.pivotal.io/products/p-ipsec-addon

  • 8. Listthereleasesbyrunningoneofthefollowingcommands,andconfirmthattheIPsecbinaryfileappears:

    ForOpsManagerv1.10orearlier:

    $boshreleases

    ForOpsManagerv1.11orlater:

    $bosh2-emy-envreleases

    9. Downloadyourcurrentruntimeconfigandsaveas bosh-manifest.yml byrunningoneofthefollowingcommands:

    ForOpsManagerv1.10orearlier:

    $boshruntime-config>bosh-manifest.yml

    ForOpsManagerv1.11orlater:

    $bosh2-emy-envruntime-config>bosh-manifest.yml

    10. ForOpsManagerv1.10orearlier:AppendthecontentsofyourIPsecmanifest ipsec-addon.yml to bosh-manifest.yml .

    11. UpdateyourruntimeconfigurationtoincludetheIPsecadd-on.

    ForOpsManagerv1.10orearlier:

    $boshupdateruntime-configPATH/bosh-manifest.yml

    ForOpsManagerv1.11orlater:

    $bosh2-emy-envupdate-runtime-config--name=ipsecPATH/bosh-manifest.yml

    12. VerifyyourruntimeconfigurationchangesmatchwhatyouspecifiedintheIPsecmanifestfile.

    ForOpsManagerv1.10orearlier:

    $boshruntime-config

    ForOpsManagerv1.11orlater:

    $bosh2-emy-envruntime-config--name=ipsec

    Forexample:

    $bosh2-emy-envruntime-config--name=ipsecActingasuser'admin'on'micro'

    releases:-{name:ipsec,version:1.0.0}

    addons:name:ipsec-addonjobs:-name:ipsecrelease:ipsec...-name:ipsec-win#ifusingWindowsrelease:ipsec...

    13. IfyouhavealreadydeployedPAS(orElasticRuntime)orareaddingIPsectoanexistingdeployment:

    a. Setthe optional flagto true .b. NavigatetoyourInstallationDashboardinOpsManager.c. ClickApplyChangesd. Waitfortheinstallationtocomplete.e. Setthe optional flagto false .f. Updatetheruntimeconfig.

    ©CopyrightPivotalSoftwareInc,2013-2019 20 1.8

  • ForOpsManagerv1.10orearlier:

    $boshupdateruntime-configPATH/bosh-manifest.yml

    ForOpsManagerv1.11orlater:

    $bosh2-emy-envupdate-runtime-config--name=ipsecPATH/bosh-manifest.yml

    g. NavigatetoyourInstallationDashboard.h. ClickApplyChanges.

    14. IfthePAS(orElasticRuntime)tileisnotyetinstalled:

    a. NavigatetoyourInstallationDashboardinOpsManager.b. ClickApplyChangesc. DeployPAS(orElasticRuntime)byfollowingtheinstallationinstructionsforyourIaaS.Formoreinformation,seeInstallingPivotalCloud

    Foundry .

    15. The bosh-manifest.yml and ipsec-addon.yml filescontainsensitiveinformation.Whenthedeploymentprocessiscompleted,besuretoremoveanyunneededcopiesofthesefilesfromthelocalworkstation.Pivotalrecommendsthatanyarchivalcopiesofmanifestfilestoberetainedshouldbeappropriatelysecuredviaencryptionand/orlogicalaccesscontrols.

    Step4:VerifyYourIPsecInstallationAfterinstallingIPsecanddeployingPAS(orElasticRuntime),performthefollowingstepstoverifyyourIPsecinstallation:

    1. ListthejobVMsinyourdeploymentbyrunningoneofthefollowingcommands:

    ForOpsManagerv1.10orearlier:bosh vms

    ForOpsManagerv1.11orlater:bosh2 -e BOSH-ENVIRONMENT vms

    2. OpenanSSHconnectionintotheVM,usingthejobnameandindexofanyVMfoundabove,byrunningoneofthefollowingcommands:

    ForOpsManagerv1.10orearlier:bosh ssh JOB-NAME/INDEX

    ForOpsManagerv1.11orlater: bosh2 -e BOSH-ENVIRONMENT -d DEPLOYMENT-NAME ssh JOB-NAME/INDEX

    3. Run sudosu- toentertherootenvironmentwithrootprivileges.

    4. Run monitsummary toconfirmthatyour ipsec jobislistedasa bosh job.

    TheMonitdaemon5.2.5uptime:18h32m...Process'ipsec'runningSystem'system_localhost'running

    5. Run PATH-TO-IPSEC/ipsecstatusall toconfirmthatIPsecisrunning.IfIPsecisnotrunning,thiscommandproducesnooutput.

    Note:TheexactVMdoesnotmatter,becauseinstallingtheIPsecadd-onloadsIPseconallVMsdeployedbyOpsManager.

    ©CopyrightPivotalSoftwareInc,2013-2019 21 1.8

    http://docs.pivotal.io/pivotalcf/installing/index.html

  • $/var/vcap/packages/strongswan-5.3.5/sbin/ipsecstatusallStatusofIKEcharondaemon(strongSwan5.3.5,Linux3.19.0-56-generic,x86_64):uptime:18hours,sinceMar1623:58:502016malloc:sbrk2314240,mmap0,used1182400,free1131840workerthreads:11of16idle,5/0/0/0working,jobqueue:0/0/0/0,scheduled:206loadedplugins:charonaessha1sha2randomnoncex509revocationconstraintspubkeypkcs1pkcs7pkcs8pkcs12pemgmpxcbccmachmacattrkernel-netlinksocket-defaultstrokeListeningIPaddresses:10.10.5.66Connections:ipsec-10.10.4.0/24:%any...%anyIKEv1/2ipsec-10.10.4.0/24:local:[CN=test-cert-1-ca-1]usespublickeyauthenticationipsec-10.10.4.0/24:cert:"CN=test-cert-1-ca-1"ipsec-10.10.4.0/24:remote:usespublickeyauthenticationipsec-10.10.9.0/24:child:10.10.5.66/32===10.10.9.0/24TRANSPORTno-ipsec-10.10.4.1/32:%any...%anyIKEv1/2no-ipsec-10.10.4.1/32:local:usespublickeyauthenticationno-ipsec-10.10.4.1/32:remote:usespublickeyauthenticationno-ipsec-10.10.4.1/32:child:dynamic===10.10.4.1/32PASSShuntedConnections:no-ipsec-10.10.4.1/32:dynamic===10.10.4.1/32PASSno-ipsec-10.10.5.1/32:dynamic===10.10.5.1/32PASSno-ipsec-10.10.6.1/32:dynamic===10.10.6.1/32PASSRoutedConnections:ipsec-10.10.9.0/24{6}:ROUTED,TRANSPORT,reqid6ipsec-10.10.9.0/24{6}:10.10.5.66/32===10.10.9.0/24ipsec-10.10.8.0/24{5}:ROUTED,TRANSPORT,reqid5ipsec-10.10.4.0/24{1}:10.10.5.66/32===10.10.4.0/24SecurityAssociations(45up,0connecting):ipsec-10.10.4.0/24[459]:ESTABLISHED13secondsago,10.10.5.66[CN=test-cert-1-ca-1]...10.10.4.38[CN=test-cert-1-ca-1]ipsec-10.10.4.0/24{1527}:10.10.5.66/32===10.10.4.38/32...

    6. IfyouinstalledIPsecforWindows,followthesesteps:

    a. FromanyWindowsVM,openWindowsFirewallwithAdvancedSecurity.b. ClickConnectionSecurityRules.c. Confirmthatyouseerulesforeach ipsec and no-ipsec subnetthatyoulistedinyourmanifest.

    GenerateaSelf-SignedCertificatewithOpenSSLFollowthesestepstogenerateaself-signedcertificateforyourIPsecmanifest.

    1. Download the openssl-create-ipsec-certs.sh bashscript.

    2. Navigatetothedirectorywhereyoudownloadedthescript:

    $cd~/workspace

    3. Changethepermissionsofthescript:

    $chmodu+xopenssl-create-ipsec-certs.sh

    4. Runthescript:

    $./openssl-create-ipsec-certs.sh

    5. Thisgeneratesfourfilesinanew certs directorywherethescriptisrun:

    pcf-ipsec-ca-cert.pem—thisvaluecanbeusedastheCACertinthe ca_certificates manifestfield.pcf-ipsec-ca-key.pem—thekeyusedtosignthegeneratedCACert.pcf-ipsec-peer-key.pem—thisvaluecanbeusedastheinstanceprivatekeyinthe instance_private_key manifestfield.pcf-ipsec-peer-cert.pem—thisvaluecanbeusedastheinstancecertificateinthe instance_certificate manifestfield.

    6. Becausethiscertificateexpiresin365days,setacalendarremindertorotatethecertificatewithintheyear.Forinstructionsonchangingcertificates,seeRotatingIPsecCertificates.

    ©CopyrightPivotalSoftwareInc,2013-2019 22 1.8

    https://docs.pivotal.io/addon-ipsec/1-8/scripts/openssl-create-ipsec-certs.sh

  • UpgradingtheIPsecAdd-onforPCFPagelastupdated:

    ThistopicdescribeshowtoupgradetheIPsecAdd-onforPCF.

    AssumptionaboutOpsManagerVersionsThistopicassumesthefollowingaboutyourOpsManager,BOSHCLI,andruntimeconfig.

    OpsManagerVersion BOSHCLIVersion RuntimeConfig Moreinformation

    1.10andearlier CLIv1 single,default,runtimeconfigfile BOSHCLIv1

    1.11andlater CLIv2+ runtimeconfiginmultiple,namedfiles,sothat ipsec canbemanagedseparatelyBOSHCLIv2

    Configs-bosh

    UpgradeIPsecAdd-onToupgradetheIPsecadd-ontoalaterversion,dothefollowing:

    1. DownloadtheIPsecadd-onsoftwarebinaryfromthePivotalNetwork toyourlocalmachine.

    2. TocopythesoftwarebinarytoyourOpsManagerVM,runthefollowingcommand:

    scp-iPATH-TO-PRIVATE-KEYipsec-VERSION.tar.gzubuntu@YOUR-OPS-MANAGER-VM-IP:

    Forexample:

    $cp-i~/.ssh/my-key.pem~/Downloads/[email protected]:

    3. SSHintotheOpsManagerVM.Forhowtodothis,seeSSHintoOpsManager .

    4. Retrievethelatestruntimeconfigbyrunningoneofthefollowingcommands:

    ForOpsManagerv1.10orearlier:

    boshruntime-config>PATH-TO-SAVE-THE-RUNTIME-CONFIG

    Forexample:

    boshruntime-config>/tmp/ipsec.yml

    ForOpsManagerv1.11orlater:

    bosh2-eBOSH-ENVIRONMENTruntime-config--nameipsec>PATH-TO-SAVE-THE-RUNTIME-CONFIG

    Forexample:

    bosh2-emy-envruntime-config--nameipsec>/tmp/ipsec.yml

    5. UploadthelatestIPsecrelease:

    ForOpsManagerv1.10orearlier:

    BreakingChange:IfyouareusingPCFv1.11orlater,youmustusenamedruntimeconfigs.Ifyouhavenotalreadysplityourruntimeconfigintomultiplenamedfiles,dosobeforeupgradingtheIPsecAdd-onforPCF.Forgeneralinformationaboutnamedruntimeconfigfiles,seeConfigs .

    ©CopyrightPivotalSoftwareInc,2013-2019 23 1.8

    https://bosh.io/docs/sysadmin-commands.htmlhttps://bosh.io/docs/cli-v2.htmlhttps://bosh.io/docs/configs.htmlhttps://bosh.io/docs/configs.htmlhttps://network.pivotal.io/products/p-ipsec-addonhttps://docs.pivotal.io/pivotalcf/customizing/trouble-advanced.html#ssh

  • boshuploadreleasePATH-TO-NEW-IPSEC-RELEASE

    Forexample:

    boshuploadrelease~/ipsec-1.8.14.tgz

    ForOpsManagerv1.11orlater:

    bosh2-eBOSH-ENVIRONMENTupload-releasePATH-TO-NEW-IPSEC-RELEASE

    Forexample:

    bosh2-emy-envupload-release~/ipsec-1.8.14.tgz

    6. Edittheipsecruntimeconfigtosetthenewreleaseversion.Forexample,edittheversionin /tmp/ipsec.yml asfollows:

    releases:- {name: ipsec, version: 1.8.14}

    7. Updatetheruntimeconfig:

    ForOpsManagerv1.10orearlier:

    boshupdateruntime-configPATH-TO-SAVE-THE-RUNTIME-CONFIG

    Forexample:

    boshupdateruntime-config/tmp/ipsec.yml

    ForOpsManagerv1.11orlater:

    bosh2-eBOSH-ENVIRONMENTupdate-runtime-config--name=ipsecPATH-TO-SAVE-THE-RUNTIME-CONFIG

    Forexample:

    bosh2-emy-envupdate-runtime-config--name=ipsec/tmp/ipsec.yml

    8. NavigatetoyourInstallationDashboardinOpsManager.

    9. ClickApplyChanges.

    ©CopyrightPivotalSoftwareInc,2013-2019 24 1.8

  • UninstallingtheIPsecAdd-onforPCFPagelastupdated:

    ThistopicdescribeshowtouninstallIPsecfromyourdeployment.

    UninstalltheIPsecAdd-On1. Retrievethelatestruntimeconfigbyrunningoneofthefollowingcommands:

    ForOpsManagerv1.10orearlier: bosh runtime-config > PATH-TO-SAVE-THE-RUNTIME-CONFIGForOpsManagerv1.11orlater: bosh2 -e BOSH-ENVIRONMENT runtime-config > PATH-TO-SAVE-THE-RUNTIME-CONFIG

    2. Setthe optional flagto true underIPsecproperties.

    3. Updatetheruntimeconfigbyrunningoneofthefollowingcommands:

    ForOpsManagerv1.10orearlier: bosh update runtime-config PATH/YOUR-RUNTIME-CONFIG.ymlForOpsManagerv1.11orlater: bosh2 -e BOSH-ENVIRONMENT update-runtime-config --name=ipsec PATH-TO-SAVE-THE-RUNTIME-CONFIG

    4. NavigatetoyourInstallationDashboardinOpsManager.

    5. ClickApplyChanges.

    6. Waitfortheinstallationtocomplete.

    7. RemoveIPsecfromtheruntimeconfig.

    8. Updatetheruntimeconfigbyrunningoneofthefollowingcommands:

    ForOpsManagerv1.10orearlier: bosh update runtime-config PATH/YOUR-RUNTIME-CONFIG.ymlForOpsManagerv1.11orlater: bosh2 -e BOSH-ENVIRONMENT update-runtime-config --name=ipsec PATH-TO-SAVE-THE-RUNTIME-CONFIG

    9. NavigatetoyourInstallationDashboardinOpsManager.

    10. ClickApplyChanges.

    ©CopyrightPivotalSoftwareInc,2013-2019 25 1.8

  • CheckingCertificateDatesPagelastupdated:

    ThistopicdescribeshowtochecktheexpirationdatesofIPseccertificates.

    ThefollowingproceduredescribeshowtodownloadtheruntimeconfigurationfileandextractthetwoIPseccertificatesintotemporaryfiles.Then,thefilesareinputtotheOpenSSLtool.TheOpenSSLtooldecodesthecertificatesanddisplaystheexpirationdates.

    CheckCertificateDatesFollowthestepsbelowtodeterminetheexpirationdatesofyourIPseccertificates.

    1. LogintoBOSHDirector.

    2. RunoneofthefollowingcommandstodownloadyourruntimeconfigurationYAMLfile:

    ForOpsManagerv1.10orearlier: bosh runtime-config > PATH-TO-SAVE-THE-RUNTIME-CONFIGForOpsManagerv1.11orlater: bosh2 -e BOSH-ENVIRONMENT runtime-config --name=ipsec > PATH-TO-SAVE-THE-RUNTIME-CONFIG

    Forexample,

    boshruntime-config>/tmp/my-runtime-config.yml

    3. DisplaytheruntimeconfigurationYAMLfilesothatyoucancopyfromit.Forexample,

    $cat/tmp/my-runtime-config.yml

    4. IdentifythesectionofthefilethatcontainsIPsecproperties,andlocatethecertificates:

    addons:-include:stemcell:-os:ubuntu-trustyjobs:-name:ipsecrelease:ipsecname:ipsecproperties:ipsec:ca_certificates:-|-----BEGINCERTIFICATE-----MIIE/TCCAuWgAwIBAgIBATANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwNjYTEwHhcNMTYwNTI2MjI1MDMzWhcNMjYwNTI2MjI1MDQyWjAOMQwwCgYDVQQDEwNjYTEw...Axu2pbEoT1PrMd3HlAZ3AH8ZrMR3ScJKCW3wQFRX/Plj-----ENDCERTIFICATE-----instance_certificate:|-----BEGINCERTIFICATE-----MIIEGTCCAgGgAwIBAgIQDlqK1V54BEknnblVPXu5lzANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwNjYTEwHhcNMTYwNTI2MjI1MTAzWhcNMTgwNTI2MjI1MTAzWjAQMQ4wDAYDVQQDEwVjZXJ0MTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB...4Q6P/cDn9QvW2QbbWkApP2uuMk04jWJV7p79CfX4pipPqiSofjFyFqsjjvir-----ENDCERTIFICATE-----

    5. Copytheca_certificateintoatextfile.Retaintheheaderandfooter,butdeletetheleadingwhitespacebeforethe -----BEGINCERTIFICATE----- and -----ENDCERTIFICATE----- lines.Forexample,

    -----BEGINCERTIFICATE-----MIIE/TCCAuWgAwIBAgIBATANBgkqhkiG9w0BAQsFADAOMQwwCgYDVQQDEwNjYTEwHhcNMTYwNTI2MjI1MDMzWhcNMjYwNTI2MjI1MDQyWjAOMQwwCgYDVQQDEwNjYTEw...Axu2pbEoT1PrMd3HlAZ3AH8ZrMR3ScJKCW3wQFRX/Plj-----ENDCERTIFICATE-----

    ©CopyrightPivotalSoftwareInc,2013-2019 26 1.8

  • 6. SavethefilewiththePEMextension,forexample, my-ipsec-ca-cert.pem .

    7. Runthefollowingcommand:opensslx509-text-informpem-in/PATH/FILENAME.pem|grep"NotAfter"

    Where /PATH/FILENAME.pem isthepathtoandfilenameofthefileyousavedinthestepabove.Forexample,

    $opensslx509-text-informpem-in/tmp/my-ipsec-ca-cert.pem|grep"NotAfter"NotAfter:May2622:50:422026GMT

    IfthePEMfileiscorrectlyformatted,theoutputshowsalinewiththe NotAfter date.IfthePEMfileisnotcorrectlyformatted,Theoutputshows unabletoloadcertificate .

    8. Repeatsteps5–7fortheinstance_certificate.

    9. Reviewthe NotAfter dateandplantoreplacethecertificatesaccordingly.Keepinmindtheleadtimetoobtainnewcertificatesandthetimetoperformadeploymenttoapplythem.Forinformation,seeRotatingActiveIPsecCertificates.

    10. Forsecurityhygiene,deletethreetemporaryfilesthatyoucreated:thedownloadedcopyofthe runtime-config.yml whichcontainstheprivatekeyandthetwoPEMfilesthatcontainthecertificates.

    ©CopyrightPivotalSoftwareInc,2013-2019 27 1.8

  • RotatingActiveIPsecCertificatesPagelastupdated:

    ThistopicdescribestheprocessPivotalrecommendstoincreasedeploymentsecuritybyrotatingcertificatesintheIPsecmanifest.

    WhyYouNeedtoRotateCredentialsThesearecommonreasonsforrotatingcredentials:

    Yourorganizationalsecuritypolicymayspecifyhowoftenyoushouldapplythesechanges.

    Yourcertificatesaregoingtoexpire.Tofindtheexpirationdatesonyourcertificates,seeCheckingCertificateDates.

    AbouttheProceduresTherearetwoproceduresforcertificaterotationdescribedinthistopic:

    Procedure1describesrotatingthefollowingcertificatesspecifiedinyourIPsecmanifest:

    TheinstancecertificateandinstanceprivatekeyThisprocedurerequiresupdatingBOSH.Itdoesnotincluderotatingthecertificateauthority(CA)certificate.

    Procedure2describesrotatingyourCAcertificateinadditiontoyourinstancecertificateandinstanceprivatekey.ThisprocedurerequiresupdatingBOSHthreetimes.

    Procedure1:RotatetheInstanceCertificateandInstancePrivateKeyFollowthestepsbelowtorotatetheinstancecertificateandinstanceprivatekey.

    1. GenerateanewcertificateanduseyourexistingIPsecCAcertificatetosignthenewcertificate.

    2. Updatetheinstancecertificateandtheprivatekeyfieldsinyour ipsec-addon.yml filewithnewvaluesfromthepreviousstep.

    3. Updatetheruntimeconfigbyrunningoneofthefollowingcommands:

    ForOpsManagerv1.10orearlier: bosh update runtime-config PATH-TO-SAVE-THE-RUNTIME-CONFIGForOpsManagerv1.11orlater: bosh2 -e BOSH-ENVIRONMENT update-runtime-config --name=ipsec PATH-TO-SAVE-THE-RUNTIME-CONFIG

    4. NavigatetoyourOpsManagerinterfaceinabrowser,andclickApplyChanges.

    Procedure2:RotatetheCACertificate,theInstanceCertificate,andInstancePrivateKeyFollowthesestepstorotatetheCAcertificate,instancecertificate,andinstanceprivatekey.

    1. GenerateanewCAcertificate.

    2. AppendthenewlygeneratedCAcertificateundertheexistingcertificateasanewyamllistelementinyour ipsec-addon.yml .Forexample:

    ca_certificates: - | -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----

    Note:Therollingdeploysduringtheseproceduresresultinminimaldeploymentdowntime.

    Note:Thisstepresultsinafewminutesofappdowntime.

    ©CopyrightPivotalSoftwareInc,2013-2019 28 1.8

  • - | -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- . . .

    Forv1.8.12andabove:IPsecsupportsCAcertificatechain.

    Concatenatethecontentsoftherootandtheintermediatecertificatesasoneofthelistitemsinca_certificates(therootCAisatthetop).

    ca_certificates: - | -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- - | -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----

    3. Updatetheruntimeconfigbyrunningoneofthefollowingcommands:

    ForOpsManagerv1.10orearlier: bosh update runtime-config PATH-TO-SAVE-THE-RUNTIME-CONFIGForOpsManagerv1.11orlater: bosh2 -e BOSH-ENVIRONMENT update-runtime-config --name=ipsec PATH-TO-SAVE-THE-RUNTIME-CONFIG

    4. NavigatetoyourOpsManagerinterfaceinabrowser,andclickApplyChanges.

    5. GenerateanewcertificateanduseyournewCAcertificatetosignthenewcertificate.

    6. Updatetheinstancecertificateandtheprivatekeyfieldsintheyour ipsec-addon.yml filewithnewvaluesfromabove.

    7. Repeatstep3toupdatetheruntimeconfig.

    8. NavigatetoyourOpsManagerinterfaceinabrowser,andclickApplyChanges.

    9. DeletetheolderCAcertificateinthe ipsec-addon.yml file.

    10. Repeatstep3toupdatetheruntimeconfig.

    11. NavigatetoyourOpsManagerinterfaceinabrowser,andclickApplyChanges.

    Note:TherootandtheintermediatecertificatescannothavethesamesubjectName,(alsocalledthecommonnameandsetwith CN= ).Also,therootcertificatemustbethefirstcertificateofthechain.

    Note:Thisstepresultsinafewminutesofappdowntime.

    ©CopyrightPivotalSoftwareInc,2013-2019 29 1.8

  • RenewingExpiredIPsecCertificatesPagelastupdated:

    ThistopicdescribesthebasicprocessthatdeployersmayusetorenewanyalreadyexpiredcertificatescontainedintheIPsecmanifest.

    AboutCertificateExpirationTheIPsecAdd-onreliesuponX.509certificatestosecurethecommunicationsbetweencommunicatingpeers.

    Likeallcertificates,theIPseccertificateshaveafinitelifetimeandeventuallyexpire.Thecertificatesgeneratedbytheprocedureprovidedintheinstallationinstructions,GenerateaSelf-SignedCertificatehaveadefaultlifetimeofoneyear.Regardlessoftheirspecificlifetime,allcertificatesmusteventuallyberotated,andsoitisimportantfortheoperationsteamtoplanaccordinglyandremembertorotatetheIPseccertificatesbeforetheyactuallyexpire.

    RenewExpiredIPsecCertificatesTorenewexpiredIPseccertificates,dothefollowing:

    1. Retrievethelatestruntimeconfigbyrunningoneofthefollowingcommands:

    ForOpsManagerv1.10orearlier: bosh runtime-config > PATH-TO-SAVE-THE-RUNTIME-CONFIGForOpsManagerv1.11orlater: bosh2 -e BOSH-ENVIRONMENT runtime-config > PATH-TO-SAVE-THE-RUNTIME-CONFIG

    2. Generateanewsetofcertificates.Fordevelopmentortestenvironments,youcanuseself-signedcertificates.Forinformationaboutself-signedcertificates,seeGenerateaSelf-SignedCertificate.

    3. Intheruntime config.yml filesavedfromstep1,updatethe optional fieldto true andupdatethecertificatefieldswithnewcertificates.Formoreinformationaboutthesefields,seethefielddescriptionsunderCreatetheIPsecManifest.

    properties: ipsec: optional: true instance_certificate: | -----BEGIN CERTIFICATE----- EXAMPLEAhigAwIBAgIRAIvrBY2TttU/LeRhO+V1t0YwDQYJKoZIhvcNAQELBQAw ... -----END CERTIFICATE----- instance_private_key: | -----BEGIN EXAMPLE RSA PRIVATE KEY----- EXAMPLExRSAxPRIVATExKEYxDATAxEXAMPLExRSAxPRIVATExKEYxDATA ... -----END EXAMPLE RSA PRIVATE KEY----- ca_certificates: - | -----BEGIN CERTIFICATE----- ExampleAvGgAwIBAgIBATANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDEwl0ZXN0 ... -----END CERTIFICATE-----

    4. Updatetheruntimeconfigbyrunningoneofthefollowingcommands:

    ForOpsManagerv1.10orearlier: bosh update runtime-config PATH-TO-SAVE-THE-RUNTIME-CONFIGForOpsManagerv1.11orlater: bosh2 -e BOSH-ENVIRONMENT update-runtime-config --name=ipsec PATH-TO-SAVE-THE-RUNTIME-CONFIG

    5. NavigatetoyourInstallationDashboardinOpsManager.

    6. ClickApplyChanges.

    7. Removethe optional:true setinstep3.

    8. Repeatsteps4to6.

    IMPORTANT:RotatingthecertificateswhiletheyarestillvalidensuresthemaximumavailabilityoftheCloudFoundryplatformandavoidsanyunscheduledinterruptioninservice.

    ©CopyrightPivotalSoftwareInc,2013-2019 30 1.8

  • ©CopyrightPivotalSoftwareInc,2013-2019 31 1.8

    Table of ContentsIPsec Add-on for PCFOverviewProduct SnapshotIPsec Implementation DetailsLimitation

    Troubleshooting the IPsec Add-on for PCFVerify that IPsec Works with PCFTroubleshoot IPsecIPsec Installation IssuesSymptomExplanation: Packet LossSolutionSymptomExplanation: Network DegradationSolution

    IPsec Runtime IssuesSymptomExplanation: Asynchronous monit Job PrioritiesSolutionSymptomExplanation: Split Brain consulSolutionSymptomExplanation: Error in Network ConfigurationSolutionSymptomExplanation: etcd Split BrainSolutionSymptomExplanation: Typographical or syntax error in deployment descritor YAML syntaxSolutionSymptomExplanation: IPsec Certificates Might Have ExpiredSolutionSymptomExplanation: IPsec stopped/crashed and Monit Cannot Automatically Bring it Back Up.Solution

    Release Notesv1.8.31v1.8.14v1.8.12v1.8.3

    Installing the IPsec Add-on for PCFPrerequisitesBest PracticesStep 1: Configure Network SecurityGoogle Cloud PlatformvSphereAzureAWSOpenStack

    Step 2: Create the IPsec ManifestAdd Linux VM Support to Your Runtime ConfigAdd Windows VM Support to Your Runtime ConfigOptional: Custom Linux/Windows Mixed Deployment Proposals

    Step 3: Download and Deploy the IPsec Add-onAssumption about Ops Manager VersionsProcedure

    Step 4: Verify Your IPsec InstallationGenerate a Self-Signed Certificate with OpenSSL

    Upgrading the IPsec Add-on for PCFAssumption about Ops Manager VersionsUpgrade IPsec Add-on

    Uninstalling the IPsec Add-on for PCFUninstall the IPsec Add-On

    Checking Certificate DatesCheck Certificate Dates

    Rotating Active IPsec CertificatesWhy You Need to Rotate CredentialsAbout the ProceduresProcedure 1: Rotate the Instance Certificate and Instance Private KeyProcedure 2: Rotate the CA Certificate, the Instance Certificate, and Instance Private Key

    Renewing Expired IPsec CertificatesAbout Certificate ExpirationRenew Expired IPsec Certificates