Назад | Перейти на главную страницу

iptables ведение журнала SSH-соединения

Можно ли вести журнал только при установлении соединения? Я пытался:

iptables -I OUTPUT -p tcp --dport 22 -j LOG --log-level notice --log-prefix "outgoing ssh connection"

для регистрации исходящих SSH-соединений, но при этом регистрируется каждый отдельный пакет, и это, как вы можете себе представить, немного сложно для целей мониторинга. Я использую SLES 11 SP3. Так что я был бы признателен, если бы кто-нибудь мог указать способ записи записи в журнал только тогда, когда соединение установлено.

Строка, которая потребуется для регистрации трафика, может выглядеть следующим образом:

iptables -I OUTPUT -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j LOG --log-prefix "Outgoing SSH connection"

На другом терминале просмотрите журналы

while :; do iptables -L OUTPUT -v -n --line-n; sleep 2; done

Я использую -m state --state. Однако я бы рекомендовал использовать --ctstate

man iptables для большего.

Если вы чувствуете, что журналы перегружены, вы можете подумать об изменении --log-level. http://www.netfilter.org/ могу рассказать вам больше.

val0x00ff предлагает использовать --state, также Петтер Х в комментарии, должно работать хорошо.

Однако вам не нужно вводить отслеживание состояния сеанса только для этого. Вы можете добавить --syn чтобы правило соответствовало только пакетам с установленным флагом SYN, который устанавливается только при новых попытках подключения.