Me gustaría comprometer mi configuración de cliente OpenVPN para el control de versiones, en un repositorio que esté alojado de forma remota y accesible públicamente.
Esto revelaría el nombre de host y el puerto del servidor, así como las rutas de archivo a los archivos .crt y .key.
¿Debería preocuparme por revelar el nombre de host / puerto del servidor, o se consideraría seguridad a través de la oscuridad?
Más en general, ¿qué tan seguro / inseguro sería?
Una configuración de ejemplo confusa se vería así:
client
dev tun
proto udp4
remote my.example.net 1194
remote-cert-tls server
tls-auth /home/ivan/path/to/ta.key 1
cipher AES-256-CBC
ca /home/ivan/path/to/ca.crt
cert /home/ivan/path/to/myuser.crt
key /home/ivan/path/to/myuser.key
nobind
user nobody
group nogroup
persist-key
persist-tun
comp-lzo yes
auth-nocache
Actualización : Gracias por los comentarios. Los puntos sobre el contraste de "seguridad a través de la oscuridad" con la elección de no exponer más de lo necesario acerca de su sistema seguro fueron bien hechos.
Me di cuenta de que el contexto en el que estoy haciendo esto ofrece una manera fácil de excluir parte de la configuración del control de versiones mientras se confirma el resto. El repositorio de Git es para la configuración de mi sistema NixOS, por lo que puedo colocar las partes sensibles de mi configuración vpn en un archivo separado, que voy a gitignore, e interpolar su contenido en el archivo de configuración final que compone nix.
Entonces mi configuración.nix tendrá algo como:
services.openvpn = {
servers.fooServer = {
config = ''
# The insensitive stuff inline, committed to Git
client
dev tun
# etc...
# The sensitive stuff slurped from a gitignore'd file
${builtins.readFile ./foo-server.private.conf}
''
}
}