chiark / gitweb /
Mark Wooding [Fri, 10 May 2024 14:10:02 +0000 (15:10 +0100)]
eggle.m4, local.m4, local.mk: Add new VPS `eggle'.
Mark Wooding [Fri, 10 May 2024 14:09:33 +0000 (15:09 +0100)]
local.m4: Countenance non-Linode VPSes.
Mark Wooding [Fri, 10 May 2024 14:08:07 +0000 (15:08 +0100)]
national.m4: Use public NTP servers.
Mark Wooding [Fri, 10 May 2024 14:06:24 +0000 (15:06 +0100)]
bookends.m4: Bake in knowledge about the `iptables' chains.
Later kernels don't actually populate `/proc/net/ip{,6}_tables_names'
with anything.
Mark Wooding [Thu, 9 May 2024 11:12:24 +0000 (12:12 +0100)]
fender.m4: Remove ethernet-level filtering.
Not needed any more: fender isn't on a boundary.
Mark Wooding [Sun, 28 Apr 2024 18:47:08 +0000 (19:47 +0100)]
local.m4, fender.m4, radius.m4: Fixing for `fender' coming home.
Mark Wooding [Sun, 28 Apr 2024 13:00:01 +0000 (14:00 +0100)]
prologue.m4: Fix exit statuses.
Exit 1 if installation failed but restoration of the previous state
succeeded; exit 2 if things are now buggered.
Mark Wooding [Fri, 22 Dec 2023 12:44:12 +0000 (12:44 +0000)]
classify.m4: Explicitly class 255.255.255.255 as broadcast.
Mark Wooding [Tue, 19 Dec 2023 16:03:18 +0000 (16:03 +0000)]
local.m4: Add a correct VPN entry for `groove'.
Mark Wooding [Tue, 19 Dec 2023 14:49:23 +0000 (14:49 +0000)]
local.m4: Delete incorrect host entry for `groove'.
That address actually belongs to `radius'. I have nothing.
Mark Wooding [Thu, 14 Sep 2023 18:56:02 +0000 (19:56 +0100)]
roadstar.m4: Allow public access to the TLS web-cache port.
Mark Wooding [Thu, 16 Mar 2023 18:09:32 +0000 (18:09 +0000)]
local.m4: Fix the IPv4 version of the `inbound-untrusted' chain.
This chain was introduced in
94ce6e764e92676c1a7dea68820bcf198ea4c466,
but, for some reason, the IPv6 version was established correctly but the
IPv4 version was hooked onto its parent `inbound' chain /after/ the
properly-final `forbidden' jump.
Fix this foolish bogosity.
Mark Wooding [Sat, 25 Feb 2023 13:26:39 +0000 (13:26 +0000)]
local.mk, roadstar.m4: Move lpr service to roadstar; decommission vampire.
Mark Wooding [Mon, 30 May 2022 21:23:13 +0000 (22:23 +0100)]
*.m4: Actually allow NFS to untrusted hosts.
Some NFS servers are configured to allow mounts from untrusted hosts,
but the firewall won't let them. Fix this.
Mark Wooding [Mon, 30 May 2022 21:15:24 +0000 (22:15 +0100)]
local.m4, etc.: Establish `inbound-untrusted' chain and deploy.
Quite a lot of the per-host files involve allowing local untrusted
access to various services. This was being done with explicit network
address ranges, which led to repetition of the rules for IPv4 and IPv6,
or only permitting access through IPv4.
Instead, introduce a new chain (actually promoted from `vampire.m4') for
these local untrusted clients and replace the explicit address ranges.
Mark Wooding [Mon, 30 May 2022 14:36:49 +0000 (15:36 +0100)]
fender.m4, ibanez.m4, vampire.m4: Invoke `footables' via `run'.
Mark Wooding [Mon, 9 May 2022 22:24:19 +0000 (23:24 +0100)]
Merge branch 'master' of git.distorted.org.uk:~mdw/publish/public-git/firewall
* 'master' of git.distorted.org.uk:~mdw/publish/public-git/firewall:
jazz.m4, numbers.m4: Allow Privoxy access to SGO VPN.
local.m4: Update external NTP servers.
Mark Wooding [Mon, 9 May 2022 10:43:45 +0000 (11:43 +0100)]
numbers.m4, artist.m4: Add a second DisOrder port for RTP multicast.
Mark Wooding [Mon, 9 May 2022 10:42:11 +0000 (11:42 +0100)]
local.m4: Add `mdwdev.upn'.
Mark Wooding [Mon, 1 Nov 2021 20:29:38 +0000 (20:29 +0000)]
jazz.m4, numbers.m4: Allow Privoxy access to SGO VPN.
Mark Wooding [Wed, 3 Feb 2021 00:01:18 +0000 (00:01 +0000)]
local.m4: Update external NTP servers.
Mark Wooding [Wed, 8 Apr 2020 11:53:11 +0000 (12:53 +0100)]
local.m4: Add entry for new laptop `spirit'.
Mark Wooding [Wed, 26 Dec 2018 16:16:49 +0000 (16:16 +0000)]
local.m4, precision.m4: Introduce `vpnnat' network class for nefarious hacks.
This allows hosts to route to the outside world via a remote VPN
endpoint, in order to work around local network problems or geographical
restrictions.
Mark Wooding [Wed, 26 Dec 2018 12:41:11 +0000 (12:41 +0000)]
local.mk: Reinstate mango.
Mark Wooding [Mon, 2 Oct 2017 01:01:35 +0000 (02:01 +0100)]
local.m4: Filter out source routing in the firewall.
Don't rely on `sysctl' options. This means that everyone must now have
`xtables-addons' installed.
Mark Wooding [Mon, 2 Oct 2017 01:01:14 +0000 (02:01 +0100)]
local.m4: Don't expect `forbidden' to return.
Mark Wooding [Sun, 1 Oct 2017 14:39:18 +0000 (15:39 +0100)]
local.m4: Add the `hippotat' network.
This is for Ian Jackson's `Asinine IP Over HTTP' utility.
Mark Wooding [Sun, 1 Oct 2017 14:38:42 +0000 (15:38 +0100)]
classify.m4: Note the older site-local IPv6 range.
Mark Wooding [Sun, 1 Oct 2017 14:38:22 +0000 (15:38 +0100)]
classify.m4: Fix typo in commentary.
Mark Wooding [Fri, 22 Sep 2017 19:13:51 +0000 (20:13 +0100)]
telecaster.m4: Open the old (implicit-TLS) `ftps' port.
Also add a `numbers.m4' entry.
Mark Wooding [Fri, 22 Sep 2017 19:12:54 +0000 (20:12 +0100)]
roadstar.m4, telecaster.m4: No need to open the `ftp_data' port.
Mark Wooding [Sun, 2 Jul 2017 16:41:32 +0000 (17:41 +0100)]
base.m4: Improve LSB header to delay firewall shutdown.
Running this before bind and NFS-unmount should make shutting down
faster.
Mark Wooding [Sat, 22 Oct 2016 18:03:15 +0000 (19:03 +0100)]
local.m4: gibson uses untagged packets for the unsafe network now.
Mark Wooding [Fri, 1 Jul 2016 21:08:43 +0000 (22:08 +0100)]
local.m4: Designate `vpn' as `trusted' rather than `safe'.
It turns out to be too annoying that VPN hosts can't talk to untrusted
things.
Mark Wooding [Fri, 1 Jul 2016 20:40:09 +0000 (21:40 +0100)]
national.m4: Configure as an authoritative DNS server.
The DNSSEC means that I don't have to trust the DNS servers, and
national is geographically separated and in an entirely different AS.
Mark Wooding [Fri, 1 Jul 2016 20:32:07 +0000 (21:32 +0100)]
Finish the switchover to Andrews & Arnold.
* Remove the old HE netblock. I've switched the house over to using
the A&A IPv6 netblock throughout because multihoming just isn't
going to work well.
* Remove the `aaisp' network name now that I've decided we're not
doing parallel running.
* Allocate a little gateway network for the PPP-terminating router.
It turns out that if I don't do this then it uses a completely bogus
default source address for the PPP interface.
* Incidentally, fix the NTP-server netblocks to include the Jump range
as well as the house range.
Mark Wooding [Fri, 1 Jul 2016 20:29:43 +0000 (21:29 +0100)]
fender.m4: Fix silly typo in comment.
Mark Wooding [Mon, 27 Jun 2016 09:54:17 +0000 (10:54 +0100)]
local.m4: Prepare for switchover to A&A.
Mark Wooding [Mon, 27 Jun 2016 09:54:01 +0000 (10:54 +0100)]
local.m4: Fix whitespace oddity.
Mark Wooding [Wed, 15 Jun 2016 00:18:52 +0000 (01:18 +0100)]
fender.m4: Provide NTP service to untrusted clients.
e.g., national, which has been languishing...
Mark Wooding [Sun, 7 Feb 2016 22:10:18 +0000 (22:10 +0000)]
New host universe.
Mark Wooding [Thu, 1 Oct 2015 07:15:06 +0000 (08:15 +0100)]
local.m4, local.mk, national.m4: New virtual host `national'.
Hosted by Linode in Dallas, TX.
Mark Wooding [Thu, 1 Oct 2015 07:14:21 +0000 (08:14 +0100)]
local.m4: New address range for untrusted VPN hosts.
Mark Wooding [Mon, 11 May 2015 14:17:32 +0000 (15:17 +0100)]
functions.m4 (ntpclient): Handle NTP servers with IPv6 addresses.
Mark Wooding [Mon, 11 May 2015 02:28:16 +0000 (03:28 +0100)]
local.m4: Allow IPv6 ping separately.
This seems to have broken recently.
Mark Wooding [Wed, 1 Apr 2015 18:50:20 +0000 (19:50 +0100)]
telecaster.m4: External SMTP service for mailing lists.
Mark Wooding [Wed, 1 Apr 2015 18:39:50 +0000 (19:39 +0100)]
local.mk: Remove orange and mango.
They're not currently active.
Mark Wooding [Wed, 1 Apr 2015 18:38:19 +0000 (19:38 +0100)]
jem.m4, vampire.m4: Cull some external services.
jem never provided externally facing email. vampire used to, but
doesn't any more. It also doesn't provide a slew of other random
services. Block them all.
Mark Wooding [Wed, 1 Apr 2015 18:37:56 +0000 (19:37 +0100)]
local.m4: gibson now uses explicit VLAN tagging.
Mark Wooding [Thu, 26 Mar 2015 21:57:00 +0000 (21:57 +0000)]
functions.m4: Only call `allow-non-init-frag' on fragments.
Otherwise we let in all non-fragmented packets. Oops.
Mark Wooding [Thu, 26 Mar 2015 16:45:05 +0000 (16:45 +0000)]
jaguar.m4, local.m4: Remove jaguar completely.
Its firewall configuration is now in /usr/local/src/firewall on jaguar
itself.
Mark Wooding [Thu, 19 Mar 2015 12:43:07 +0000 (12:43 +0000)]
jem.m4: External rsync service.
Mark Wooding [Thu, 19 Mar 2015 12:41:05 +0000 (12:41 +0000)]
radius.m4: Stop MSS clamping on egress now the external MTU is 1500.
And there was great rejoicing!
Mark Wooding [Sat, 28 Feb 2015 12:43:49 +0000 (12:43 +0000)]
local.m4: Reinstate detailed filtering from scary networks.
This got lost when I split scary out of untrusted. Oops.
Mark Wooding [Tue, 24 Feb 2015 22:16:32 +0000 (22:16 +0000)]
local.m4: Inbound restriction on untrusted is no longer experimental.
Mark Wooding [Mon, 16 Feb 2015 09:55:23 +0000 (09:55 +0000)]
local.m4: Protect the `untrusted' network from incoming requests.
Currently the untrusted network is vulnerable to incoming hostile IPv6
requests, and only protected from IPv4 by NAT.
I don't think it's especially useful to allow untrusted hosts to
provide externally facing services, so rather than deploy a new
network, I'm just going to change the policy for the existing one, and
forbid new connections and UDP traffic to untrusted hosts. This
involves splitting out a separate network class for the external
Internet, which is now `scary'.
Mark Wooding [Mon, 16 Feb 2015 09:54:54 +0000 (09:54 +0000)]
classify.m4: Fix some typos in the commentary.
Mark Wooding [Mon, 9 Feb 2015 14:19:03 +0000 (14:19 +0000)]
jazz.m4, numbers.m4: Expose the OpenPGP key server.
Mark Wooding [Sat, 7 Feb 2015 19:47:55 +0000 (19:47 +0000)]
local.m4: Proper configuration for groove.
Mark Wooding [Sat, 7 Feb 2015 14:28:49 +0000 (14:28 +0000)]
groove.m4: New host.
Mark Wooding [Sat, 7 Feb 2015 14:28:15 +0000 (14:28 +0000)]
artist.m4: Further Rygel hacking.
Mark Wooding [Fri, 5 Sep 2014 15:34:54 +0000 (16:34 +0100)]
artist.m4: Punch a hole for Rygel service to local (-ish) devices.
Mark Wooding [Tue, 15 Jul 2014 09:50:17 +0000 (10:50 +0100)]
local.m4: Boundary network addresses can legitimately transit the VPN.
This is IPv6-specific. Suppose an internal host on one end of a VPN
connection sends a packet to a host on the boundary network at the
other end. This packet will go via the public Internet -- fine. But
the other end will reply, and route the packet through the VPN because
it's an internal address. So we should allow it or we break
connectivity.
The right answer is probably to arrange for the routing to be
symmetrical, either by forcing the original packet to go through the
VPN or the reply to go around it, but both of these would seem to
involve messing with policy routing in a complicated way. The current
situation seems weird but not especially harmful.
Mark Wooding [Tue, 15 Jul 2014 09:48:09 +0000 (10:48 +0100)]
stratocaster.m4: Permit incoming finger.
Mark Wooding [Sun, 29 Jun 2014 18:47:22 +0000 (19:47 +0100)]
local.m4: Load connection tracking modules as standard.
This will make FTP work properly, at least.
Mark Wooding [Sun, 27 Apr 2014 17:12:07 +0000 (18:12 +0100)]
classify.m4: Forbid the v4-mapped and v4-compatible ranges.
These shouldn't be appearing as source addresses.
Mark Wooding [Mon, 21 Apr 2014 21:21:48 +0000 (22:21 +0100)]
local.m4: Move VPN hosts to ...:1.
Linux thinks that host addresses which coincide with network base
addresses are `anycast', and that this means that it shouldn't send
ICMP errors to them. This is obviously ridiculous. so move hosts to
address ...:1 to prevent this stupidity.
Mark Wooding [Sun, 20 Apr 2014 11:57:52 +0000 (12:57 +0100)]
telecaster.m4: Allow external DNS service.
Mark Wooding [Sat, 19 Apr 2014 11:41:45 +0000 (12:41 +0100)]
local.m4: Replacing IPv6 host routes with /112 networks.
Linux has a bug: it doesn't make route cache entries for remote hosts
if there's already a host route, and it only attaches path-MTU
information to cache entries. The result is that it doesn't handle
ICMPv6 `packet too big' messages properly for destinations with host
routes.
I'm bodging this by replacing all of the host routes with tiny /112
networks. It's awful, but it seems to work. The convention is that
the `host part' of the net is always zero.
Mark Wooding [Fri, 18 Apr 2014 13:10:18 +0000 (14:10 +0100)]
local.m4: Mention that the IPv6 VPN net is logically `safe'.
Mark Wooding [Fri, 18 Apr 2014 13:07:53 +0000 (14:07 +0100)]
icmp.m4: Actually track the correct ICMPv6 protocol.
Silly program thinks that `icmp' on IPv6 doesn't mean the same as
`icmpv6'.
Mark Wooding [Sat, 8 Mar 2014 14:58:29 +0000 (14:58 +0000)]
Makefile: Explicit stdin from terminal, so `make -j' builds work.
Arrange that stdin is /dev/tty for local installs so that they can be
confirmed manually.
Mark Wooding [Sat, 8 Mar 2014 14:54:39 +0000 (14:54 +0000)]
fender.m4: BCP38 source-address filtering, at ebtables level.
I found an annoying bug here, reported to Debian as #741101.
Mark Wooding [Sat, 8 Mar 2014 14:54:07 +0000 (14:54 +0000)]
fender.m4: Reformat the ebtables hacking a bit.
Mark Wooding [Sat, 8 Mar 2014 14:51:24 +0000 (14:51 +0000)]
functions.m4, radius.m4: BCP38 filtering for outbound traffic.
Mark Wooding [Fri, 7 Mar 2014 00:27:13 +0000 (00:27 +0000)]
base.m4: Run firewall after local filesystems are mounted.
Annoyingly, ipset(8) is in /usr, and this breaks the firewall at boot
if it's run too early.
Mark Wooding [Wed, 12 Feb 2014 15:27:38 +0000 (15:27 +0000)]
numbers.m4, stratocaster.m4: Public-facing IMAP server.
It supports (and insists on, indeed) using `STARTTLS', so this is
sensible.
Mark Wooding [Tue, 7 Jan 2014 17:08:55 +0000 (17:08 +0000)]
numbers.m4, telecaster.m4: TLS-enabled web cache.
Mark Wooding [Tue, 10 Sep 2013 12:40:00 +0000 (13:40 +0100)]
local.mk: jaguar's firewall is maintained locally now.
Mark Wooding [Wed, 4 Sep 2013 10:00:56 +0000 (11:00 +0100)]
fender.m4: Trap bad source IP addresses at the ethernet bridge layer.
Since we don't have control of the Jump router, and it doesn't seem to
trap spoofed packets, we must do that ourselves.
Mark Wooding [Mon, 2 Sep 2013 16:45:57 +0000 (17:45 +0100)]
jazz.m4: Allow iodine hosts NATed internet access.
Mark Wooding [Mon, 2 Sep 2013 16:45:13 +0000 (17:45 +0100)]
jaguar.m4, local.m4, local.mk: New host.
Mark Wooding [Mon, 6 May 2013 11:34:16 +0000 (12:34 +0100)]
telecaster.m4: Rate-limit incoming ICP.
Mark Wooding [Mon, 6 May 2013 11:33:07 +0000 (12:33 +0100)]
functions.m4: Partially cope with ipset(8) command-line overhaul.
They've completely changed the syntax. The old one seems still
available for now, but we should switch over completely now that
wheezy is released.
Mark Wooding [Fri, 19 Apr 2013 14:18:16 +0000 (15:18 +0100)]
numbers.m4, telecaster.m4: Expose the Squid ICP port.
Mark Wooding [Fri, 19 Apr 2013 14:17:29 +0000 (15:17 +0100)]
mango.m4: Reverse NAT into the main network.
Allow access to internal web proxy and so on.
Mark Wooding [Fri, 19 Apr 2013 14:15:52 +0000 (15:15 +0100)]
classify.m4: Document the source of blacklisted address blocks.
Mark Wooding [Tue, 26 Mar 2013 15:50:59 +0000 (15:50 +0000)]
jazz.m4: No, jazz is not a nameserver.
At all. Why...?
Mark Wooding [Tue, 26 Mar 2013 15:41:30 +0000 (15:41 +0000)]
mango.m4: Tighten up the SNAT rules.
Mark Wooding [Sat, 16 Mar 2013 19:32:30 +0000 (19:32 +0000)]
config.m4: Extend the upper limit on open ports.
This will make using mosh(1) much more pleasant. I'm sure that the
limit used to be around 65K, but I don't remember why I reduced it.
Mark Wooding [Sun, 10 Feb 2013 12:59:23 +0000 (12:59 +0000)]
New host `mango'.
Mark Wooding [Sat, 9 Feb 2013 15:59:12 +0000 (15:59 +0000)]
classify.m4: Hook the INPUT and FORWARD chains, not PREROUTING.
The latter are done after NAT has resolved the source and destination
addresses, so we can actually do the job right.
Mark Wooding [Sat, 9 Feb 2013 13:32:23 +0000 (13:32 +0000)]
ibanez.m4: Open an explicit hole for `udpkey'.
Mark Wooding [Sat, 9 Feb 2013 13:32:02 +0000 (13:32 +0000)]
local.m4: Yet more explicit networks for asymmetric routing.
Mark Wooding [Sat, 26 Jan 2013 14:39:45 +0000 (14:39 +0000)]
local.m4: New satellite network `binswood'.
Mark Wooding [Sat, 26 Jan 2013 14:38:33 +0000 (14:38 +0000)]
local.m4: Make the net-class policies easier to read.
Mark Wooding [Sat, 26 Jan 2013 14:34:19 +0000 (14:34 +0000)]
local.m4: Nothing should forward via `iodine'.
Mark Wooding [Sat, 26 Jan 2013 14:32:20 +0000 (14:32 +0000)]
functions.m4, local.m4: Rename `forwards' to `via'.
In fact, it lists the networks to which this one might forward packets,
rather than the networks whose packets this one forwards. Hopefully the
name change will reduce confusion.
Mark Wooding [Sun, 13 Jan 2013 20:48:53 +0000 (20:48 +0000)]
New host `orange'.
Mark Wooding [Sun, 13 Jan 2013 19:15:18 +0000 (19:15 +0000)]
ibanez.m4, vampire.m4: Provide NTP service to untrusted hosts.