36 lines
1,011 B
Nix
36 lines
1,011 B
Nix
{...}: {
|
|
services.openssh = {
|
|
enable = true;
|
|
settings = {
|
|
AllowUsers = ["root@65.21.241.194" "root@172.16.0.2" "crony@65.21.241.194" "crony@172.16.0.2"];
|
|
X11Forwarding = false;
|
|
PasswordAuthentication = false;
|
|
};
|
|
extraConfig = ''
|
|
PubkeyAuthentication yes
|
|
PermitEmptyPasswords no
|
|
|
|
AddressFamily inet
|
|
MaxAuthTries 3
|
|
'';
|
|
};
|
|
|
|
users.users.root.openssh.authorizedKeys.keys = [
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBJLduAXHWJiglmfRfkBGKffzVWkJP6porxIzw6+Zz3W crony@cronyakatsuki.xyz"
|
|
];
|
|
|
|
services.fail2ban = {
|
|
enable = true;
|
|
maxretry = 5;
|
|
ignoreIP = [
|
|
"65.21.241.194"
|
|
];
|
|
bantime = "24h"; # Ban IPs for one day on the first ban
|
|
bantime-increment = {
|
|
enable = true; # Enable increment of bantime after each violation
|
|
multipliers = "1 2 4 8 16 32 64";
|
|
maxtime = "168h"; # Do not ban for more than 1 week
|
|
overalljails = true; # Calculate the bantime based on all the violations
|
|
};
|
|
};
|
|
}
|