- Установка и базовая настройка pfSense
- Установка
- Настройка подключения к веб-интерфейсу
- Базовая настройка pfSense
- Статические маршруты
- Возможные ошибки
- Нет доступа в Интернет
- Возможности pfSense
- Читайте также
- Настройте HTTPS и SSH веб-доступ в pfSense с максимальной безопасностью
- Конфигурация веб-управления с HTTPS
- Настройка администрирования через консоль с SSH
- Создайте ключи SSH с помощью Puttygen
- Подключитесь к pfSense с помощью Putty и SSH-ключа
- Параметры защиты входа и управления консолью
- Правила на межсетевом экране и использование IDS / IPS
Установка и базовая настройка pfSense
pfSense является программным маршрутизатором/фаерволом на основе операционной системы FreeBSD. Рассмотрим его установку и начальную настройку на виртуальную машину.
Установка
Система распространяется как образ операционной системы, готовой к работе в качестве фаервола/маршрутизатора. Переходим на страницу загрузки pfSense и заполняем форму для получения установщика и нажимаем на DOWNLOAD:
* в данном примере мы выбрали архитектуру AMD64 (для всех современных компьютеров архитектуры x86), образ ISO и Нью-Йорк в качестве зеркала загрузки.
Дожидаемся загрузки файла. Если мы выполняем установку на виртуальную машину, то просто монтируем образ ISO. Если же мы будем устанавливать с помощью сменного носителя, то готовим его с помощью специализированных программ, например, WinSetupFromUsb или Rufus для флешки или InfraRecorder для DVD. Монтируем образ или подключаем установочный носитель, настраиваем БИОС для загрузки с диска или флешки и запускаем установщик — мы должны увидеть сообщение о необходимости принять лицензионное соглашение. Нажимаем Accept:
После выбираем, что будем делать. В нашем случае, выполнять установку:
На следующем шаге установщик предложит выбрать раскладку клавиатуры — выбираем вариант по умолчанию:
Выбираем вариант разбивки диска на разделы. В моем случае, это выполняется автоматически:
* при необходимости использовать сервер не только в качестве pfSense (что не рекомендуется) можно самостоятельно разбить диск на разделы.
Начнется процесс установки системы:
Дожидаемся его окончания. Процесс займет немного времени.
Установщик предложит перейти в командную строку для выполнения ручных настроек — отказываемся:
Не забываем извлечь установочный носитель.
Настройка подключения к веб-интерфейсу
После загрузки pfSense мы увидим меню настройки. Первое, что нам нужно сделать — настроить сеть и веб-интерфейс. Дальнейшую настройку можно делать в последнем.
Выбираем опцию Set interface(s) IP address — номер 2:
Выбираем интерфейс для настройки. Сначала внутренний (LAN):
Задаем IP-адрес в соответствии с нашей инфраструктурой:
* в нашем примере мы хотим задать адрес 192.168.0.23.
Указываем маску подсети:
* в локальных сетях, как правило, используются маски 24, 23, 22.
Если нужно, прописываем адрес шлюза, в противном случае, просто нажимаем Enter:
* обратите внимание, что адрес шлюза на LAN интерфейсе нам нужен только для статических маршрутов.
Система нам предложит активировать сервер DHCP для локальной сети. Если наш pfSense должен выполнять такую задачу, ставим y. Мы же этого делать не будем:
Также отказываемся к возврату протокола HTTP как веб-конфигуратора:
Открываем браузер и переходим по адресу нашего сервера https://192.168.0.23 — появится предупреждение о нарушении безопасности. Просто игнорируем и продолжаем загрузку.
Система потребует ввода логина и пароля — вводим логин/пароль admin/pfsense.
Готово. Теперь приступим к базовой настройке.
Базовая настройка pfSense
После входа в веб-интерфейс, система может попросить принять условия — просто нажимаем Accept:
Для удобства поменяем языковые настройки. Переходим в раздел System — General Setup:
В подразделе «Localization» выбираем наш часовой пояс и язык, с которым нам будет удобнее работать:
* в нашем примере выставлено московское время и русский язык интерфейса. Однако, нужно отметить, что для pfSense нет полного перевода и некоторые элементы будут на английском.
Для применения настроен кликаем по Save:
Теперь сменим пароль по умолчанию для учетной записи admin. В верхней части интерфейса мы увидим предупреждение — кликаем по Change the password in the User Manager:
Вводим дважды новый пароль:
Сообщение с предупреждением в верхней части экрана должно исчезнуть.
Переходим к настройке Интернет соединения. Кликаем по Интерфейсы — WAN:
В подразделе «Общие настройки» выбираем вариант получения сетевых настроек:
* в нашем примере мы зададим вручную IP-адрес. Если не используется IPv6 — отключаем его (как в данном случае).
Ниже задаем IP-адрес (если мы выбрали вариант получения Статический IPv4):
Указываем маску подсети:
Справа от «IPv4 Шлюз» кликаем по Добавить новый шлюз:
В открывшемся окне добавляем адрес шлюза для доступа к сети Интернет и кликаем Добавить:
Если для подключения к панели управления по локальной сети требуется статический маршрут, после применения настроек мы можем потерять управление системой. Необходимо заранее позаботиться о добавлении статических маршрутов.
Для того, чтобы изменения вступили в силу, необходимо их применить:
Настройка завершена. Можно попробовать прописать наш pfSense в качестве шлюза и проверить доступ к сети Интернет.
В моем случае Интернет не заработал по причине наличия маршрута через локальную сеть. Решение ниже.
Статические маршруты
Если у нас есть несколько подсетей, доступ к которым нужно обеспечить через внутренние маршрутизаторы, pfSense позволяет добавить статические маршруты.
Для этого переходим в Система — Маршрутизация:
Кликаем по ссылке Статические маршруты:
Кликаем по кнопке Добавить:
В открывшемся окне вводим подсеть, для которой нам нужен маршрут и выбираем шлюз, через который будет осуществляться доступ к данной сети:
* в данном примере мы создадим статический маршрут в сеть 192.168.1.0/24 через шлюз 192.168.0.1.
Чтобы изменения вступили в силу, кликаем по Применить изменения:
Возможные ошибки
Рассмотрим проблемы, которые могут возникнуть при настройке pfSense.
Нет доступа в Интернет
После настройки WAN для компьютеров локальной сети нет доступа к сети Интернет. Я столкнулся с данной проблемой маршрутизации после того, как был настроен WAN-интерфейс. По идее, компьютеры локальной сети, которые подключены к pfSense как к шлюзу по умолчанию, должны получить выход к глобальной сети. Однако, этого не произошло. При этом, если перейти в панели управления в раздел меню Диагностика — Пинг и отправить тест на любой адрес в сети Интернет, он проходил корректно, то есть, на самом pfSense выход в Интернет был.
Причина: проблема может возникнуть, если мы сначала указывали шлюз на интерфейсе LAN, затем поменяли его на WAN. Возможно, систему клинит, и появляется ошибка маршрутизации.
Решение: удалить маршрутизацию через LAN, убедиться, что появился Интернет на компьютерах локальной сети, после снова создать маршрутизацию через LAN.
Для этого переходим к настройкам маршрутизации:
Переходим к статическим маршрутам:
Удаляем все маршруты через локальную сеть:
Переходим в раздел Шлюзы:
Удаляем шлюз через локальную сеть:
Проверяем, что у нас появился интернет на компьютерах локальной сети.
После того, как мы убедились в исправной работе шлюза для доступа к глобальной сети, на той же вкладке по работе со шлюзами нажимаем Добавить:
Задаем имя и адрес маршрутизатора в локальной сети:
Возможности pfSense
Из коробки, нам доступны следующие возможности:
- Брандмауэр.
- DNS и DHCP.
- Проброс портов.
- Маршрутизация и NAT.
- Ограничение скорости.
- VPN — IPSEC, L2TP, OpenVPN.
- Аутентификация через LDAP (например, Active Directory) или RADIUS.
Это не совсем все возможности — лишь пример, довольно, часто используемых функций.
Помимо доступных сервисов, мы можем воспользоваться менеджером пакетов (Система — Менеджер пакетов — Доступные пакеты), чтобы расширить возможности pfSense, например, мы можем установить:
- Прокси-сервер, например, SQUID + squidGuard.
- Блокировщики отслеживания и рекламы: pfblockerng.
- Средства мониторинга: zabbix-agent, zabbix-proxy.
Читайте также
Возможно, вам будет интересны следующие инструкции:
Источник
Настройте HTTPS и SSH веб-доступ в pfSense с максимальной безопасностью
pfSense — один из наиболее универсальных маршрутизаторов и брандмауэр ориентированные на сегодняшний день операционные системы. Благодаря большому количеству расширенных параметров конфигурации pfSense подходит для использования как на продвинутом домашнем уровне, так и в малых и средних компаниях. Сегодня в этой статье мы собираемся объяснить, как настроить доступ к pfSense через Интернет с использованием безопасного протокола HTTPS, а также как настроить SSH-сервер с максимально возможной безопасностью, чтобы аутентификация в операционной системе выполнялась в зашифрованный и безопасный способ.
У нас есть два основных доступа к администрированию операционной системы pfSense: через Интернет и через SSH. В первом случае pfSense настроен по умолчанию для использования протокола HTTP на порту 80, протокола, который не является безопасным, поскольку аутентификация и обмен данными выполняются без шифрования, поэтому настройка протокола HTTPS является обязательным требованием. чтобы иметь максимально возможную безопасность. То же самое происходит с SSH-сервером, встроенным в операционную систему, рекомендуется внести некоторые изменения в конфигурацию, чтобы обеспечить максимальную безопасность, потому что через SSH мы можем настроить любой внутренний аспект операционной системы, и мы должны защитить эти два доступы от внешних вторжений.
Конфигурация веб-управления с HTTPS
Чтобы настроить протокол HTTPS, мы должны перейти к » Система / Расширенный », И в этом меню мы увидим« Доступ администратора ». Мы можем выбирать между протоколами HTTP и HTTPS, желательно всегда использовать протокол HTTPS для обеспечения наших коммуникаций, а также их целостности. Когда мы активируем протокол HTTPS, мы должны выбрать сертификат SSL / TLS, который уже создан по умолчанию в операционной системе, однако мы можем без проблем создать новый и даже продлить его.
В этом меню мы также можем выбрать используемый TCP-порт, если мы ничего не указываем, порт по умолчанию для протокола HTTPS всегда 443. Мы также можем выбрать максимальное количество одновременных пользователей, управляющих pfSense, по умолчанию это 2, но мы можем загрузить его, если у нас будут разные администраторы. Остальные параметры конфигурации должны соответствовать значениям, которые мы указали ниже, все они являются параметрами по умолчанию, и они идеальны.
В » Система / Менеджер сертификатов », Где мы можем увидеть сертификат SSL / TLS, используемый веб-сервером HTTPS, мы можем обновить его в любое время, удалить, экспортировать открытый ключ, а также частный. В принципе, трогать это не стоит, но если мы это сделаем, то сможем продлить или отредактировать название самого сертификата.
Если мы введем «Информация о странице» в любом браузере, мы увидим, что соединение зашифровано с помощью TLS 1.3, последнего доступного протокола, который обеспечивает максимальную безопасность и производительность в защищенных соединениях.
Что касается данных сертификата, pfSense создает 2048-битный сертификат на основе RSA, что типично в тех случаях, когда у нас есть веб-сервер с HTTPS. Если мы хотим изменить эту безопасность, мы должны создать CA (центр сертификации), а затем сертификат сервера, который будет зависеть от указанного CA, таким образом, мы можем использовать более длинные RSA и даже эллиптические кривые (ECDSA), наконец, мы может настроить хэш-алгоритм для использования.
В случае обновления цифрового сертификата, соответствующего веб-серверу, нам просто нужно перейти в раздел «Система / Диспетчер сертификатов», нажать «Обновить сертификат веб-конфигуратора» и нажать кнопку «Обновить или перевыпустить», чтобы сгенерировать его снова.
Как вы видели, настроить HTTPS действительно легко и просто, это позволит нам безопасно аутентифицироваться через Интернет.
Настройка администрирования через консоль с SSH
Защищенный протокол SSH позволит нам удаленно войти в администрирование операционной системы pfSense через консоль. У нас будут разные типы аутентификации:
- Открытый ключ SSH
- Пароль или открытый ключ (тот или иной)
- Пароль и открытый ключ (оба)
У нас также будет возможность включить пересылку на сервере SSH, например, для выполнения туннелирования SSH. Наконец, мы можем изменить порт прослушивания SSH-сервера, в случае этого протокола это TCP 22, но мы можем изменить его, фактически, из соображений безопасности рекомендуется изменить порт по умолчанию для SSH-сервера.
После того, как мы настроили аутентификацию, нам нужно будет настроить пользователей, которые могут аутентифицироваться на SSH-сервере, а также то, какие SSH-ключи есть у пользователей. Если мы нажмем на гиперссылку, где написано «пользователь», мы перейдем прямо к «Диспетчеру системы / пользователей», и здесь мы сможем добавить нового пользователя с другими разрешениями. В нашем случае мы добавили нового пользователя, который принадлежит к группе «администраторы».
Если мы создадим нового пользователя или отредактируем его, мы сможем настроить другие параметры. В нашем случае мы добавили его в группу администраторов, как вы можете видеть на следующем изображении:
Чтобы иметь возможность войти в pfSense через SSH, мы должны предоставить ему соответствующее разрешение в разделе «Действующие привилегии» из всего списка разрешений, которые может иметь пользователь, он должен иметь следующее:
- Пользователь — Система: доступ к учетной записи оболочки
Как только вы получите это разрешение, мы сможем войти в операционную систему с вашим именем пользователя. В зависимости от того, что мы выбрали при аутентификации пользователя, нам нужно будет выполнить дополнительное действие:
- Открытый ключ SSH: мы должны его создать
- Пароль или открытый ключ (один или другой): мы можем использовать настроенный ключ или открытый ключ SSH, если мы его создадим.
- Пароль и открытый ключ (оба): мы будем использовать настроенный ключ плюс открытый ключ SSH, необходимо его создать.
Поскольку наиболее безопасным способом аутентификации является «открытый ключ SSH» или «Пароль и открытый ключ (оба)», мы должны создать ключи SSH.
Создайте ключи SSH с помощью Puttygen
В настоящее время мы используем Windows 10, самый простой способ создать ключи SSH — использовать » Генератор ключей замазки », Которую вы можете скачать бесплатно. Установка не требуется, при загрузке программы мы ее запустим и увидим следующее меню:
Здесь мы можем настроить различные типы ключей SSH, RSA и DSA являются наиболее распространенными и хорошо известными, но рекомендуется использовать такие ключи, как ECDSA, а также Ed25519, которые используют эллиптические кривые. В нашем случае мы использовали Ed25519, выберите его и нажмите «Создать».
После того, как мы щелкнем по генерации, мы должны переместить мышь, чтобы создать случайность и чтобы ключи были сгенерированы правильно. Теперь мы видим вверху открытый ключ, который мы должны вставить в созданного ранее пользователя pfSense. Мы можем настроить комментарий в ключе, а также пароль для расшифровки закрытого ключа при подключении, это повышает безопасность. Если кто-то сможет украсть наш закрытый ключ, он не сможет использовать его, если у него нет пароля сгенерированного закрытого ключа.
Получив сгенерированный ключ, мы нажимаем «Сохранить открытый ключ», а также «Сохранить закрытый ключ», чтобы пара ключей всегда была под рукой. Мы должны помнить, что открытый ключ — это тот, который мы должны скопировать для пользователя, как вы можете видеть:
После того, как сервер SSH полностью настроен в pfSense, мы собираемся показать вам, как подключиться к популярной программе Putty.
Подключитесь к pfSense с помощью Putty и SSH-ключа
Мы открываем программу Putty и переходим в раздел «Подключение / SSH / Auth», затем в раздел «Файл закрытого ключа для аутентификации» и нажимаем «Обзор», чтобы загрузить ранее сохраненный закрытый ключ.
Теперь переходим в раздел «Сессия», помещаем IP-адрес и порт SSH-сервера в pfSense, после заполнения нажимаем «Открыть».
Теперь он сообщит нам, что соединение не кэшировано, поэтому мы подключаемся в первый раз. Мы должны нажать «Да», чтобы подключиться.
Он запросит у нас имя пользователя для входа в систему, мы поместим имя пользователя, связанное с этим созданным SSH-ключом:
И как только мы введем имя пользователя, это будет означать, что аутентификация правильная, и мы сможем начать выполнение команд через SSH в операционной системе pfSense. В этом примере мы использовали только открытый ключ, мы не использовали комбинацию пароля и открытого ключа SSH, но вы также можете использовать его без проблем, единственное, что будет запрашивать у нас пароль при подключении.
Теперь, когда у нас правильно настроен SSH-сервер, мы увидим некоторые дополнительные конфигурации.
Параметры защиты входа и управления консолью
В » Система / Расширенный », Мы можем настроить защиту входа в систему, в принципе, конфигурация, которая идет по умолчанию, очень хороша для блокирования злоумышленников, которые постоянно пытаются подключиться к серверу SSH. Если мы превысим значение 10 за 1800 секунд, попытки доступа будут заблокированы на 120 секунд.
Внизу, где у нас есть «Список пропусков», мы можем поместить общедоступные IP-адреса, которые мы разрешаем для прохождения этой защиты, это необходимо для таких сервисов, как UptimeRobot, которые время от времени пытаются проверить, работает ли SSH или веб-сервер.
Другая конфигурация, которую мы должны сделать, — это раздел «Меню консоли», желательно защитить его паролем доступа. Нам потребуется не только физический доступ к команде pfSense, но и запрос аутентификации по паролю для root.
Прежде чем мы закончим, мы хотели бы обсудить дополнительные меры защиты.
Правила на межсетевом экране и использование IDS / IPS
pfSense — действительно мощная и продвинутая операционная система, ориентированная на брандмауэр, благодаря различным правилам, которые мы можем настроить в разных интерфейсах, у нас будет возможность разрешить или запретить доступ как к веб-серверу, так и к серверу SSH. Хорошая практика безопасности — не разрешать доступ через Интернет или SSH через Интернет, если нам нужно управлять pfSense удаленно, хорошей практикой является подключение через VPN к одному из нескольких VPN-серверов, которые позволяет pfSense (OpenVPN, WireGuard, IPsec…), а затем войти через Интернет или SSH, но не предоставлять обе службы в Интернет, даже если мы правильно их защитили.
Если у вас нет другого выбора, кроме как открыть обе службы (по какой-то причине), мы рекомендуем вам установить и настроить систему обнаружения и предотвращения вторжений, такую как Snort или Suricata. Таким образом, вы получите больший контроль над устанавливаемыми соединениями и автоматически заблокируете возможные атаки методом грубой силы, отказ в обслуживании и т. Д.
То же самое происходит, если мы хотим разрешить или запретить доступ к различным VLAN, которые мы можем создать, наиболее нормальным является то, что сеть, определенная как «Гости», никогда не имеет доступа к панели администрирования pfSense ни через Интернет, ни через SSH. Это необходимо сделать через раздел «Брандмауэр / Правила», задав правила для адресов или сетей происхождения и назначения самого pfSense, как это обычно делается.
Мы надеемся, что с этими рекомендациями вы сможете правильно защитить как веб-доступ, так и SSH-доступ к pfSense.
Источник