This commit is contained in:
@@ -11,6 +11,7 @@
|
|||||||
./modules/services.nix
|
./modules/services.nix
|
||||||
./modules/nginx.nix
|
./modules/nginx.nix
|
||||||
./modules/matrix.nix
|
./modules/matrix.nix
|
||||||
|
./modules/fail2ban.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
|
|||||||
72
modules/fail2ban.nix
Normal file
72
modules/fail2ban.nix
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
{ config, pkgs, lib, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.fail2ban = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
bantime = "1h";
|
||||||
|
bantime-increment = {
|
||||||
|
enable = true;
|
||||||
|
maxtime = "168h";
|
||||||
|
factor = "4";
|
||||||
|
};
|
||||||
|
|
||||||
|
maxretry = 5;
|
||||||
|
findtime = "10m";
|
||||||
|
|
||||||
|
ignoreIP = [
|
||||||
|
"127.0.0.0/8"
|
||||||
|
"::1"
|
||||||
|
"100.64.0.0/10"
|
||||||
|
];
|
||||||
|
|
||||||
|
jails = {
|
||||||
|
sshd = {
|
||||||
|
settings = {
|
||||||
|
enabled = true;
|
||||||
|
port = "22";
|
||||||
|
filter = "sshd[mode=aggressive]";
|
||||||
|
maxretry = 5;
|
||||||
|
findtime = "10m";
|
||||||
|
bantime = "1h";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nginx-botsearch = {
|
||||||
|
settings = {
|
||||||
|
enabled = true;
|
||||||
|
port = "http,https";
|
||||||
|
filter = "nginx-botsearch";
|
||||||
|
logpath = "/var/log/nginx/access.log";
|
||||||
|
maxretry = 5;
|
||||||
|
findtime = "10m";
|
||||||
|
bantime = "1h";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nginx-http-auth = {
|
||||||
|
settings = {
|
||||||
|
enabled = true;
|
||||||
|
port = "http,https";
|
||||||
|
filter = "nginx-http-auth";
|
||||||
|
logpath = "/var/log/nginx/error.log";
|
||||||
|
maxretry = 5;
|
||||||
|
findtime = "10m";
|
||||||
|
bantime = "1h";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nginx-bad-request = {
|
||||||
|
settings = {
|
||||||
|
enabled = true;
|
||||||
|
port = "http,https";
|
||||||
|
filter = "nginx-bad-request";
|
||||||
|
logpath = "/var/log/nginx/access.log";
|
||||||
|
maxretry = 15;
|
||||||
|
findtime = "10m";
|
||||||
|
bantime = "30m";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user