Использование локальной политики безопасности сервера для управления выходом компьютеров локальной сети в Интернет.

Я расскажу Вам еще об одном варианте управления выходом компьютеров локальной сети в Интернет через сервер. На мой взгляд, этот вариант более предпочтителен для компьютерного салона, по сравнению с тем, в котором управление выходом в сеть клиентского компьютера осуществляется изменением записей маршрутизации в реестре. Конечно, при условии, что администраторский компьютер является шлюзом в Инет для всех остальных. Я осуществлял этот вариант на WinXP и на Win2K. Любознательным оставляю ссылки для более детального изучения материала - http://www. securitylab. ru/?ID=30146 и http://www. server. md/articles. php? aid=22 .

Для управления фильтрами в Win2К используется команда ipsecpol. exe (программа по умолчанию не ставиться, поэтому за ней сходите сюда - http://agent. microsoft. com/windows2000/techinfo/reskit/tools/existing/ipsecpol-o. asp), а в WinХР – ipseccmd. exe. В хрюше тоже все очень просто – на установочном диске из директории :\SUPPORT\TOOLS\ запускаете setup и выбираете Complete installation.

Обязательно пропишите в autoexec. bat путь, где лежит командный файл или скопируйте его в системную директорию в папку SYSTEM32

Итак, у вас есть сервер с выходом в Инет с реальным IP, и, как домашняя сетка – локалка с серыми адресами типа 192.168.0.1-254, т. е. все уже настроено, Локер открывает и закрывает сеансы, все компы нормально ходят в Инет и хочется только гарантировано отсечь клиента в конце сеанса, чтобы правильно взять с него денежку.

НЕ нашли? Не то? Что вы ищете?

Открываем окно Пуск\Настройка\Панель управления\Администрирование\Локальная политика безопасности. Далее правой кнопочкой на «Политики безопасности IP» и выбираем «Создать политику безопасности IP». Запускается мастер. Называем новую политику Locker и далее, со всем соглашаясь, закрываем его. В конце откроется окно свойств новой политики с одним динамическим фильтром, который нам не нужен. Устанавливаем первый фильтр, который не будет меняться. Жмем «Добавить». Открываем новый мастер. Жмем «Далее». Следующее окно «Это правило не определяет туннель» и опять Далее. Затем «Все сетевые подключения», за ним «Стандарт Win...», предупреждение «Да» и открывается список фильтров. Жмем «Добавить». Имя фильтра задаем «PermitLocal» (это мне так нравится, вы можете, как хотите). Фильтр будет разрешать любые соединения локальной сети на ваш сервер. Можете в описании расшифровать назначение фильтра. Жмем «Добавить» и опять мастер. В окне Исходный адрес оставьте «Мой IP-адрес». В окне Адрес назначения выберите «Определенная подсеть» и укажите 192.168.0.0 с маской 255.255.255.0. Не забудьте галочку в окошке «Отраженный». Далее Тип протокола – Любой и, наконец, «Готово».

В окне списка фильтров найдите свой фильтр, поставьте точку в кружочек и нажмите «Далее». В окне «Действия фильтра» уже должно быть действие «Разрешено»(Permit), если нет, создайте, отметьте его точкой и завершите мастер кнопкой «Готово».

Создание следующего фильтра я даю с опаской, потому как на одних машинах это чудесно работает, на других нет, хотя, в общем, система работает и там и там. Следующий фильтр должен запретить выход всей локальной сети в глобальную сеть. В описании действия политики безопасности говорилось, что фильтры имеют приоритет по степени детальности, т. е. первым выполнятся фильтр с адресом – Мой адрес, затем Определенный адрес, затем Определенная сеть и, наконец, Любой адрес. По протоколам такая последовательность – Определенный протокол/Определенный порт, Определенный протокол/Любой порт, Любой протокол. По идее, задавая общий фильтр запрета выхода подсети в глобальную сеть, а затем, разрешая определенной машине это действие, мы блокируем действие первого фильтра для этой машины. Однако на практике на одной машине (я ставил это на трех машинах) я не смог добиться желаемого результата и запрещающий фильтр не давал остальным фильтрам работать. Разбираться, правильно ли установлена ОС, не было времени.

Итак, второй фильтр. Он должен гарантированно отрезать всю сетку от Интернета, чтобы клиенты не могли даже помышлять об этом. Мастера будут те же, поэтому только перечислю, что должно стоять.

Название фильтра – BlockAll

Адрес источника – Определенная подсеть/Маска

Адрес назначения – Любой адрес

Отраженный

Протокол – любой

Порт – Любой

Действие фильтра – Запретить(Block)

На этом можно закрыть окно политики безопасности. Если у вас будут конфликты, удалите этот фильтр. Но тогда создайте запретительные фильтры на все компьютеры, которые по определению не должны ходить в Инет. Для остальных фильтры будет создавать сам Локер.

Самое время сказать пару добрых слов в адрес производителей программы Локер и, в частности, ее папе Сергею. Ни разу не пожалел, что купил данный продукт, потому что поддержка и перспективная доработка меня очень устраивают. Практически все мои пожелания и замечания воплощаются в последующих версиях. Большое им спасибо.

Сначала в директории Локера создайте два bat-файла. Первый назовем permit. bat и он будет открывать доступ в сеть. Даю пример для двух компьютеров. Далее путем клонирования размножьте на всю вашу сеть.

echo off

if -%1==-001 goto one

if -%1==-002 goto two

goto end

:one

ipseccmd - x - w REG - p "Locker" - r "Block001" -n PASS - f 192.168.0.2+*::TCP

goto end

:two

ipseccmd - x - w REG - p "Locker" - r "Block002" -n PASS - f 192.168.0.3+*::TCP

:end

Небольшое объяснение:

if -%1==-001 goto one – почему стоит минус? Это своеобразная «защита от дурака», рекомендованная мэтрами при написании бат-файлов. Далее для аргумента %1, который прилепит Локер к моему бат-файлу, я считаю, что в Инет пойдет комп под номером 1 в настройках Локера с ip-адресом 192.168.0.2. Если у Вас эти комп не первый, измените соответственно и номер и IP-адрес в следующей строке. Локер выдает номера компьютеров как 001, 002 и т. д.

ipseccmd -x -w REG -p "Locker" -r "Block001" -n BLOCK -f 192.168.0.2+*::TCP – основная команда. (Помните, что для Win2K – это ipsecpol)

-x – пишут, что необязательный параметр, однако без него команда почему-то работает неправильно.

-w REG - Переводит ipseccmd в статический режим

-р “Locker” – добавляет правило для политики с данным именем

-r “Block001” – определяет правило для фильтра с данным именем

-n PASS – определяет, что данное правило будет разрешать

-f 192.168.0.2+*::TCP – определяет, что данный фильтр зеркальный с адресом источника 192.168.0.2, маской 255.255.255.255, любой порт и адрес назначения любой адрес, любой порт и протокол ТСР. На некоторых машинах строка не работала, пришлось делать два фильтра - прямой и обратный, только тогда заработало. В этом случае строка будет такого вида

- ipseccmd - x - w REG - p "Locker" - r "Block001" - n BLOCK - f 192.168.0.2=*::TCP *=192.168.0.2::TCP

Напишите сначала полностью разрешительный бат-файл, потом скопируйте его в файл lock. bat и измените там только параметр –n PASS на –n BLOCK.

Теперь открываем Локер как инспектор, т. е. со всеми полномочиями, лезем в настройки услуг. Отмечаем Интернет, нажимаем кнопку Скрипты. Далее кнопку Добавить. В новом окошке отмечаем в секции «Выполнять» «Pusk Traffic». В окне Программа пишем permit.bat. В окошке аргументы пишем %comp%. Это и есть тот номер соответствующего компьютера, который Локер прилепит к бат-файлу как аргумент %1. ОК.

Еще раз Добавить. В секции «Выполнять» «Stop Traffic». В окне Программа пишем lock.bat. В Аргументах %comp%. ОК.

Вот вроде бы и все. Теперь при запуске услуги Интернета Локер выполнит бат-файл для соответствующей машины, чем просемафорит появлением черного ДОСовского окошка, и соответственно аналогично будет по окончанию сеанса. То же самое будет происходить, если вы решите просто запретить или разрешить Инет-трафик, нажимая кнопочку на панели управления. На одной машине у меня почему-то окошко закрытия выскакивало два раза. Я не смог разобраться почему.

Желаю успехов. Вопросы задавайте на форуме или мне лично *****@***ru

Доник Александр

Тверь, 2002-09-19