Compare commits
2 Commits
b2ef22eff1
...
2d7fe550ff
Author | SHA1 | Date | |
---|---|---|---|
2d7fe550ff | |||
be9e1666a8 |
@@ -40,6 +40,7 @@
|
|||||||
./home/vim.nix # Vim config
|
./home/vim.nix # Vim config
|
||||||
./home/hyprsunset.nix # Hyprsunset night mode
|
./home/hyprsunset.nix # Hyprsunset night mode
|
||||||
./home/btop.nix # Btop config
|
./home/btop.nix # Btop config
|
||||||
|
./home/ssh.nix # SSH config
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -80,13 +81,6 @@
|
|||||||
firewall.enable = true;
|
firewall.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# ================================
|
|
||||||
# SECURITY HARDENING
|
|
||||||
# ================================
|
|
||||||
# Disable core dumps to prevent potential security exploits
|
|
||||||
# and improve system performance during crashes
|
|
||||||
systemd.coredump.enable = false;
|
|
||||||
|
|
||||||
# ================================
|
# ================================
|
||||||
# LOCALIZATION
|
# LOCALIZATION
|
||||||
# ================================
|
# ================================
|
||||||
@@ -141,7 +135,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# ================================
|
# ================================
|
||||||
# SECURITY & PERMISSIONS
|
# PERMISSIONS
|
||||||
# ================================
|
# ================================
|
||||||
# Enable real-time scheduling for audio applications (low-latency audio)
|
# Enable real-time scheduling for audio applications (low-latency audio)
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
@@ -198,8 +192,27 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# ================================
|
# ================================
|
||||||
# SANDBOXED APPLICATIONS
|
# SECURITY HARDENING
|
||||||
# ================================
|
# ================================
|
||||||
|
# Enable fail2ban for brute force protection
|
||||||
|
services.fail2ban = {
|
||||||
|
enable = true;
|
||||||
|
# Ban IP after 3 failures
|
||||||
|
maxretry = 3;
|
||||||
|
bantime = "1h"; # Ban IPs for one hour 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
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Disable core dumps to prevent potential security exploits
|
||||||
|
# and improve system performance during crashes
|
||||||
|
systemd.coredump.enable = false;
|
||||||
|
|
||||||
|
# SANDBOXED APPLICATIONS
|
||||||
# Enable Firejail for application sandboxing (security)
|
# Enable Firejail for application sandboxing (security)
|
||||||
programs.firejail = {
|
programs.firejail = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -237,9 +250,7 @@
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# ================================
|
|
||||||
# HARDWARE SECURITY (YUBIKEY)
|
# HARDWARE SECURITY (YUBIKEY)
|
||||||
# ================================
|
|
||||||
# Enable Yubikey support for SSH and GPG
|
# Enable Yubikey support for SSH and GPG
|
||||||
services.yubikey-agent.enable = true;
|
services.yubikey-agent.enable = true;
|
||||||
# Enable U2F authentication for login
|
# Enable U2F authentication for login
|
||||||
|
79
modules/home/ssh.nix
Normal file
79
modules/home/ssh.nix
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
{
|
||||||
|
programs.ssh = {
|
||||||
|
enable = true;
|
||||||
|
serverAliveInterval = 60;
|
||||||
|
serverAliveCountMax = 2;
|
||||||
|
|
||||||
|
matchBlocks = {
|
||||||
|
"d10.csb.brainmill.com" = {
|
||||||
|
forwardAgent = true;
|
||||||
|
port = 22;
|
||||||
|
};
|
||||||
|
"prod-admin-jump1.infra.csbnet.se" = {
|
||||||
|
forwardAgent = true;
|
||||||
|
port = 22;
|
||||||
|
};
|
||||||
|
"prod-jump-got1.infra.brainmill.com" = {
|
||||||
|
forwardAgent = true;
|
||||||
|
port = 22;
|
||||||
|
};
|
||||||
|
"sw-fys-kt11-serv1.net.chsfg.se" = {
|
||||||
|
hostname = "10.2.13.10";
|
||||||
|
};
|
||||||
|
"sw-fys-kt11-kansli1.net.chsfg.se" = {
|
||||||
|
hostname = "10.2.13.11";
|
||||||
|
};
|
||||||
|
"sw-fys-kt11-kansli2.net.chsfg.se" = {
|
||||||
|
hostname = "10.2.13.12";
|
||||||
|
};
|
||||||
|
"sw-fys-kt11-reception1.net.chsfg.se" = {
|
||||||
|
hostname = "10.2.13.13";
|
||||||
|
};
|
||||||
|
"sw-fys-kt11-reception2.net.chsfg.se" = {
|
||||||
|
hostname = "10.2.13.14";
|
||||||
|
};
|
||||||
|
"sw-fys-gg39-kom.net.chsfg.se" = {
|
||||||
|
hostname = "10.1.13.10";
|
||||||
|
};
|
||||||
|
"sw-fys-gg39-skap.net.chsfg.se" = {
|
||||||
|
hostname = "10.1.13.11";
|
||||||
|
};
|
||||||
|
"sw-fys-ev1.net.chsfg.se" = {
|
||||||
|
hostname = "10.62.13.10";
|
||||||
|
};
|
||||||
|
"192.168.10.20" = {
|
||||||
|
hostname = "192.168.10.20";
|
||||||
|
user = "manager";
|
||||||
|
};
|
||||||
|
"192.168.10.50" = {
|
||||||
|
hostname = "192.168.10.50";
|
||||||
|
};
|
||||||
|
"gw1.net.chsfg.se" = {
|
||||||
|
forwardAgent = true;
|
||||||
|
hostname = "2a02:9a0:fffe:4::3";
|
||||||
|
};
|
||||||
|
"gw2.net.chsfg.se" = {
|
||||||
|
forwardAgent = true;
|
||||||
|
hostname = "2a02:9a0:fffe:4::5";
|
||||||
|
};
|
||||||
|
"cv11-stor-gw.net.chsfg.se" = {
|
||||||
|
proxyCommand = "ssh prod-admin-jump1.infra.csbnet.se /bin/nc %h 22";
|
||||||
|
hostname = "176.10.244.136";
|
||||||
|
user = "root";
|
||||||
|
port = 8822;
|
||||||
|
};
|
||||||
|
"tp2-core1.net.chsfg.se" = {
|
||||||
|
hostname = "192.168.10.52";
|
||||||
|
user = "nvg";
|
||||||
|
};
|
||||||
|
"gw-shg9d-ctk.net.chsfg.se" = {
|
||||||
|
hostname = "83.218.70.146";
|
||||||
|
user = "admin";
|
||||||
|
};
|
||||||
|
"lp5-core1.net.chsfg.se" = {
|
||||||
|
hostname = "192.168.10.51";
|
||||||
|
user = "nvg";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
@@ -107,6 +107,15 @@ in {
|
|||||||
"...." = "cd ../../../";
|
"...." = "cd ../../../";
|
||||||
"....." = "cd ../../../../";
|
"....." = "cd ../../../../";
|
||||||
|
|
||||||
|
# Work aliases
|
||||||
|
"jumpc" = "ssh prod-admin-jump1.infra.csbnet.se";
|
||||||
|
"proxc" = "ssh -L1337:172.18.200.21:8006 prod-admin-jump1.infra.csbnet.se";
|
||||||
|
"jumpn" = "ssh prod-jump-got1.infra.brainmill.com";
|
||||||
|
"proxmoxn" = "ssh -L1338:[2a09:2681:ffff:13::104]:8006 prod-jump-got1.infra.brainmill.com";
|
||||||
|
"ups1c" = "ssh -L1339:172.18.79.1:80 prod-admin-jump1.infra.csbnet.se";
|
||||||
|
"ups2c" = "ssh -L1340:172.18.79.3:80 prod-admin-jump1.infra.csbnet.se";
|
||||||
|
};
|
||||||
|
shellAbbrs = {
|
||||||
"cp" = "cp -v";
|
"cp" = "cp -v";
|
||||||
"ls" = "ls -lah";
|
"ls" = "ls -lah";
|
||||||
"mkdir" = "mkdir -p";
|
"mkdir" = "mkdir -p";
|
||||||
@@ -122,6 +131,12 @@ in {
|
|||||||
presets = ["nerd-font-symbols" "gruvbox-rainbow"];
|
presets = ["nerd-font-symbols" "gruvbox-rainbow"];
|
||||||
settings = {
|
settings = {
|
||||||
add_newline = false;
|
add_newline = false;
|
||||||
|
directory = {
|
||||||
|
fish_style_pwd_dir_length = 1;
|
||||||
|
substitutions = {
|
||||||
|
"git" = "";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
# Direnv for automatic environment loading
|
# Direnv for automatic environment loading
|
||||||
|
Reference in New Issue
Block a user