Проверка трафика на вирусы squid
Разное.
Главное событие недели случилось неожиданно. В любимой московскими чиновниками игре "за власть" кто-то наплевал на правила, и поменял "снос". В результате господин Рейман "получил" во владение уже месяц как упраздненное министерство.
Впрочем, смакование подковерной борьбы оставим традиционным газетам форматов от A4 до Tabloid. Важнее результат. Хоть какая-то призрачная надежда на перемены к лучшему угасла. Прежний министр, прежние люди, прежний тотальный непрофессионализм, безграмотность и "бескорыстное" лоббирование.
Только лицензий и сертификатов обещают сделать больше. Что бы независимые операторы не расслаблялись, и платили, платили. Нет, не государству конечно, что за глупость. Есть же специальные частные фирмы для этого! Тут надо дать слово профессионалу - Особенности национальной сертификации и Черная дыра Антона Богатова.
Традиционная цитата. Можно много говорить о достоинствах и недостатках отечественной сертификации вообще и системы ССС в частности. Ясно одно: сертификация в России нуждается в радикальной реформе, поскольку в нынешнем виде имеет место элементарная профанация международной практики подтверждения соответствия, что наносит серьезный ущерб и национальным операторам связи, и поставщикам и производителям оборудования, а главное - мировой репутации России.
И с этим трудно не согласиться - тем более на фоне "возвращения" минсвязи.
:-(
Перейдем к забавному. На дворе весна, и нужно поздравить читателей с наступлением садово-огородного сезона (прислал Sergei Bershadsky).
Вот интересно, подвязывать малину можно только патчкордами Категории 5, или Категория 3 то же сгодится?
И еще одно весеннее фото, почти такое же значимое, как прилет грачей в российском сельском хозяйстве.
Грозозащита стояла на абонента. Свитч Surecom, пятипортовый, в металлическом ящике, все порты защищены аналогичными устройствами. Постороннего проникновения в ящик не было. Механического повреждения не было.
Однако порт целый, компьютер абонента целый, остальные защиты целые. Разорван основной защитный элемент (высоковольтный стабилитрон), оплавлен провод заземления, линейные элементы (диоды) целые. Что могло случиться - загадка до сих пор.
Ну и самое интересное (на мой взгляд) событие в домашних сетях - даже не за неделю, а по крайней мере за месяц. Пользователь домашней сети теперь может заработать на трафике.
Краткий смысл проекта. Деньги получают абоненты - владельцы интернет-ресурсов (ftp-архивов). Если у пользователя есть файловый архив и он зарегистрирован в каталоге КАБiNET, то за каждый мегабайт трафика, скачанный с него абонентами КАБiNET из других сегментов, на его лицевой счет перечисляется 5 копеек. Для того, кто трафик скачивает, он стоит 20 копеек.
С момента начала проекта прошло всего несколько дней, но уже можно говорить о успехе. В каталоге зарегистрировано более 300 ресурсов пользователей (это из почти 6000 абонентов сети). Подробной статистики нет, но известно, что одному пользователю за день было начислено 72 рубля (т.е. с его компьютера было скачано 1440 мегабайт).
Конечно не хорошо считать деньги в чужом кармане. Но с провайдерами интереснее говорить именно о бизнесе, а значит и о прибыли - тут никуда не деться. Несложно подсчитать, что фирма-организатор проекта получила за день на одном из участников проекта 216 рублей. И это на третий день работы файлового архива.
Если сделать приблизительную прикидку, то с 300 ресурсов и при распространении идеи в массах абонентов, можно будет получать около $500 в день, или $10-15 к$ в месяц. Не то, что бы это было очень много для сети такого большого масштаба, но лишние $1-2 с абонента получить вполне вероятно. А это уже совсем не плохо.
Конечно есть и подводные камни - при активном потреблении внутренних ресурсов может упасть более выгодный (для оператора) внешний трафик. Хотя это маловероятно - "тяжелые" ресурсы в Екатеринбурге мало кто потребляет в заметных объемах, это слишком дорого (3-4 рубля за мегабайт). С другой стороны, у "перепродажи" внутреннего трафика есть резерв роста - сейчас подсчет ведется только между сегментами, внутри (а это 200-300 пользователей) ничего не считается.
Думаю, более точные результаты будут известны через несколько месяцев. А пока - есть только интересная и довольно красивая идея, как можно загрузить сеть трафиком без особых вложений. Ну и не без прибыли, конечно. ;-)
Обновления в разделах.
Минули те времена, когда по сети можно было ходить "просто так". Современный интернетчик снаряжен как рейнджер - без "свежего" фаервола, антивируса и антитрояна выходить за пределы локалки можно. Но не долго.
При широкополосном подключении достаточно одного неосторожного клика мышью. И компьютер превращается в бомбу немедленного, или, хуже того, замедленного действия. Да, в 95% случаев в появлении вирусов виноваты сами пользователи. Но бывает, что от неприятностей не спасает даже 15-ти летний опыт работы в интернет.
Поэтому предлагаю текст, который написал Эдуард Афонцев, Екатеринбург.
Пакетные фильтры и их модификации.
К первой группе несомненно относится linux netfilter - штатный файерволл в современных linux ядрах. После наложения дополнительного патча становится возможно настраивать пакетный фильтр для фильтрации по содержимому пакетов. Например, для блокирования вируса Code Red достаточно запретить прохождение пакетов, содержащих подстроку "cmd.exe" :
iptables -I INPUT -j DROP -p tcp -m string --string "cmd.exe"
Layer 7 filter - это новый пакетный классификатор для ядра linux. В отличие от других классификаторов, данный выполняет поиск регулярных выражений на уровне приложений. Практически представляет собой патч для linux ядра и iptables. В принципе является расширением netfilter для обработки layer 7 трафика.
Предназначен для фильтрации не на транспортном уровне, как большинство файерволлов, а на уровне приложений. Создает дополнительную очередь в netfilter, которую можно обрабатывать например антивирусной проверкой. В настоящее время данный проект еще не реализован в виде программного кода.
IDS (системы детектирования вторжений).
Snort - это мощный перехватчик и анализатор сетевого трафика, основанный на библиотеке libpcap. Может производить как анализ протоколов (выявлять пакеты несоответствующие стандартам) так и анализ сигнатур (в перехватываемых пакетах выявляются враждебные образцы). Как таковой антивирусной проверки не производит, но может сигнализировать о характерном для распространения вирусов трафике и с использованием многочисленных расширений управлять файерволлами для блокирования.
Расширения проксирующих серверов по принципу встраивания в цепочку передаваемых данных.
По сути php скрипт, осуществляющий антивирусную проверку в сложной цепочке:
В настоящее время проект заморожен.
Mod_clamav - это Apache 2 фильтр, который сканирует контент, доставляемый модулем mod_proxy, используя clamav антивирус. Для того, чтобы при обработке больших файлов браузер не выдавал таймаут, браузеру раз в минуту передается по байту запрошенного содержимого.
Mod_vscan является аналогом mod_clamav, только для проверок используется open antivirus.
Squid-vscan представляет собой патч для прокси сервера squid, позволяющий сканировать передаваемые данные на наличие вирусов. Входит в проект open antivirus.
В принципе dansguardian предназначен для фильтрации передаваемого контента в связке с прокси сервером squid. Существует патч для добавления антивирусных проверок.
Расширения прокси серверов на основе специальных протоколов.
Вероятно, первыми были программисты фирмы CheckPoint, предложившие для своих продуктов протокол CVP (Content Vectoring Protocol). Однако в силу нераспространенности мы его рассматривать не будем.
По пути использования протокола icap пошли такие известные производители программного обеспечения как drweb, symantec, trend micro. Думаю, что ожидаются и другие.
Рассмотрим некоммерческие решения.
Shweby - прокси сервер с поддержкой ICAP протокола, что позволяет передавать данные ICAP серверу, который может осуществлять антивирусную проверку.
Основанный на ICAP программный комплекс для фильтрации интернет контента.
Расширение известного прокси сервера squid для поддержки ICAP протокола. Наиболее перспективное решение, позволяющее осуществлять антивирусную (и не только) обработку кэшируемого контента. Недаром программисты DrWeb, сначала использовавшие подход viralatora, в дальнейшем перешли на squid + ICAP (практически разработав ICAP сервер с функциями антивирусной проверки).
Выводы.
Практически все решения на основе пакетных фильтров базируются на расширении функций подсистемы netfilter ядра ОС linux. Очевидно, что полноценная антивирусная проверка в данном случае трудновыполнима - ведь на транспортном уровне (TCP/IP) данные представлены в виде отдельных блоков. Наиболее просто осуществлять поиск отдельных регулярных выражений (вирусных сигнатур), что и реализуется. В принципе, на мой взгляд, аналогичное решение можно выполнить, используя netgraph ОС FreeBSD, но пока подобных проектов нет.
Использование систем IDS позволяет отследить и блокировать поток данных, генерируемый вирусами, тем самым предотвращая их распространение. Однако данный метод ограничен только вирусами, использующими сетевые функции.
Наиболее эффективным является использование прокси сервисов - приложение посредник имеет большие возможности по обработке передаваемых клиенту данных.
Широкораспространенный прокси сервер squid (http, ftp) допускает подключение внешних программ (редиректоров) для манипуляций с обрабатываемыми url. Запрашиваемый клиентом url передается редиректору, который может с ним манипулировать и возвращать результат для дальнейшей обработки прокси серверу. Недостатки данного метода для антивирусной проверки выражаются в том, что обращение к редиректору происходит до скачивания данных прокси сервером и необходимо принимать дополнительные меры для кэширования и предотвращения таймаутов для клиентской программы.
Остается применение прокси сервисов с поддержкой протокола ICAP - наиболее современное и развивающееся на сегодня решение. По этому пути пошли известные производители антивирусных решений, такие как Symantec, Trend Micro, Dr Web. Однако к великому огорчению некоммерческого программного продукта (сервера icap с антивирусной проверкой) пока нет.
Небольшие зарисовки.
Вот так выглядит "малобюджетная стойка".
Прислал Юрий, компания Имилайн
Небольшая зарисовка о интернете в Казахстане, прислал Дибров Вадим.
Раньше жил я в Казахстане, в Кустанайской области (граничит с Челябинской) и сейчас иногда туда езжу.
Так вот, с интернетом там беда. Нет, возможно в столице, Акмоле, все нормально, но в моем городе (Рудный, 140 тыс. население) и в областном центре, Кустанае, ситуация печальная. Самое распространенное подключение, diulUp есть 2-х видов, внутренний и внешний. Они так его и называют, казахский интернет и российский интернет. Единый модемный пул, универсальный для любого региона, как и тарифы. Как руснет так и казнет, номера телефонов отличаются незначительно. Набирается как межгород, через 8-ку. Подключение через КазНет ограничивает работу только казахскими ресурсами, видимо по IP. Внешние ресурсы не пингуются. В моем городе других вариантов подключения нет. Слово "провайдер" там не знают. Даже крупнейшее в регионе предприятие – горно-обогатительный комбинат (3 огромнейших карьера, добывающих железную руду) до недавнего времени ходило в нет через обычные модемы. Совсем недавно на этом предприятии появился xDSL. Установка антенн на здании (прислал Александр Авдеев): Думаю что здание на фотографиях представлять не нужно. Верхолазы.Вот так вот приходится иногда ставить антенны (прислал Yury Green): Это явно не крыша 5-ти этажки. Да и антенна серьезная планируется. Анонс
Есть разные способы свызывания Squid&Havp, вплоть до [5], я остановился на такой схеме: User->Squid->Havp->WWW. Преимуществом даного метода есть то, что в кеш не попадают вирусы, и файлы которые отдаются пользователям из кеша прокси не сканируются по несколько раз антивирусом. Теперь касаемо железа: HAVP очень любит RAM, к процессору заметных требований не наблюдалось. Из примеров - на мегабитном канале с месячным трафиком порядка 30гб и 20 пользователями нагрузка на процесор 300Mhz около 10% и порядка 150мб занято ОЗУ. На более нагруженных серверах еще не проверял. В дальнейшем подразумевается что имеется УЖЕ рабочий настроеный сквид. Рассматривать настройку сквиды нет смысла, об этом не писал только ленивый, и установка простейшей конфигурации на FreeBSD не представляет никаких проблем. Установка За собой оно потянуло следующее:
После успешной сборки делаем Clamav Это чтобы freshclam не ругался на незапущенный clamd: WARNING: Clamd was NOT notified: HAVP Теперь нужно переместить шаблоны сообщений HAVP (русские, английские или все что есть). Также надо создать файлы чернобелых списков для havp: Пробуем стартовать havp: Скорее всего полет нормальный, порт слушается, havp запустился. в логах:
Если сквид сконфигурирован с delay pools - то перезапускаем его, иначе можно просто передернуть: размещено: 2008-05-20, Первый нах! Мега-респект! Долго трахался с icap (безуспешно), поэтому статья очень полезна. psj, 2008-05-20 в 18:30:39 АГРОМАДНОЕ СПАСИБО. Всё завелось с полпинка Т.к. ссылки на обсуждение в форуме нет, пишу тут. 1) Проверял ли автор реакцию пользователя на скачивания больших файлов? ИМХО Пользователь часто в Виндовсе нажимает скип и повторно пытается закачать файл, если не видит прогресса статус-бара по скачиванию. sava, 2008-05-20 в 21:47:10 c_icap с третьим сквидом кстати (!)почти прекрасно работает, единственное из-за чего отказался - невозможность докачки файлов. razor, 2008-05-21 в 9:45:50 юзал довольно длительное время пока не уперся в невозможность сабжа и delay_pool"ов. не работают пулы при этом похоже :( Да вот по поводу вопроса FreeDy, действительно интересно 2FreeDy: HAVP я уже внедрил на 3х среднемелких конторах - пока никаких жалоб. Юзеры абсолютно ничего не заметили. 2razor razor, 2008-05-21 в 10:48:13 2 KrivoSoft Sash, 2008-05-21 в 10:52:47 не совсем понятно каким макаром конфиги править. вот, например, что значат стрелочки вот тут и других конфигах? 2razor 2Sash З.Ы. Я ссылку на форум дорисовал, вопросы плз туда. Sash, 2008-05-21 в 11:26:54 kazavochka, 2008-05-22 в 12:33:48 Ничего не поняла, но судя по количеству буквочек все должно быть очень интерестно! PainKilleR, 2008-05-24 в 20:05:06 Жесть! Всё завелось! Спасибо! Вот еще что придумал: (не забываем права! 555, root:wheel) yesterday=`/bin/date -v-1d "+%d/%m/%Y"` echo Еще вылезла "фича" - для того чтоб работало радио через прокси желательно в конфиге havp раскоментировать строчку: ashgdw, 2008-06-25 в 16:37:12 Дает ошибку часто"HAVP Ошибка при запросе службы доменных имён." Скорее всего какие то проблемы с разрешением имен с этой машины. Смотри конфигурацию ДНС. ashgdw, 2008-06-25 в 19:34:53 Блин, ступил, проблема была в squid. Супер! Молодец что отписался с пол пенка взлитело, скоро поставлю на свои два объекта там примерно 20 и 50 машин потестирую, серванта конфиг 2 гб озу двуядерный интел с 3 метрами кеши и обслуживает 3 сети, 3 интерфейса смотрят во внутерь, посмотрим там и анти спам с анти вирусом ещё постфикс контролируют! Огромное спасибо за статью. Amadeus, 2009-03-27 в 15:19:22 Автору респект) сейчас делаю так сказать мфу сервер для удаленной сети)данное решение взлетело без проблем и косяков. gonzo111, 2009-07-02 в 13:34:20 опечатка в /usr/local/etc/clamd.conf вместо MaxFileSize 8M,MaxRecursion 3,MaxFiles 1500 /dev/VolGroup00/LogVol00 / ext3 defaults,mand 1 1 Уважаемый, скорее всего вы забылы установить драйвера для рук :-) guest777, 2010-02-04 в 17:23:14 большое спасибо за статью, прикрутил к самсу, все работает (пока никто не жаловался), спасибо. Автору респект! все работает, вроде. Все работает. ZPH: Preserving TOS on miss, TOS=0 Весь лог забит. Тупит интернет после установки HAPV. Особенно при попытке скачать файл. viv, 2012-07-06 в 8:54:30 Спасибо огромное за статью. сразу все заработало, прикрутил к связке [url=http://www.lissyara.su/articles/freebsd/traffic_count/squid+sams+rejik/] , мну доволен =) 8.3-RELEASE FreeBSD 8.3-RELEASE #0: Mon Apr 9 21:23:18 UTC 2012 root@mason.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC amd64 Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки. В предыдущей статье (см. СР № 10 за 2005 г.) я описал настройку совместной работы ClamAV и Samba для прозрачной проверки загружаемых файлов. Но Samba - не единственный источник потенциальной вирусной угрозы, обычный веб-серфинг представляет собой намного большую угрозу, поскольку является внешним источником опасности. Samba же - внутренний источник. В антивирусной защите следует прежде всего контролировать (проверять) всю поступающую извне информацию, и на сегодняшний день один из основных таких источников - Интернет. В этой статье я обратил внимание на проверку веб-трафика, проходящего через Squid на вирусы, используя ClamAV и c-icap. Я принимал участие в бета-тестировании ICAP-демона от DrWeb, остался им доволен (несмотря не некоторые проблемы, не решенные на этот момент), но финансовая сторона вопроса меня сильно ограничивает, поэтому, в очередной раз, мой выбор пал на ClamAV. получение необходимых файлов установка и настройка ClamAV О процессе установки и настройки ClamAV можно более подробно узнать из предыдущей статьи - "Использование ClamAV для проверки ресурсов Samba". Для работы не понадобится работающий демон clamd, так что можете смело пропустить его конфигурирование (clamd.conf), если он не используется или не будет использоваться в иных целях. c-icap использует свой антивирусный модуль, основанный на ClamAV, поэтому нас интересует наличие в системе libclamav (он должен там быть, если установлен ClamAV). В случае отсутствия в системе libclamav c-icap просто не соберется. установка и настройки c-icap с поддержкой ClamAV Распакуем архив c_icap-220505.tar.gz в /usr/src (или туда, где у вас лежат исходные коды). configure в каталоге с исходниками c-icap следует запускать со следующими параметрами: $ ./configure --enable-static --with-clamav --prefix=/usr/local/c_icap /* Или так, например, если --prefix=/opt/clamav для configure от ClamAV: Демон c_icap собирается статически. --prefix так же можно указать по вкусу. /* Можно попробовать и так: У меня необходимости в этом не было. */ Создайте каталог /var/infected и сделайте его владельцем пользователя nobody. Произведем пробный запуск c-icap: установка и настройка прокси-сервера Squid Распакуем в /usr/src сорсы Squid’а: На данном этапе мы имеем рабочий Squid, но без поддержки ICAP, то есть обычный кэширующий прокси-сервер. добавим поддержку ICAP Для поддержки ICAP в squid.conf должны быть добавлены следующие строки: icap_service service_avi_req reqmod_precache 0 icap://localhost:1344/srv_clamav icap_class class_antivirus service_avi service_avi_req Добавьте прокси-сервер в вашем браузере (если проксирование не прозрачное) и откройте страницуhttp://www.eicar.com/anti_virus_test_file.htm.Попытайтесь скачать файл eicar.com. Если вы увидите подобное сообщение "A VIRUS FOUND . " - значит все работает нормально. Обратите внимание, что кэш прокси-сервера не должен содержать инфицированных объектов! Поэтому, перед началом использования Squid совместно с c-icap кэш лучше очистить. обновление антивирусных баз ClamAV Добавьте freshclam в crontab, как это сделать описывалось в предыдущей статье. Реинициализация баз c-icap производится каждые srv_clamav.VirUpdateTime минут, этот параметр можно указать в c-icap.conf (по умолчанию - 15 минут). файл c-icap.magic и типы проверяемых объектов Данный файл может быть найден в том же каталоге, что и c-icap.conf, он представляет собой описание форматов различных групп-типов файлов (TEXT, DATA, EXECUTABLE, ARCHIVE, GRAPHICS, STREAM, DOCUMENT - определенные группы в c-icap.magic по умолчанию). Антивирусная проверка строится по типам файлов, проходящих через проски-сервер, некоторые типы, например, можно исключить или добавить свои типы. Формат записи строки, для определения файла по его magic-числу (последовательности): Обратите также внимание, что в c-icap.conf параметр srv_clamav.ScanFileTypes определяет группы и типы файлов (можно прописывать и группы, и типы), которые следует проверять. Что определяет srv_clamav.VirScanFileTypes я окончательно не понял, но подозреваю, что принудительно проверяемые группы файлов (EXECUTABLE и ARCHIVE по умолчанию) либо группы файлов, которые пользователю скачивать запрещено. Если возникают проблемы с недоступнойстью некоторых файлов заданных типов, то предполагаю, проблема может скрываться в этой опции. В моем конфиге c-icap вышеописанные параметры выглядят так: 1. Squid выдает сообщение "ICAP protocol error", страницы не открываются. 2. Squid выдает сообщение "ICAP protocol error" только на некоторых страницах (на одних и тех же). Также неплохо посмотреть логи c-icap. Теперь и веб-серфинг защищен от вирусов и прочего вредоносного кода (в том числе и некоторых эксплойтов для MSIE), теперь можно путешествовать по Интернет намного безопаснее. Как корпоративное решение для сервера с большой нагрузкой этот метод не опробован, но, думаю, может быть реализован (хотя бы потому, что нагрузку можно распределить на несколько ICAP-серверов). Как решение для небольшой организации - вполне актуально. О некоторых принципах работы протокола ICAP на русском можно узнать из руководства DrWeb-ICAPd - одна из успешных коммерческих реализаций протокола ICAP. Также можно прочесть RFC 3507. Комфортной и безопасной вам работы! Спасибо за внимание. Читайте также:
Пожалуйста, не занимайтесь самолечением!При симпотмах заболевания - обратитесь к врачу.
Copyright © Иммунитет и инфекции
|