Извините за задержку. Вы фиксировали его? В противном случае http://www.sriramrajan.com/mw/index.php/Linux-Auditd может быть полезным.
и обычно... Для использования контрольного средства, необходимо использовать следующие утилиты => auditctl - команда для помощи управлению системой аудитов ядра. Можно получить состояние, и добавить или удалить правила в систему аудитов ядра. Установка часов на файле выполняется с помощью этой команды:
=> ausearch - команда, которая может запросить контрольные журналы демона, базирующиеся для событий на основе различных критериев поиска.
Это говорит...., что экспорт Ваши журналы vsftpd с помощью системного журнала в файл и делает фильтрацию из auditd. Это - что-то подобное тому, что Вы думали о вводной-части-lml.
Я чувствую, что hdr_sub лучше подходит для ваших нужд. Некоторое время я использовал hdr_end, но у меня возникла следующая проблема:
запросы с портом 80 обычно удаляют порт, так что заголовок хоста выглядит как "example.com", но если вы делали запрос на порт явно, как например. com:8080, в заголовке будет порт, и hdr_end не сможет проверить "example.com".
hdr_sub сделает совпадение подстроки, что кажется более подходящим для вас (и для меня).
В любом из решений все еще есть неприятная вещь, которая мне не нравится. Оценка результатов в зависимости от заказа.
например (мои условия выглядят так на фронтэнде)
acl is_dbadmin hdr_sub(host) -i dbadmin.example.com
Запрос на порт 8080 будет выглядеть так:
Jul 9 02:48:40 localhost haproxy[8]: 192.168.1.1:55870 [09/Jul/2015:02:48:40.865] http-in example/s1 1/0/0/20/110 200 330722 - - ---- 0/0/0/0/0 0/0 {**example.com:8080**||http://example.com:} {Apache/2.4.10 (Debia||||} "GET /wp-includes/js/zxcvbn.min.js HTTP/1.1"
где в качестве порта 80 скорее всего будет выглядеть так
Jul 9 02:48:40 localhost haproxy[8]: 192.168.1.1:55870 [09/Jul/2015:02:48:40.865] http-in example/s1 1/0/0/20/110 200 330722 - - ---- 0/0/0/0/0 0/0 {example.com||***http://example.com***:} {Apache/2.4.10 (Debia||||} "GET /wp-includes/js/zxcvbn.min.js HTTP/1.1"
Есть случаи, когда вам нужно четко указать на это, например, обработка перенаправлений для SSL с подстановочными знаками с несколькими уровнями поддоменов.
Соответствующий конец ( hdr_end
или -m end
) или подстрока ( hdr_sub
или -m sub
) может иметь непредусмотренную сторону- эффекты сопоставления больше, чем вы ожидаете. Во многих случаях это может не иметь большого значения, поскольку у вас нет трафика для этих доменов, поступающего на сервер, но это не означает, что это технически правильное решение.
Использование регулярного выражения - лучший способ, который я обнаружено, что выполняется явное сопоставление.
Например, если вы хотите сопоставить только *. Example.org
без сопоставления sub.domain.example.org
:
acl valid_domains hdr(host) -m reg -i ^[^\.]+\.example\.org$
Если вы также хотите обрабатывать (любые) не- стандартные порты, это можно немного расширить:
acl valid_domains hdr(host) -m reg -i ^[^\.]+\.example\.org(:[0-9]+)?$
Вышеупомянутый будет соответствовать :
test1.example.org
test2.example.org:8080
и будут не соответствует :
example.org
two.subs.example.org
myexample.org
test.myexample.org
test.example.org. other.com