summaryrefslogtreecommitdiff
path: root/modules/core
diff options
context:
space:
mode:
Diffstat (limited to 'modules/core')
-rw-r--r--modules/core/networking/default.nix5
-rw-r--r--modules/core/networking/firewall/default.nix10
-rw-r--r--modules/core/networking/firewall/fail2ban.nix18
3 files changed, 32 insertions, 1 deletions
diff --git a/modules/core/networking/default.nix b/modules/core/networking/default.nix
index 5e53759..608be0b 100644
--- a/modules/core/networking/default.nix
+++ b/modules/core/networking/default.nix
@@ -1,6 +1,9 @@
{ secrets, ... }:
{
- imports = [ ./tailscale.nix ];
+ imports = [
+ ./firewall
+ ./tailscale.nix
+ ];
networking = {
nftables.enable = true;
diff --git a/modules/core/networking/firewall/default.nix b/modules/core/networking/firewall/default.nix
new file mode 100644
index 0000000..2da2502
--- /dev/null
+++ b/modules/core/networking/firewall/default.nix
@@ -0,0 +1,10 @@
+{
+ imports = [ ./fail2ban.nix ];
+
+ networking.firewall = {
+ allowPing = false;
+ logReversePathDrops = true;
+ logRefusedConnections = false;
+ checkReversePath = "loose";
+ };
+}
diff --git a/modules/core/networking/firewall/fail2ban.nix b/modules/core/networking/firewall/fail2ban.nix
new file mode 100644
index 0000000..606b725
--- /dev/null
+++ b/modules/core/networking/firewall/fail2ban.nix
@@ -0,0 +1,18 @@
+{ pkgs, ... }:
+{
+ services.fail2ban = {
+ enable = false;
+
+ extraPackages = with pkgs; [
+ nftables
+ ipset
+ ];
+
+ ignoreIP = [
+ "10.0.0.0/8"
+ "172.16.0.0/12"
+ "100.64.0.0/16"
+ "192.168.0.0/16"
+ ];
+ };
+}