Verificando automaticamente um arquivo de configuração do OpenVPN

1

Eu gostaria de verificar de alguma forma automaticamente que um arquivo de texto é de fato um arquivo de configuração do OpenVPN. Eu não preciso saber que é totalmente correto, eu só quero verificar se é um arquivo de configuração pretendido para o OpenVPN e não o arquivo / etc / passwd de alguém enviado por engano.

O documento openvpn não parece ter nenhuma opção relacionada ao meu objetivo.

Alguém pode me indicar uma solução pronta para isso, se existir?

    
por Torp 13.06.2018 / 22:10

1 resposta

0

Eu acho que procurar por esses três pares como os dois primeiros tokens na mesma linha deve ser feito:

  • dev ...
  • proto ...
  • cipher ...

Este one-liner faz o truque:

perl -wanle'$h{$F[0]}=$F[1] if scalar @F>1; END {if ($h{dev} && $h{proto} && $h{cipher}) {print "ok";} else {print "not ok"; exit 1;}}' < the_file

the_file no final é o arquivo a ser verificado. O resultado é:

  • ok e código de saída 0
  • not ok e o código de saída 1

O código usa cada linha e atribui o segundo token na linha a um hash codificado com o primeiro token, se houver pelo menos dois tokens. No final, verifica a presença das chaves dev , proto e cipher . Para verificar arquivos em massa, o código deve ser otimizado.

    
por 14.06.2018 / 02:20

Tags