Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stig v3r10 to main #420

Merged
merged 141 commits into from
Mar 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
8f80b7a
updated to allow audit_env to be set
uk-bolly May 3, 2022
31e5d35
added passwd hash to inv
uk-bolly May 3, 2022
604aa01
updated password hash
uk-bolly May 3, 2022
3cf0bda
fixed typo
uk-bolly May 3, 2022
79034b4
Merge pull request #409 from ansible-lockdown/audit_vars
uk-bolly May 4, 2022
b56fa95
Update fix-cat2.yml
dirtyharrycallahan May 2, 2022
9be8e1f
Update fix-cat2.yml
dirtyharrycallahan May 2, 2022
9a992ba
Update main.yml
dirtyharrycallahan Apr 29, 2022
3949934
Merge pull request #406 from dirtyharrycallahan/patch-1
uk-bolly May 6, 2022
f31ea30
Merge pull request #407 from dirtyharrycallahan/patch-2
uk-bolly May 6, 2022
e88c82a
Merge pull request #408 from dirtyharrycallahan/patch-3
uk-bolly May 6, 2022
5e34a70
improved 010010 control
uk-bolly Jul 11, 2022
a8727c0
updated min_supported OS for CentOS to align with ansible_distribution
uk-bolly Jul 11, 2022
efa041f
updates and rewrite for 021700
uk-bolly Jul 11, 2022
a19085b
updated testing on 040100
uk-bolly Jul 11, 2022
d3f1399
fixed auditd restart logic
uk-bolly Jul 11, 2022
d7d865c
tidy up white space
uk-bolly Jul 11, 2022
3a1ae76
yamllint
uk-bolly Jul 11, 2022
2faf9a9
lint
uk-bolly Jul 11, 2022
5df4373
removed auditd step as updated in handlers
uk-bolly Jul 11, 2022
299a811
auditd updates
uk-bolly Jul 11, 2022
fc5cf3e
auditd template update moved to main
uk-bolly Jul 11, 2022
d121121
std warning message
uk-bolly Jul 12, 2022
9475368
updated to align audit
uk-bolly Jul 12, 2022
c5de31b
updated 040520 firewall service to be running and enabled
uk-bolly Jul 12, 2022
4fc4d3e
fixed notify_cmd
uk-bolly Jul 12, 2022
30b47cf
fixed command
uk-bolly Jul 12, 2022
d26ab0b
updated changed_when to false
uk-bolly Jul 12, 2022
d45776e
skipping control rhel_07_010340
uk-bolly Jul 18, 2022
9a8e4d7
updates for v3r7 changes
georgenalen Jun 22, 2022
d32f26f
Updated changelog and removed local.yml
georgenalen Jun 23, 2022
8b4d666
skipp rhel_07_010340
uk-bolly Jul 18, 2022
48ae74e
updated to skip 010340 due to ec2 no user passwords
uk-bolly Jul 18, 2022
af552b0
Merge branch 'devel' into benchmark_v3_r7_updates
uk-bolly Jul 18, 2022
51e5b88
Merge pull request #415 from ansible-lockdown/benchmark_v3_r7_updates
georgenalen Jul 19, 2022
63de653
revert control 10010
uk-bolly Jul 19, 2022
951a07c
Merge branch 'devel' into idempotency
uk-bolly Jul 19, 2022
4be0318
Updated name for 010291
georgenalen Jul 19, 2022
4a0ebf1
Updated name for 010291 part2
georgenalen Jul 19, 2022
f27ce05
revert to ignore_errors due to output types
uk-bolly Jul 21, 2022
d2b9bc9
Merge branch 'idempotency' of github.com:ansible-lockdown/RHEL7-STIG …
uk-bolly Jul 21, 2022
879dd54
removed .changed conditionals not required
uk-bolly Aug 1, 2022
62eb5b3
updated rule ID for stigv3r8
uk-bolly Aug 1, 2022
685b2da
updated for v3r8
uk-bolly Aug 1, 2022
c1daf26
updated for #404
uk-bolly Aug 2, 2022
f0a3212
added more comments to meet requirements
uk-bolly Aug 2, 2022
43e62d3
added disruption high to 010344
uk-bolly Aug 2, 2022
9d5630d
changed control 010340 for sudo password
uk-bolly Aug 2, 2022
32c78d4
added jmespath dependancy back in
uk-bolly Aug 2, 2022
3dad202
updated
uk-bolly Aug 2, 2022
48c06b1
updated with issues
uk-bolly Aug 2, 2022
230c381
#410 grub user password 10482/10491
uk-bolly Aug 2, 2022
4465f96
added extra comment to stig update
uk-bolly Aug 2, 2022
83b86b2
updated workflow
uk-bolly Aug 5, 2022
a7fe1ca
updated
uk-bolly Aug 5, 2022
fce2987
fixed stig specific inventroy settings
uk-bolly Aug 5, 2022
2cc9371
Lint add blank line
uk-bolly Sep 14, 2022
17cfe4c
reorder
uk-bolly Sep 14, 2022
08fa33b
lint updates
uk-bolly Sep 16, 2022
44903f3
lint stds and updates
uk-bolly Oct 25, 2022
124d7b5
Merge pull request #416 from ansible-lockdown/idempotency
uk-bolly Oct 25, 2022
8f1258e
updated audit outfile
uk-bolly Oct 27, 2022
1e3025a
Full Uopdate To V3R9
MrSteve81 Nov 2, 2022
2d7013a
Updated Changelog
MrSteve81 Nov 4, 2022
53cf8ea
Updated Readme
MrSteve81 Nov 4, 2022
1ba2855
Updated RHEL-07-010010 Control
MrSteve81 Nov 4, 2022
4e76869
Updated RHEL-07-010291 Control
MrSteve81 Nov 4, 2022
3c2d0d0
Updated RHEL-07-021030
MrSteve81 Nov 4, 2022
36a9947
Updated RHEL-07-021040
MrSteve81 Nov 4, 2022
2c825b3
Updated RHEL-07-040160
MrSteve81 Nov 4, 2022
143af72
Updated RHEL-07-010342
MrSteve81 Nov 4, 2022
5e7c8e0
Updated RHEL-07-020023
MrSteve81 Nov 4, 2022
0262558
Updated ChangeLog
MrSteve81 Nov 4, 2022
553c715
Lint Update
MrSteve81 Nov 4, 2022
223e146
Tasks Main Update
MrSteve81 Nov 4, 2022
7b05fbe
Merge branch 'devel' into steve_stig_v3r9_v2
MrSteve81 Nov 4, 2022
6815a85
Merge pull request #417 from ansible-lockdown/steve_stig_v3r9_v2
MrSteve81 Nov 4, 2022
f71205e
updated goss version and output file
uk-bolly Nov 7, 2022
86c6bf7
Added cat2 10271
uk-bolly Nov 7, 2022
9a4e380
updated welcome first interaction version
uk-bolly Nov 7, 2022
ce61994
Merge pull request #418 from ansible-lockdown/audit_align_v3r9
uk-bolly Nov 7, 2022
4ae0907
updated title thanks to discord
uk-bolly Jan 4, 2023
d5a004a
Merge pull request #419 from ansible-lockdown/Jan23_improvements
uk-bolly Jan 5, 2023
8a064da
#405 updated regex thanks to @JosephHoffman
uk-bolly Feb 7, 2023
f151c43
updated msg for bootloader
uk-bolly Feb 7, 2023
e02ca70
made auditd process a variable
uk-bolly Feb 7, 2023
ccec453
Add version updates
uk-bolly Feb 7, 2023
967e0ee
updated rule IDs added 010090
uk-bolly Feb 7, 2023
d9d09f9
ruleid 010010
uk-bolly Feb 7, 2023
09647cd
Add control 010199
uk-bolly Feb 7, 2023
e05dc37
new rule 010375
uk-bolly Feb 7, 2023
0224621
rule no. updates
uk-bolly Feb 7, 2023
62b8f05
20029 - aide notify added
uk-bolly Feb 7, 2023
09d8c98
20030/20040 update
uk-bolly Feb 7, 2023
c0dc2c6
updated rule_ids
uk-bolly Feb 7, 2023
71405e4
ruleID updates
uk-bolly Feb 7, 2023
cfd2824
ruleID and 040470- conditional pre 7.4
uk-bolly Feb 7, 2023
b73a1e2
control 40712 added
uk-bolly Feb 7, 2023
aeb82df
updated
uk-bolly Feb 7, 2023
51b62b4
updated workflows
uk-bolly Feb 7, 2023
3246513
fix typo
uk-bolly Feb 7, 2023
efed8ed
fix typo
uk-bolly Feb 7, 2023
6fed141
updated goss version
uk-bolly Feb 7, 2023
bcfa72a
improved handler logic
uk-bolly Feb 7, 2023
e5b55e6
updated control
uk-bolly Feb 7, 2023
cd32e5b
audit alignment
uk-bolly Feb 7, 2023
d5eae78
changed audit git release to match branch names
uk-bolly Feb 8, 2023
b3b4f09
revert change
uk-bolly Feb 8, 2023
f089c76
fix typo
uk-bolly Feb 8, 2023
84f7594
removed become statement
uk-bolly Feb 8, 2023
5fd0606
updated 10260 changed_when
uk-bolly Feb 8, 2023
bc515f4
updated Ansible version
uk-bolly Feb 8, 2023
87e9298
removed files no loner used
uk-bolly Feb 8, 2023
ce964f0
added update galaxy workflow
uk-bolly Feb 28, 2023
1cf2c77
updated
uk-bolly Feb 28, 2023
2027e1f
lint
uk-bolly Feb 28, 2023
4629433
moved to use default audit_git version
uk-bolly Feb 28, 2023
2654fb6
fqcn lint
uk-bolly Feb 28, 2023
2940470
FQCN lint
uk-bolly Feb 28, 2023
0691198
FQCN lint
uk-bolly Feb 28, 2023
ff0ba12
FQCN and shell/command updates
uk-bolly Feb 28, 2023
376d23e
FQCN
uk-bolly Feb 28, 2023
36e932c
update audit example
uk-bolly Feb 28, 2023
e733fcd
updated
uk-bolly Feb 28, 2023
fcfb58f
skip password change
uk-bolly Feb 28, 2023
bd7b0d2
added dummy bootloader passwd
uk-bolly Feb 28, 2023
a02f7e3
Tidy up warning standard
uk-bolly Mar 2, 2023
871987a
Standard PRELIM
uk-bolly Mar 2, 2023
43218e6
removed good new statements
uk-bolly Mar 2, 2023
fa8ea6e
Added warning to manual messages
uk-bolly Mar 2, 2023
df0c75b
lineinfile uses path and option ordering
uk-bolly Mar 2, 2023
b66317a
lineinfile path and ordering
uk-bolly Mar 2, 2023
e9365d7
warning update
uk-bolly Mar 2, 2023
eadd7e1
removed file not required
uk-bolly Mar 2, 2023
48eddda
Merge pull request #421 from ansible-lockdown/stig_v3r10
uk-bolly Mar 2, 2023
4e538ee
lint updated inline with galaxy
uk-bolly Mar 22, 2023
cdd4f7b
Added nice to have lint
uk-bolly Mar 22, 2023
469aa80
Added yamllint skip for github actions
uk-bolly Mar 22, 2023
ed7121b
updated
uk-bolly Mar 22, 2023
a850083
updated
uk-bolly Mar 22, 2023
dce069d
Merge pull request #423 from ansible-lockdown/galaxy_update
uk-bolly Mar 22, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 15 additions & 7 deletions .ansible-lint
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
parseable: true
quiet: true
skip_list:
- '204'
- '208'
- '305'
- '303'
- '403'
- '306'
- '602'
- 'schema'
- 'no-changed-when'
- 'var-spacing'
- 'experimental'
- 'name[play]'
- 'name[casing]'
- 'name[template]'
- 'fqcn[action]'
- '204'
- '305'
- '303'
- '403'
- '306'
- '602'
- '208'
use_default_rules: true
verbosity: 0
2 changes: 1 addition & 1 deletion .github/workflows/OS.tfvars
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ ami_username = "centos"
ami_user_home = "/home/centos"
instance_tags = {
Name = "RHEL7-STIG"
Environment = "lockdown_github_repo_workflow"
Environment = "github_test_pipeline"
}
48 changes: 45 additions & 3 deletions .github/workflows/github_networks.tf
Original file line number Diff line number Diff line change
@@ -1,11 +1,53 @@
resource "aws_vpc" "Main" {
cidr_block = var.main_vpc_cidr
tags = var.instance_tags
cidr_block = var.main_vpc_cidr
instance_tenancy = "default"
tags = {
Environment = "${var.environment}"
Name = "${var.namespace}-VPC"
}
}

resource "aws_internet_gateway" "IGW" {
vpc_id = aws_vpc.Main.id
tags = {
Name = "${var.namespace}-IGW"
Environment = "${var.environment}"
Name = "${var.namespace}-IGW"
}
}

resource "aws_subnet" "publicsubnets" {
vpc_id = aws_vpc.Main.id
cidr_block = var.public_subnets
availability_zone = var.availability_zone
tags = {
Environment = "${var.environment}"
Name = "${var.namespace}-pubsub"
}
}

resource "aws_subnet" "Main" {
vpc_id = aws_vpc.Main.id
cidr_block = var.private_subnets
availability_zone = var.availability_zone
tags = {
Environment = "${var.environment}"
Name = "${var.namespace}-prvsub"
}
}

resource "aws_route_table" "PublicRT" {
vpc_id = aws_vpc.Main.id
route {
cidr_block = "0.0.0.0/0"
gateway_id = aws_internet_gateway.IGW.id
}
tags = {
Environment = "${var.environment}"
Name = "${var.namespace}-publicRT"
}
}

resource "aws_route_table_association" "rt_associate_public" {
subnet_id = aws_subnet.Main.id
route_table_id = aws_route_table.PublicRT.id
}
6 changes: 4 additions & 2 deletions .github/workflows/github_vars.tfvars
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@
// Declared in variables.tf
//

namespace = "github_actions"
namespace = "github_actions"
environment = "lockdown_github_repo_workflow"

// Matching pair name found in AWS for keypairs PEM key
ami_key_pair_name = "github_actions"
private_key = ".ssh/github_actions.pem"
main_vpc_cidr = "172.22.0.0/24"
public_subnets = "172.22.0.128/26"
private_subnets = "172.22.0.192/26"
private_subnets = "172.22.0.192/26"
201 changes: 96 additions & 105 deletions .github/workflows/linux_benchmark_testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,116 +5,107 @@ name: linux_benchmark_pipeline
# Controls when the action will run.
# Triggers the workflow on push or pull request
# events but only for the devel branch
on:
pull_request_target:
types: [opened, reopened, synchronize]
branches:
- devel
- main
paths:
- '**.yml'
- '**.sh'
- '**.j2'
- '**.ps1'
- '**.cfg'
on: # yamllint disable-line rule:truthy
pull_request_target:
types: [opened, reopened, synchronize]
branches:
- devel
- main
paths:
- '**.yml'
- '**.sh'
- '**.j2'
- '**.ps1'
- '**.cfg'

# A workflow run is made up of one or more jobs
# that can run sequentially or in parallel
jobs:
# This will create messages for first time contributers and direct them to the Discord server
welcome:
runs-on: ubuntu-latest

steps:
- uses: actions/first-interaction@v1.1.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
pr-message: |-
Congrats on opening your first pull request and thank you for taking the time to help improve Ansible-Lockdown!
Please join in the conversation happening on the [Discord Server](https://discord.gg/JFxpSgPFEJ) as well.
welcome:
runs-on: ubuntu-latest

steps:
- uses: actions/first-interaction@main
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
pr-message: |-
Congrats on opening your first pull request and thank you for taking the time to help improve Ansible-Lockdown!
Please join in the conversation happening on the [Discord Server](https://discord.io/ansible-lockdown) as well.
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest

env:
ENABLE_DEBUG: false

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE,
# so your job can access it
- uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: Add_ssh_key
working-directory: .github/workflows
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
PRIVATE_KEY: "${{ secrets.SSH_PRV_KEY }}"
run: |
mkdir .ssh
chmod 700 .ssh
echo $PRIVATE_KEY > .ssh/github_actions.pem
chmod 600 .ssh/github_actions.pem

### Build out the server
- name: Terraform_Init
working-directory: .github/workflows
run: terraform init

- name: Terraform_Validate
working-directory: .github/workflows
run: terraform validate

- name: Terraform_Apply
working-directory: .github/workflows
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
run: terraform apply -var-file "OS.tfvars" -var-file "github_vars.tfvars" --auto-approve -input=false

## Debug Section
- name: DEBUG - Show Ansible hostfile
if: env.ENABLE_DEBUG == 'true'
working-directory: .github/workflows
run: cat hosts.yml

# Centos 7 images take a while to come up insert sleep or playbook fails

- name: Check if test os is rhel7
working-directory: .github/workflows
id: test_os
run: >-
echo "::set-output name=RHEL7::$(
grep -c RHEL7 OS.tfvars
)"

- name: if RHEL7 - Sleep for 60 seconds
if: steps.test_os.outputs.RHEL7 >= 1
run: sleep 60s
shell: bash

# Run the ansible playbook
- name: Run_Ansible_Playbook
uses: arillso/action.playbook@master
with:
playbook: site.yml
inventory: .github/workflows/hosts.yml
galaxy_file: collections/requirements.yml
private_key: ${{ secrets.SSH_PRV_KEY }}
# verbose: 3
env:
ANSIBLE_HOST_KEY_CHECKING: "false"
ANSIBLE_DEPRECATION_WARNINGS: "false"

# Remove test system - User secrets to keep if necessary
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest

- name: Terraform_Destroy
working-directory: .github/workflows
if: always() && env.ENABLE_DEBUG == 'false'
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
run: terraform destroy -var-file "OS.tfvars" -var-file "github_vars.tfvars" --auto-approve -input=false
ENABLE_DEBUG: false

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE,
# so your job can access it
- uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}

- name: Add_ssh_key
working-directory: .github/workflows
env:
SSH_AUTH_SOCK: /tmp/ssh_agent.sock
PRIVATE_KEY: "${{ secrets.SSH_PRV_KEY }}"
run: |
mkdir .ssh
chmod 700 .ssh
echo $PRIVATE_KEY > .ssh/github_actions.pem
chmod 600 .ssh/github_actions.pem

### Build out the server
- name: Terraform_Init
working-directory: .github/workflows
run: terraform init

- name: Terraform_Validate
working-directory: .github/workflows
run: terraform validate

- name: Terraform_Apply
working-directory: .github/workflows
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
run: terraform apply -var-file "OS.tfvars" -var-file "github_vars.tfvars" --auto-approve -input=false

## Debug Section
- name: DEBUG - Show Ansible hostfile
if: env.ENABLE_DEBUG == 'true'
working-directory: .github/workflows
run: cat hosts.yml

# Aws deployments taking a while to come up insert sleep or playbook fails

- name: Sleep for 60 seconds
run: sleep 60s
shell: bash

# Run the ansible playbook
- name: Run_Ansible_Playbook
uses: arillso/action.playbook@master
with:
playbook: site.yml
inventory: .github/workflows/hosts.yml
galaxy_file: collections/requirements.yml
private_key: ${{ secrets.SSH_PRV_KEY }}
# verbose: 3
env:
ANSIBLE_HOST_KEY_CHECKING: "false"
ANSIBLE_DEPRECATION_WARNINGS: "false"

# Remove test system - User secrets to keep if necessary

- name: Terraform_Destroy
working-directory: .github/workflows
if: always() && env.ENABLE_DEBUG == 'false'
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
run: terraform destroy -var-file "github_vars.tfvars" -var-file "OS.tfvars" --auto-approve -input=false
13 changes: 7 additions & 6 deletions .github/workflows/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@ provider "aws" {

// Create a security group with access to port 22 and port 80 open to serve HTTP traffic

data "aws_vpc" "default" {
default = true
}

resource "random_id" "server" {
keepers = {
Expand All @@ -19,8 +16,8 @@ resource "random_id" "server" {
}

resource "aws_security_group" "github_actions" {
name = "${var.namespace}-${random_id.server.hex}"
vpc_id = data.aws_vpc.default.id
name = "${var.namespace}-${random_id.server.hex}-SG"
vpc_id = aws_vpc.Main.id

ingress {
from_port = 22
Expand All @@ -43,6 +40,7 @@ resource "aws_security_group" "github_actions" {
cidr_blocks = ["0.0.0.0/0"]
}
tags = {
Environment = "${var.environment}"
Name = "${var.namespace}-SG"
}
}
Expand All @@ -51,11 +49,13 @@ resource "aws_security_group" "github_actions" {

resource "aws_instance" "testing_vm" {
ami = var.ami_id
availability_zone = var.availability_zone
associate_public_ip_address = true
key_name = var.ami_key_pair_name # This is the key as known in the ec2 key_pairs
instance_type = var.instance_type
tags = var.instance_tags
vpc_security_group_ids = [aws_security_group.github_actions.id]
subnet_id = aws_subnet.Main.id
root_block_device {
delete_on_termination = true
}
Expand All @@ -77,7 +77,8 @@ resource "local_file" "inventory" {
setup_audit: true
run_audit: true
system_is_ec2: true
audit_git_version: devel
rhel_07_010340: false
rhel7stig_bootloader_password_hash: 'grub.pbkdf2.sha512.somethingnewhere'
EOF
}

1 change: 1 addition & 0 deletions .github/workflows/terraform.tfvars
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// vars should be loaded by OSname.tfvars
availability_zone = "us-east-1b"
aws_region = "us-east-1"
ami_os = var.ami_os
ami_username = var.ami_username
Expand Down
6 changes: 0 additions & 6 deletions .github/workflows/test.sh

This file was deleted.

Loading