{"id":31955889,"url":"https://github.com/cisagov/ansible-role-nessus","last_synced_at":"2025-10-14T14:32:32.873Z","repository":{"id":38339990,"uuid":"186618003","full_name":"cisagov/ansible-role-nessus","owner":"cisagov","description":"An Ansible role for installing Nessus.","archived":false,"fork":false,"pushed_at":"2025-10-06T19:19:59.000Z","size":1462,"stargazers_count":6,"open_issues_count":1,"forks_count":6,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2025-10-06T21:15:54.850Z","etag":null,"topics":["ansible-role","hacktoberfest","nessus"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cisagov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-05-14T12:32:16.000Z","updated_at":"2025-10-06T19:20:01.000Z","dependencies_parsed_at":"2023-01-31T09:15:40.855Z","dependency_job_id":"f223286e-bae8-493c-9536-b6a7323cfd52","html_url":"https://github.com/cisagov/ansible-role-nessus","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/cisagov/ansible-role-nessus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisagov%2Fansible-role-nessus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisagov%2Fansible-role-nessus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisagov%2Fansible-role-nessus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisagov%2Fansible-role-nessus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cisagov","download_url":"https://codeload.github.com/cisagov/ansible-role-nessus/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cisagov%2Fansible-role-nessus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279019126,"owners_count":26086680,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible-role","hacktoberfest","nessus"],"created_at":"2025-10-14T14:31:04.738Z","updated_at":"2025-10-14T14:32:32.867Z","avatar_url":"https://github.com/cisagov.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ansible-role-nessus #\n\n[![GitHub Build Status](https://github.com/cisagov/ansible-role-nessus/workflows/build/badge.svg)](https://github.com/cisagov/ansible-role-nessus/actions)\n[![CodeQL](https://github.com/cisagov/ansible-role-nessus/workflows/CodeQL/badge.svg)](https://github.com/cisagov/ansible-role-nessus/actions/workflows/codeql-analysis.yml)\n\nAn Ansible role for installing\n[Nessus](https://www.tenable.com/products/nessus/nessus-professional).\n\n## Pre-requisites ##\n\nIn order to execute the Molecule tests for this Ansible role in GitHub Actions,\na test user must exist in AWS. The accompanying Terraform code will create the\nuser with the appropriate name and permissions. This only needs to be run once\nper project, per AWS account. This user can also be used to run the Molecule\ntests on your local machine.\n\nBefore the test user can be created, you will need a profile in your AWS\ncredentials file that allows you to read and write your remote Terraform state.\n(You almost certainly do not want to use local Terraform state for this\nlong-lived test user.)  If the test user is to be created in the CISA COOL\nenvironment, for example, then you will need the `cool-terraform-backend`\nprofile.\n\nThe easiest way to set up the Terraform remote state profile is to make use of\nour [`aws-profile-sync`](https://github.com/cisagov/aws-profile-sync) utility.\nFollow the usage instructions in that repository before continuing with the next\nsteps, and note that you will need to know where your team stores their remote\nprofile data in order to use\n[`aws-profile-sync`](https://github.com/cisagov/aws-profile-sync).\n\n### Creating a test user ###\n\nYou will need to create a test user for each environment that you use.  The\nfollowing steps show how to create a test user for an environment named \"dev\".\nYou will need to repeat this process for any additional environments.\n\n1. Change into the `terraform` directory:\n\n   ```console\n   cd terraform\n   ```\n\n1. Create a backend configuration file named `dev.tfconfig` containing the\nname of the bucket where \"dev\" environment Terraform state is stored - this file\nis required to initialize the Terraform backend in each environment:\n\n    ```hcl\n    bucket = \"my-dev-terraform-state-bucket\"\n    ```\n\n1. Initialize the Terraform backend for the \"dev\" environment using your backend\n   configuration file:\n\n    ```console\n    terraform init -backend-config=dev.tfconfig\n    ```\n\n    \u003e [!NOTE]\n    \u003e When performing this step for additional environments (i.e. not your first\n    \u003e environment), use the `-reconfigure` flag:\n    \u003e\n    \u003e ```console\n    \u003e terraform init -backend-config=other-env.tfconfig -reconfigure\n    \u003e ```\n\n1. Create a Terraform variables file named `dev.tfvars` containing all\nrequired variables (currently only `terraform_state_bucket`):\n\n    ```hcl\n    terraform_state_bucket = \"my-dev-terraform-state-bucket\"\n    ```\n\n1. Create a Terraform workspace for the \"dev\" environment:\n\n    ```console\n   terraform workspace new dev\n   ```\n\n1. Initialize and upgrade the Terraform workspace, then apply the configuration\n   to create the test user in the \"dev\" environment:\n\n    ```console\n    terraform init -upgrade=true\n    terraform apply -var-file=dev.tfvars\n    ```\n\nOnce the test user is created you will need to update the\n[repository's secrets](https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets)\nwith the new encrypted environment variables. This should be done using the\n[`terraform-to-secrets`](https://github.com/cisagov/development-guide/tree/develop/project_setup#terraform-iam-credentials-to-github-secrets-)\ntool available in the\n[development guide](https://github.com/cisagov/development-guide). Instructions\nfor how to use this tool can be found in the\n[\"Terraform IAM Credentials to GitHub Secrets\" section](https://github.com/cisagov/development-guide/tree/develop/project_setup#terraform-iam-credentials-to-github-secrets-).\nof the Project Setup README.\n\nIf you have appropriate permissions for the repository you can view existing\nsecrets on the\n[appropriate page](https://github.com/cisagov/ansible-role-nessus/settings/secrets)\nin the repository's settings.\n\n## Requirements ##\n\nNone.\n\n## Role Variables ##\n\n| Variable | Description | Default | Required |\n|----------|-------------|---------|----------|\n| nessus_package_bucket | The name of the AWS S3 bucket containing the Nessus package file. | n/a | Yes |\n| nessus_version | The version number of the Nessus package file, as specified in the Nessus package filename. | n/a | Yes |\n\n## Dependencies ##\n\nNone.\n\n## Installation ##\n\nThis role can be installed via the command:\n\n```console\nansible-galaxy install --role-file path/to/requirements.yml\n```\n\nwhere `requirements.yml` looks like:\n\n```yaml\n---\n- name: nessus\n  src: https://github.com/cisagov/ansible-role-nessus\n```\n\nand may contain other roles as well.\n\nFor more information about installing Ansible roles via a YAML file,\nplease see [the `ansible-galaxy`\ndocumentation](https://docs.ansible.com/ansible/latest/galaxy/user_guide.html#installing-multiple-roles-from-a-file).\n\n## Example Playbook ##\n\nHere's how to use it in a playbook:\n\n```yaml\n- hosts: all\n  become: true\n  become_method: sudo\n  tasks:\n    - name: Install Nessus\n      ansible.builtin.include_role:\n        name: nessus\n```\n\n## Contributing ##\n\nWe welcome contributions!  Please see [`CONTRIBUTING.md`](CONTRIBUTING.md) for\ndetails.\n\n## License ##\n\nThis project is in the worldwide [public domain](LICENSE).\n\nThis project is in the public domain within the United States, and\ncopyright and related rights in the work worldwide are waived through\nthe [CC0 1.0 Universal public domain\ndedication](https://creativecommons.org/publicdomain/zero/1.0/).\n\nAll contributions to this project will be released under the CC0\ndedication. By submitting a pull request, you are agreeing to comply\nwith this waiver of copyright interest.\n\n## Author Information ##\n\nShane Frasier - \u003cjeremy.frasier@gwe.cisa.dhs.gov\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcisagov%2Fansible-role-nessus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcisagov%2Fansible-role-nessus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcisagov%2Fansible-role-nessus/lists"}