Compare commits
2 Commits
29b14ef74e
...
d34dee84bd
Author | SHA1 | Date | |
---|---|---|---|
d34dee84bd | |||
477bf5bf90 |
11
flake.nix
11
flake.nix
@ -25,11 +25,12 @@
|
|||||||
inherit system;
|
inherit system;
|
||||||
modules = [
|
modules = [
|
||||||
./configuration.nix
|
./configuration.nix
|
||||||
./matrix.nix
|
./modules/matrix.nix
|
||||||
./puffer.nix
|
./modules/puffer.nix
|
||||||
./gitea.nix
|
./modules/gitea.nix
|
||||||
./letsencrypt.nix
|
./modules/letsencrypt.nix
|
||||||
./email.nix
|
./modules/fail2ban.nix
|
||||||
|
./modules/email.nix
|
||||||
agenix.nixosModules.default
|
agenix.nixosModules.default
|
||||||
nixos-mailserver.nixosModules.default
|
nixos-mailserver.nixosModules.default
|
||||||
nixos-matrix-modules.nixosModules.default
|
nixos-matrix-modules.nixosModules.default
|
||||||
|
19
modules/fail2ban.nix
Normal file
19
modules/fail2ban.nix
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{ ... }: {
|
||||||
|
services.fail2ban = {
|
||||||
|
enable = true;
|
||||||
|
maxretry = 5;
|
||||||
|
ignoreIP = [
|
||||||
|
# Whitelist some subnets
|
||||||
|
"10.0.0.0/8" "172.16.0.0/12" "192.168.0.0/16"
|
||||||
|
"matrix.org"
|
||||||
|
"app.element.io" # don't ratelimit matrix users
|
||||||
|
];
|
||||||
|
bantime = "1h"; # Ban IPs for 1h at first.
|
||||||
|
bantime-increment = {
|
||||||
|
enable = true; # Enable increment of bantime after each violation
|
||||||
|
multipliers = "1 2 4 8 16 32 64 128 256";
|
||||||
|
maxtime = "168h"; # Do not ban for more than 1 week
|
||||||
|
overalljails = true; # Calculate the bantime based on all the violations
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@ -86,12 +86,12 @@ host replication all ::1/128 md5
|
|||||||
services.redis.servers."".enable = true;
|
services.redis.servers."".enable = true;
|
||||||
|
|
||||||
age.secrets.synapse_db_pass = {
|
age.secrets.synapse_db_pass = {
|
||||||
file = ./secrets/synapse_db_pass.age;
|
file = ../secrets/synapse_db_pass.age;
|
||||||
owner = "postgres";
|
owner = "postgres";
|
||||||
group = "postgres";
|
group = "postgres";
|
||||||
};
|
};
|
||||||
age.secrets.synapse_db_pass_prepared = {
|
age.secrets.synapse_db_pass_prepared = {
|
||||||
file = ./secrets/synapse_db_pass_prepared.age;
|
file = ../secrets/synapse_db_pass_prepared.age;
|
||||||
owner = "matrix-synapse";
|
owner = "matrix-synapse";
|
||||||
group = "matrix-synapse";
|
group = "matrix-synapse";
|
||||||
mode = "0600";
|
mode = "0600";
|
Loading…
Reference in New Issue
Block a user