Commit graph

649 commits

Author SHA1 Message Date
Daniel Micay
c140d98366 clean up old files for dnsdist 2025-05-27 14:23:28 -04:00
Daniel Micay
44f6e6021a make session ticket management more generic 2025-05-27 14:23:23 -04:00
Daniel Micay
3e407eac80 certbot: add dnsdist support 2025-05-24 15:47:55 -04:00
Daniel Micay
ee7270f7c4 disable timeout for systemd-boot by default
It's possible to access the menu without a timeout anyway and it also
tends to not be useful for any real world recovery situation anyway.
2025-05-21 21:48:54 -04:00
Daniel Micay
7cb75131dc drop executable bit for regular files in FAT32 ESP 2025-05-21 20:00:08 -04:00
Daniel Micay
5c41418606 nftables: add support for dnsdist control socket 2025-05-16 13:19:38 -04:00
Daniel Micay
e75172d57c replace nginx with dnsdist for DNS-over-TLS 2025-05-13 21:42:53 -04:00
Daniel Micay
27fe524af6 update python dependencies 2025-05-13 10:44:01 -04:00
Daniel Micay
32f5653e80 gitignore: add /authorized_keys-replica-ns1 2025-05-13 00:18:20 -04:00
Daniel Micay
a3ca986940 merge mail.grapheneos.org certbot command files 2025-05-08 22:30:33 -04:00
Daniel Micay
c9d7aa52a6 remove duplicate domain 2025-05-08 22:26:56 -04:00
Daniel Micay
e9cbaebe22 split supl.grapheneos.org certificate for non-SNI 2025-05-08 22:26:56 -04:00
Daniel Micay
f9f3cdab05 add 1.ns1.grapheneos.org server 2025-05-08 22:26:56 -04:00
Daniel Micay
7095105832 add 3.ns1.grapheneos.org server 2025-05-08 22:26:56 -04:00
Daniel Micay
30128d2654 update releases.grapheneos.org authorized_keys configuration 2025-05-08 22:26:56 -04:00
Daniel Micay
e29998ff7d deploy-initial: use server-specific authorized_keys 2025-05-08 22:26:56 -04:00
Daniel Micay
90a7780b5e migrate to new tlsserver Let's Encrypt profile
We can no longer use OCSP stapling and Must-Staple. These will soon be
obsolete once the `shortlived` profile is available for public use since
it will provide certificates with a similar lifetime as OCSP responses.

In the meantime, we've moved to the `tlsserver` profile stripping legacy
features to prepare for the `shortlived` profile which will be identical
to `tlsserver` but with a validity period of 6 days.

The certificate for SUPL is still temporarily using the classic profile
to work around the older generations of end-of-life Snapdragon Pixels
not having support for SNI. We can eventually drop support for these
devices from the SUPL service to allow us to disable TLSv1.1, DHE and
move to the `tlsserver` or `shortlived` profile.

The certificate for SMTP is still temporarily using the classic profile
to avoid potential compatibility issues with servers supporting TLSv1.2
but still not yet supporting SNI.
2025-05-08 22:26:43 -04:00
Daniel Micay
a6d1e00d07 drop SSH connections to new anycast IPs 2025-05-05 17:29:56 -04:00
Daniel Micay
029882f051 set up certificate replication for ns1 replicas 2025-05-05 17:29:54 -04:00
Daniel Micay
4a9deb48ab add bird and zerotier-one packages to ns1 servers 2025-05-04 16:01:06 -04:00
Daniel Micay
c64bddb5c6 update Arch ISO for VPS deployment to 2025.05.01 2025-05-04 16:01:06 -04:00
Daniel Micay
c7cb5d025e add 2.ns1.grapheneos.org server 2025-05-04 16:01:04 -04:00
Daniel Micay
2784008a65 nftables: add support for rage4 anycast for ns1 2025-05-03 18:13:20 -04:00
Daniel Micay
566f1a10d2 rename ns1.grapheneos.org to 0.ns1.grapheneos.org 2025-05-03 18:13:18 -04:00
Daniel Micay
c41f579a51 raise journal file size for 2.grapheneos.org 2025-05-03 09:21:37 -04:00
Daniel Micay
476d7f4794 raise journal file size for 1.grapheneos.network 2025-05-03 09:21:34 -04:00
Daniel Micay
7cd1fcb8a3 temporarily rename releases certbot configuration 2025-04-30 23:30:49 -04:00
Daniel Micay
7861ef2c30 remove legacy OVH update servers 2025-04-30 23:27:40 -04:00
Daniel Micay
39b5148808 switch back to CUBIC from BBRv1 and keep ECN off
BBRv1 significantly improves throughput in some cases but it also
significantly reduces it in others. We've run into too many network
conditions it handles quite poorly. There's also a bad interaction
between BBR and synproxy where it will cripple the initial throughput
for connections established via synproxy. This means a basic SYN flood
attack could cripple initial TCP throughput for most connections.

Android doesn't enable ECN for outbound connections yet and we don't
want to deviate from that so it mainly only gets activated for macOS
and iOS clients. Linux kernel approach to ECN hasn't been modernized and
there are fierce debates about how it should work. It can cause issues
and it seems best to avoid it until Android enables it.
2025-04-25 13:34:33 -04:00
Daniel Micay
9556ca4b79 use 4.releases.grapheneos.org as primary instance 2025-04-25 00:47:28 -04:00
Daniel Micay
9290c1fd90 add new ReliableSite update servers 2025-04-24 01:15:39 -04:00
Daniel Micay
e38b248b47 raise RAID resync limit for bare metal servers 2025-04-23 21:10:49 -04:00
Daniel Micay
0bbb137959 add new nginx-mod-stream package where required 2025-04-23 21:07:05 -04:00
Daniel Micay
687fd3ddc5 drop unused DHCP configuration for 4.releases.grapheneos.org 2025-04-23 21:07:05 -04:00
Daniel Micay
250d813c56 add IPv4 gateway route for 4.releases.grapheneos.org 2025-04-23 21:07:05 -04:00
Daniel Micay
b20cf862a3 update python dependencies 2025-04-17 10:32:41 -04:00
Daniel Micay
1f4d7316b8 reorganize configurations into etc directory 2025-04-15 12:53:49 -04:00
Daniel Micay
b5fd158374 add cpupower configuration for bare metal 2025-04-15 12:30:33 -04:00
Daniel Micay
0b6e5e017e sshd: use mlkem768x25519-sha256 for key exchange
The default was switched from sntrup761x25519-sha512@openssh.com to
mlkem768x25519-sha256 in OpenSSH 10.0. It's much faster and also matches
the new default TLS key exchange algorithm for OpenSSL 3.5.0.
2025-04-12 11:37:03 -04:00
Daniel Micay
397eac82b6 update sshd_config 2025-04-12 11:06:03 -04:00
Daniel Micay
d7564c99c4 add systemd-boot configuration 2025-04-11 13:44:37 -04:00
Daniel Micay
8db0d61485 add authorized_keys configuration 2025-04-10 15:14:25 -04:00
Daniel Micay
e6311abe40 drop legacy OVH EU update servers 2025-04-10 11:07:31 -04:00
Daniel Micay
fff5e43b89 work around systemd-boot disliking ESP on RAID 1
Using RAID 1 for ESP is the normal approach used by typical automatic
installs on dedicated servers. It's discouraged by systemd since they
don't know if out-of-band writes could happen such as a Windows install
seeing it and mounting it. That's not a problem for us and we want to do
things the normal way instead of a more error prone approach of syncing
changes without RAID 1.
2025-04-05 11:10:52 -04:00
Daniel Micay
9254dead0d deploy-initial: handle fstab split 2025-04-05 09:57:18 -04:00
Daniel Micay
38db9327be switch to BBR for congestion control 2025-04-03 17:08:49 -04:00
Daniel Micay
fd31471ae3 enable CAKE for the new update server
This wasn't initially enabled because we were concerned about a
potential bottleneck due to CAKE being single threaded. We expect the
Ryzen 9950X will be more than powerful enough for CAKE at 25Gbps and it
does appear to help substantially compared to fq_codel with maintaining
high throughput across problematic connections especially when combined
with BBR which we'll likely switch to for congestion control across the
servers, especially with BBRv3 on the horizon.
2025-04-03 17:08:49 -04:00
Daniel Micay
46395cc4e5 raise journald limits for new update server 2025-04-03 17:08:49 -04:00
Daniel Micay
b7aab6e0da rename new update server 2025-04-03 17:08:45 -04:00
Daniel Micay
f32458e296 phase out old update server names 2025-04-03 15:36:37 -04:00