Sicuro di impegnare la configurazione del client OpenVPN in Git?

6

Mi piacerebbe affidare la configurazione del client OpenVPN al controllo della versione, in un repository che è ospitato in remoto e accessibile pubblicamente.

Questo rivelerebbe il nome host e la porta del server, così come i percorsi dei file .crt e .key.

Dovrei essere preoccupato di rivelare il nome host / porta del server, o sarebbe considerato come sicurezza attraverso l'oscurità?

Più in generale, quanto sarebbe sicuro / insicuro?

Una configurazione di esempio offuscata sarebbe simile a:

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

Aggiornamento : grazie per il feedback. I punti sul contrasto tra "sicurezza attraverso l'oscurità" con la scelta di non esporre più del necessario sul tuo sistema sicuro sono stati ben fatti.

Mi sono reso conto che il contesto in cui sto facendo questo offre un modo semplice per escludere parte della configurazione dal controllo della versione mentre si fa il resto. Il repository Git è per la mia configurazione di sistema NixOS, quindi posso mettere le parti sensibili della mia configurazione di vpn in un file separato, che gitignore, e interpolare il suo contenuto nel file di configurazione finale che nix compone.

Quindi il mio configuration.nix avrà qualcosa del tipo:

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}
    ''
  }
}
    
posta ivan 15.05.2018 - 13:56
fonte

3 risposte

1

Temo che non possiamo concludere quanto sia sicuro / insicuro in quanto non sappiamo quali altri controlli di sicurezza siano stati predisposti. In generale, la sicurezza attraverso l'oscurità come unico meccanismo di difesa è una cattiva pratica e dovrebbe essere sempre evitata, tuttavia oltre ad altri fondamentali controlli di sicurezza, potrebbe essere saggio non pubblicare informazioni inutilmente.

Supponendo di aver applicato le pratiche di sicurezza di base (ad es. nessuna password predefinita, nessun servizio aperto non utilizzato, middleware aggiornato ecc.) Direi che è sicuro pubblicare la tua configurazione poiché nulla di ciò che è in realtà si sta indebolendo il tuo livello di sicurezza. Tenere presente che rendere pubblica questa configurazione può portare gli utenti con intenti malevoli al server più facilmente, quindi il rischio derivante dalla pubblicazione della configurazione dipende dal modo in cui il server è attualmente configurato e gestito in modo sicuro. Spetta a te decidere se accettare o meno tale rischio ...

    
risposta data 15.05.2018 - 17:11
fonte
4

Evitare la "sicurezza attraverso l'oscurità" non significa rivelare informazioni sul tuo sistema solo perché è qualcosa che una determinata persona può scoprire comunque.

Suppongo che intendi il controllo della versione ospitato in remoto, non solo il controllo della versione sul tuo computer di sviluppo?

Se il server di controllo delle versioni remote è pubblicamente accessibile o accessibile a più di coloro che hanno bisogno di conoscere queste informazioni, mettere il file nel controllo di versione non lo rende più sicuro, quindi suppongo che se pensi che lo faccia, sta cadendo vittima di "sicurezza attraverso l'oscurità".

    
risposta data 15.05.2018 - 16:10
fonte
1

Se lo snippet sopra riportato è tutto ciò che è pubblicato (cioè nessun file chiave non è incluso), l'unica informazione che si sta proteggendo è la posizione del servizio OpenVPN e come connettersi ad esso, informazioni che potrebbero essere probabilmente derivate da un aggressore attraverso la scansione e l'osservazione. Questa informazione da sola non garantisce a nessun utente malintenzionato alcun accesso (a meno che qualcosa non sia orribilmente errato o vulnerabile).

Detto questo, rivela alcune informazioni sul tuo ambiente, che, a seconda del modello di minaccia specifico, potrebbero non essere desiderabili.

    
risposta data 15.05.2018 - 16:28
fonte

Leggi altre domande sui tag