Restructure folders, add mail host
				
					
				
			The entire file structure has been reorganised into stable and unstable to separate deployments running on either channel. A `mail` host running Simple Nix Mailserver has also been added for testing to see if it's a good alternative to soverin as well as SMTP for other services.
This commit is contained in:
		
							parent
							
								
									51ba0ae296
								
							
						
					
					
						commit
						90eb0c3708
					
				
					 78 changed files with 535 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -0,0 +1 @@
 | 
			
		|||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH+ZQk80BU/OdQfV990yrkFwvsLVbVZ2Itof/qwxjTn7
 | 
			
		||||
							
								
								
									
										43
									
								
								unstable/config/common/services/nginx.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								unstable/config/common/services/nginx.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,43 @@
 | 
			
		|||
{ ... }:
 | 
			
		||||
{
 | 
			
		||||
    services.nginx = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
 | 
			
		||||
    # Use recommended settings
 | 
			
		||||
    recommendedGzipSettings = true;
 | 
			
		||||
    recommendedOptimisation = true;
 | 
			
		||||
    recommendedProxySettings = true;
 | 
			
		||||
    recommendedTlsSettings = true;
 | 
			
		||||
 | 
			
		||||
    # Only allow PFS-enabled ciphers with AES256
 | 
			
		||||
    sslCiphers = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
 | 
			
		||||
 | 
			
		||||
    commonHttpConfig = ''
 | 
			
		||||
      # Add HSTS header with preloading to HTTPS requests.
 | 
			
		||||
      # Adding this header to HTTP requests is discouraged
 | 
			
		||||
      map $scheme $hsts_header {
 | 
			
		||||
          https   "max-age=31536000; includeSubdomains; preload";
 | 
			
		||||
      }
 | 
			
		||||
      add_header Strict-Transport-Security $hsts_header;
 | 
			
		||||
 | 
			
		||||
      # Enable CSP for your services.
 | 
			
		||||
      #add_header Content-Security-Policy "script-src 'self'; object-src 'none'; base-uri 'none';" always;
 | 
			
		||||
 | 
			
		||||
      # Minimize information leaked to other domains
 | 
			
		||||
      add_header 'Referrer-Policy' 'origin-when-cross-origin';
 | 
			
		||||
 | 
			
		||||
      # Disable embedding as a frame
 | 
			
		||||
      add_header X-Frame-Options DENY;
 | 
			
		||||
 | 
			
		||||
      # Prevent injection of code in other mime types (XSS Attacks)
 | 
			
		||||
      add_header X-Content-Type-Options nosniff;
 | 
			
		||||
 | 
			
		||||
      # Enable XSS protection of the browser.
 | 
			
		||||
      # May be unnecessary when CSP is configured properly (see above)
 | 
			
		||||
      add_header X-XSS-Protection "1; mode=block";
 | 
			
		||||
 | 
			
		||||
      # This might create errors
 | 
			
		||||
      proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
 | 
			
		||||
    '';
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										24
									
								
								unstable/config/common/services/ssh.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								unstable/config/common/services/ssh.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,24 @@
 | 
			
		|||
{ ... }:
 | 
			
		||||
{
 | 
			
		||||
  services.openssh = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    permitRootLogin = "no";
 | 
			
		||||
    passwordAuthentication = false;
 | 
			
		||||
    challengeResponseAuthentication = false;
 | 
			
		||||
    hostKeys = [ { "path" = "/etc/ssh/ssh_host_ed25519_key"; "type" = "ed25519"; } ];
 | 
			
		||||
    kexAlgorithms = [ "curve25519-sha256" "curve25519-sha256@libssh.org" ];
 | 
			
		||||
    macs = [ "hmac-sha2-512-etm@openssh.com" "hmac-sha2-512-etm@openssh.com" "umac-128-etm@openssh.com" ];
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  programs.ssh.knownHosts = {
 | 
			
		||||
    despondos = {
 | 
			
		||||
      hostNames = [ "despondos.nao.sh" ];
 | 
			
		||||
      publicKeyFile = ../data/pubkeys/despondos_host_ed25519_key.pub;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  services.sshguard = {
 | 
			
		||||
    enable = true;
 | 
			
		||||
    blocktime = 300;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue