Хакер №024. Спецвыпуск

       

Хакер №024. Спецвыпуск


ЗАЩИЩАЕМСЯ ПОД WIN



Спецвыпуск Xakep, номер #024, стр. 024-026-3

ПРАВИЛА, КАК ОНИ УСТРОЕНЫ

В отличие от многих файрволлов, в Outpost правила задаются для каждой проги отдельно. Само правило состоит из нескольких пунктов. Во-первых, это протокол, его выбор не велик - есть только TCP и UDP. Во-вторых, это направление, то есть есть входящее или исходящее. Затем удаленный адрес, он может представлять собой IP адрес (или несколько), который заносится в таблицу, или диапазон адресов, например - с 127.0.0.1 по 127.255.255.255, диапазонов тоже может быть несколько. Если в удаленный адрес написать имя домена, то Outpost дойдет до ближайшего DNS сервера и вставит в таблицу IP адрес, что при использовании в качестве запрета может отрезать не один хост, а всю пачку хостов с этим IP адресом. Вместо маски можно использовать звездочки в IP адресе, то есть с 127.0.0.0 по 127.255.255.255 будет эквивалентно 127.*.*.*, что удобнее использовать, выбирай сам.

Четвертым на очереди пунктом идет удаленный порт, можно задать в цифровом виде, например, 21, можно в буквенном, то есть FTP, можно в виде диапазона (например, 1024-65535). Если есть необходимость указать несколько портов или диапазонов, то они разделяются между собой запятыми (то есть 1,12-15,21). Теперь наиболее интересная фича для настройки гейта, "где локальный адрес", то есть если у тебя стоит сетевуха с IP-шником 192.168.0.1 и мопед с плавающим дайл-апом, то есть возможность разрешить по сети лазить к тебе на винт, а из И-нета запретить это делать. Задаются адреса так же, как в пункте про удаленный адрес, то есть одним IP или маской, диапазоном или по имени, которое переводится в IP адрес. Последний пункт описания соединения - это локальный порт. Задается так же, как удаленный, то есть цифрой, буквой или диапазоном, при необходимости разделяется запятыми. Удобно использовать при настройке локального сервера, особенно сервера, на который заходить можно не всем. Все, теперь осталось выбрать действие по этому правилу, варианты: блокировать, разрешить, отклонить. Разрешить - и так понятно: если соединение удовлетворяет описанию, то оно разрешается. Блокирование и отклонение отличаются тем, что при блокировании высылается RST пакет, говорящий о том, что такого порта нет; при отклонении не делается вообще ничего, то есть про это соединение просто забывают. Первое обычно ставят для исходящих соединений, чтобы программка не мучалась и сразу поняла, что туда долбиться бесполезно. Отклонение лучше ставить на свой сервер, чтобы входящие извне соединения просто терялись, тогда зафлудить твой канал будет более трудно, поскольку твой комп не будет отсылать ответ.

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

PRACTICE

Давай попробуем создать правило для telnet-клиента. Заходим в приложения или просто устанавливаем Policy в "обучение" и долбимся telnet-ом по любому адресу. В первом случае отыскиваем наш telnet и говорим, что хотим создать правило, во втором говорим "запретить все" и идем в приложения, где перетаскиваем наш телнет из запрещенных в пользовательские. Теперь собственно само правило. В протоколе ставим TCP. Направление, поскольку у нас клиент, ставим исходящее. Удаленный порт ставим 23 или пишем TELNET, или просто выбираем его в таблице и кликаем мышкой. Все, теперь осталось сказать "разрешить эти данные" и жать "ок". Если у нас несколько правил, то не забудь, что проверяются они сверху вниз, поэтому если ты хочешь разрешить все соединения, кроме telnet, то поставь запрещающее правило повыше. Если же тебе надо запретить все, кроме HTTP, то разрешающее правило поставь перед запретом. В противном случае, наткнувшись на первое правило и увидев соответствие, никто не станет проверять весь список, а тупо выполнит первое приказание. Теперь давай попробуем настроить что-нибудь для локального сервака, например, для apache. Для начала отыскиваем его и добавляем в список приложений. Теперь добавляем правило для пользователей, то есть разрешаем входящее соединение на порты HTTP, HTTPS. Если ты пользуешь SQL, то не забудь прописать разрешающее правило на порты 1433 и 1434 или MS_SQL_S и MS_SQL_M (последний порт в принципе апачу не нужен, но он на него долбится. Дятел :)). При использовании исходящих соединений в PHP или Perl не забудь и про них. Если ты хочешь открыть сервак только для локалки, то мало во всех правилах прописать локальный IP адрес со звездочками или диапазон, надо еще запретить все остальные TCP соединения, только поставь запрет ниже разрешения. Таким образом файрвольчик проверит "входящее, TCP, из сетки = нет", идем дальше, а там "входящее, TCP = да", значится - отклоняем его (ну или запрещаем, тут тебе решать, что лучше).

Назад на стр. 024-026-2  Содержание  Вперед на стр. 024-026-4


 

Содержание раздела