Глава 1 Начальная конфигурация

 

В этой главе мы рассмотрим:

- Базовые установки в General Setup

- Идентификация и назначение интерфейсов

- Конфигурирование WAN интерфейса

- Конфигурирование LAN интерфейса

- Конфигурирование опциональных интерфейсов

- Включение безопасной оболочки (SSH)

- Генерация RSA ключей авторизации

- Конфигурирование SSH RSA ключей авторизации

- Доступ к безопасной оболочке (SSH)

 

Введение

pfSense является дистрибутивом брандмауэра основанным на Open Source ОС. Он базируется на FreeBSD в рамках проекта m0n0wall. pfSense построен на базе m0n0wall и включает его функциональность расширяя её и добавляя множество популярных сетевых сервисов. В этой главе рассматриваются базовые параметры необходимые для каждого развёртывания pfSense; является ли это развёртывание брандмауэром, маршрутизатором или точкой доступа.

После установки и настройки pfSense в соответствии с рецептами данной главы, вы получите полноценный маршрутизатор с брандмауэром. На самом базовом уровне, pfSense может быть использована для замены домашнего маршрутизатора в случае, если требуется большая функциональностью. В более сложных конфигурациях, pfSense может быть использована для создания защищённых тунелей удалённых офисов, рапределения нагрузки web ферм, или шейпинга и приоритезации всего сетевого трафика. Существуют сотни способов конфигурирования и установки pfSense.

После установки pfSense реализует два способа дистанционного доступа к системе - посредством SSH и через Web интерфейс. Соединение через SSH предоставляет вам низкоуровневый доступ, аналогичный системному меню которое вы видите при загрузке системы. Варианты меню SSH являются базовыми и имеют крайне мало настроек. Всё конфигурирование описанное в данной книге осуществляется через WEB интерфейс, доступный через IP адрес любого настроенного интерфейса системы (например 192.168.1.1).

 

Применение базовых установок в General Setup

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

На новой установке, по умолчанию используются следующие учётные данные:

Имя пользователя: admin

Пароль: pfsense

Как это сделать...

1. Переходим System | General Setup

2. Вводим имя хоста (Hostname). Это имя будет использоваться для доступа к машине по имени, а не по IP адресу. Для примера, мы можем перейти http://pfsense а не http://192.168.1.1:

3. Введите имя вашего домена (Domain):

4. Здесь могут быть определены DNS сервера (DNS servers). По умолчанию, pfSense будет работать с первичным DNS сервером и эти поля могут быть пустыми. Однако, другие DNS сервера могут быть использованы. Обратись к рецепту Указание альтернативных DNS серверов в Главе 2 "Предоставляемые сервисы" для получения большей информации.

5. Отметьтефлаг Allow DNS server list to be overridden by DHCP/PPP on WAN. Это позволит передавать запросы не разрешённые внутри на внешние DNS сервера предоставленные провайдером.

6. Введите часовой пояс и оставьте по умолчанию NTP сервер 0.pfsense.pool.ntp.org.

7. Рекомендуем использовать тему по умолчанию pfsense_ng. Верхнее меню станет статическим что более удобно при работе.

Смотри также:

- Рецепт "Конфигурирование DNS форвардера" в главе 2.

- Рецепт "Определение альтернативных DNS серверов" в главе 2.

 

Идентификация и назначение интерфейсов

Этот рецепт описывает, как идентифицировать сетевую конфигурацию и назначить интерфейсы в pfSense.

Подготовка

Вам необходимо идентифицировать MAC адрес для каждого порта Ethernet на вашей машине pfSense прежде чем назначать интерфейсы.

Как это сделать...

1. Доступ к консоли с физической машины или включить SSH и получить удалённый доступ (смотрите рецепт "Включение безопасной оболочки (SSH)"). 2. Основной экран консоли отображает список интерфейсов, сетевых портов и IP адреса:


3. Выберите 1 для назначения интерфейсов (Assign Interfaces).

4. Пропустим установку VLAN. Смотрите "Создание VirtualLAN" в главе 5.


5. Назначим каждому интерфейсу его системное назначение:

Возможность настроить только один интерфейс является новой особенностью pfSense 2.0., в предыдущих версиях требовалось настроить не менее 2-х интерфейсов (WAN и LAN).

Как это работает...

pfSense как и любая другая ОС, определяет уникальное значение для каждой сетевой карты (fxp0, em0,em1 и так далее. Эти уникальные идентификаторы часто связываются с используемым драйвером и являются более простым представлением чем MAC адрес (00:80:0c:12:01:52). Приняв эту концепцию назначение интерфейсов для каждого порта выглядит просто: fxp0=WAN, em0=LAN, em1=DMZ и так далее.

Немного больше...

Теперь вы знаете, какой порт на каком интерфейсе и можете управлять изменениями интерфесов из WebGUIперейдя к Interfaces | (assign).

Смотрите так же:

- Рецепт "Доступ к безопасной оболочке (SSH)".

- Рецепт "Конфигурирование WAN интерфейса".

- Рецепт "Конфигурирование LAN интерфейса".

- Рецепт "Конфигурирование опциональных интерфейсов"

 

Конфигурирование WAN интерфейса

Этот рецепт описывает, как конфигурировать WAN на внешнем интерфейса вашего брандмауэра.

Подготовка

WAN интерфейс отвечает за ваше соединение с внешним миром. Вам необходимо правильно настроить WAN интерфейс (как описывалось в предыдущем разделе) и подключение к интернет. В данном примере соединение с ISP реализовано посредством кабельного модема, однако pfSense поддерживает и другие основные способы соединения.

Как это сделать

1. Переходим Interfaces | WAN.

2. Отметим флаг Enable для включения интерфейса.

3. Выберите тип конфигурации адреса (Type).

4. Поле MAC адреса оставьте пустым. Ручной ввод MAC адреса известен как "spoofing". Ваш провайдер не имеет возможности проверить MAC адрес, так что вы можете его менять. Это бывает полезно, если вы пытаетесь заставить своего провайдера передать вам новый IP адрес или другой набор DNS серверов.

5. Оставьте пустыми поля MTU, MSS, Hostname и Alias IP address.

6. Отметьте Block private networks. Этот параметр как правило устанавливается только для WAN интерфейса.

7. Отметьте Blockbogonnetworks. Этот параметр так же устанавливается только для WAN интерфейса.

8. Сохраните изменения (Save).

Как это работает...

Прежде чем настроить pfSense и предоставить доступ к внешней сети пользователям, необходимо установить подключение к Интернет. Наш пример характерен для многих сред SOHO. Используя наш брандмауэр в качестве единственной машины имеющей доступ в интернет, мы реализуем безопасную среду, путём полного контроля трафика протекающего из/в нашей сети. Теперь весь трафик протекает через наш брандмауэр и подчиняется нашим правилам.

Немного больше...

Теперь мы можем присоединить кабельный модем к порту WAN Ethernet который мы определили на pfSense. Как только соединение будет установлено, можно проверить статус WAN порта - Status | Interfaces:


Смотрите так же:

- Рецепт "Идентификация и назначение интерфейсов".

- Рецепт "Конфигурирование LAN интерфейса".

- Рецепт "Конфигурирование опциональных интерфейсов".

Конфигурирование LAN интерфейса

Этот рецепт описывает как конфигурировать внутренний LAN интерфейс на вашем брандмауэре.

Подготовка

LAN интерфейс используется для соединения вашего устройства с безопасной внутренней сетью. Необходимо правильно сконфигурировать LAN интерфейс.

Как это сделать...

1. Переходим Interfaces | LAN.

2. Отмечаем флаг Enable Interfaces.

3. Выбираем тип конфигурации адреса.


4. Вводим IP адрес и маску подсети. Устанавливаем Gateway в значение None.

5. Оставляем неотмеченными Blockprivatenetworksи Blockbogonnetworks.

6. Сохраняем изменения (Save).


Как это работает...

Только что вы определили свою первую внутреннюю сеть. Если вы соблюдали порядок выполнения рецептов, то вы получили минимально настроенный полнофункциональный брандмауэр. Вы определили один интерфейс внешней сети (WAN) и один интерфейс внутренней сети (LAN). Теперь можно перейти к установке правил и взаимосвязей для управления трафиком между этими интерфейсами.

Немного больше...

Теперь вы можете присоединить коммутатор к LAN интерфейсу вашей машины с pfSense. Это позволит вам соединить множество компьютеров к вашей LAN сети.

Смотрите так же...

- Рецепт "Идентификация и назначение интерфейсов".

- Рецепт "Конфигурирование WAN интерфейса".

- Рецепт "Конфигурирование опциональных интерфейсов".

Конфигурирование опциональных интерфейсов.

Рецепт описывает как создать и назначить опциональные сетевые интерфейсы для вашего брандмауэра.

Подготовка

Опциональная сеть созданная в этом рецепте соответствует зоне DMZ. Идея этой зоны основана на военной концепции демилитаризованной зоны, в которой позволено движение некоторого трафика. Смысл в том, что данный район находится под контролем и чётко отделён от других областей. При переложении на сеть, сеть DMZ следует такому шаблону:

Трафик Интернет | <- DMZ <- Трафик LAN

Небезопасному трафику интернет разрешён вход в зону DMZ, например для доступа к WEB серверу. Трафик LAN так же может может входить в DMZ; если он хочет получить доступ к WEB серверу. Однако, мысл заключается в последнем - DMZ трафик не разрешён для входа в LAN. Сеть DMZ или любые другие опциональные сети требуют наличия доступного интерфейса.

Как это сделать...

1. Найдём доступный интерфейс, Interfaces | OPT1

2. Отметим флаг Enable Interfaces

3. Заполним поле описания (Describe) как DMZ

4. Изменим тип конфигурации адреса на Static для нашего примера.

5. Введём IP адрес и маску подсети. Будем использовать 192.168.2.1 и маску 24 из выпадающего списка.

6. Оставим в поле Gateway значение None.


7. Оставим неотмеченными флаги Blockprivatenetworksи Blockbogonnetworks


8. Сохраним изменения (Save).

9. Применим изменения (Apply).

Как это работает...

Ваша сеть DMZ позволяет внешний доступ (WAN). Кроме того, DMZ позволяет доступ из локальной сети, но не позволяет отправлять трафик в локальную сеть. Соответственно мы позволим устройствам из Интернет получить доступ к ресурсам DMZ (WEB сайты, электронная почта и прочие), без возможности доступа к любой части вашейвнутренней сети.

Немного больше... Теперь вы можете присоединить интерфейс DMZ. Если вы выполнили все рецепты схема вашей сети должна выглядеть примерно так:


Смотрите так же...

- Рецепт "Идентификация и назначение интерфейсов".

- Рецепт "Конфигурирование WAN интерфейса".

- Рецепт "Конфигурирование LAN интерфейса".

 

Включение безопасной оболочки (SSH)

Этот рецепт писывает как включить сервис безопасной оболочки (SSH) в pfSense.

Подготовка

SSH это сетевой протокол который позволяет шифровать коммуникации между двумя устройствами. Включение SSH позволяет реализовать безопасный удалённый доступ к консоли pfSense.

Как это сделать...

1. Переходим на System | Advanced | Secure Shell.

2. Отмечаем флаг Enable Secure Shell

3. Вам будет предложено ввести учётные данные подключения (используйте то же имя и пароль что и web интерфейсе), однако отметка флага Disable password login for Secure Shell позволит вам использовать вместо них RSA ключи. Для большей информации смотрите следующий рецепт.

4. Поле SSH port оставьте пустым, если планируете использовать порт по умолчанию:


5. Сохраните изменения (Save) и сервис SSH будет запущен.

Как это работает...

Включение безопасной оболочки запускает встроенный SSH сервер pfSense который прослушивает запросы на указанном вами порту (по умолчанию - порт 22).

Замечание Подобно всем сервисам pfSense, сервис SSH будет слушать на каждом из доступных интерфейсов. Подобно другим сервисам правила брандмауэра используются для разрешения или запрещения доступа к этим сервисам. Смотрите главу 3 "Основная конфигурация" для получения большей информации о конфигурировании правил брандмауэра.

Немного больше...

Изменение способа аутентификации SSH на использование RSA ключей, это отличный способ обеспечения доступа к системе. Для получения большей информации смотрите следующий рецепт. Кроме того, вы можете изменить порт, который будет прослушивать SSH. Это позволит слегка повысить безопасность, за счёт снижения числа попыток несанкционированного входа.

Смотрите так же

- Рецепт "Генерация RSA ключей авторизации".

- Рецепт "Создание правил брандмауэра" Главы 3 "Общая конфигурация". 

Генерация RSA ключей авторизации

Этот рецепт описывает как создать RSA ключи авторизации, позволяющие соединение пользователя с pfSense без ввода логина и пароля.

Подготовка

Пользователи Linux и Mac необходимо инсталлировать на своих системах ssh-keygen (в некоторых дистрибутивах он может быть инсталлирован по умолчанию). Пользователям Windows необходимо загрузить и установить инструмент PuTTYGen.

Как это сделать...

Клиенты Mac и Linux генерируют ключи следующим способом:

1. Открыть терминал и выполнить: ssh-keygen

2. Сохранить ключ в директорий /home/user/.ssh и определить пароль (не обязательно, но рекомендуется сделать).

3. Ваш публичный ключ будет расположен в /home/user/.ssh/id_rsa.pub.

Генерация SSH ключа для клиентов Windows с использованием PuTTY:

4. Открыть PuTTYGen и сгенерировать ключевую пару публичный/приватный путём нажатия кнопки Generate.

5. Ввести парольную фразу (необязательно, но рекомендуется).

6. Нажать кнопку Save Private Key и выбрать каталог, например C:MyPrivateKey.ppk.

7. Выделить публичный ключ который сгенерирован в текстовом поле и скопировать его, а затем вставить в новый файл, например C:MyPublicKey.txt. (Не используйте кнопку Save Publick Key, поскольку добавление коментариев и других полей приводит к несовместимости).

Как это работает...

RSA ключи стали стандартом в обеспечении безопасного соединения клиент/сервер для любых сервисов. Клиент генерирует ключевую пару - личный (приватный) ключевой файл и публичный ключевой файл (опционально, для повышения безопасности может указываться парольная фраза). Теперь, любой администратор сервера может запросить открытый ключ клиента и добавить его в свою систему. Клиент может безопасно аутентифицироваться без набора пароля.

Немного больше...

RSA ключи чаще всего связывают с доступом через SSH и часто упоминаются как ключи SSH, что является распространённым заблуждением. RSA ключи являются общесистемными и не относятся к SSH. Хотя SSH часто использует их, RSA ключи могут быть использованы любым типом услуг поддержка которых необходима, например таких как VPN, VoIP, FTP или другие.

Смотрите так же

- Рецепт "Включение безопасной оболочки (SSH)".

- Рецепт "Настройка аутентификации SSH с использование RSA ключей".

 

Настройка аутентификации SSH с использование RSA ключей

Этот рецепт описывает, как сконфигурировать pfSense для использования RSA ключей вместо пароля при проведении аутентификации посредством SSH.

Подготовка

Необходимо включить SSH и сгенерировать публичные ключи на вашем клиенте.

Как это сделать...

1. Переходим System | Advanced | Secure Shell.

2. Отметимфлаг Disable password login for Secure Shell (RSA key only).


3. Изменим пользователя которого мы ассоциируем с клиентским публичным ключом System | UserManager | Editadmin.

4. Выберите Click to paste an authorized key и вставьте сюда ваш клиентский публичный RSA ключ.


5. Сохраните изменения.

Как это работает...

Когда мы соединяемся используя клиент SSH, у нас не будут запрашивать пароль. Вместо этого сервер SSH будет использовать свою копию открытого ключа RSA для передачи запроса, который может быть прочитан только если вы владеете соответствующим приватным ключом.

Немного больше...

Приватные ключи RSA могут храниться в зашифрованном виде на компьютере клиента. Клиент SSH запрашивает пароль для расшифровки приватного ключа прежде чем он сможет его использовать для проверки подлинности сервера.

Смотрите так же

- Рецепт "Включение безопасной оболочки (SSH)".

- Рецепт "Генерация ключа авторизации RSA".

- Рецепт "Доступ к безопасной оболочке (SSH)".

 

Доступ к безопасной оболочке (SSH). 

Этот рецепт описывает как получить доступ к консоли pfSense с клиентского компьютера Linux, Mac, Windows. 

Подготовка 

Необходимо включить и сконфигурировать ваш pfSense. Пользователи Linux и Mac имеют клиент SSH установленный в системах по умолчанию. Пользователи Windows должны загрузить и установить PuTTY. 

Как это сделать... 

Соединение через SSH с Linux и Mac клиентов выполняется следующим образом: 

1. Открыть окно терминала и выполнить: ssh admin@192.168.1.1

2. Если вы используете конфигурацию по умолчанию, вам будет предложено ввести пароль.

3. Если вы используете аутентификацию на базе ключей RSA, вы будете соединены напрямую или будет запрошена парольная фраза связанная с вашим ключом. Если вам необходимо определить местоположение вашего приватного ключа, вы можете использовать опцию -i следующим образом: ssh -i /home/matt/key/id_rsa admin@192.168.1.1

4. Если вы сконфигурировали pfSense на использование нестандартного порта, вам необходимо использовать опцию -p следующим образом: ssh -p 12345 admin@192.168.1.1. Соединение через SSH для клиентов Windows: 

5. Откройте PuTTY и введите имя или IP адрес хоста

6. Определите альтернативный порт, если это необходимо (по умолчанию используется порт 22).

7. Если вы используете RSA ключи для аутентификации, найдите ваш файл приватного ключа через Connection | SSH | Auth | Private key file for authentication.


8. После соединения введите имя пользователя.

9. Вам будет предложено ввести пароль, или если используются ключи RSA, парольную фразу ключа. 

Как это работает... 

SSH позволяет доступ к консоли pfSense с любого компьютера на котором установлен SSH клиент. Вы можете получить доступ к консоли с телефона, если на нём установлен SSH клиент или с любого мобильного устройства. 

Смотрите так же 

- Рецепт "Включение безопасной оболочки (SSH)".

- Рецепт "Генерация ключа авторизации RSA".

- Рецепт "Доступ к безопасной оболочке (SSH)"