This commit is contained in:
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