id:
Гость
вход
регистрация
текущее время 20:08 21/11/2008
главная
проект
новости
форум
faq
библиотека
черновики
разработки
сервисы
софт
поиск
Владелец:
Вий
(создано 14/09/2006 22:50), редакция от 27/08/2006 21:18 (автор:
SATtva
)
Печать
Категории:
инфобезопасность
,
защита сети
,
сайт проекта
,
руководства
http://www.pgpru.com
/
Черновики
/
Руководства
/
Безопасность
/
СетеваяЗащита
/
Брандмауэры
/МешокИнформации
>>>
Последние изменения
Последние комментарии
Удаленные документы
Требуется доработка
Досье пользователей
Опросы
Keyserver
Документация Wiki
Правила сайта
Регистрация
===МЕШОК ИНФОРМАЦИИ=== Предположим ситуация такая - новый фаервол, поставили "Спрашивать всё, что не разрешено". И ничего ещё не разрешили. Также не делали "автоматическую" конфигурацию (например Outpost сканит программы установленные на компе и для известных программ добавляет правила по умолчанию) - мало ли что они там наконфигурируют автоматически. Что произойдёт при выходе в Нет? Начнут всплывать окошки типа "Такая-то прога просит исходящее соединение" или "Такая-то прога запрашивает входящее сообщение". И надо выбрать разрешить ли доступ, запретить, или создать правило которое будет всегда разрешать или запрещать доступ данному соединению. Параметры : программа (путь), направление(вход/выход), локальный порт, удалённый порт, удалённый адрес (IP и возможно домен). В Windows DNS lookup делает SVCHost.exe. DNS lookup - получение IP адреса по доменному имени. Удалённый порт - 53. Удалённый адрес - адрес шлюза/провайдера. DHCP - Dynamic Host configuration Protocol - для назначения динамического IP - порты 67,68 Чаще всего входящие соединения надо запрещать - это скорее всего попытки несанкционированного доступа к компьютеру. Windows ломится на windowsupdate.com - для проверки обновлений. Для получения update'ов это надо разрешить. Служба синхронизации времени - по-моему 123 порт. Основные протоколы используемые при хождении по Сети HTTP - Hyper Text Transfer Protocol - порт 80. Для браузера надо разршить. А запретить например можно для ICQ клиента - рекламу он качает именно по http (я не ошибаюсь? в новых версиях не поменялось?) FTP - File transfer protocol - 20,21 - есть два режима - пассивный активный. Пассивный - устанавливает соединения клиент (т.е. мы), и по нему качаем данные - это порт 21. Активный - к нам ломится сервер - порт 20 - устанавливает входящее соединение. ---- Для подключения к прокси-серверам часто используется порт 3128. Jabber - 5222 и 5223 порты. 5222 - это незащищённое соединение, 5223 - с использованием SSL Есть такой протокол NetBIOS - насколько я знаю - нужен только в локальной сети (если вообще нужен), поэтому если вы выходите в инет напрямую - можно и нужно его выключить. Потокол ICMP - используется для проверки достижимости хоста(?). Например его использует команда ping. Есть несколько типов ICMP запросов ответов. Для простого клиента можно поставить - разрешить входящий ответ и исходящий запрос - так чтобы мы могли делать ping'и и запретить исходящий ответ и входящий запрос - чтобы нас нельзя было пинговать. Протокол OSPF - какой-то служебный(по-моему для маршрутизаторов) - я его выключил и всё нормально. IGMP - туда же. В Windows есть возможность - Remote Procedure Call (RPC) - его тоже надо блокировать. SMB - Samba - для шаринга дисков - выключить. Нужен (наверное) в локальной сети. Remote Desktop Connection (порт 3389) - позволяет другому пользователю подключаться и работать за вашим компьютером (?) - выключить. ---- Raw sockets - тип сокета, дающий низкоуровневый доступ к нижележащим сетевым протоколам. В ОС семейства Windows поддержка raw sockets была реализована в Windows 2000, но настоящую огласку данный факт получил с выходом Windows XP. Это решение открыло новое пространоство для действий злоумышленника, и Microsoft навлекла тем самым целую волну критики аналитиков безопасности. Использование raw sockets на целевой машине (target machine) упрощает спуфинг IP-адресов в пакетах IP и ICMP, SYN Flood и пр. В особенности Windows-машина с включенными raw sockets является привлекательным плацдармом в качестве машины-зомби для организации DDOS-атаки. Agnitum Outpost Firewall Pro начиная с версии 2.5 поддерживает raw sockets, хотя многие специалисты сходятся во мнении, что их следовало бы полностью отключить. Так или иначе, следует обратить внимание на настройки, ответственные за raw sockets. ---- У меня Windows Explorer постоянно лезет на 239.255.255.250:1900 - запретил - всё работает нормально вроде. Туда же пытается ломиться svchost.exe. Вообще из дефолтных настроек для svchost.exe я оставил только два разрешающих пункта - DNS client TCP и UDP connection. ---- Евсюков Денис 30.05.2006 16.25 Настройка wipfw, консольный фаервол под windows, портированный из FreeBSD Скачать можно здесь: http://wipfw.sourceforge.net/ Установка очень проста. Нужно распаковать в любую папку содержимое архива и затем запустить один из предлагаемых скриптов install. Есть два скрипта, каждый из которых создан для задания определенного действия по умолчанию. Есть скрипт разрешающий (т.е. если в правилах что то не блокировано, то значит разрешено) и запрещающий (наоборот, если явно не разрешено, значит блокировать), я уже по привычке, вынесенной из аутпоста выбрал режим блокирования, соответственно нужно прописывать разрешающие правила... После запуска скрипта он прописывает пути в реестр, чтобы помнить, куда его поставили и прописывает программу как сервис в системе, после чего производит запуск установленного сервиса. В памяти программа занимает очень мало, порядка 2 мегабайт в оперативной памяти и порядка 400-500 килобайт в виртуальной памяти... С аутпостом не сравнить конечно, но у нас нет интерфейса к программе и сама программа не контролирует работу приложений в системе. Точнее интерфейс написан уже создателями самого фаервола, но он идет отдельно. Данный интерфейс служит только для создания правил работы, и не позволяет мониторить работу фаервола. А по поводу второго вопроса хочется сказать, что фаер пришел из среды FreeBSD, в которой так же как в Linux не производиться контроль за работающими приложениями и основная задача фаервола - защита машины от атак извне. Все остальное зависит от пользователя и от программ по борьбе с троянами и вирусами... Итак, программа установлена, теперь пришла пора настройки. Настройка производиться путем правки файла rc.wf. Нужно править именно этот файл, т.к. он запускается при запуске системы и конфигурирование производиться именно им. Я пробовал создавать свой скрипт конфигурации системы, типа файла .bat, он производит настройку, но только на время работы компьютера, после перезагрузки все изменения теряются. Чего не происходит в случае правки данного файла... Запуск скрипта производиться с помощью файла sh.exe, это порт командного процессора из FreeBSD, поэтому в начале файла требуется описание программы, которая используется для обработки данного скрипта. Если в начале строки стоит знак # - значит все что идет дальше по строке является комментарием... #!/bin/sh # # Далее прописываем переменную для уменьшения кода, данная переменная содержит вызов фаера с командой добавления правила cmd="./ipfw add" Для изменения правил нужно эти правила сначала очистить, а потом уже по новой прописать, поэтому очищаем все правила... # First flush the firewall rules ./ipfw -q -f flush Разрешаем все сетевые пакеты на локальной машине... #Localhost rules $cmd pass all from any to any via lo* Теперь задаем основное правило, т.е. программу мы поставили в режиме блокировки, и теперь нам надо разрешать то, что нужно. Для себя я выбрал режим разрешить все себе (т.е. все исходящие разрешены) и открыть порты для входящих соединений в определенных сервисах... #Для начала разрешаем все нам самим $cmd allow all from me to any Теперь разбираемся с пингом. Аутпост использует режим невидимости и в то же время позволяет пинговать нам самим... Выберем тот же режим и здесь. Напоминаю, что исходящие уже разрешены, поэтому прописываем только входящие. У пинга есть несколько типов пакета, и все зависит от типа пакета. Есть пакеты типа запрос, ответ, и т.п. Нам нужно разрешить только ответ от нашего запроса и соответственно запретить запрос... # ICMP разрешаем пинг... $cmd allow icmp from any to me icmptypes 0,3,4,11 in Далее я думаю понятно... Разрешаем те порты для входящих, сервисы которых как мы предполагаем будут работать на машине, включая http, мыло и все остальное... Если этого не сделать, то запрос мы отправим, а вот получить ответ уже не сможем и тем самым сервис работать просто напросто не будет... # Разрешаем получать IPшники по DHCP $cmd pass udp from any 68 to any 67 $cmd pass udp from any 67 to any 68 # Разрешаем DNS # DNS $cmd allow tcp from any to any 53 $cmd allow tcp from any 53 to any $cmd allow udp from any to any 53 $cmd allow udp from any 53 to any # Разрешаем входящие ftp, ssh, email, tcp-dns, http, https, pop3, pop3s (если вы чем либо из этого не пользуетесь то убираем то что не нужно...) $cmd allow tcp from any 20,21,22,25,80,123,443,110,119,995 to me $cmd allow tcp from any 5223,8010,8080 to me # Разрешаем входящие сервера времени $cmd allow udp from any 13,37,525 to me $cmd allow tcp from any 13,37 to me В АИСТе (интернет-провайдер г. Тольятти) используется технология VPN соединений для установления интернет-соединений, она подразумевает использование прокола gre, который не завязан на определенный порт, поэтому прописываем правило для ip не используя указание порта. Для большей безопасности разрешаем установку соединения только с сервером АИСТа (192.168.0.1)... # VPN разрешаем vpn тунель $cmd allow ip from 192.168.0.1 to me Для работы с ослом (имеенно в режиме High ID), требуется при установке соединения позволить серверу соединение по любым портам, т.к. сервер при соединении проверяет порты, и если тот порт, что он проверяет будет недоступен, то он дает вам low id, что сказывается на способности качать... Поэтому серверу разрешаем соединения по всем портам, и открываем порты осла 4662 и 4672 для остальных. Я открыл порты и tcp и udp хотя сейчас сеть kad не используется, на всякий случай, по сути порт 4672 можно и не прописывать, на работе это никак не скажется... # Разрешаем осла $cmd allow tcp from 81.28.160.141 to any $cmd allow tcp from any to any 4662 $cmd allow udp from any to any 4672 У меня стоит модем Zyxel P660-R, он внешний и я управляю его работой по телнету и получаю все его события (логи) по snmp протоколу, которые нужно разрешить... 10.0.0.1 - это ип-адрес модема... # Разрешаем snmp $cmd allow udp from 10.0.0.1 to any 162,514 # Разрешаем telnet $cmd allow tcp from 10.0.0.1 23 to any Ну и резрешаем порты для работы ирк-сервера... # Разрешаем IRC... $cmd pass tcp from any to any 6667-6669 $cmd pass tcp from any 6667-6669 to any Собственно все. Все сервисы работают. И работают отлично. Причем работают так же и ssl и https, они включены в список... Я проверял эффективность работы фаера на внешних серверах, сканирующих порты и выявляющих уязвимости, все сервера сказали, что все порты защищены, уязвимости нет... И это при том условии, что расходуется минимум памяти, минимум процессорного времени и при всем этом прога еще распространяется по лицензии FreeBSD, т.е. бесплатно... После данного эксперимента я решил остаться именно на этом фаерволе... Так выглядели правила фаервола в первой редакции, и с тех пор я немного доработал правила, чем сейчас делюсь с Вами... Я буду рассмартивать только те части, что претерпели изменения, все остльное просто вырезал... # Разрешаем входящие ftp, ssh, email, tcp-dns, http, https, pop3, pop3s $cmd allow tcp from any 22,25,80,123,443,110,119,995 to me established $cmd allow tcp from any 143,993,3128,5223,8010,8080,8081 to me established $cmd allow tcp from 81.28.160.194 32000 to me established $cmd allow tcp from any 20,21 to me Итак, во первых к правилам добавляем пукт established, он означает требование в каждом пакете содержать биты RST или ASK, т.е. входящие пакеты будут приниматься только в том случае, если был запрос от Вас самих... Именно поэтому порты фтп вынесены отдельно, с данным условием фтп не работает... Добавились порты работы с прокси серверами, ssl почты и добавлено правило для работы с веб-интерфейсом почты автограда... Здесь все понятно из комментариев, опять же подключения только как ответ на запрос пользователя... # Разрешаем получение ключей PGP с серверов $cmd allow tcp from any 389,11371 to me established # Разрешаем входящие сервера времени $cmd allow udp from any 13,37,525 to me $cmd allow tcp from any 13,37 to me Доработано правило для организации VPN соединений, спасибо большое Илье Котлярову за подсказку! Теперь вместо открытия всего трафика с сервера, открываем подключения только для нужных протоколов и портов... # VPN разрешаем vpn тунель $cmd allow 47 from 192.168.0.1 to me $cmd allow tcp from 192.168.0.1 1723 to me Правила для осла претерпели существенные изменения... Добавлены правила позволяющие работу с любыми портами, обращающимся к нашему 4662 и наоборот, при этом все "опасные" порты прикрыты... Соединение теперь стабильное, всегда High ID, и количество соединений максимально, потерь нет... 81.28.160.141 - сервер осла. # Разрешаем осла $cmd allow udp from 81.28.160.141 4665 to any $cmd allow tcp from any 1024-65535 to any 4662 $cmd allow tcp from any 4661,4662 to any 1024-65535 $cmd allow udp from any to any 4672 И теперь самое главное, очень удобно логировать то, что было запрещено, для этого переписываем правило по умолчанию с параметром log. После чего, все пакеты deny фиксируются в файлах типа wipfw20060527.log в каталоге C:\WINDOWS\security\logs\ И теперь, если после настройки фаера у вас како-нить сервис не работает, смотрите файл wipfw(сегодняшняядата).log, где фиксируете по времени обращения, какие порты были закрыты и почему, после чего уже намного легче исправлять или добавлять новые правила... Вот строка для логирования блокированных пакетов: # Log denny all $cmd drop log all from any to any Если будут замечания, буду рад Вас выслушать... ----
Ваше имя:
Запомнить псевдоним (сохранить в cookie)
OpenPGP-подписанный текст в кодировке
CP1251 (Windows)
UTF-8
KOI8-R
CP866 (DOS)
KOI8-U
Помощь
Сохранить параметры OpenPGP в cookie
Пожалуйста, напишите, кого/что вы видите
на изображенной слева картинке. Если
там несколько персонажей/предметов,
перечислите их в именительном падеже
через пробел (одинаковых приводите во
множественном числе).
(осталось попыток на решение теста: 3)
Поддержка
BBCode
включена
Нормы пользования
. Некоторые права на материалы сайта защищены по условиям лицензии CreativeCommons. Движок
openSpace 0.8.24a
и дизайн сайта © 2006-2007
Vlad "SATtva" Miller
.