Можно ли вести журнал только при установлении соединения? Я пытался:
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, который устанавливается только при новых попытках подключения.