Погуглил на тему, получается наиболее часто используемый вариант — фильтрующее proxy приложение для каждого конкретного протокола (HTTP, FTP, SMTP и т.д.) А какие ещё можно использовать решения? есть ли более универсальные?
Здравствуйте, wr123, Вы писали:
W>Погуглил на тему, получается наиболее часто используемый вариант — фильтрующее proxy приложение для каждого конкретного протокола (HTTP, FTP, SMTP и т.д.) А какие ещё можно использовать решения? есть ли более универсальные?
Winsock LSP (Layered Service Provider). Как вариант (возможно, не самый лучший).
Работает на уровне TCP. Но реализация достаточно сложная и полна тонкостей, присущих сокетам.
Re[2]: Технологии фильтрации прикладных протоколов
Здравствуйте, okman, Вы писали:
O>Winsock LSP (Layered Service Provider). Как вариант (возможно, не самый лучший). O>Работает на уровне TCP. Но реализация достаточно сложная и полна тонкостей, присущих сокетам.
LSP пробовал. Конечно надо разбираться — вероятнее всего где-то накосячил, но с включённой LSP библиотекой сеть стала подниматься по несколько минут. Может напоролся на какую-нибудь из тонкостей. Теперь рассматриваю другие варианты, коих пока нашлось немного.
Где бы почитать как эту проблему решают современные программные windows фаерволы?
Re[3]: Технологии фильтрации прикладных протоколов
Здравствуйте, x64, Вы писали:
W>>А какие ещё можно использовать решения? есть ли более универсальные?
x64>Что именно ты подразумеваешь под фильтрацией? Какие требования? От этого зависит выбор архитектуры и технологий.
Под фильтрацией подразумевается примерно следующее:
пропускать или отбрасывать данные в зависимости от прикладных адресов получателя и отправителя, типа сервера (web, ftp, smtp, приложение висящее на порту, объект dcom и т.п.), пользователь под которым он запущен, запрашиваемый на сервере ресурс и т.п.
я так понимаю что на данном уровне можно получить достаточно много информации о получателе, и совсем не много о том кто посылает запрос, так что в идеале нужна технология фильтрации по всем значимым данным, которые можно получить
Re[3]: Технологии фильтрации прикладных протоколов
Здравствуйте, x64, Вы писали:
W>>...и совсем не много о том кто посылает запрос
x64>В смысле — "кто"? Процесс? Пользователь? Что под этим подразумевается?
Процесс, пользователь, любой клиент, обращающийся по сети например к web серверу, или вызывающий функции через dcom.
Re[5]: Технологии фильтрации прикладных протоколов
Здравствуйте, wr123, Вы писали:
W>Под фильтрацией подразумевается примерно следующее: W>пропускать или отбрасывать данные в зависимости от прикладных адресов получателя и отправителя, типа сервера (web, ftp, smtp, приложение висящее на порту, объект dcom и т.п.), пользователь под которым он запущен, запрашиваемый на сервере ресурс и т.п.
Насколько понимаю, вам интересен не только исходящий трафик и все, что можно получить на клиенте, но и данные, которые приходят, например, от удаленного сервера. Для этого нужно сначала определить к какому протоколу прикладного уровня принадлежат эти самы данные. Для Windows я не встречал готовых решений, но для Linux есть l7-filter. Этот модуль умеет определять на основе регулярных выражений к какому протоколу приклядного уровня относится пакет. Список распознаваемых протоколов, а также их регулярные выражения можно взять отсюда.
W>я так понимаю что на данном уровне можно получить достаточно много информации о получателе, и совсем не много о том кто посылает запрос, так что в идеале нужна технология фильтрации по всем значимым данным, которые можно получить
Для получения информации о локальном пользователе, достаточно будет того, что вам тут подсказали уже. Для получения полной информации об удаленном ресурсе придется анализировать трафик сетевого, транспотрного и прикладного уровня (если он не шифрованный).
С уважением,
Евгений
Re[6]: Технологии фильтрации прикладных протоколов
Здравствуйте, x64, Вы писали:
W>>Процесс, пользователь...
x64>Эту информацию ты без проблем получишь в TDI-фильтре. Всё, что касается NDIS, тебе уже сразу не подходит.
а можете посоветовать хороший пример TDI-фильтра?
насколько я понял из разных источников, TDI поддерживается до Vista включительно, а Windows Filtering Platform только начиная с vista или можно обеспечить её поддержку в XP и 2003?
Re[7]: Технологии фильтрации прикладных протоколов
W>а можете посоветовать хороший пример TDI-фильтра?
Я бы свой код посоветовал, но он платный. А так, ну tdifw посмотри, правда, надо быть внимательным, там есть грубые ошибки, например, в синхронизации.
W>насколько я понял из разных источников, TDI поддерживается до Vista включительно...