51 lines
1.8 KiB
YAML
51 lines
1.8 KiB
YAML
---
|
|
# Advanced Gophish server deployment with enhanced features
|
|
|
|
- name: Deploy Gophish server
|
|
hosts: localhost
|
|
gather_facts: false
|
|
connection: local
|
|
vars_files:
|
|
- vars.yaml
|
|
vars:
|
|
gophish_instance_type: "{{ gophish_instance_type | default('t3.large') }}"
|
|
gophish_region: "{{ gophish_region | default(aws_region) }}"
|
|
|
|
tasks:
|
|
- name: Create Gophish instance
|
|
include_tasks: "../tasks/create_instance.yml"
|
|
vars:
|
|
instance_name: "{{ server_name }}"
|
|
instance_type: "{{ gophish_instance_type }}"
|
|
region: "{{ gophish_region }}"
|
|
security_group_rules:
|
|
- { proto: tcp, port: 22, cidr: "{{ operator_ip }}/32", desc: "SSH from operator" }
|
|
- { proto: tcp, port: 3333, cidr: "{{ operator_ip }}/32", desc: "Gophish admin" }
|
|
- { proto: tcp, port: 25, cidr: "{{ mta_front_ip | default('10.0.0.0/8') }}/32", desc: "SMTP from MTA" }
|
|
- { proto: tcp, port: 80, cidr: "{{ phishing_redirector_ip | default('10.0.0.0/8') }}/32", desc: "HTTP from redirector" }
|
|
|
|
- name: Add Gophish to inventory
|
|
add_host:
|
|
name: "gophish_server"
|
|
groups: "gophish_servers"
|
|
ansible_host: "{{ instance_ip }}"
|
|
ansible_user: "{{ ansible_user | default('ubuntu') }}"
|
|
ansible_ssh_private_key_file: "{{ ssh_key_path }}"
|
|
ansible_ssh_common_args: "-o StrictHostKeyChecking=no"
|
|
|
|
- name: Configure Gophish server
|
|
hosts: gophish_servers
|
|
become: true
|
|
gather_facts: true
|
|
vars_files:
|
|
- vars.yaml
|
|
tasks:
|
|
- name: Include advanced Gophish configuration
|
|
include_tasks: "../tasks/configure_gophish_advanced.yml"
|
|
|
|
- name: Include security hardening
|
|
include_tasks: "../tasks/security_hardening.yml"
|
|
|
|
- name: Include tracker setup
|
|
include_tasks: "../tasks/configure_integrated_tracker.yml"
|
|
when: deploy_tracker | default(true) | bool |