Pfsense это межсетевой экран
Дистрибутивов для построения роутеров и брандмауэров — великое множество. Однако большая их часть (не считая всяческих проприетарных и работающих на иных, нежели x86, платформах) основана на ядре Linux. Но ведь помимо Linux есть еще и другие ядра, и на их основе тоже можно делать специализированные дистрибутивы. Один из них, pfSense, и будет рассмотрен в данной статье.
Secure networks start here.™ With thousands of enterprises using pfSense® software, it is rapidly becoming the world's most trusted open source network security solution.
Правила на межсетевом экране и использование IDS / IPS
pfSense - действительно мощная и продвинутая операционная система, ориентированная на брандмауэр, благодаря различным правилам, которые мы можем настроить в разных интерфейсах, у нас будет возможность разрешить или запретить доступ как к веб-серверу, так и к серверу SSH. Хорошая практика безопасности - не разрешать доступ через Интернет или SSH через Интернет, если нам нужно управлять pfSense удаленно, хорошей практикой является подключение через VPN к одному из нескольких VPN-серверов, которые позволяет pfSense (OpenVPN, WireGuard, IPsec…), а затем войти через Интернет или SSH, но не предоставлять обе службы в Интернет, даже если мы правильно их защитили.
Если у вас нет другого выбора, кроме как открыть обе службы (по какой-то причине), мы рекомендуем вам установить и настроить систему обнаружения и предотвращения вторжений, такую как Snort или Suricata. Таким образом, вы получите больший контроль над устанавливаемыми соединениями и автоматически заблокируете возможные атаки методом грубой силы, отказ в обслуживании и т. Д.
То же самое происходит, если мы хотим разрешить или запретить доступ к различным VLAN, которые мы можем создать, наиболее нормальным является то, что сеть, определенная как «Гости», никогда не имеет доступа к панели администрирования pfSense ни через Интернет, ни через SSH. Это необходимо сделать через раздел «Брандмауэр / Правила», задав правила для адресов или сетей происхождения и назначения самого pfSense, как это обычно делается.
Мы надеемся, что с этими рекомендациями вы сможете правильно защитить как веб-доступ, так и SSH-доступ к pfSense.
Security, Design, Implementation PROFESSIONAL SERVICES
We know the challenges you face are complicated. Netgate staff can help you implement effective solutions to solve those problems. We will help you plan, design, implement, operate, and manage the right technology strategy to improve the way you do business. From network security to high-availability to firewall conversions, we provide effective solutions so you can focus on running your business. Find out more at the Netgate website.
Введение
pfSense основан на ядре FreeBSD, но не требует каких-либо знаний и умений, специфичных для данной ОС. Практически весь функционал доступен через веб-интерфейс. А надо сказать, функционал у pfSense обширный. Поддерживаются следующие возможности:
- стандартная фильтрация на основе адресов и портов источника/назначения;
- фильтрация на основе фингерпринтинга ОС, с которой устанавливается соединение (используется средство пассивного фингерпринтинга p0f);
- прозрачный брандмауэр второго уровня;
- нормализация пакетов — отбрасывание пакетов с неправильно сформированными полями, которые могут, в принципе, быть и специфическим путем атаки;
- поддержка состояния соединений — возможности бэкенда pfSense, pf, в этом смысле выглядят, пожалуй, даже более гибкими, чем у iptables. Поддерживается в том числе и Syn-прокси для защиты некоторых служб от Syn-flood-атак;
- гибкая поддержка NAT;
- VPN — поддерживаются IPSec, PPTP и OpenVPN;
- мониторинг и статистика. Рисование графиков с помощью RRD и в реальном времени;
- множество DDNS-сервисов.
Этим возможности pfSense, конечно, не исчерпываются, но у нас здесь все же не краткий их список, поэтому перейду к описанию установки.
Другие дистрибутивы для создания роутеров на базе FreeBSD
Несмотря на то что сейчас подавляющее большинство дистрибутивов для роутеров основаны на Linux, помимо pfSense существуют еще три FreeBSD-based дистрибутива для подобных же целей:
m0n0wall — фактически прародитель pfSense. Главная особенность — крайне малый размер (32 Мб), что позволяет использовать его даже на доисторическом по современным меркам железе;
BSD Router Project — встраиваемый дистрибутив (для x86), фокусирующийся на протоколах динамической маршрутизации; в состав данного дистрибутива включено ПО Quagga и BIRD;
ZRouter — попытка сделать аналог OpenWRT на базе FreeBSD, к сожалению, проект, похоже, мертв — последняя активность датирована 2011 годом.
Как видим, выбор хоть и невелик, но все же есть. Не Linux’ом единым.
Настройка администрирования через консоль с SSH
- Открытый ключ SSH
- Пароль или открытый ключ (тот или иной)
- Пароль и открытый ключ (оба)
У нас также будет возможность включить пересылку на сервере SSH, например, для выполнения туннелирования SSH. Наконец, мы можем изменить порт прослушивания SSH-сервера, в случае этого протокола это TCP 22, но мы можем изменить его, фактически, из соображений безопасности рекомендуется изменить порт по умолчанию для SSH-сервера.
После того, как мы настроили аутентификацию, нам нужно будет настроить пользователей, которые могут аутентифицироваться на SSH-сервере, а также то, какие SSH-ключи есть у пользователей. Если мы нажмем на гиперссылку, где написано «пользователь», мы перейдем прямо к «Диспетчеру системы / пользователей», и здесь мы сможем добавить нового пользователя с другими разрешениями. В нашем случае мы добавили нового пользователя, который принадлежит к группе «администраторы».
Если мы создадим нового пользователя или отредактируем его, мы сможем настроить другие параметры. В нашем случае мы добавили его в группу администраторов, как вы можете видеть на следующем изображении:
- Пользователь - Система: доступ к учетной записи оболочки
- Открытый ключ SSH: мы должны его создать
- Пароль или открытый ключ (один или другой): мы можем использовать настроенный ключ или открытый ключ SSH, если мы его создадим.
- Пароль и открытый ключ (оба): мы будем использовать настроенный ключ плюс открытый ключ SSH, необходимо его создать.
Поскольку наиболее безопасным способом аутентификации является «открытый ключ SSH» или «Пароль и открытый ключ (оба)», мы должны создать ключи SSH.
Создайте ключи SSH с помощью Puttygen
В настоящее время мы используем Windows 10, самый простой способ создать ключи SSH - использовать " Генератор ключей замазки », Которую вы можете скачать бесплатно. Установка не требуется, при загрузке программы мы ее запустим и увидим следующее меню:
Здесь мы можем настроить различные типы ключей SSH, RSA и DSA являются наиболее распространенными и хорошо известными, но рекомендуется использовать такие ключи, как ECDSA, а также Ed25519, которые используют эллиптические кривые. В нашем случае мы использовали Ed25519, выберите его и нажмите «Создать».
После того, как мы щелкнем по генерации, мы должны переместить мышь, чтобы создать случайность и чтобы ключи были сгенерированы правильно. Теперь мы видим вверху открытый ключ, который мы должны вставить в созданного ранее пользователя pfSense. Мы можем настроить комментарий в ключе, а также пароль для расшифровки закрытого ключа при подключении, это повышает безопасность. Если кто-то сможет украсть наш закрытый ключ, он не сможет использовать его, если у него нет пароля сгенерированного закрытого ключа.
Получив сгенерированный ключ, мы нажимаем «Сохранить открытый ключ», а также «Сохранить закрытый ключ», чтобы пара ключей всегда была под рукой. Мы должны помнить, что открытый ключ - это тот, который мы должны скопировать для пользователя, как вы можете видеть:
После того, как сервер SSH полностью настроен в pfSense, мы собираемся показать вам, как подключиться к популярной программе Putty.
Overview
The pfSense project is a free network firewall distribution, based on the FreeBSD operating system with a custom kernel and including third party free software packages for additional functionality. pfSense software, with the help of the package system, is able to provide the same functionality or more of common commercial firewalls, without any of the artificial limitations. It has successfully replaced every big name commercial firewall you can imagine in numerous installations around the world, including Check Point, Cisco PIX, Cisco ASA, Juniper, Sonicwall, Netgear, Watchguard, Astaro, and more.
pfSense software includes a web interface for the configuration of all included components. There is no need for any UNIX knowledge, no need to use the command line for anything, and no need to ever manually edit any rule sets. Users familiar with commercial firewalls catch on to the web interface quickly, though there can be a learning curve for users not familiar with commercial-grade firewalls.
Help, Documentation, Answers PRODUCT SUPPORT
Our staff has direct access to the pfSense development team. Having a pfSense engineer ready to answer your questions and provide “best practice” advice will complement your IT resources and add value to your team. If you purchase your hardware appliance from the pfSense store, our familiarity with the products will allow our support team to provide end-to-end solutions encompassing all aspects of the hardware and the firewall application.
Hardware
Unlike most common commercial firewalls offerings, the pfSense project is just the software portion of the firewall. This means you get to tailor the hardware you choose to meet your environment's specific needs.
With hardware you have the option of purchasing a Security Gateway Appliance directly from Netgate ® , from one of the many Netgate Partners, or building your own solution using our hardware selection guide.
Enterprise, Open Source SOLUTIONS
Providing comprehensive network security solutions for the enterprise, large business and SOHO, Netgate solutions with pfSense Plus software bring together the most advanced technology available to make protecting your network easier than ever before. Our products are built on the most reliable platforms and are engineered to provide the highest levels of performance, stability and confidence.
Конфигурация протокола L2TP
Первое, что нам нужно сделать, это настроить протокол L2TP, для этого мы переходим в раздел «VPN / L2TP» и настраиваем его следующим образом:
- Интерфейс: WAN
- Адрес сервера: 192.168.100.1; Необходимо указать подсеть, которая не используется, и которая служит только для использования ее в качестве шлюза клиента.
- Диапазон удаленных адресов: 192.168.100.128/25; Мы даем локальную подсеть подключенным клиентам.
- Количество пользователей L2TP: 10, это может быть настроено в зависимости от пользователя.
- Секрет: 1234clavel2tp; Можем поставить пароль, желательно его поставить, хотя некоторым клиентам он не нужен. Это зависит от комплектации.
- Тип аутентификации: CHAP
- Первичный / вторичный L2TP DNS-сервер: мы можем поставить DNS-сервер для клиентов
После того, как мы настроили его и нажали «Сохранить», мы переходим в раздел «Пользователи» и создаем имя пользователя и пароль для доступа к нему. Здесь нам нужно будет зарегистрировать всех пользователей VPN-сервера, к которому они собираются подключиться, часть IP-адреса может быть оставлена пустой без настройки, чтобы сервер динамически назначал IP.
Установка и начальная настройка
На сайте pfSense доступны следующие версии образов (как для i386, так и для x64): LiveCD с установщиком, он же для установки на флешки и образ для встраиваемых систем (для записи на CompactFlash). Помимо этого, конечно, имеются и образы для обновления существующей системы, но, поскольку мы будем ставить pfSense на чистую систему с жестким диском, нам они не нужны, а нужен только самый первый из упомянутых образов.
После загрузки с CD первым делом будет предложено настроить VLAN. Если этому ничто не препятствует, можно без зазрения совести пропустить данную процедуру, что мы и сделаем. На следующем шаге нужно указать, какой интерфейс глядит в WAN, а какой в LAN. Затем запустятся все остальные службы и нужно будет выбрать, что именно мы хотим сделать. Выбираем «99» — установку на жесткий диск. Затем будет конфигурация консоли, в которой опять же оставляем все как есть, ибо консоль в данном дистрибутиве практически не используется. Следующим шагом будет выбор метода установки. Мы устанавливаем на «чистое» железо, так что в абсолютном большинстве случаев пойдет пункт «Quick/Easy Inatall», при выборе которого будет задан только вопрос о типе устанавливаемого ядра. И в целом, после успешной перезагрузки, на этом процедуру собственно установки можно считать завершенной, дальше уже нужно настраивать через веб-интерфейс.
Установка pfSense. Выбор ядра
Другие статьи в выпуске:
Адрес по умолчанию для роутера 192.168.1.1, имя пользователя для веб-интерфейса admin, пароль pfsense. После первого входа будет предложено настроить роутер с помощью мастера. В принципе, в моем случае (тестовый стенд на VirtualBox) пошли почти все значения по умолчанию, за исключением пункта настройки WAN «Block RFC1918 Private Networks» — поскольку WAN у меня изначально был фиктивный, этот чекбокс пришлось снять.
Один из этапов начальной настройки pfSense
По завершении настройки нас выбросит в Dashboard, где можно увидеть статус всяческих служб и самой системы. Сразу после входа, впрочем, полезной информации мало, но можно добавлять виджеты для большего информирования в Dashboard’е.
pfSense Dashboard. Здесь можно видеть статус основных служб
pfSense поддерживает историю конфигурирования в Wiki-стиле — для доступа к ней перейди в Diagnostics -> Backup/Restore на вкладку Config History.
Как ты уже заметил, сверху в веб-интерфейсе имеется строка меню с выпадающими при наведении списками. Разберемся, что скрывается за названиями.
System — здесь у нас находятся такие вещи, как обновление (ручное и автоматическое), общие настройки системы (имя хоста, DNS, адрес NTP-сервера для синхронизации. ), управление сертификатами и пользователями. Но наиболее важное (и интересное) находится в пункте Advanced. Подробнее мы разберем эти настройки позже, вкратце же отмечу, что можно конфигурировать в том числе и глобальные параметры брандмауэра, в частности упомянутую ранее нормализацию пакетов, и настройки sysctl. Также в меню System присутствует возможность установки дополнительных пакетов, о чем подробнее опять-таки будет сказано позднее.
В меню Interfaces, как это явствует из названия, можно управлять сетевыми интерфейсами — назначать им алиасы, управлять типом выделения адреса, MTU. в общем, на сей раз все банально, и здесь мы останавливаться не будем.
Меню Services предоставляет доступ к настройкам всяческих сервисов — в том числе DHCP, Dynamic DNS, NTP.
VPN — настройка всевозможных видов VPN. Здесь можно сконфигурировать IPSec, PPTP, L2TP и OpenVPN. В общем-то, ничего особо примечательного тут нет, все достаточно интуитивно (для тех, кто когда-либо настраивал какой-либо VPN).
В меню Status можно посмотреть состояние и статистику различных подсистем (к примеру, состояние шлюзов, к которым подключен данный шлюз, состояние IPSec и OpenVPN), графики RRD и логи.
В Diagnostics можно проводить не только диагностические действия, но и, например, останавливать/перезагружать систему, редактировать файлы. Здесь имеется даже возможность выполнять команды оболочки.
Gold предназначено для платных подписчиков, и его рассматривать смысла не имеет.
Наконец, Help содержит внешние ссылки на документацию, в том числе и на FreeBSD Handbook.
Итак, по меню мы кратко пробежались, можно переходить к более детальному описанию некоторых интересных и вкусных вещей.
Опишем параметры, которые можно настроить в меню System -> Advanced. Здесь у нас шесть вкладок: Admin Access, Firewall/NAT, Networking, Miscellaneous, System tunables и Notifications. На первой вкладке находятся параметры, относящиеся к управлению доступом к роутеру в целом, не зависящие от конкретного пользователя (а то и вообще ориентированные на одного только админа). Большинство из них смысла рассматривать нет, но вот парочку стоит описать.
Disable webConfigurator anti-lockout rule — по умолчанию в pfSense существует «защита от дурака», неотключаемое правило, согласно которому из локальной сети в веб-интерфейс можно зайти всегда, вне зависимости от любых других правил. Его можно отключить только путем установки данного чекбокса. Опять же, если ты его отключаешь, рекомендую сделать аналогичное правило, пусть оно будет и строже.
На вкладке Firewall/NAT у нас имеются общие настройки брандмауэра и NAT. Так, чекбокс «Insert a stronger id into IP header of packets passing through the filter» рандомизирует поле ID IP-пакета, чтобы помешать идентификации ОС машин за брандмауэром и избежать некоторых видов атак, а «Disables the PF scrubbing option which can sometimes interfere with NFS and PPTP traffic» отключает отбрасывание пакетов с неверно установленными флагами. Там же можно установить некоторые лимиты, такие как максимальное количество хранимых состояний соединений или максимальный размер таблиц, где хранятся IP-адреса. Кроме того, можно указать, какой тип оптимизации использовать (выпадающий список Firewall Optimization Options), то есть насколько долго брандмауэр будет хранить состояние «холостых» соединений и, соответственно, сколько памяти и процессорного времени он будет использовать. Существует четыре варианта оптимизации: none, high-latency — для каналов с большой задержкой (спутниковые), aggressive (памяти и CPU расходуется меньше, но есть риск досрочного завершения вполне нормальных соединений) и conservative — самый ресурсоемкий вариант, при котором уж точно все соединения будут доступны.
Вкладка Miscellaneous содержит настройки таких параметров, как прокси, балансировка нагрузки, аппаратное ускорение шифрования (выпадающий список Cryptographic hardware), параметры электропитания и датчиков температуры процессора и многое другое.
На вкладке System tunables размещены параметры, которые обыкновенно в BSD-системах настраиваются через sysctl. Возможно, некоторые из них дублируются на других вкладках — как минимум параметр net.inet.ip.random_id коррелирует с параметром, упомянутым выше. Сюда можно и добавлять параметры (разумеется, при условии, что они вообще есть в sysctl).
На последней вкладке содержатся настройки уведомлений. Поддерживаются уведомления Growl и SMTP. В принципе, сюда было бы логично поместить и параметры SNMP, но нет — они находятся совсем в другом месте.
В pfSense имеется также возможность установки дополнительного ПО, для чего существует репозиторий с пакетами. Чтобы просмотреть доступные пакеты, перейдем в System -> Packages и затем на вкладку Available Packages. Отмечу, что пакеты там все больше Alpha да Beta, stable-пакетов не так уж много. Перечислю некоторые:
- haproxy — прокси-сервер и балансировщик нагрузки, используется, к слову, в таких highload-проектах, как Twitter и Stack Overflow;
- ntop — показ трафика в реальном времени, аналогично утилите top;
- pfBlocker — средство для блокировки диапазонов IP-адресов, в том числе по странам;
- snort — всем известная IDS;
- suricata — менее известная IDS/IPS. Считается более быстродействующей, нежели snort. Разрабатывается в организации OISF (Open Information Security Foundation), финансируемой несколькими источниками, включая министерство внутренней безопасности США, которым предоставляется некая не-GPL-лицензия;
- Zabbix-2 Agent — агент средства мониторинга Zabbix (о Zabbix см. мою статью в ][ за декабрь 2013 года).
PfSense, помимо простых случаев, когда у тебя есть только один провайдер и одна локалка, поддерживает и более сложные варианты конфигурации. Посмотрим, как можно настроить роутер для подключения к нескольким провайдерам (MultiWAN). Прежде всего, вставляем сетевую карту (естественно, при отключенном питании роутера). Затем в меню Interfaces назначаем ей алиас (я использовал алиас WAN1) и прописываем соответствующие настройки. Следом идем в Dashboard — удостоверяемся, что карта получила IP-адрес. Потом в System -> Advanced на вкладке Miscellaneous ставим чекбокс Allow default gateway switching для автоматического переключения шлюза по умолчанию. Наконец, идем в System -> Routing. Здесь следует остановиться подробнее.
После перехода мы видим таблицу, где прежде всего стоит обратить внимание на столбцы Gateway и Monitor IP. Если назначение первого столбца объяснять не нужно, то столбец Monitor IP служит для проверки соединения, на него будут время от времени посылаться пинги. По умолчанию адрес для проверки совпадает с адресом шлюза. Для создания MultiWAN тебе нужно первым делом перейти на вкладку Groups и создать там группу шлюзов — для этого нажимаем на кнопку с плюсиком и заполняем поля. Стоит дать их описание:
- Group Name — имя группы, может быть произвольным (но не пустым и без пробелов), в моем случае — MultiWAN;
- Gateway Priority — приоритет шлюзов. Нас здесь интересует только столбец Tier, который, собственно, и отвечает за приоритет. Если поставить одинаковый приоритет, pfSense будет нагрузку балансировать;
- Trigger Level — когда именно должно сработать переключение. Здесь четыре варианта: Member Down — падение линка, Packet Loss — потеря пакетов, High Latency — критичная задержка прохождения пакетов и Packet Loss or High Latency — комбинация двух предыдущих. Настройки параметров задержки находятся в конфигурации каждого шлюза (System -> Routing) отдельно и доступны после нажатия кнопки Advanced;
- Description — необязательное поле описания.
Следом нужно создать (или отредактировать уже существующее разрешающее все) правило брандмауэра: заходим в Firewall -> Rules, жмем кнопку создания/редактирования правила, прокручиваем вниз и в Advanced Features -> Gateway в выпадающем списке, появляющемся после нажатия кнопки Advanced, выбираем MultiWAN. После каждого изменения параметров не забываем жать кнопки Save и Apply Changes — это относится не только к брандмауэру, но и ко всем остальным настройкам.
Затем проверяем. Отключаем какой-либо кабель и с клиентской машины даем traceroute. Если все нормально, пакеты будут идти через резервный шлюз. В веб-интерфейсе же состояние как шлюзов, так и их групп можно посмотреть в Status -> Gateways на вкладках Gateways и Gateway Groups соответственно.
Поскольку под капотом роутера у нас чуть допиленная FreeBSD, может возникнуть вопрос: можно ли поставить на него сторонние пакеты, отсутствующие в репозитории самого pfSense? И ответ на этот него — да, можно. Опустим, зачем это нужно, и попробуем поставить на наш роутер старый добрый Midnight Commander, точнее, его лайт-версию, ибо полноразмерная требует слишком много зависимостей. Первым делом нужно разрешить доступ к SSH (если еще не). Для этого в System -> Advanced -> Admin Access ставим соответствующий чекбокс Enable Secure Shell и сохраняем параметры. Следом заходим на роутер через ssh и после ввода пароля выбираем пункт 8 — оболочка. В оболочке же набираем следующую команду:
И после установки запускаем:
Видим привычный двухпанельный интерфейс, хоть и в непривычной цветовой гамме.
Все настройки pfSense хранятся в одном XML-файле — остальные конфиги генерируются на его основе. И существует несколько вариантов сохранения и восстановления данного файла. Рассмотрим их.
- Самый простой вариант — через веб-интерфейс. Для создания резервной копии конфигурации перейди в Diagnostics -> Backup/restore, выбери, в случае необходимости, ту часть конфигурации, которую нужно забэкапить, поставь (опять же в случае надобности) чекбокс Encrypt this configuration file и жми кнопку Download configuration. Там же можно восстановить конфиг — действия для этого аналогичные и в подробном описании не нуждаются.
- Второй вариант — сохранить/восстановить файл напрямую с помощью редактирования конфига /cf/conf/config.xml через Diagnostics -> Edit File. Тем не менее путь этот я бы крайне не рекомендовал, ибо функция сохранения на локальный компьютер у Edit File отсутствует, а при копипастинге содержимое может неправильно сохраниться. Если ты все же решишься им воспользоваться для восстановления, не забудь после этого перезагрузить роутер.
- Третий вариант относится к восстановлению. Если по каким-то причинам ты ставишь pfSense заново и у тебя есть полная (и незашифрованная) копия конфига, можно установить pfSense прямо с ним. Для этого нужно скопировать заранее сохраненный файл в conf/config.xml на USB-флешку, отформатированную в FAT16, вставить ее в роутер, загрузиться с LiveCD и продолжить установку в обычном режиме. После установки ты получишь полностью рабочий роутер.
Как и положено всякому уважающему себя *nix-дистрибутиву, pfSense поддерживает более чем один способ бэкапа.
pfSense в абсолютном большинстве случаев вполне способен служить заменой коммерческим решениям от той же Cisco. Если при этом добавить возможность добавления пакетов из репозитория самого pfSense, то он даже в чем-то их и превосходит. Но, даже не учитывая, что большинство версий упомянутых приложений честно помечены Beta (а то и вовсе Alpha), нужно четко осознавать: pfSense заточен под типичные конфигурации. Да, кирпичиков этих самых типичных конфигураций в нем много, однако стоит от них отступить, и окажется, что сделать нечто нестандартное в pfSense не представляется возможным.
Таким образом, если конфигурация твоей сети крайне неординарна, лучше использовать коммерческие решения или пилить роутер самостоятельно на основе той же Free/OpenBSD/Linux. В противном же случае (а таких, повторюсь, большинство), pfSense выглядит не худшим вариантом.
Если мы введем «Информация о странице» в любом браузере, мы увидим, что соединение зашифровано с помощью TLS 1.3, последнего доступного протокола, который обеспечивает максимальную безопасность и производительность в защищенных соединениях.
В случае обновления цифрового сертификата, соответствующего веб-серверу, нам просто нужно перейти в раздел «Система / Диспетчер сертификатов», нажать «Обновить сертификат веб-конфигуратора» и нажать кнопку «Обновить или перевыпустить», чтобы сгенерировать его снова.
Installation
Our Install Guide will guide you through your hardware selection, the initial pfSense configuration, and installing the pfSense software to your hard drive. Installation is quick and painless making it easy to setup your own personal demo in a virtual environment.
Securely Connect to the Cloud Virtual Appliances
Netgate ® virtual appliances with pfSense ® Plus software extend your applications and connectivity to authorized users everywhere, through Amazon AWS and Microsoft Azure cloud services. Network your employees, partners, customers, and other parties to share resources in site-to-cloud, cloud-to-cloud, and virtual private cloud (VPC) connectivity. Full firewall/VPN/router functionality all in one available in the cloud starting at $0.08/hr.
Deployment Selection
Cloud
Netgate’s pfSense software is available in the Azure and AWS Marketplaces, as well as their GovClouds (US) – isolated regions designed to allow hosting of Controlled Unclassified Information (CUI) by US government agencies, educational institutions, and non-profit organizations.
Organizations around the world rely on pfSense software to provide dependable, full-featured firewall protection in the cloud. There are no hidden fees for features and functions, no arbitrary licensing fees, no artificial user limitations, just unparalleled ROI and TCO.
Для чего используется VPN-сервер L2TP / IPsec?
L2TP (Layer 2 Tunneling Protocol) - один из наиболее широко используемых протоколов VPN, он использует протокол PPP для подключения различных каналов, он также включает механизмы аутентификации PPP, такие как PAP и CHAP, в дополнение к поддержке использования серверов RADIUS. для аутентификации клиента. Этот тип протокола VPN является многопротокольным и обеспечивает доступ к удаленным локальным сетям. Отрицательной стороной является то, что в нем нет надежной криптографии, поэтому его небезопасно использовать. Он разрешает аутентификацию только между концами туннеля, но не для каждого из пакетов, которые проходят через него, то же самое верно и для целостности пакетов, это не проверяется. Кроме того, L2TP не шифрует трафик от источника к месту назначения.
Учитывая все это, организация IETF приняла решение использовать криптографические протоколы IPsec в сочетании с L2TP, чтобы обеспечить функции конфиденциальности, аутентификации и целостности туннеля L2TP. По этой причине мы всегда найдем этот протокол, записанный как «L2TP / IPsec» в операционных системах, поскольку он использует оба протокола одновременно.
Как только у нас будет сводка о том, как работают два протокола VPN, мы продолжим настройку. Имея два протокола для настройки, L2TP и IPsec, мы четко разделим конфигурацию на две части.
Параметры защиты входа и управления консолью
В " Система / Расширенный », Мы можем настроить защиту входа в систему, в принципе, конфигурация, которая идет по умолчанию, очень хороша для блокирования злоумышленников, которые постоянно пытаются подключиться к серверу SSH. Если мы превысим значение 10 за 1800 секунд, попытки доступа будут заблокированы на 120 секунд.
Внизу, где у нас есть «Список пропусков», мы можем поместить общедоступные IP-адреса, которые мы разрешаем для прохождения этой защиты, это необходимо для таких сервисов, как UptimeRobot, которые время от времени пытаются проверить, работает ли SSH или веб-сервер.
Другая конфигурация, которую мы должны сделать, - это раздел «Меню консоли», желательно защитить его паролем доступа. Нам потребуется не только физический доступ к команде pfSense, но и запрос аутентификации по паролю для root.
Прежде чем мы закончим, мы хотели бы обсудить дополнительные меры защиты.
Global, Access, Knowledge pfSense Training
Netgate training is the only official source for pfSense courses! Our expert team provides quality on-line and on-site pfSense training to individuals and organizations of all sizes. We keep our class sizes small to provide each student the attention they deserve. The curriculum is designed to scale in detail from new pfSense users to senior network engineers, and can be customized to suit the needs of your business.
pfSense ® software includes the same features as most expensive commercial firewall solutions. In some cases, pfSense includes additional features that are not available in commercial closed source solutions. In all cases, pfSense provides better value for your money. Let us show you what pfSense can do, and get you started on the path to deploying pfSense software in your environment.
Введение
pfSense основан на ядре FreeBSD, но не требует каких-либо знаний и умений, специфичных для данной ОС. Практически весь функционал доступен через веб-интерфейс. А надо сказать, функционал у pfSense обширный. Поддерживаются следующие возможности:
- стандартная фильтрация на основе адресов и портов источника/назначения;
- фильтрация на основе фингерпринтинга ОС, с которой устанавливается соединение (используется средство пассивного фингерпринтинга p0f);
- прозрачный брандмауэр второго уровня;
- нормализация пакетов — отбрасывание пакетов с неправильно сформированными полями, которые могут, в принципе, быть и специфическим путем атаки;
- поддержка состояния соединений — возможности бэкенда pfSense, pf, в этом смысле выглядят, пожалуй, даже более гибкими, чем у iptables. Поддерживается в том числе и Syn-прокси для защиты некоторых служб от Syn-flood-атак;
- гибкая поддержка NAT;
- VPN — поддерживаются IPSec, PPTP и OpenVPN;
- мониторинг и статистика. Рисование графиков с помощью RRD и в реальном времени;
- множество DDNS-сервисов.
Этим возможности pfSense, конечно, не исчерпываются, но у нас здесь все же не краткий их список, поэтому перейду к описанию установки.
Другие дистрибутивы для создания роутеров на базе FreeBSD
Несмотря на то что сейчас подавляющее большинство дистрибутивов для роутеров основаны на Linux, помимо pfSense существуют еще три FreeBSD-based дистрибутива для подобных же целей:
m0n0wall — фактически прародитель pfSense. Главная особенность — крайне малый размер (32 Мб), что позволяет использовать его даже на доисторическом по современным меркам железе;
BSD Router Project — встраиваемый дистрибутив (для x86), фокусирующийся на протоколах динамической маршрутизации; в состав данного дистрибутива включено ПО Quagga и BIRD;
ZRouter — попытка сделать аналог OpenWRT на базе FreeBSD, к сожалению, проект, похоже, мертв — последняя активность датирована 2011 годом.
Как видим, выбор хоть и невелик, но все же есть. Не Linux’ом единым.
Configuration
How you configure the pfSense software is largely dependant on the needs you're trying to meet. There are tutorials in our documentation for various configuration scenarios.
If you need professional assistance configuring your deployment, you can use our commercial support to help get you up and running.
Операционная система, ориентированная на брандмауэр pfSense, имеет несколько протоколов VPN для установки серверов VPN удаленного доступа, а также туннелей VPN типа "сеть-сеть". L2TP / IPsec - очень популярный VPN, который позволяет удаленным VPN-клиентам, таким как компьютеры, смартфоны и планшеты, безопасно подключаться к рабочей или домашней локальной сети. L2TP будет отвечать за создание туннеля, а протокол IPsec будет отвечать за обеспечение конфиденциальности, аутентификации и целостности всех передаваемых данных. Сегодня в RedesZone мы шаг за шагом объясним, как настроить сервер L2TP / IPsec VPN для удаленного подключения.
Подключитесь к pfSense с помощью Putty и SSH-ключа
Мы открываем программу Putty и переходим в раздел «Подключение / SSH / Auth», затем в раздел «Файл закрытого ключа для аутентификации» и нажимаем «Обзор», чтобы загрузить ранее сохраненный закрытый ключ.
Теперь переходим в раздел «Сессия», помещаем IP-адрес и порт SSH-сервера в pfSense, после заполнения нажимаем «Открыть».
Теперь он сообщит нам, что соединение не кэшировано, поэтому мы подключаемся в первый раз. Мы должны нажать «Да», чтобы подключиться.
Он запросит у нас имя пользователя для входа в систему, мы поместим имя пользователя, связанное с этим созданным SSH-ключом:
И как только мы введем имя пользователя, это будет означать, что аутентификация правильная, и мы сможем начать выполнение команд через SSH в операционной системе pfSense. В этом примере мы использовали только открытый ключ, мы не использовали комбинацию пароля и открытого ключа SSH, но вы также можете использовать его без проблем, единственное, что будет запрашивать у нас пароль при подключении.
Теперь, когда у нас правильно настроен SSH-сервер, мы увидим некоторые дополнительные конфигурации.
Читайте также: