ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: Nick Fedchik <nick@fedchik.org.ua>
To: sisyphus@altlinux.ru
Subject: [sisyphus] JFYI: snortd на нескольких интерфейсах
Date: Thu, 27 Nov 2003 15:55:39 +0200
Message-ID: <200311271555.46572.nick@fedchik.org.ua> (raw)

[-- Attachment #1: signed data --]
[-- Type: text/plain, Size: 2482 bytes --]

Имеем хост с двумя (более чем одним) интерфейсами Ethernet.

Симптом: При использовании одного файла конфигурации для запускаемых процессов 
на каждый интерфейс в файл /var/run/snort_eth1.pid записывался pid от 
процесса для интерфейса eth0. Только один процесс snort выполнялся.

Изначально была сделана поспешная (и, как оказалось при разборе проблемы,  
неверная) попытка быстрой конфигурации snort для двух интерфейсов:
ADDPARAMS_eth0="-A fast -d -D -c /etc/snort/snort.conf"
ADDPARAMS_eth1="-A fast -d -D -c /etc/snort/snort.conf"

Рекоммендация: вынести инициализацию переменных в отдельный конфигурационный 
файл, специфичный для каждого интерфейса. Такой файл может содержать 
переменные со специфичными для интерфейса значениями, и включать основной 
конфигурационный файл (который как правило - однотипный). 
Пример /etc/snort/snort-eth1.conf:
var HOME_NET $eth1_ADDRESS
var EXTERNAL_NET !$HOME_NET
var DNS_SERVERS [192.168.1.2,192.168.1.3]
var SMTP_SERVERS [192.168.1.1,192.168.1.4]
var HTTP_SERVERS [192.168.1.10]
var SQL_SERVERS [192.168.1.11]
var TELNET_SERVERS $HOME_NET
include /etc/snort/snort.conf

Таким образом указываем отдельные конфиг. файлы для каждого интерфейса:
/etc/sysconfig/snort
INTERFACES=eth0,eth1
ADDPARAMS_eth0="-A fast -d -D -I -c /etc/snort/snort-eth0.conf"
ADDPARAMS_eth1="-A fast -d -D -I -c /etc/snort/snort-eth1.conf"

Замечание: я также добавил опцию -I, но это не влияет на проблему.

Что может ввести в заблуждение, так это способ задания переменной
HOME_NET типа ethX_ADDRESS - без явного указания интерфейса опцией -i туда 
подставляется первый попавшийся интерфейс (как правило - eth0)
Пример:
Файл /etc/snort/snort-eth1.conf содержит
var HOME_NET $eth1_ADDRESS

Запускаем 
snort -T -c /etc/snort/snort-eth1.conf
И наблюдаем:
...
Initializing Network Interface eth0
...
ERROR: Undefined variable name: (/etc/snort/snort-eth1.conf:2): eth1_ADDRESS
Fatal Error, Quitting..

Чего нет в случае
snort -i eth1 -T -c /etc/snort/snort-eth1.conf

Это исправление IMHO можно внести в пакет:
/etc/init.d/snortd
--- snortd.bad  2003-11-11 10:26:21 +0200
+++ snortd      2003-11-27 15:13:56 +0200
@@ -36,6 +36,7 @@
            --expect-user snort -- \
            snort -u snort -g snort \нужно
            -t /var/log/snort \
+           -i $i \
            $(eval echo $(echo \$`echo ADDPARAMS_$i`))
        RETVAL=$?
        if [ $RETVAL != 0 ]; then


Кстати: Snort 2.0.5 is available

-- 
Best Regards, Nick Fedchik
http://www.fedchik.org.ua/

[-- Attachment #2: signature --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

             reply	other threads:[~2003-11-27 13:55 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-11-27 13:55 Nick Fedchik [this message]
2003-11-27 15:15 ` [sisyphus] JFYI: snortd ÎÁ ÎÅÓËÏÌØËÉÈ ÉÎÔÅÒÆÅÊÓÁÈ Serhii Hlodin
2003-11-27 15:26   ` [sisyphus] JFYI: snortd на нескольких интерфейсах Nick Fedchik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200311271555.46572.nick@fedchik.org.ua \
    --to=nick@fedchik.org.ua \
    --cc=sisyphus@altlinux.ru \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git