mirror of
				https://github.com/juanfont/headscale.git
				synced 2025-10-28 10:51:44 +01:00 
			
		
		
		
	Remove insecure, only allow valid certs
This commit is contained in:
		
							parent
							
								
									4078e75b50
								
							
						
					
					
						commit
						315ff9daf0
					
				
							
								
								
									
										7
									
								
								app.go
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								app.go
									
									
									
									
									
								
							| @ -119,10 +119,9 @@ type DERPConfig struct { | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| type CLIConfig struct { | type CLIConfig struct { | ||||||
| 	Address  string | 	Address string | ||||||
| 	APIKey   string | 	APIKey  string | ||||||
| 	Insecure bool | 	Timeout time.Duration | ||||||
| 	Timeout  time.Duration |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Headscale represents the base app of the service.
 | // Headscale represents the base app of the service.
 | ||||||
|  | |||||||
| @ -59,7 +59,6 @@ func LoadConfig(path string) error { | |||||||
| 
 | 
 | ||||||
| 	viper.SetDefault("grpc_listen_addr", ":50443") | 	viper.SetDefault("grpc_listen_addr", ":50443") | ||||||
| 
 | 
 | ||||||
| 	viper.SetDefault("cli.insecure", false) |  | ||||||
| 	viper.SetDefault("cli.timeout", "5s") | 	viper.SetDefault("cli.timeout", "5s") | ||||||
| 
 | 
 | ||||||
| 	if err := viper.ReadInConfig(); err != nil { | 	if err := viper.ReadInConfig(); err != nil { | ||||||
| @ -326,10 +325,9 @@ func getHeadscaleConfig() headscale.Config { | |||||||
| 		}, | 		}, | ||||||
| 
 | 
 | ||||||
| 		CLI: headscale.CLIConfig{ | 		CLI: headscale.CLIConfig{ | ||||||
| 			Address:  viper.GetString("cli.address"), | 			Address: viper.GetString("cli.address"), | ||||||
| 			APIKey:   viper.GetString("cli.api_key"), | 			APIKey:  viper.GetString("cli.api_key"), | ||||||
| 			Insecure: viper.GetBool("cli.insecure"), | 			Timeout: viper.GetDuration("cli.timeout"), | ||||||
| 			Timeout:  viper.GetDuration("cli.timeout"), |  | ||||||
| 		}, | 		}, | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| @ -413,17 +411,8 @@ func getHeadscaleCLIClient() (context.Context, v1.HeadscaleServiceClient, *grpc. | |||||||
| 			grpc.WithPerRPCCredentials(tokenAuth{ | 			grpc.WithPerRPCCredentials(tokenAuth{ | ||||||
| 				token: apiKey, | 				token: apiKey, | ||||||
| 			}), | 			}), | ||||||
|  | 			grpc.WithTransportCredentials(credentials.NewClientTLSFromCert(nil, "")), | ||||||
| 		) | 		) | ||||||
| 
 |  | ||||||
| 		if cfg.CLI.Insecure { |  | ||||||
| 			grpcOptions = append(grpcOptions, |  | ||||||
| 				grpc.WithTransportCredentials(insecure.NewCredentials()), |  | ||||||
| 			) |  | ||||||
| 		} else { |  | ||||||
| 			grpcOptions = append(grpcOptions, |  | ||||||
| 				grpc.WithTransportCredentials(credentials.NewClientTLSFromCert(nil, "")), |  | ||||||
| 			) |  | ||||||
| 		} |  | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	log.Trace().Caller().Str("address", address).Msg("Connecting via gRPC") | 	log.Trace().Caller().Str("address", address).Msg("Connecting via gRPC") | ||||||
| @ -500,7 +489,7 @@ func (t tokenAuth) GetRequestMetadata( | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (tokenAuth) RequireTransportSecurity() bool { | func (tokenAuth) RequireTransportSecurity() bool { | ||||||
| 	return false | 	return true | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // loadOIDCMatchMap is a wrapper around viper to verifies that the keys in
 | // loadOIDCMatchMap is a wrapper around viper to verifies that the keys in
 | ||||||
|  | |||||||
| @ -88,5 +88,5 @@ Checklist: | |||||||
| 
 | 
 | ||||||
| - Make sure you have the _same_ `headscale` version on your server and workstation | - Make sure you have the _same_ `headscale` version on your server and workstation | ||||||
| - Make sure you use version `0.13.0` or newer. | - Make sure you use version `0.13.0` or newer. | ||||||
| - Verify that your TLS certificate is valid | - Verify that your TLS certificate is valid and trusted | ||||||
|   - If it is not valid, set the environment variable `HEADSCALE_CLI_INSECURE=true` to allow insecure certs. |   - If you do not have access to a trusted certificate (e.g. from Let's Encrypt), add your self signed certificate to the trust store of your OS. | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user