Как настроить межсетевой экран в FreeBSD с PF Linux

{title}

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

Один из основных механизмов безопасности связан с брандмауэром системы, поскольку благодаря ему можно фильтровать входящие и исходящие пакеты из сети и создавать различные правила для повышения безопасности как системы, так и приложений и объектов, хранящихся в л.

Вот почему сегодня Solvetic подробно объяснит, как настроить межсетевой экран во FreeBSD с помощью pf.

Что такое пф

PF (Packet Filter) был разработан как программное обеспечение брандмауэра для систем FreeBSD, с помощью которого мы можем создавать сотни правил, которые позволяют нам гораздо более централизованно администрировать доступ и поведение всех элементов системы.

Теперь мы увидим, как включить и настроить pf во FreeBSD.

1. Как активировать брандмауэр Linux


Хотя pf интегрирован во FreeBSD, мы должны добавить следующие строки в файл /etc/rc.conf с любым нужным редактором:
 nano /etc/rc.conf 
Строки для добавления:
 echo 'pf_enable = "YES"' >> /etc/rc.confecho 'pf_rules = "/ usr / local / etc / pf.conf"' >> /etc/rc.confecho 'pflog_enable = "YES"' >> / etc / rc.confecho 'pflog_logfile = "/ var / log / pflog"' >> /etc/rc.conf 

{title}

После добавления этих строк мы сохраняем изменения с помощью клавиш Ctrl + O и покидаем редактор с помощью Ctrl + X.

Мы добавили следующие строки:

Включить службу PF

 pf_enable = "ДА" 

Возьмите правила PF из этого конкретного файла

 pf_rules = "/ usr / local / etc / pf.conf" 

Включить поддержку регистрации для PF

 pflog_enable = "ДА" 

Относится к файлу, в котором pflogd должен хранить файл журнала.

 pflog_logfile = "/ var / log / pflog" 
Там записи будут храниться в файле / var / log / pflog.

2. Как создать правила в файле /usr/local/etc/pf.conf Linux


После добавления предыдущих строк мы получим доступ к файлу /usr/local/etc/pf.conf, чтобы создать правила, которые должен прочитать pf и которые будут приняты во внимание во время защиты.
Мы получаем доступ с помощью некоторого редактора:
 nano /usr/local/etc/pf.conf 
Поскольку это новый файл, возможностей правил тысячи, для этого случая мы можем перейти по следующей ссылке и скопировать правило, которое применяется к веб-серверу, и вставить его в наш файл конфигурации:

Правила ПФ

{title}

Там мы должны рассмотреть возможность изменения сетевого адаптера в поле ext_if для правильного в каждом случае.

В этом файле мы добавили следующие правила:

 # vim: set ft = pf # /etc/pf.confext_if="em0"webports = "{http, https}" int_tcp_services = "{domain, ntp, smtp, www, https, ftp}" int_udp_services = "{domain, ntp} "установить пропуск на потерянном интерфейсе лога $ ext_if # Normalizationscrub во всем фрагменте случайного идентификатора reassembleblock возврат в журнал allblock out allantispoof quick для $ ext_if # Block 'быстродействующий перебор грубой силы "ftp-proxy / *" # SSH прослушивает порт 26pass в быстром протокольном режиме до $ ext_if, порт 26 сохраняет состояние (max-src-conn 15, max-src-conn-rate 5/3, сброс глобальной перегрузки) # Webserverpass протокольный протокол из любого порта $ ext_if $ webports # Быстрый доступ к исходящему исходящему трафику на $ ext_if протокольный протокол любого порта $ int_tcp_services быстрый быстрый переход по протоколу $ ext_if к любому порту $ int_udp_services 
Важно помнить, что у pf есть определенный порядок установления правил, а это:

$config[ads_text5] not found

макрос

Макросы должны быть определены до того, как на них будут ссылаться в pf.conf
таблицы

Таблицы предоставляют механизм для повышения производительности и гибкости правил
Опции (Options)

Эти параметры регулируют поведение механизма фильтрации пакетов.
Нормализация трафика

Это правило защищает внутренние машины от несоответствий в интернет-протоколах и реализациях.
очереди

Обеспечивает контроль пропускной способности на основе определенных правил
перевод

Эта опция указывает, как адреса должны быть сопоставлены или перенаправлены.
Пакетная фильтрация

Предлагает блокировку на основе правил

Как только правила созданы, мы сохраняем изменения, используя Ctrl + O, и закрываем редактор, используя Ctrl + X.

3. Как включить службу Linux pf


Далее мы выполним серию команд для проверки и запуска службы pf во FreeBSD.

Шаг 1
Для проверки состояния включения pf мы выполняем строку:

 pfctl -e 

{title}

Шаг 2
Чтобы запустить службу pf, мы запускаем следующую строку:

 служба запуска 

{title}

Шаг 3
Мы проверяем сервис, запустив:

 служба проверки 

{title}

Шаг 4
На этом этапе мы также можем выполнить любую из следующих опций:

 /etc/rc.d/pf checkpfctl -n -f /usr/local/etc/pf.conf 
Если мы хотим остановить службу pf, мы выполняем:
 служба остановки 
Чтобы перезапустить службу pf:
 служба перезагрузки 

{title}

Шаг 5
Если мы хотим увидеть текущий статус службы pf:

 статус службы 

{title}

Шаг 6
Брандмауэр pf использует службу pflog для хранения и записи всех событий безопасности, которые происходят в системе, варианты использования:

 служба запуска pflog (служба запускается) служба остановки pflog (служба останавливается) служба перезапуска службы pflog 

$config[ads_text5] not found

{title}

4. Как использовать pf во FreeBSD Linux


Необходимо будет использовать команду pfctl для визуализации набора правил pf и настроек параметров, включая информацию о состоянии фильтра пакетов.
Чтобы увидеть эту информацию мы выполняем следующее:
 правила pfctl -s 

{title}

В дополнение к этому у нас будет больше вариантов, таких как:

Добавить номер правила

 pfctl -vvsr show 

Показать статус

 pfctl -s statepfctl -s состояние | более 

$config[ads_text6] not found

Отключить пф

 pfctl -d 

Включить пф

 pfctl -e 

Очистить все правила

 pfctl -F все 

Удалить только запросы

 pfctl -F очередь 

Удалить все состояния

 pfctl -F информация 

{title}

Просмотр событий PF

 tcpdump -n -e -ttt -r / var / log / pflog 

{title}

$config[ads_text5] not found

Мы можем увидеть, как pf является практичным инструментом при работе с брандмауэром во FreeBSD.