pfSense 2 Cookbook Matt Williamson Практическое руководство по конфигурированию pfSense 2 ГЛАВА 3 Основная конфигурация Перевод выполнил Михайлов Алексей aka iboxjo Homepage: iboxjo.h1.ru blog: iboxjo.livejournal.com Глава 3 Основная конфигурация В этой главе мы рассмотрим: - Создание алиасов - Создание правил форвардинга портов NAT - Создание правил брандмауэра - Созание расписания - Доступ к удалённому рабочему столу Введение Базовая функциональность любого брандмауэра включает создание правил форвардинга портов и правил безопасности брандмауэра, и pfSense не является исключением. Эти базовые возможность, плюс некоторые другие могут быть найдены в главном меню Firewall интерфейса pfSense. Эта глава рассказывает, как конфигурируются эти правила и описывает возможности связанные с ними. Создание алиасов Этот рецепт описывает, как использовать, создавать, редактировать и удалять алиасы. Алиасы (или псевдонимы) обеспечивают разгрупировку между правилами и значениями которые могут изменяться в будущем (например IP адреса, порты и пр.). Алиасы следует использовать при любой возможности. Как это сделать... 1. Переходим на страницу Firewall | Aliases. 2. Нажимаем кнопку [+] для добавления нового алиаса. 3. Добавляем имя (Name) для алиаса. 4. По желанию вводим описание (Description). 5. Выбираем тип алиаса (Type) и на этом заканчиваем базовую конфигурацию. (Смотрите следующий раздел для детального описания каждого типа алиасов (Hosts, Networks, OpenVPN Users, URL и URL Table). 6. Сохраняем изменения (Save). 7. Применяем изменения (Apply), если необходимо. Как это работает... Алиас это именованый элемент (т.е. переменная) информации, которая может быть изменена. Алиас хоста - хороший пример: мы можем создать алиас хоста названый Computer1 и хранить его IP адрес 192.168.1.200. Затем, мы можем создать правила брандмауэра и NAT, которые будут использовать алиас Computer1 вместо явного указания IP адреса, который может изменяться. Если IP адрес Computer1 изменится, мы просто отредактируем данные алиаса, вместо того, чтобы редактировать множество правил включающих его. Алиасы позволяют достичь высокой гибкости и простоты работы. Лучше всегда использовать алиасы в повседневной работе. Немного больше... Добавление алисов на алиасы является отличным способом для управления и упрощения правил. Для иллюстрации использования алиасов, допустим, что организация имеет один VoIP телефон, которому разрешено взаимодействие с VoIP сервером. Вот пример правила без использования алиасов: Лучший пример использующий алиасы: Ещё лучший вариант использующий субалиасы: Субалиасы позволят нам легко добавлять больше телефонов простым изменением алиаса: Host alias Выбор Host(s) в качесте типа алиаса (Type) позволит вам создать алиас который содержит один или несколько IP адресов: Network alias Выбор Network(s) в качестве типа алиаса позволит создать алиас содержащий одну или несколько сетей (т.е. диапазонов IP адресов): Port alias Выбор Port(s) в качестве типа алиаса позволит вам создать алиас содержащий один или более портов: OpenVPN Users alias Выбор OpenVPN Users в качестве типа алиаса позволит создать алиас содержащий одно или несколько имён пользователей OpenVPN: URL alias Выбор URL в качестве типа алиса позволит создать алиас содержащий один или более URLs: URL Table alias Выбор URL Table в качестве типа позволит создать алиас содержащий простой URL указывающий на большой список адресов. Это может быть хорошей помощью когда вам необходимо импортировать большой список IP и/или подсетей. Использование алиасов Алиасы могут быть использованы везде где имеется красное поле ввода. Просто начните набирать алиас и pfSense отобразит список доступных алиасов совпадающих с набираемым именем: Замечание: Доступно автоконтекстное сопоставление набора алиаса. Для примера, если в строке ввода требуется номер порта pfSense отобразит только совпадающие алисы типа Port . Редактирование алиасов Для модификации созданых алиасов необходимы следующие шаги: 1. переходим на страницу Firewall | Aliases. 2. нажимаем кнопку редактирования для редактирования алиаса. 3. вносим требуемые изменения. 4. Сохраняем (Save) изменения. 5. Применяем (Apply) изменения. Удаление алиасов Для удаления алиасов следует: 1. Перейти на страницу Firewall | Aliases. 2. Нажать кнопку Delete для удаления алиаса. 3. Сохранить (Save) изменения. 4. Применить (Apply) изменения. Массовый импорт алиасов Для импорта списка нескольких IP адресов необходимо выполнить следующие шаги: 1. Перейти на страницу Firewall | Aliases. 2. Нажать кнопку Import. 3. Ввести имя алиаса (Alias Name) 4. Ввести описание (Description) 5. Вставить список IP адресов, один на строку, в поле Aliases to Import: 6. Сохранить (Save) изменения. 7. Применить (Apply) изменения. Смотри так же - Рецепт Создание правил форвардинга портов NAT - Рецепт Создание правил брандмауэра - Официальная документация на http://doc.pfsense.org/index.php/Aliases Создание правил форвардинга портов NAT Этот рецепт описывает как создать, изменить и удалить правила форвардинга портов Подготовка Сложность правил форвардинга (проброса, перенаправления) портов может сильно варьироваться. Каждый аспект правила проброса портов подробно излагается в разделе "Немного больше". Ниже приводится пример типичного сценария форвардинга порта. Мы создадим правило проброса порта для пересылки входящих web запросов (HTTP) к компьютеру сконфигурированному в качестве web сервера. Как это сделать... 1. Переходим на страницу Firewall | NAT 2. Выбираем закладку Port Forward. 3. Нажимаем кнопку [+] для создание нового правила проброса порта 4. Для Destination port range (диапазон портов назначения), выбираем HTTP для выпадающих списков from и to. 5. Для Redirect target IP (перенаправления целевого IP) указываем web сервер к которому должен направляться данный трафик, по алиасу или по его IP адресу. 6. Для Redirect target Port (пренаправление целевого порта) выбираем HTTP. 7. Добавляем описание (Description), например такое как Forward HTTP to webserver1. 8. Сохраняем изменения. 9. Применяем изменения. Замечание: По умолчанию, создаются правила брандмауэра позволяющие прохождение трафика перенаправления, но важно помнить, что правила NAT и правила брандмауэра различны и раздельны. Правила NAT перенаправляют трафик, в то втремя как правила брандмауэра блокируют или позволяют его. Следует помнить, что даже если правила NAT перенаправляют трафик, правила брандмауэра не обязательно позволяют его! Как это работает... Весь трафик проходит через список правил NAT отбираясь по следующим критериям: - Интерфейс - Протокол - порт и диапазон портов источника - порт и диапазон портов назначения Если любой трафик соответствует всем этим критериям, этот трафик будет перенаправлен к указанным параметрам Redirect target IP и Redirect target port. Замечание: Подобно всем правилам в pfSense, правила NAT сравниваются сверху вниз. Первое соответствующее правило немедленно выполняется, остальные пропускаются. Наш конкретный пример может быть прочитан так: Трафик с: - Интернет (Интерфейс WAN) - с любого клиента (Source) на любой порт (Source Port Range) Приходящий на: - Наш публичный IP адрес (Destination WAN address) - C запросом web сайта (Protocol: TCP, Destination Port Range: HTTP) Будет направлен на: - требуемый компьютер (Redirect Target IP: Webserver1) - с тем же запросом (Protocol: TCP, Destination Port Range: HTTP) Немного больше... Правила NAT могут быть сконфигурированы с использованием различных опций, каждая из которых детально описана далее (жирным шрифтом выделены изменяющиеся элементы): - Disable: Соответственно можно включить или выключить правило NAT - No RDR (NOT): включение этой опции отключает перенаправление трафика - Interfaces: Определяет интерфейс для этого правила NAT (обычно WAN) - Protocol: Определяет протокол для этого правила NAT. Обычно это TCP, UDP, или TCP/UDP, однако могут использоваться GRE и ESP - Source: обычно источник имеет значение по умолчанию any, однако вы можете определить специфический источник, если необходимо. - Source Port Range: в основном Source Port Range имеет значение any, однако можно определить специфические порты. - Destination: значение Destination по умолчанию соответствует WAN адресу (вашему публичному IP), однако может быть определено альтернативное значение. - Destination Port Range: это порт, трафик которого запрашивается. Если требуется переадресация web трафика, мы выбираем HTTP, который используется настолько часто, что присутствует в выпадающем списке, однако аналогично можно указать и порт 80. Если требуется указать другой порт (например для направления трафика торрента на порту 46635), не забывайте использовать алиасы. - Redirect Target IP: Это IP адрес внутреннего компьютерак которому мы направляем трафик. Используйте алиасы! - Redirect Target Port: Порт компьютера определённого в предыдущем пункте. Используйте псевдонимы! - Description: описание вводимое здесь копируется в любые правила брандмауэра (предварясь словом "NAT") которые генерируются автоматически. - No XMLRPC Sync: включение этой опции для правила предотвращает его применение для любых избыточных брандмауэров использующих CARP. Обратитесь к разделу "Конфигурирование отказоустойчивости брандмауэра с помощью CARP" в главе 6 "Избыточность, балансировка нагрузки и отказоустойчивость" для получения подробной информации. - NAT Reflection: Пркатически всегда используется системой по умолчанию, но может быть включена или отключена в соответствии с правилом, если это необходимо. - Filter Rule Association: Для данного правила будут автоматически создаваться и назначаться правила брандмауэра. Перенаправление порта: Истиные правила перенаправления портов будут направлять трафик на тот же порт внутренней машины что и входящий порт (т.е. диапазон портов назначения Destination port range и целевой порт перенаправления Redirect target port будут совпадать). Однако, никто не запрещает вам перенаправить трафик на другой порт. Обычно для этого существуют две причины: - Безопасность посредством сокрытия: всем известно, что стандартный порт HTTP 80, но если у вас есть "секретный" сайт, доступ к которому вы хотите ограничить, вы можете установить Destination port range на какой-то специфичный порт (например 54321). Пользователям придётся знать, что для доступа к этому сайту в браузере придётся ввести http://www.example.com:54321 - Наличие только одного публичного IP адреса: в небольших средахимеется только один публичный IP адрес и может не получиться подключить множество публичных сервисов. Ну например, "я хочу удалённо управлять двумя различными машинами, а у меня только один IP адрес". Используя перенаправление портов мы можем создать два различных правила NAT. Первое будет перенаправлять порт 50001 к Computer1 на MSRDP (порт 3389) а второе будет направлять порт 50002 к Computer2 на MSRDP (порт 3389). Таким образом вы сможете управлять двумя машинами с использованием одного IP, указав определённый порт (например example.com:50001, example.com:50002) ну и так далее... Смотрите так же - Рецепт Создание алиасов - Рецепт Создание правил брандмауэра - Рецепт "Конфигурирование отказоустойчивости брандмауэра с помощью CARP" в главе 6 "Избыточность, балансировка нагрузки и отказоустойчивость". Создание правил брандмауэра Этот рецепт описывает как создать правило брандмауэра. Подготовка В качестве примера, мы будем создавать правило брандмауэра позволяющее направлять web трафик в соответствии с правилом форвардинга портов NAT которое мы создали в предыдущем примере. Если вы следовали всем указаниям, то как мы уже говорили, автоматически было создано требуемое правило брандмауэра, однако вместо этого мы могли бы указать для Filter Rule Assiciation значение None и использовать этот рецепт для создания собственного правила. Как это сделать... 1. Переходим на страницу Firewall | Rules 2. Выбираем закладку WAN 3. Нажимаем кнопку [+] для создания нового правила брандмауэра 4. Указываем WAN Inreface 5. Указываем TCP Protocol 6. Указываем any для Source (Источник) 7. Указываем any для Source Port Range (Диапазон портов источника) 8. Указываем Webserver1 для Destination (Назначения) 9. Указываем HTTP для Destination Port Range (Диапазон портов назначения) 10. Указываем Description (Описание) 11. Сохраняем (Save) изменения. 12. Применяем (Apply) изменения. Как это работает... Весь трафик пропускается через список правил брандмауэра. Если любой пакет трафика совпадает со всеми критериями правила, это правило будет выполнено (соответственно пакет будет либо позволен либо отброшен) Замечание: Подобно всем правилам pfSense, правила брандмауэра проверяются сверху вниз. Первое соответствуещее правило немедленно выполняется а остальные пропускаются. Смотрите раздел "Порядок правил брандмауэра" для получения детальной информации. Наше правило можно прочитать так: "Любому порту с любого клиента в Интернет позволен доступ к нашему web серверу на порт 80". Немного больше... Правила брандмауэра весьма конфигурируемы. Детальное описание каждой опции правила указано дальше: - Action: Тип действия выполняемого при совпадении правила. - Pass: если все критерии соответствуют, пакет дозволяется. - Block: если все критерии соответствуют, пакет блокируется ( так же известно как тихий сброс - silent drop). - Reject: если все критерии соответствуют, пакет возвращается отправителю. - Disable: отключает действие правила без необходимости его удаления. - Interfaces: трафик исходящий с указанного интерфейса будет проверяться данным правилом. Обычно это интерфейс WAN.