<template> <div class="iron-bank"> <PageHeader title="Iron Bank" subtext description="Iron Bank is Platform One's authorized, hardened, and approved container repository that supports the end to end lifecycle needed for modern software development." buttonText="Visit the Website" buttonUrl="https://ironbank.dso.mil" buttonTarget="_blank" :logoSource="ibLogo" /> <v-container class="px-md-8 px-auto"> <v-container class="px-md-16"> <h2 class="my-3 mx-md-16 mx-auto"> Why Iron Bank? </h2> <div class="row text-left px-xl-16"> <div class="col-md-6 mb-n10 mb-md-0"> <ul> <li> Automates, secures, and accelerates the approval process of commercial and open source containers to be used within the DoD with DoD-wide reciprocity </li> <li> Brings accredited software to the DoD using processes and procedures that are faster and more efficient than other methods </li> <li>Provides continuous monitoring of approved images</li> <li> Maintains continuously updated containers so that developers have access to the latest tools </li> <li> Provides a toolbox of commonly used and secured capabilities for mission apps </li> </ul> </div> <div class="col-md-6"> <ul> <li> Provides end-to-end management of container justifications for known vulnerabilities and container approval process via Vulnerability Assessment Tool (VAT) </li> <li>Assists vendors with the hardening process of containers</li> <li> The <a href="https://ironbank.dso.mil/ironbank/repomap" target="_blank" >Iron Bank</a > website offers a view of all approved applications and provides any necessary details in regards to the application </li> <li> <a href="https://registry1.dso.mil" target="_blank" >Registry One</a > is a fully compliant Open Container Initiative registry. All containers found under the Iron Bank project are guaranteed to be approved </li> <li> <a href="https://repo1.dso.mil/dsop" target="_blank" >Repo One</a > is the central repository for the source code to create hardened and evaluated containers for the DoD </li> </ul> </div> </div> </v-container> <div class="row justify-center mt-14"> <div class="col-md-10 white--text pa-md-12" style="border-radius:10px; height:100%;width:100%;background-color: #031726 !important;" > <div class="row"> <div class="col-md-7 text-left pr-md-16 pa-12 pa-md-0"> <h2 class="ma-auto px-0 pb-10 white--text"> Process Highlights </h2> <p> The Iron Bank approval process centralizes and standardizes application hardening throughout the DoD. This information is stored in Repo One. </p> <div class="row"> <div class="col-6 col-md-3" style="font-size:14px;"> <img class="img-fluid mt-2 mb-3" src="@/assets/images/iron-bank/rescan-icon.png" alt="earth icon" /> <p> Every 12 hours applications are built and scanned again for findings </p> </div> <div class="col-6 col-md-3" style="font-size:14px;"> <img class="img-fluid mb-2" src="@/assets/images/iron-bank/continuous-update.png" alt="continuous update icon" /> <p> Applications are continuously updated to the latest version </p> </div> <div class="col-6 col-md-3" style="font-size:14px;"> <img class="img-fluid mb-2" src="@/assets/images/iron-bank/earth.png" alt="earth icon" /> <p> Body of evidence that is public facing and readily available for use </p> </div> <div class="col-6 col-md-3" style="font-size:14px;"> <img class="img-fluid mb-2" src="@/assets/images/iron-bank/lock-check.png" alt="lock check icon" /> <p> DISA STIGs, CIS benchmarks, and best practices applied </p> </div> </div> <div :class="$vuetify.breakpoint.smAndDown ? 'text-center' : ''"> <v-btn :class=" $vuetify.breakpoint.smAndDown ? 'my-3 my-md-6 mx-3' : 'my-6 mr-6' " color="primary" href="https://ironbank.dso.mil/ironbank/repomap" target="_blank" > Explore Iron Bank </v-btn> <v-btn :class=" $vuetify.breakpoint.smAndDown ? 'my-3 mx-3 black--text' : 'my-6 black--text' " color="light" href="https://repo1.dso.mil/dsop" target="_blank" > Repo One </v-btn> </div> </div> <div class="col-md-5 text-left pl-md-16 pa-12 pa-md-0" :style=" $vuetify.breakpoint.mdAndUp ? 'border-left: solid white 1px' : '' " > <h2 class="ma-auto px-0 pb-10 white--text"> How Do We Do It? </h2> <p> We work with the open source community and commercial vendors to centralize a hardened and approved version of an application that is easily accessible to the entire DoD. By leveraging our Certificate to Field (CtF) process, the DoD community can quickly and easily deploy applications at unprecedented speed. </p> <v-btn class="my-6" color="primary" href="https://registry1.dso.mil" target="_blank" > Registry One </v-btn> </div> </div> </div> </div> <v-container class="px-md-8 px-auto mt-10"> <v-container class="px-lg-16"> <h2 class="my-3 mx-lg-16 mx-auto"> How Do I Contribute Containers to Iron Bank to be Hardened? </h2> <div class="row justify-center"> <div class="col-12 col-xl-8"> <p> Before contributing a container, you should first make sure that the application you are contributing is not already in the Iron Bank. If the container image does not exist, requests can be made with the Container Hardening Team on Repo One for accreditation. </p> </div> </div> <v-btn class="my-6 mx-auto" color="primary" href="https://repo1.dso.mil/dsop" target="_blank" > Launch Repo One </v-btn> </v-container> </v-container> <div class="row justify-center"> <div class="image-wrapper" @click="() => showImg(0)"> <img class="img-fluid" src="@/assets/images/iron-bank/IBVS_diagram.png" alt="Iron Bank Diagram" /> </div> </div> <div class="mx-auto mb-10"> <DownloadButton text="Iron Bank Diagram" :internalFilePath="ibvsDiagram" /> </div> <v-container class="px-md-8 px-auto"> <v-container class="px-lg-16"> <h2 class="my-3 mx-lg-16"> Pulling Hardened Containers From Registry One </h2> <div class="row justify-center"> <div class="col-12 col-xl-8"> <p> All containers under the Iron Bank project are officially approved. See the following diagram on how to manually pull containers from Registry One. Automated pull capabilities coming soon. </p> </div> </div> <v-btn class="my-6 mx-auto" color="primary" href="https://registry1.dso.mil" target="_blank" > Launch Registry One </v-btn> </v-container> </v-container> <div class="row justify-center" v-if="$vuetify.breakpoint.mdAndUp"> <div class="image-wrapper" @click="() => showImg(1)"> <img class="img-fluid" src="@/assets/images/iron-bank/IBVS_registry1_process.png" alt="Iron Bank Registry1 Process" /> </div> </div> <div class="mt-16" v-if="$vuetify.breakpoint.smAndDown"> <IBCollapsiblesDownloadSteps /> </div> <div class="mx-auto mt-4 mb-10"> <DownloadButton text="Pulling Containers" :internalFilePath="ibvsRegistryProcess" /> </div> <v-container class="px-md-8 px-auto mt-10"> <v-container class="px-lg-16 text-center"> <h2 class="my-3 mx-lg-16 mx-auto"> How Do I Use A Hardened Container at a Multi-Security Level? </h2> <div class="row justify-center"> <div class="col-12 col-xl-8"> <p> Applications are typically approved at multiple Impact Levels (IL). Each organization is welcome to accept reciprocity with our approvals, but may choose to do additional assessments such as an Intelligence Review. We are working on automatically transferring images from lower classification levels to higher classifications for immediate use. </p> </div> </div> </v-container> </v-container> <v-container class="px-md-8 px-auto"> <v-container class="px-lg-16 text-center"> <h2 class="my-3 mx-lg-16 mx-auto"> The Iron Bank Pipeline </h2> <div class="row justify-center"> <div class="col-12 col-xl-8"> <p> Every container must pass each phase of the Iron Bank pipeline to be available on Iron Bank and Registry One. Passing these six phases results in a container being signed and accredited. </p> </div> </div> <v-btn class="my-6 mx-auto" color="primary" href="https://repo1.dso.mil/ironbank-tools/ironbank-pipeline/-/blob/master/README.md" target="_blank" > Learn More </v-btn> </v-container> </v-container> <div class="row justify-center" v-if="$vuetify.breakpoint.mdAndUp"> <div class="image-wrapper" @click="() => showImg(2)"> <img class="img-fluid" src="@/assets/images/iron-bank/IBVS_pipeline.png" alt="Iron Bank Pipeline" /> </div> </div> <div class="mt-16" v-if="$vuetify.breakpoint.smAndDown"> <IBCollapsiblesPipeline /> </div> <div class="mx-auto mt-4 mb-10"> <DownloadButton text="Iron Bank Pipeline" :internalFilePath="ibvsPipeline" /> </div> <v-container class="px-md-8 px-auto"> <v-container class="px-md-16"> <h2 class="my-3 mx-md-16 mx-auto"> Onboarding </h2> <div class="row justify-center"> <div class="col-12 col-xl-8"> <p> Interested in submitting a container to be hardened and published on Iron Bank and Registry One? Check out the Contributor Onboarding Guide and see how to successfully scan and harden your container(s) through the <Tooltip text="DevSecOps" tooltip="Development, Security, and Operations" /> Platform. </p> </div> </div> <v-btn class="my-6 mx-auto" color="primary" href="https://repo1.dso.mil/dsop/dccscr/-/tree/master/contributor-onboarding" target="_blank" > Onboarding Guide </v-btn> </v-container> </v-container> </v-container> <Wave :bottom="false"> <div class="container"> <div class="row justify-content-center px-8"> <div class="col-md-6"> <div> <h2 class="mx-auto"> Have More Questions? </h2> </div> <p class="mx-auto"> Check out our FAQ page. </p> </div> </div> <div> <v-btn class="mx-auto mt-6" color="primary" href="https://confluence.il2.dso.mil/cq/questions.action?spaceKey=P1" target="_blank" >FAQ</v-btn > </div> </div> </Wave> <vue-easy-lightbox escDisabled moveDisabled :visible="lightbox.visible" :imgs="lightbox.imgs" :index="lightbox.index" @hide="handleHide" ></vue-easy-lightbox> </div> </template> <script> import PageHeader from "@/components/PageHeader"; import Wave from "@/components/Wave"; import VueEasyLightbox from "vue-easy-lightbox"; import IBLogo from "@/assets/images/logos/Iron_Bank_Logo_LIGHT.png"; import IBVSDiagram from "@/assets/images/iron-bank/IBVS_diagram.png"; import IBVSRegistryProcess from "@/assets/images/iron-bank/IBVS_registry1_process.png"; import IBVSPipeline from "@/assets/images/iron-bank/IBVS_pipeline.png"; import DownloadButton from "@/components/Base/DownloadButton"; import IBCollapsiblesPipeline from "@/components/IBCollapsiblesPipeline"; import IBCollapsiblesDownloadSteps from "@/components/IBCollapsiblesDownloadSteps"; import Tooltip from "@/components/Base/Tooltip"; export default { name: "IronBank", components: { PageHeader, Wave, VueEasyLightbox, DownloadButton, IBCollapsiblesPipeline, IBCollapsiblesDownloadSteps, Tooltip, }, methods: { showImg(index) { this.lightbox.index = index; this.lightbox.visible = true; }, handleHide() { this.lightbox.visible = false; }, getImageUrl(filename) { return require(`@/assets/images/${filename}`); }, }, data: function() { return { ibLogo: IBLogo, ibvsDiagram: IBVSDiagram, ibvsRegistryProcess: IBVSRegistryProcess, ibvsPipeline: IBVSPipeline, // lightbox state lightbox: { visible: false, index: 0, // default: 0 imgs: [ require("@/assets/images/iron-bank/IBVS_diagram.png"), require("@/assets/images/iron-bank/IBVS_registry1_process.png"), require("@/assets/images/iron-bank/IBVS_pipeline.png"), ], }, }; }, }; </script> <style lang="scss"> .iron-bank { li { margin: 15px 0; } } </style>