Giter Club home page Giter Club logo

ctfd's Introduction

ctfd-deploy

Deploy

  1. Ensure you are in the /ctfd-deploy repo.
  2. Select Actions from the menu.
  3. Select the Deploy CTFD Instance workflow on the left side pane.
  4. Click the Run workflow menu on the right side of the screen.
    image

Fill in the required fields and click the green Run workflow

  1. Email of requester: If another Lacework employee has requested you to setup the CTF, provide the email of that person (the requester), else this is your email. A Slack message with the details of the instance will be sent to this person, so be sure to use the email associated with Slack.
  2. CTF instance prefix: A DNS prefix to uniquely identify your CTF instance from all others. ACME will result in ACME-CTF.cnapp.biz (there is no current validation for uniqueness, so please make an attempt).
  3. Hours until: An automated reaper will auto terminate your CTF infra this many hours after you create it.
  4. Customer: Please identify the name of the customer (or team if internal) benefitting from this CTF.
  5. Question bank category: Select a question bank to be loaded into your CTF instance. Details on the available questions banks is below.
  6. Number of participants: Select a range being certain to account for any last minute additions.

image

Question Banks

Surprise! We've only one so far... we're hard at work making more.

  • Field_Facing: For use by anyone working directly with customers, such as direct sales, with channel/partner and associated customers, etc.
  • SE_Enablement-(internal_use_only): For internal use with SE Enablement - NOT FOR CUSTOMER USE
  • SKO_2024: For internal use - NOT FOR CUSTOMER USER

Processsing Time

While the Action completes within a couple minutes, there are tasks that take longer to complete as the instance comes online, so while you may see a green checkmark indicating completion, please wait approximately 10 minutes before attempting to access your CTF instance.

Retrieve CTF IP Address

The submitter will receive a Slack DM with the CTF instance details within a couple minutes of submission.

image

Alternatively, after the initial couple minutes of processing, you can click into the Deploy Instance run you triggered.

image

Click on the Deploy Instance icon to display more details about the run. image

From within the details of the job run, expand the Terraform Apply row by clicking the down arrow on the left side. image

Scroll to the bottom of the text and you should see text that says Outputs: and some text below that includes a public IP address. After the processing time above has elapsed, point your web browser at the IP address supplied to access your CTF instance.

Outputs:

CONNECT = "After several minutes, attempt to connect via browser to your CTFd instance using the public IP address. If you see a '502 Bad Gateway' error, wait a bit longer and then refresh."
WAIT = "Install requires about 10 minutes. Please wait a bit."
ctfd_publicip = "<PUBLIC IP ADDRESS>"

Login to CTF

Each CTF instance includes a default admin user with the credential admin and password L*******1!**

Adding Users

  1. Click the wrench icon to access the admin tab, then Users, then the '+' icon to create CTF user(s)
  2. Participants will need access to a tenant such as partner-demo. SEs can create a session on the Workshop Event Engine and share the resulting link with participants at the start of the event. This will enable each participant to self register and create their tenant login, thus allowing for last minute attendees to be included.
  3. Upon completion of the CTF event, the SE must delete the users added to the tenant. We hope to automate this in the future.

The size of the CTF instance will be adjusted to suite the quantity of participants indicated. For larger events, please contact the CTF team.


CTFD-Deploy Management

As CTF build files are updated (periodically) the .zip file must be added to the AWS Lightsail storage bucket 'ctf-objects' (account: ) and the repo Terraform variables.tf file must be updated to reflect the new file name.

Should net new questionbank files be developed, the GitHub action deploy.yml file must be updated to add additional drop-down menu items and the Terraform variables.tf file must be updated to include the additional variable map entry.

Questions

@larryebaum

ctfd's People

Contributors

larryebaum-nz avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.