суббота, 3 ноября 2018 г.

Medoc - "сервер ДФС не найден" (tcpdump в помощь!)

На предприятиях, которые серьезно относятся к своей информационной безопасности, существует практика точечного предоставления доступа серверам(компьютерам) к внешним ресурсам.
Естественно вменяемые разработчики ПО(заметьте не бесплатного), обычно предоставляют список необходимых ресурсов. Пытаются это делать и разработчики медка. Но временами, (и достаточно часто) возникает ситуация такого типа: к вам прибегает(звонит) бухгалтер и рассказывает что сегодня последний день сдачи отчета (у них всегда последний день, просто у хорошего бухгалтера он завтра, но чаще сегодня), а отчеты не уходят. Вы заходите в Medoc, проверяете соединение на вкладке документооборот и наблюдаете
Вы звоните в техподдержку, интересуетесь ситуацией, вам говорят что у них все работает, вы объясняете ситуацию с точечным предоставлением доступа и спрашиваете не поменялось ли чего, утверждают что нет. Вы им не верите, так как не вчера родились (не факт что у них работает/не факт что не менялось) и настаиваете - вам могут предложить выслать список ресурсов. Сверяете свои настройки с высланными (с официальными вы сверились первым делом) и ничего не находите нового.
Идете на свой шлюз и делаете что то в духе такого:
/usr/sbin/iptables -A FORWARD -s <ip> -i <intif> -o <extif> -p tcp -j ACCEPT
где ip это адрес вашего компа с медком,
intif - интерфейс шлюза для локальной сети,
extif - интерфейс шлюза в мир.
Одним словом мы компу с медком разрешаем ходить в мир без ограничений (естественно средствами вашего шлюза)
Повторяем процедуру проверке соединения в медке
Видим, что сервер доступен, значит добавился какой то ресурс, которого медку не хватает.
Так как адрес этого ресурса через каналы поддержки получить не удалось (можно продолжать пытаться, например доказать со скринами, что проблема есть. Но на это уйдет время, а у нас последний день!).
Идем на наш шлюз и запускаем
tcpdump -n -i <intif> host <ip>
расшифровка значений прежняя
Повторяем процедуру проверки соединения в Медке, останавливаем tcpdump и анализируем его вывод, сравнивая его с имеющимся списком ресурсов
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
12:12:32.527994 IP yourMedocIP.54660 > 185.149.40.62.80: Flags [S], seq 1937214165, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
12:12:32.543468 IP 185.149.40.62.80 > yourMedocIP.54660: Flags [S.], seq 701119835, ack 1937214166, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
12:12:32.544521 IP yourMedocIP.54660 > 185.149.40.62.80: Flags [.], ack 1, win 256, length 0
12:12:32.544690 IP yourMedocIP.54660 > 185.149.40.62.80: Flags [P.], ack 1, win 256, length 215
12:12:32.620842 IP 185.149.40.62.80 > yourMedocIP.54660: Flags [.], ack 216, win 256, length 0
12:12:32.621355 IP yourMedocIP.54660 > 185.149.40.62.80: Flags [P.], ack 1, win 256, length 550
12:12:32.637965 IP 185.149.40.62.80 > yourMedocIP.54660: Flags [P.], ack 766, win 254, length 570
12:12:32.648434 IP yourMedocIP.54661 > 217.76.198.135.80: Flags [S], seq 144874701, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
12:12:32.664344 IP 217.76.198.135.80 > yourMedocIP.54661: Flags [S.], seq 254757622, ack 144874702, win 8192, options [mss 1380,nop,nop,sackOK], length 0
12:12:32.664813 IP yourMedocIP.54661 > 217.76.198.135.80: Flags [.], ack 1, win 64860, length 0
12:12:32.664972 IP yourMedocIP.54661 > 217.76.198.135.80: Flags [P.], ack 1, win 64860, length 289
12:12:32.839143 IP yourMedocIP.54660 > 185.149.40.62.80: Flags [.], ack 571, win 254, length 0
12:12:32.890213 IP 217.76.198.135.80 > yourMedocIP.54661: Flags [.], ack 290, win 64860, length 0
12:12:32.890884 IP yourMedocIP.54661 > 217.76.198.135.80: Flags [P.], ack 1, win 64860, length 322
12:12:32.916594 IP 217.76.198.135.80 > yourMedocIP.54661: Flags [.], ack 612, win 64538, length 1380
12:12:32.916601 IP 217.76.198.135.80 > yourMedocIP.54661: Flags [.], ack 612, win 64538, length 1380
12:12:32.917214 IP yourMedocIP.54661 > 217.76.198.135.80: Flags [.], ack 2761, win 64860, length 0
12:12:32.933340 IP 217.76.198.135.80 > yourMedocIP.54661: Flags [P.], ack 612, win 64538, length 462
12:12:32.980039 IP yourMedocIP.55555 > 255.255.255.255.1947: UDP, length 40
12:12:33.135297 IP yourMedocIP.54661 > 217.76.198.135.80: Flags [.], ack 3223, win 64398, length 0
в итоге обнаруживаем незадекларированный ip 212.58.160.101(в приведенном выводе его нет, так как на момент написания заметки уже пофиксили)
выполняем в консоли
host 212.58.160.101
101.160.58.212.in-addr.arpa domain name pointer life.com.ua.
Пребываем в недоумении по поводу того, зачем медку доступ к лайфу, но так как последний день отчета добавляем разрешение туда ходить
перечитываем правила шлюза и проверяем:
Данная проблема возникает не только с медком, но и с клиент-банками, да думаю с любым активно развиваемым приложением может возникнуть и это способ оперативного ее решения.

P.S.
в комментариях буду постить появляющиеся ресурсы, кому интересно следите за комментариями.

2 комментария: