test other version
Some checks failed
Ansible Minecraft CI/CD Pipeline / Ansible Lint Check (push) Successful in 58s
Ansible Minecraft CI/CD Pipeline / Project Structure Validation (push) Failing after 3s
Ansible Minecraft CI/CD Pipeline / Security Scan (push) Successful in 4s
Ansible Minecraft CI/CD Pipeline / Deploy to Staging (push) Has been skipped
Ansible Minecraft CI/CD Pipeline / Deploy to Production (push) Has been skipped
Ansible Minecraft CI/CD Pipeline / Backup System Check (push) Has been skipped

This commit is contained in:
2025-08-26 21:59:21 +02:00
parent b2459a2dc0
commit 7a2ccb537b
98 changed files with 2830 additions and 1291 deletions

View File

@@ -0,0 +1,11 @@
[DEFAULT]
bantime = {{ fail2ban_jail_ssh_bantime }}
findtime = 600
maxretry = {{ fail2ban_jail_ssh_maxretry }}
[sshd]
enabled = {{ fail2ban_jail_ssh_enabled | ternary('true', 'false') }}
port = {{ fail2ban_jail_ssh_port }}
filter = sshd
logpath = /var/log/auth.log
maxretry = {{ fail2ban_jail_ssh_maxretry }}

View File

@@ -1,26 +0,0 @@
[DEFAULT]
# Fail2ban configuration for Minecraft server
bantime = {{ fail2ban_bantime }}
findtime = {{ fail2ban_findtime }}
maxretry = {{ fail2ban_maxretry }}
# Email notifications (optional)
# destemail = admin@example.com
# sendername = Fail2Ban
# sender = fail2ban@example.com
# action = %(action_mwl)s
[sshd]
enabled = true
port = {{ ssh_port }}
filter = sshd
logpath = /var/log/auth.log
maxretry = {{ fail2ban_maxretry }}
[minecraft]
enabled = true
port = {{ minecraft_port }}
filter = minecraft
logpath = {{ minecraft_server_dir }}/logs/latest.log
maxretry = 5
bantime = 7200

View File

@@ -1,47 +1,25 @@
# SSH configuration for Minecraft server
# SSH Configuration - Managed by Ansible
Port {{ ssh_port }}
Protocol {{ ssh_protocol }}
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
# Logging
SyslogFacility AUTH
LogLevel INFO
Protocol 2
# Authentication
LoginGraceTime 60
PermitRootLogin {{ ssh_permit_root_login }}
StrictModes yes
MaxAuthTries {{ ssh_max_auth_tries }}
MaxSessions 10
PubkeyAuthentication {{ ssh_pub_key_authentication }}
PermitRootLogin {{ ssh_permit_root_login | ternary('yes', 'no') }}
PasswordAuthentication {{ ssh_password_authentication | ternary('yes', 'no') }}
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication {{ ssh_password_authentication }}
PermitEmptyPasswords no
ChallengeResponseAuthentication no
KerberosAuthentication no
GSSAPIAuthentication no
UsePAM yes
AllowUsers {{ ssh_allow_users | join(' ') }}
X11Forwarding no
PrintMotd no
AcceptEnv LANG LC_*
MaxAuthTries {{ ssh_max_auth_tries }}
# Connection settings
ClientAliveInterval {{ ssh_client_alive_interval }}
ClientAliveCountMax {{ ssh_client_alive_count_max }}
TCPKeepAlive yes
MaxSessions 10
MaxStartups 10:30:60
# Restrict to specific users
Match User {{ ssh_allow_users | join(',') }}
AllowTcpForwarding no
X11Forwarding no
PermitTunnel no
GatewayPorts no
AllowAgentForwarding no
# Security settings
PermitEmptyPasswords no
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding no
PrintMotd no
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server

View File

@@ -1,14 +0,0 @@
# UFW rules for Minecraft server
# Default policies
ufw --force reset
ufw default {{ ufw_default_incoming }}
ufw default {{ ufw_default_outgoing }}
# Allow specific ports
{% for port in ufw_allowed_ports %}
ufw allow {{ port }}
{% endfor %}
# Enable UFW
ufw --force enable