Commit Graph
407 Commits
Author SHA1 Message Date
chris 2b5bffe2be Add host 'sftp-nd.oopen.de' and activate backups. 2026-11-13 18:14:18 +01:00
chrisandClaude Opus 5.5 827bfbe3cf Role ipt-server: install firewall on o13-web (was missing by mistake).
Remove o13-web from no_ipt_firewall and add host_vars modelled on
o13-pad/o13-cryptpad (SSH, HTTP/HTTPS, outgoing mail, munin, blocked
networks).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-13 00:22:57 +01:00
chrisandClaude Opus 5.5 eb229a01b1 Retire old server firewall management (roles firewall/ipt-server part, modify-ipt-server).
All ipt servers are now managed by the role ipt-server (playbook ipt-server.yml):
- roles/firewall: only handles gateways now.
- Remove playbook modify-ipt-server.yml and role modify-ipt-server.
- Remove git_firewall_repository (ipt-server) and the ipt-server entries of
  git_{oopen,warenform}_server_repositories, so role common no longer
  clones /usr/local/src/ipt-server. Gateways keep ipt-gateway.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 21:28:09 +01:00
chrisandClaude Opus 5.5 97bf3d65f3 Role ipt-server: migrate o13-git, first install on h.mx, remove obsolete host_vars of oolm-db.
o13-git was removed from no_ipt_firewall (hosts, already in 57970a6).
h.mx gets the same dovecot auth networks as a.mx.
oolm-db.oopen.de is identical to o21.oopen.de.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 20:17:39 +01:00
chrisandClaude Opus 5.5 7e294de2ca Role ipt-server: add group so36_server to the playbook and migrate its 12 hosts.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 20:04:19 +01:00
chrisandClaude Opus 5.5 57970a6567 Role ipt-server: initiativenserver: clamp IPv6 HTTPS MSS to 1360 again.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 19:38:34 +01:00
chrisandClaude Opus 5.5 f3d8b0b0ce Role ipt-server: migrate fifth group of 23 hosts (with IPv6 overrides).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 19:34:12 +01:00
chrisandClaude Opus 5.5 29e5b06b9a Role ipt-server: migrate fourth group of 17 hosts (mail, meet, web-0x).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 18:12:45 +01:00
chrisandClaude Opus 5.5 3be7ebc251 Role ipt-server: migrate third group of 16 hosts.
cl-nd, nd-archiv, nd-epaper, o14, o20, o28, o36, o39, o40, o44,
stolpersteine (add missing external IPv4 address), test.mariadb,
vvn-shop, vvn-www, web1, web2.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 15:02:13 +01:00
chrisandClaude Opus 5.5 26df44ee57 Role ipt-server: migrate second group of 15 hosts.
cloud.akweb.de, cp-01, cp-flr, dns0.warenform.de (add missing IPv4
blocklist), iam-nd, matomo-01, mm-nd-test, munin, nd-live.warenform.de,
o18, o19, o24, o29, o30, o32.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 13:16:26 +01:00
chrisandClaude Opus 5.5 7a3fe8254d Role ipt-server: migrate first group of 12 hosts.
server23/26/27.warenform.de, git, o12, o22, o27, o31, o42, cl-exil,
cl-opp, web-09.oopen.de.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-12 12:26:42 +01:00
chrisandClaude Opus 5.5 a0e573f1ae Role ipt-server: detect ulogd2 via systemd instead of ps (logging_ipv{4,6}.conf).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 23:17:05 +01:00
chrisandClaude Opus 5.5 801b4baf87 Role ipt-server: migrate server18/22/24/25.warenform.de (IPv6 firewall enabled again).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 22:36:30 +01:00
chrisandClaude Opus 5.5 1838f63bec Role ipt-server: migrate piwik.warenform.de.
host_vars follow the current config on the host: add fw_mail_client_ips,
drop fw_blocked_ips_v4 (empty on the host). IPv4 rules unchanged; the old
IPv6 firewall had aborted halfway (policy ACCEPT), it is now complete.
Second run changed=0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 18:59:34 +01:00
chrisandClaude Opus 5.5 02990faf70 Role ipt-server: configurable rate for the new-TCP-connection limit; new defaults.
- Sync ipt-firewall-server, ip6t-firewall-server and default_settings.conf
  with firewall/ipt-server affa35d: new limit_new_tcp_connections_per_seconds_rate
  (default 30, burst twice the rate); the rule now only drops SYNs above the
  limit instead of accepting those below it; several IPv6 fixes.
- defaults: fw_limit_new_tcp_connections_per_seconds_per_source_IP: false,
  fw_limit_new_tcp_connections_per_seconds_ports: "80,110,143,443,465,995",
  new fw_limit_new_tcp_connections_per_seconds_rate (overridable with _v6).
- templates, extract-fw-host-vars.py, README: new variable and defaults.
- oolm-shop: drop fw_limit_new_tcp_connections_per_seconds_per_source_IP_v6
  (it would have enabled the limit for IPv6 with the new default ports).
- piwik: fw_manage_config: true, per_IP_connection_limit 501, no
  new-connection limit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-11 18:51:16 +01:00
chris 534ad28be9 install_update_dovecot.conf.j2: support of dynamic setting dovecots xmpp_listener. 2026-11-11 02:01:58 +01:00
chris 8334191250 update.. 2026-11-11 01:53:02 +01:00
chris dd0f4990e1 mainly postfwd konfigurations. 2026-11-09 00:07:38 +01:00
chrisandClaude Opus 5.5 2089be116e hosts: add o13-web and psono-ndm to no_ipt_firewall (no ipt firewall installed).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 00:56:04 +01:00
chrisandClaude Opus 5.5 ecc2ae2fbe Role ipt-server: restart docker after a firewall restart; roll out to 18 hosts.
- handlers: a firewall restart flushes the DOCKER* chains and docker's NAT
  rules; restart docker afterwards if it is running (like fail2ban).
- host_vars: add values missing from host_vars generated by an older
  extract-fw-host-vars.py:
  - mm-irights, mm-nd, mm-rav: fw_mm_server_ips
  - test.mx: fw_mail_client_ips_v6, fw_dovecot_auth_service_v6,
    fw_mumble_server_ips_v6
  - mm: fw_allow_local_service_v6 uses "<port>,<proto>" (the IPv6 script
    splits on ',', the IPv4 script on ':').

Rolled out to a.mx, a.ns, b.mx, b.ns, backup.warenform, cl-01, cl-02,
cl-dissens, cl-flr, cl-irights, cl-nd-test, cl-ndm, mm, mm-irights, mm-nd,
mm-rav, o45, test.mx; second run changed=0 on all of them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-04 00:30:08 +01:00
chrisandClaude Opus 5.5 f14b8817c0 Inventory/host_vars cleanup.
- hosts: remove gw-replacement2/3.local.netz and k1371.dyndns.org
  (duplicate of gw-ak.oopen.de).
- host_vars: move obsolete host directories to host_vars/DELETED/
  (devel-cloud, file-blkr-alt, file-ipa, ga-campus-gw-temp, ga-st-mm,
  gitea.so36.net, nc-gw, moodle, nscache, server16, server20, web-test,
  gw-replacement2/3/4).
- host_vars: fix file names (ga-al-gw-common.yml,
  gw-replacement.local.netz/gw-replacement-common.yml) and the header of
  mm-nd-test-ipt-server.yml.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 23:43:34 +01:00
chrisandClaude Opus 5.5 3a73ed9583 Inventory cleanup; add ipt-server host_vars for all ipt hosts.
- hosts: remove unreachable/decommissioned hosts (file-ah-neu, file-ah-alt,
  file-km-neu, ga-al-gw-neu, gw-opp-neu, zapata-neu, zapata-alt, bbb-server,
  ki-fm, server28, ...) and duplicate aliases (etherpad = b.ns,
  cl-irights-neu = cl-irights, oolm-db = o21, devel-ruby = devel-todo).
- host_vars: add <short>-ipt-server.yml (fw_manage_config: false) for all
  hosts running the ipt-server firewall, generated by extract-fw-host-vars.py.
- host_vars: move/remove obsolete host directories, replace alias
  directories by symlinks (cl-lubax -> o32, cl-vbrg -> o34, oolm-db -> o21).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 23:08:58 +01:00
chrisandClaude Opus 5.5 8484fd1508 extract-fw-host-vars.py: use the SSH user from ~/.ssh/config unless --user is given.
Previously "-l chris" was always passed, which overrode per-host users in
~/.ssh/config (e.g. the so36 hosts).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 20:36:01 +01:00
chrisandClaude Opus 5.5 0499706703 extract-fw-host-vars.py: write host_vars/<host>/<short>-ipt-server.yml by default.
Without -o the script now writes the standard host_vars file (relative to
the script, independent of the cwd). An existing file is only overwritten
with --force; this is checked before connecting to the host. -o - prints
to stdout.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 01:28:00 +01:00
chrisandClaude Opus 5.5 b585f3c122 Role ipt-server: migrate o34.oopen.de (fw_manage_config: true).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 01:21:03 +01:00
chrisandClaude Opus 5.5 3e6486c5b5 extract-fw-host-vars.py: abort if a conf file cannot be read; add --from-dir. Migrate cl-test.
Previously an unreadable file (e.g. /etc/ipt-firewall is 0750 after the
role ran) silently produced almost empty host_vars. The script now exits
with an error and writes nothing. --from-dir reads the conf files from a
local directory, e.g. fetched with ansible using the vaulted become
password.

Add host_vars for cl-test.oopen.de (fw_manage_config: true).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 01:00:55 +01:00
chrisandClaude Opus 5.5 ec62f54ab4 Role ipt-server: restart fail2ban after a firewall restart if it is running.
A firewall restart flushes the fail2ban chains. The new handler restarts
fail2ban only if it is active; it does nothing if fail2ban is stopped or
not installed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 00:52:08 +01:00
chrisandClaude Opus 5.5 3d6840ef3a Role ipt-server: allow IPv6-only overrides of shared variables; migrate nd, oolm-shop, web-01, web0.
Shared variables (and fw_ext_interfaces / fw_local_interfaces) can now be
overridden for IPv6 via <name>_v6. extract-fw-host-vars.py emits these
overrides when the IPv4 and IPv6 configs differ, instead of a warning.

Add host_vars for nd.warenform.de, oolm-shop.oopen.de, web-01.oopen.de
and web0.warenform.de (fw_manage_config: true).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 00:50:03 +01:00
chris fe2e749b63 Change git_other_repositories from empty dictionary to empty list 2026-11-03 00:17:24 +01:00
chris 19e1e24b26 Remove vault password configuration from oopen_server.yml 2026-11-03 00:17:02 +01:00
chris 221c7a0552 Add vault password configuration for privilege escalation 2026-11-03 00:08:41 +01:00
chrisandClaude Opus 5.5 402a6c9e89 Role ipt-server: sync with ipt-server repo (93d9af8); adapt extract-fw-host-vars.py.
- Update firewall scripts and shared conf files from firewall/ipt-server
  (HTTP connection limits, IPv6 TCP MSS clamping, ban_ipv6_mask,
  mattermost TCP fallback, rename 'stansard_*' -> 'standard_*').
- New role variables: fw_set_max_new_http_conn_per_ip_per_second,
  fw_max_http_new_conn_per_ip_per_second, fw_set_max_concurrent_http_conn_per_ip,
  fw_max_concurrent_http_conn_per_ip, fw_set_max_new_http_conn_per_second,
  fw_max_new_http_conn_per_second, fw_throttle_tcp6_mss_for_https,
  fw_tcp6_mss_for_https_val, fw_mm_tcp_ports_in, fw_ban_ipv6_mask.
- Split fw_blocked_ips into fw_blocked_ips_v4 / fw_blocked_ips_v6 and
  rename it in host_vars accordingly.
- Restart firewall when scripts or shared conf files change.
- extract-fw-host-vars.py: map new variables, normalize '${var}' and renamed
  bash variables, fall back to IPv6 for shared variables and warn if IPv4
  and IPv6 values differ.
- README.md / MIGRATION.md: document host_vars naming
  (<short-hostname>-ipt-server.yml) and new variables.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-02 22:01:28 +01:00
chris 4a6fc84c01 Update Samba user password for enhanced security 2026-10-31 09:49:20 +01:00
chris bf50baa357 Rename 'vze' to 'vfk' in Samba user and share configurations 2026-10-31 09:48:59 +01:00
chris 9c6f2f89a0 Add ga-al-gw-neu.ga.netz to multiple sections in hosts file 2026-10-31 09:48:48 +01:00
chris 29f6dc7e32 Disable systemd-resolved for multiple host. 2026-10-31 09:47:46 +01:00
chris 758739ec2b Update git_firewall_repository to use an empty array and add OpenVPN repository configuration 2026-10-30 21:25:57 +01:00
chris a0c99ae1ba Fix recursion configuration check in named.conf.options.gateway.j2 2026-10-30 21:23:57 +01:00
chris a99b593b67 Add network configuration and DNS settings for various hosts
- Created a new configuration file for ga-al-gw-neu with detailed network interface settings and routing rules.
- Updated existing configurations for ga-al-gw, ga-gh-gw, ga-nh-gw, ga-st-gw-ersatz, ga-st-gw, and ga-st-mail to include additional DNS servers and correct domain controller IPs.
- Disabled systemd-resolved for ga-st-mail to prevent conflicts with DNS settings.
- Added user definitions and SSH key configurations for default users across multiple hosts.
2026-10-30 21:13:28 +01:00
chris 056038c780 update.. 2026-10-12 18:51:07 +02:00
chris 11eee62a3c add extrepo.yml: Workaround für einen ifupdown-Paketbug. 2026-08-28 17:21:44 +02:00
chris b50f65ed14 file-dissens-common.ym: add new user. remove old users. 2026-08-28 17:21:11 +02:00
chris e7a9c4b661 backup-common.yml: remove server-agr from daily backups. 2026-08-28 17:20:10 +02:00
chris b4a09a7b94 feat(ipt-firewall): add ipt-firewall configuration for mm-irights, mm-nd, and mm-rav hosts 2026-08-09 23:14:08 +02:00
chris 33e8368d76 Rnaem SSH keys. 2026-08-09 23:13:48 +02:00
chris 53e17715fd feat(mm-nd): add extra user configuration and sudoers for nd-admin 2026-08-09 23:09:35 +02:00
chris 845052a9db fix(o45): correct formatting in ipt-firewall configuration for a.mx.oopen.de 2026-08-09 00:37:29 +02:00
chris d94d28ca67 feat(mm-nd): update DNS settings and add cron jobs for service monitoring 2026-08-09 00:35:57 +02:00
chris fff295759c feat(o45): add ipt-firewall configuration for a.mx.oopen.de 2026-08-09 00:35:36 +02:00
chris ed45c5596c feat(o45): add configuration files and firewall settings for o45 host 2026-08-09 00:34:20 +02:00