adsl club

Справочник

Форум

Программы

Фильмы

Ресурсы

Файлообмен

Хостинг

Ростелеком
webstream IP фильтр для linux
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)*NIX OS
Автор Сообщение
eein
Начинающий
СообщениеДобавлено: Сб 3-05-08 : 15-14    Заголовок сообщения: webstream IP фильтр для linux Ответить с цитатой

Привет линуксоидам!

Есть софтина, наподобие IP фильтра в DC++ для винды, только работает на уровне всей системы. Плюс локальная тарификация, можно налету отслеживать объемы и стоимость трафика. Выложил на rapidshare.ru (внешка!) и adslclub

Описание:

WebStream Filter
— это комплексное решение для абонентов Новосибирского филиала ОАО «Сибирьтелеком», пользующихся услугой широкополосного доступа. Работает только на Linux-совместимых операционных системах. Решает следующие задачи:

ограничение сетевого трафика локальной сетью, выбранными службами и зонами агрегации;

автоматическое обновление списка зон агрегации с сайта;

учет всех заблокированных и разрешенных пакетов;

получение всевозможной статистической информации по трафику, в том числе и месячный объем и стоимость трафика по зонам агрегации.

Учет разрешенных пакетов и работа со статистическими данными возможны только при соответствующей настройке mysql сервера.

Применение данного комплекса позволяет вне зависимости от используемого программного обеспечения обезопасить себя от «случайного» скачивания фильма по цене внешнего интернета, от несанкционированного доступа извне, от автоматической рассылки данных «умными» программами, и от других неожиданностей, которые стали возможными благодаря быстрому и постоянно доступному интернет соединению.

Как это работает?
Нажмите сюда, чтобы просмотреть текст


Основная работа, выполняемая webstream-filter — грамотно задействовать стандартные компоненты: iptables, ulogd, mysql, cron и anacron.

iptables фильтрует весть трафик рабочей станции на основе правил, закладываемых в него при запуске webstream-filter и запоминаемых между перезагрузками в файле /etc/firewall.conf.

ulogd получает информацию обо всех пакетах от iptables и сохраняет ее либо в специальных логах, либо в базе данных, в зависимости от настроек в файле /etc/ulogd.conf.

mysql является хранилищем исходных данных ulogd, а так же агрегированных статистических и различных отчетов на их основе.

cron ежеминутно запускает специальный скрипт gain_statistic.sql, который преобразует сырые данные ulogd в сжатые статистические, позволяя добиться при этом экономии места на жестком диске до 99%, что так же крайне благоприятно сказывается на скорости выполнения запросов. При этом данные практически не теряют информативности.

anacron ежедневно запускает webstream-filter в автоматическом режиме обновляющем список разрешенных зон агрегации.

firewall запускается каждый раз при запуске сетевых интерфейсов, т.к. находится в /etc/network/if-pre-up.d; он восстанавливает сохраненное состояние iptables из /etc/firewall.conf.

construct_database.sql заполняет выбранную схему базу данных всеми необходимыми объектами.

webstream-filter.conf и webstream-zones.js содержат большинство основных настроек пакета.


Пошаговая инструкция по установке
Нажмите сюда, чтобы просмотреть текст


Для начала нужно определиться, хотите ли вы не только блокировать нежелательный трафик, но и получать статистическую информацию по всему — и блокированному, и разрешенному — трафику. В последнем случае потребуется установить и настроить mysql сервер (что не так сложно, как может показаться).

Если вы решили устанавливать mysql:

Установите пакеты mysql-server, mysql-client, mysql-admin,

mysql-query-browser.

Подключитесь к mysql с помощью mysql-admin с правами root.

Создайте пользователя webstream и схему webstream, дайте этому пользователю все права на эту схему.

Прежде чем продолжить настройку mysql необходимо отредактировать конфигурационные файлы webstream-filter.conf и webstream-zones.js.

Откройте /etc/webstream-filter/webstream-filter.conf и отредактируйте следующие параметры:

LOCAL_NETWORK — локальная подсеть в формате

<адрес подсети>/<количество старших значащих бит>.

ACCESS_SERVICE — список портов, доступ к которым и доступ с которых открыт к вашему компьютеру извне с любого адреса при передаче данных по протоколам tcp/udp.

DB_USER, DB_PASSWORD, DB_SCHEMA — настройки подключения к базе данных mysql. Введите такие же значения, которые задавали на шаге 2. Если вы не собираетесь использовать mysql, просто закомментируйте все три строки с помощью #.

LOG_DROP_ONLY — установка данного параметра в 1 приведет к тому, что ulogd будет получать информацию только по блокированным пакетам. Данная опция необходима, если вы собираетесь использовать лог файлы, вместо mysql, иначе т.к. их размер будет слишком велик и вы не сможете в них ориентироваться.

JAVA — путь к виртуальной машине Sun Java SE версии не ниже 1.6.

Остальные параметры лучше оставить по-умолчанию.


Откройте /etc/webstream-filter/webstream-zones.js и отредактируйте следующие параметры:

Четыре параметра db_connect — настройки подключения к базе данных, аналогичны шагу 3. Если вы не используете mysql, закомментируйте строки с помощью //.

Остальные настройки должны вас устроить по-умолчанию.

Теперь можно завершить установку mysql, заполнив выбранную схему необходимыми объектами. Для этого просто запустите скрипт /usr/share/doc/webstream-filter/construct_database. Если в процессе его выполнения возникла какая-либо ошибка — устраните ее и запустите скрипт заново. Не забудьте убедиться, что mysql автоматически запускается каждый раз при загрузке системы (для этого удобно использовать пакет sysv-rc-conf).

Для настройки ulogd отредактируйте /usr/share/doc/webstream-filter/ulogd.conf и замените им /etc/ulogd.conf. По-умолчанию ulogd настроен на использование mysql, вам осталось только уточнить параметры в секции [MYSQL]. Если же вы намерены использовать логи, то закомментируйте строчку plugin=... ulogd_MYSQL.so и раскомментируйте ulogd_OPRINT.so. Остальные опции оставьте как есть — они настроены на оптимальную производительность. Не забудьте убедиться, что ulogd также автоматически запускается каждый раз при загрузке системы.

Теперь, когда все вспомогательные компоненты настроены, запустим установку iptables с помощью команды sudo webstream-filter -i. Такой запуск нужно сделать только один раз и желательно в то время, когда не запущено каких-либо критически важных сетевых процессов, т.к. они могут быть заблокированы новой политикой безопасности. Тут же будет запущена процедура получения зон агрегации с сайта ОАО «Сибирьтелеком». С этого момента для вашей рабочей станции будут разрешены только следующие сетевые взаимодействия:

все псевдо-сетевые взаимодействия внутри компьютера, причем информация о них не будет попадать в ulogd;

все взаимодействия с рабочими станциями локальной сети, заданной параметром LOCAL_NETWORK;

доступ ко всем серверам интернета по протоколам tcp/udp по портам указанным в параметре ACCESS_SERVICE;

доступ ко всем компьютерам сети WebStream, находящихся в зонах льготной агрегации.


Если вы настроили ulogd на использование mysql, то с этого момента начала заполняться таблица ulog, и нужно настроить cron на ежеминутное выполнение скрипта gain_statistic. Иначе таблица ulog довольно быстро вырастет до огромных размеров. Запустите в терминале

sudo crontab -u root -e

и вставьте под заголовком следующую строку обязательно закончив ее переводом строки:

* * * * * /lib/webstream-filter/gain_statistic

С помощью команды tail /var/log/syslog убедитесь, что скрипт gain_statistic запускается ежеминутно без ошибок.

Вам остался последний шаг — настроить anacron на ежедневное обновление зон агрегации. Для этого вставьте в файл /etc/anacrontab следующую строку так же убедившись, что каждая строка файла заканчивается переводом строки:

1 15 webstream-filter webstream-filter -z -s

Возможные проблемы и пути их решения
Первая проблема, с которой вы наверняка столкнетесь, блокировка не только нежелательных, но и желательных пакетов. В зависимости от настройки, информацию об отброшенных пакетах вы можете найти либо в базе данных через вид last_drop, либо в логе /var/log/ulog/pktlog.log. Обнаружив интересующие вас пакеты, добавьте соответствующие порты в параметр ACCESS_SERVICE и запустите sudo webstream-filter -m.

Запустив webstream-filter без параметров вы сможете увидеть текущее состояние iptables не изменяя их. Запуск же с параметром -u позволит целиком обновить правила (эквивалентно -m -z). Добавление параметра -s подавляет вывод запроса на просмотр конфигурации iptables.

Возможно вам потребуется более тонкая настройка правил доступа к внешним серверам, или же понадобится обеспечить доступ к определенным сервисам извне — это можно сделать отредактировав скрипт webstream-filter. Дополнительная информация может быть получена из файлов protocol-numbers и port-numbers, а так же страницы руководства man iptables.

В данный момент отчет total_bill не учитывает накопительную скидку на внешний трафик, полагая, что днем один мегабайт всегда 2 рубля, а ночью 1. Размер бесплатного трафика, включенного в абонентскую плату так же не учитывается.


Обратная связь
Данное ПО предоставляется как есть, без каких либо гарантий и ответственности с моей стороны. Однако вы можете связаться со мной по вопросам, касающимся данного ПО.

Александр Курамшин

eein@mail.ru icq: 168404573 webstream-filter на sourceforge.net
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
blackschool
Продвинутый форумчанин
СообщениеДобавлено: Сб 3-05-08 : 18-00    Заголовок сообщения: Ответить с цитатой

Молодец, Александр!

Как понимаю, это backend? Иксовой оболочки нет пока что к программе?
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение Посетить сайт автора   Номер ICQ
Swiflbluz
Продвинутый форумчанин
СообщениеДобавлено: Вс 14-12-08 : 16-50    Заголовок сообщения: Ответить с цитатой

вобщем эта штука тупо отрубает весь инет
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
fish88
Эксперт
Предупреждений : 3
СообщениеДобавлено: Вс 14-12-08 : 19-36    Заголовок сообщения: Ответить с цитатой

для помегобайтников что ли?
Swiflbluz
товарищь, не мучай линух, поставь хрюшу себе!)
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
ProFfeSsoRr
Гуру
СообщениеДобавлено: Вс 14-12-08 : 21-09    Заголовок сообщения: Ответить с цитатой

Цитата:
вобщем эта штука тупо отрубает весь инет
внимательно читаем шапку и не пишем глупостей.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
Swiflbluz
Продвинутый форумчанин
СообщениеДобавлено: Вс 14-12-08 : 22-06    Заголовок сообщения: Ответить с цитатой

я всё по инструкциии сделал
и ваще всё перекрыло
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение  
ProFfeSsoRr
Гуру
СообщениеДобавлено: Вс 14-12-08 : 23-59    Заголовок сообщения: Ответить с цитатой

Ну а нафига оно тебе вообще надо? А если надо - так разбирайся. Если уж такая подробная инструкция есть, значит работает штука.
 Наверх
Посмотреть профиль / Отправить личное сообщение Отправить личное сообщение   Номер ICQ
Показать сообщения:   
Ответить на тему    Форум АДСЛ КлубаЦИФРОВОЙ ФЛЕЙМ :)*NIX OS Часовой пояс: GMT + 7
Страница 1 из 1

 

 
Аватары: Вкл|Выкл   ЮзерИнфо: Вкл|Выкл   Подписи: Вкл|Выкл
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы можете скачивать файлы