Здравствуйте!Передо мной встала такая проблема: есть сервер, трафик через который гонится несколькими юзерами (они работают под VPN: openvpn и pptpd). Кто-то из них начал баловаться подбором паролей к какому-то иностранному серверу. К нам соответственно пришла абуза...
Очень хочется найти этого нехорошего юзера и наказать.Выход, как мне кажется, в логгировании многократного обращения к одному и тому же хосту. Но т.к. я крайне начинающий админ, мне трудно понять как сделать правильный конфиг для iptables для решения этой проблемы. В итоге мне нужно чтобы в логи попадал реальный ip юзера.
Может у опытных админов есть свои решения этой задачи.
>[оверквотинг удален]
> Передо мной встала такая проблема: есть сервер, трафик через который гонится несколькими
> юзерами (они работают под VPN: openvpn и pptpd). Кто-то из них
> начал баловаться подбором паролей к какому-то иностранному серверу. К нам соответственно
> пришла абуза...
> Очень хочется найти этого нехорошего юзера и наказать.
> Выход, как мне кажется, в логгировании многократного обращения к одному и тому
> же хосту. Но т.к. я крайне начинающий админ, мне трудно понять
> как сделать правильный конфиг для iptables для решения этой проблемы.
> В итоге мне нужно чтобы в логи попадал реальный ip юзера.
> Может у опытных админов есть свои решения этой задачи.Если вы хотите отслеживать подозрительную активность с помощью netflow, могу дать примеры использования модулей recent и hashlimit.
Однако в вашем случае, лучше тупо воспользоваться netflow и собирать где-нибудь этот трафик, чтобы потом с лёгкостью вычислить с какого over-VPN-адреса ломиться злоумышленник. А так же вести логи, кто в какое время из под какого адреса сидел.
У вас производится NAT-ирование? Клиентские over-VPN-адреса динамические или статические?
>[оверквотинг удален]
>> как сделать правильный конфиг для iptables для решения этой проблемы.
>> В итоге мне нужно чтобы в логи попадал реальный ip юзера.
>> Может у опытных админов есть свои решения этой задачи.
> Если вы хотите отслеживать подозрительную активность с помощью netflow, могу дать примеры
> использования модулей recent и hashlimit.
> Однако в вашем случае, лучше тупо воспользоваться netflow и собирать где-нибудь этот
> трафик, чтобы потом с лёгкостью вычислить с какого over-VPN-адреса ломиться злоумышленник.
> А так же вести логи, кто в какое время из под
> какого адреса сидел.
> У вас производится NAT-ирование? Клиентские over-VPN-адреса динамические или статические?Клиентские адреса динамические.
Тут быстрей дело не в пользователе, а в машине которая заражена, и вирус или бот долбит.
Если машина даже за нат то на удаленном хосте(тот котрый долбают) нат адрес должен быть виден.
> Тут быстрей дело не в пользователе, а в машине которая заражена, и
> вирус или бот долбит.
> Если машина даже за нат то на удаленном хосте(тот котрый долбают) нат
> адрес должен быть виден.Нет, дело именно в пользователе.
> Клиентские адреса динамические.Ну дык, наверное, известно - кому конкретно был какой IP присвоен в определенный момент времени? Если да - то в цепочке FORWARD (у Вас ведь она пропускает трафик от VPN-конца пользователя "внаружу") ставите правило, типа:
iptables -I FORWARD -d IP_того_сервера_куды_лезет_пионер-хакер -j LOG --log-prefix "Hack-attempt:"
И в логах потом отлавливаете - с какого IP конца тоннеля ломились. Ну а потом по времени - вычисляете, кому был выдан этот IP в конкретный момент времени.
Вроде так....
>> Клиентские адреса динамические.
> Ну дык, наверное, известно - кому конкретно был какой IP присвоен
> в определенный момент времени? Если да - то в цепочке FORWARD
> (у Вас ведь она пропускает трафик от VPN-конца пользователя "внаружу") ставите
> правило, типа:
> iptables -I FORWARD -d IP_того_сервера_куды_лезет_пионер-хакер -j LOG --log-prefix "Hack-attempt:"
> И в логах потом отлавливаете - с какого IP конца тоннеля ломились.
> Ну а потом по времени - вычисляете, кому был выдан этот
> IP в конкретный момент времени.
> Вроде так....Не так просто. IP выдаются динамически и какой именно кому выдан мы же не знаем.
> Не так просто. IP выдаются динамически и какой именно кому выдан мы
> же не знаем.Прекрасно. Тода Вы ССЗБ. Двойка по ИТ. Желаю успехов в предоставлении VPN. Когда найдете - как узнать кому, когда и что вы выдали - можете опять вернуться к этой теме. Пока же ситуация для Вас неразрешимая.
>> Не так просто. IP выдаются динамически и какой именно кому выдан мы
>> же не знаем.
> Прекрасно. Тода Вы ССЗБ. Двойка по ИТ. Желаю успехов в предоставлении
> VPN. Когда найдете - как узнать кому, когда и что вы
> выдали - можете опять вернуться к этой теме. Пока же ситуация
> для Вас неразрешимая.Как-то это сильно не автоматически: iptables -I FORWARD -d IP_того_сервера_куды_лезет_пионер-хакер -j LOG --log-prefix "Hack-attempt:"
IP_того_сервера_куды_лезет_пионер-хакер может меняться время от времени и логично, что нужно определить не только кто лезет, но и куда. :)
А так это ручная работа получается.П.С.: Я не сисадмин. Он так сказать в отпуске, а я просто решаю проблемы.
> П.С.: Я не сисадмин. Он так сказать в отпуске, а я просто
> решаю проблемы.Вы их не "решаете". Вы почему-то решили, что Ваши проблемы должен кто-то решить за Вас. Если у Вас недостаточно знаний (что очевидно) - лучше не пытайтесь ничего "решать". Только порушите то, что было создано другим, более компетентным человеком.
>>> Не так просто. IP выдаются динамически и какой именно кому выдан мы
>>> же не знаем.
>> Прекрасно. Тода Вы ССЗБ. Двойка по ИТ. Желаю успехов в предоставлении
>> VPN. Когда найдете - как узнать кому, когда и что вы
>> выдали - можете опять вернуться к этой теме. Пока же ситуация
>> для Вас неразрешимая.
> Как-то это сильно не автоматически: iptables -I FORWARD -d IP_того_сервера_куды_лезет_пионер-хакер
> -j LOG --log-prefix "Hack-attempt:"Здесь Вам дали пример как по известному целевому серверу для атаки определить
источник проблем. В лиги попадёт его MAC-адрес, зная который уже будет проще отследить
и выявить нарушителя.> П.С.: Я не сисадмин. Он так сказать в отпуске, а я просто
> решаю проблемы.Как дополнительную меру профилактики ограничьте количество соединений во вне для
всех, тогда подбор пароля станет совсем непростой задачей. А для серфинга по сети
остальным будет и не заметно ограничений, если конечно Вы не поставите его 1 в минуту
или час. Вам реально дали работающие решения для Вашей ситуации.
>В лиги попадёт его MAC-адрес, зная который уже будет проще
> отследить
> и выявить нарушителя.Если он в одном сегменте L2, разумеется. :)
> Если вы хотите отслеживать подозрительную активность с помощью netflow, могу дать примеры
> использования модулей recent и hashlimit.Вы можете дать примеры настройки. Очень интересно.
>[оверквотинг удален]
> Передо мной встала такая проблема: есть сервер, трафик через который гонится несколькими
> юзерами (они работают под VPN: openvpn и pptpd). Кто-то из них
> начал баловаться подбором паролей к какому-то иностранному серверу. К нам соответственно
> пришла абуза...
> Очень хочется найти этого нехорошего юзера и наказать.
> Выход, как мне кажется, в логгировании многократного обращения к одному и тому
> же хосту. Но т.к. я крайне начинающий админ, мне трудно понять
> как сделать правильный конфиг для iptables для решения этой проблемы.
> В итоге мне нужно чтобы в логи попадал реальный ip юзера.
> Может у опытных админов есть свои решения этой задачи.А если пойти с другой стороны - запретить открытие большого количества соединений к одному и тому же ip. Есть возможность как-то ограничить в iptables это?
> А если пойти с другой стороны - запретить открытие большого количества соединений
> к одному и тому же ip. Есть возможность как-то ограничить в
> iptables это?Можно. iptables -I FORWARD -d IP_того_сервера -j DROP
>> А если пойти с другой стороны - запретить открытие большого количества соединений
>> к одному и тому же ip. Есть возможность как-то ограничить в
>> iptables это?
> Можно. iptables -I FORWARD -d IP_того_сервера -j DROPНе хотелось бы писать для каждого ip отдельно. ))
>>> А если пойти с другой стороны - запретить открытие большого количества соединений
>>> к одному и тому же ip. Есть возможность как-то ограничить в
>>> iptables это?
>> Можно. iptables -I FORWARD -d IP_того_сервера -j DROP
> Не хотелось бы писать для каждого ip отдельно. ))Так не делайте ничего. А то это Вам не хочется, это Вам автоматически. Ждите сисадмина.
А мой совет посмотреть openvpn конфиг и сделать настройку ,чтобы клиенту выдавался постоянный ip(2 строки раскоментировать), а потом уже искать в логах путем настройки соответствующих правил iptables.
Но вам же неохота ничего делать, так что не обращайте внимания!