Use a variável de ambiente do sistema para a configuração snort.conf HOME_NET

5

Estou configurando uma imagem de implantação em massa que inclui snort. Como não sei o intervalo de endereços de rede em que cada imagem ficará, pensei em usar uma variável de ambiente para manter o intervalo de rede e usar essa variável de ambiente no arquivo snort.conf para definir HOME_NET .

Mas é aí que tudo desmorona. Isso pode ser feito? Como? Essencialmente, estou prevendo algo como:

$ export SYS_HOME_NET=192.168.1.0/16

# snort.conf
ipvar HOME_NET %SYS_HOME_NET%

Obviamente, isso não funciona. Alguma idéia?

    
por sadmicrowave 16.04.2014 / 06:17

2 respostas

3

Eu faria de forma um pouco diferente. Supondo que o comando que lhe dá o intervalo de IP é

echo ipvar HOME_NET "$(/sbin/ip route | awk '/eth0/ && ++i==2 { print  }')"

Você pode escrever um pequeno script de wrapper que lance snort :

#!/usr/bin/env bash

echo ipvar HOME_NET "$(/sbin/ip route | awk '/eth0/ && ++i==2 { print  }')" > ~/HOME_NET.conf
snort

Se você salvar esse arquivo como snort.sh , torná-lo executável ( chmod a+x snort.sh ) e executá-lo, ele atualizará o arquivo ~/HOME_NET.conf com o intervalo IP correto antes iniciar snort então tudo deve funcionar como você espera.

    
por terdon 21.04.2014 / 17:56
1

Um método que acabei de pensar é criar um arquivo .conf externo que cria essa variável e incluí-la no snort.conf assim:

#snort.conf
#ipvar HOME_NET any
include ./HOME_NET.conf

Em seguida, crie um arquivo HOME_NET.conf com esta aparência:

ipvar HOME_NET 192.168.1.0/16

e altere / substitua o conteúdo de HOME_NET.conf por um script .sh durante a inicialização ou a configuração inicial da imagem.

    
por sadmicrowave 16.04.2014 / 06:39