e5da6cfdad
ci / validate (push) Has been cancelled
- Implement 4-role architecture (base_provision, patching, hardening, decommission) - Extract hardcoded values to role defaults and group_vars - Add Ansible Vault integration for secrets management - Implement proper handlers for service restarts instead of direct tasks - Add Molecule testing framework with Docker driver - Configure ansible-lint with production profile settings Fix all 125+ ansible-lint violations: - Add FQCN (Fully Qualified Collection Names) to all modules - Replace yes/no with true/false for boolean values - Add explicit mode parameters to file/template operations - Remove duplicate post_tasks blocks from playbooks - Add newlines at end of all YAML files - Fix key ordering in tasks (name, when, block) - Convert service restarts to handlers with notify - Remove ignore_errors in favor of failed_when/changed_when - Fix line length violations and empty lines - Add noqa comments for unavoidable risky-file-permissions Update documentation: - Add REFACTORING.md with implementation details - Add VAULT_GUIDE.md for secrets management - Add per-role README.md files - Update existing documentation All playbooks now pass ansible-lint production profile with 0 violations.
36 lines
602 B
YAML
36 lines
602 B
YAML
---
|
|
# Hardening configuration
|
|
cis_level: 1
|
|
disable_root_login: true
|
|
secure_ssh_config: true
|
|
firewall_policy: deny
|
|
auditd_enabled: true
|
|
selinux_mode: enforcing
|
|
apparmor_enabled: true
|
|
|
|
# SSH Hardening
|
|
ssh_max_auth_tries: 3
|
|
ssh_client_alive_interval: 300
|
|
ssh_client_alive_count_max: 2
|
|
|
|
# Firewall rules for SSH (trusted networks)
|
|
ssh_allowed_networks:
|
|
- 10.0.0.0/8
|
|
- 172.16.0.0/12
|
|
- 192.168.0.0/16
|
|
|
|
# Services to disable
|
|
unnecessary_services:
|
|
- cups
|
|
- avahi-daemon
|
|
- bluetooth
|
|
- nfs-server
|
|
- rpcbind
|
|
|
|
# Packages to remove
|
|
unnecessary_packages:
|
|
- telnet
|
|
- rsh-client
|
|
- talk
|
|
- ntalk
|