summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2016-05-22 16:40:50 +0200
committerGuilhem Moulin <guilhem@fripost.org>2016-05-22 17:53:58 +0200
commitb331c2f99c1217c6f4208159c64ca6a5b0053bc7 (patch)
tree19d0cb75c9dbee89064d510b3bb617bf0356b30a
parent3fafa03aeb3640a86d9cd8c639d085df6a8d085d (diff)
Tunnel internal NTP traffic through IPSec.
More precisely, between our NTP-master (stratum 1) host and the other machines (all stratum 2). Providing authentification and integrity for internal NTP traffic ensures a consistent time within our internal infrastructure.
-rw-r--r--production1
-rw-r--r--roles/common/templates/etc/iptables/services.j25
-rw-r--r--roles/common/templates/etc/ntp.conf.j26
3 files changed, 3 insertions, 9 deletions
diff --git a/production b/production
index 066e469..c6cb7a0 100644
--- a/production
+++ b/production
@@ -20,7 +20,6 @@ benjamin.skangas.se
[LDAP-provider:children]
mistral
-# ntp.fripost.org
[NTP-master:children]
mistral
diff --git a/roles/common/templates/etc/iptables/services.j2 b/roles/common/templates/etc/iptables/services.j2
index 6bd2533..8450f00 100644
--- a/roles/common/templates/etc/iptables/services.j2
+++ b/roles/common/templates/etc/iptables/services.j2
@@ -16,12 +16,7 @@ out tcp 9418 # GIT
out udp 53 # DNS
out udp 67 # DHCP
out tcp 22 # SSH
-{% if 'NTP-master' in group_names %}
-in udp 123 # NTP
-out udp 123 # NTP
-{% else %}
out udp 123 123 # NTP
-{% endif %}
in tcp {{ ansible_port|default('22') }} # SSH
{% if 'LDAP-provider' in group_names %}
diff --git a/roles/common/templates/etc/ntp.conf.j2 b/roles/common/templates/etc/ntp.conf.j2
index d46ba18..5957276 100644
--- a/roles/common/templates/etc/ntp.conf.j2
+++ b/roles/common/templates/etc/ntp.conf.j2
@@ -24,9 +24,9 @@ server ntp2.sth.netnod.se iburst
{% else %}
# Sychronize to our (stratum 2) NTP server, to ensure our network has a
# consistent time.
-# TODO: use to pubkey authentication to unsure an attacker doesn't
-# impersonate our NTP server and gives us incorrect time.
-server ntp.fripost.org iburst
+{% for host in groups['NTP-master'] | sort %}
+server {{ ipsec[ hostvars[host].inventory_hostname_short ] }} prefer iburst
+{% endfor %}
server 0.se.pool.ntp.org iburst
server 1.se.pool.ntp.org iburst
{% endif %}