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

Обеспокоен содержанием ip_conntrack

Резюме

170 записей в /proc/net/ip_conntrack на сервере. В настоящее время 134 из них относятся к IP-адресу, который разрешается как cl59.justhost.com (я предлагаю вам на всякий случай не переходить к нему). Я не понимаю записей conntrack и опасаюсь, что они могут указывать на нарушение безопасности.

Деталь

134 записи в /proc/net/ip_conntrack все выглядит так (мой IP-адрес сервера заменен на 192.168.0.1),

tcp      6 282883 ESTABLISHED src=192.168.0.1 dst=69.175.58.106 sport=80 dport=33053 packets=2 bytes=3000 [UNREPLIED] src=69.175.58.106 dst=192.168.0.1 sport=33053 dport=80 packets=0 bytes=0 mark=0 secmark=0 use=2
tcp      6 282877 ESTABLISHED src=192.168.0.1 dst=69.175.58.106 sport=80 dport=33064 packets=2 bytes=3000 [UNREPLIED] src=69.175.58.106 dst=192.168.0.1 sport=33064 dport=80 packets=0 bytes=0 mark=0 secmark=0 use=2
tcp      6 284392 ESTABLISHED src=192.168.0.1 dst=69.175.58.106 sport=80 dport=60963 packets=1 bytes=1500 [UNREPLIED] src=69.175.58.106 dst=192.168.0.1 sport=60963 dport=80 packets=0 bytes=0 mark=0 secmark=0 use=2
tcp      6 284392 ESTABLISHED src=192.168.0.1 dst=69.175.58.106 sport=80 dport=60950 packets=1 bytes=1500 [UNREPLIED] src=69.175.58.106 dst=192.168.0.1 sport=60950 dport=80 packets=0 bytes=0 mark=0 secmark=0 use=2
tcp      6 283131 ESTABLISHED src=192.168.0.1 dst=69.175.58.106 sport=80 dport=33221 packets=11 bytes=17948 [UNREPLIED] src=69.175.58.106 dst=192.168.0.1 sport=33221 dport=80 packets=0 bytes=0 mark=0 secmark=0 use=2
tcp      6 283080 ESTABLISHED src=192.168.0.1 dst=69.175.58.106 sport=80 dport=33253 packets=11 bytes=17948 [UNREPLIED] src=69.175.58.106 dst=192.168.0.1 sport=33253 dport=80 packets=0 bytes=0 mark=0 secmark=0 use=2
tcp      6 282879 ESTABLISHED src=192.168.0.1 dst=69.175.58.106 sport=80 dport=33208 packets=2 bytes=3000 [UNREPLIED] src=69.175.58.106 dst=192.168.0.1 sport=33208 dport=80 packets=0 bytes=0 mark=0 secmark=0 use=2

Я не вижу активных подключений в netstat,

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:842             0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:4949            0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 192.168.0.1:22          xx.xx.xx.xx:54586       ESTABLISHED
tcp6       0      0 :::25                   :::*                    LISTEN
tcp6       0      0 :::443                  :::*                    LISTEN
tcp6       0      0 :::80                   :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 192.168.0.1:80          xxx.xx.196.80:30010     TIME_WAIT
tcp6       0      0 192.168.0.1:80          xx.xx.13.54:60767       TIME_WAIT
tcp6       0      0 192.168.0.1:80          xxx.xx.196.11:33402     TIME_WAIT
tcp6       0      0 192.168.0.1:80          xx.xxx.142.192:58280    TIME_WAIT
tcp6       0      0 192.168.0.1:80          xx.xxx.142.192:58281    TIME_WAIT
tcp6       0      0 192.168.0.1:80          xx.xx.13.54:62025       TIME_WAIT
udp        0      0 192.168.0.1:123         0.0.0.0:*
udp        0      0 127.0.0.1:123           0.0.0.0:*
udp        0      0 0.0.0.0:123             0.0.0.0:*

Сервер работает под управлением Apache2, PHP5 и имеет несколько блогов на wordpress и один форум phpBB3 (а также другие случайные мелочи здесь и там).

Может ли кто-нибудь пролить свет на возможный источник этих связей. Являются ли они неудачными / остановившимися соединениями с моим сервером с 69.175.58.106 и поэтому не о чем беспокоиться, или это исходящие соединения с моего сервера на 69.175.58.106, что может указывать на что-то зловещее?

Если они сами по себе не вызывают беспокойства, есть ли причина, по которой они не уходят?

Обновить:

Итак, мы еще немного покопались, и третье поле в записи - это время, когда запись будет оставаться активной. Так что по какой-то причине у всех этих записей очень большой срок жизни. Это объясняет, почему они не исчезли, но еще не их первопричина, а теперь, как они были созданы с такой огромной продолжительностью.

Обновление 2:

Таким образом, дальнейшее копание подсказывает мне, что записи следует читать так, как мой сервер (192.168.0.1) отправил пакет на 69.175.58.106, который до сих пор не ответил. Это заставляет меня подозревать, что 69.175.58.106 изначально запрашивал данные с сервера, а затем отключился, и iptables решил сохранить запись в течение некоторого времени.

Мне все равно было бы интересно узнать, верна ли эта оценка или происходит что-то еще.

Итак, копаем дальше, и у меня есть ответ.

  1. длинный TTL для подключений является значением по умолчанию для ядра и Debian Squeeze, который у меня есть, составляет около 5 дней для установленных подключений и устанавливается в /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established

  2. Читая записи conntrack, я теперь интерпретирую их как означающие, что 69.175.58.106 подключен к веб-серверу через порт 80, и веб-сервер ответил некоторыми данными, но до того, как соединение могло быть закрыто, оно было просто сброшено чем-то между моими сервером и 69.175.58.106, или самим 69.175.58.106. Закрытые соединения имеют намного более короткий TTL.

  3. Невозможно сказать, подключался ли 69.175.58.106 много раз, а затем просто прекратил связь, или возникла проблема с сетью между моим сервером и 69.175.58.106, но судя по тому факту, что IP-адрес 69.175.58.106 указывает на другой сервер а не пользовательское соединение, я склонен думать, что происходило что-то странное, но в конечном итоге это не вызвало никаких проблем с моей стороны.

  4. iptstate Похоже, это хороший инструмент на основе curses для просмотра данных conntrack.