Поиск по сайту:

Как установить брандмауэр CSF на Debian 11


На этой странице

  1. Предпосылки
  2. Обновление вашей системы
  3. Установка брандмауэра CSF в Debian 11
  4. Настройка брандмауэра CSF в Debian 11
  5. Заключение

ConfigServer Firewall (CSF) — это брандмауэр для серверов Linux и систем BSD для контроля входящего и исходящего трафика. Прежде чем мы углубимся в подробности о CSF, давайте разберемся, что такое брандмауэр и как он работает.

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

Брандмауэр поставляется с набором правил для фильтрации входящего и исходящего трафика. И в зависимости от того, какой тип брандмауэра вы используете, он решает, разрешен ли IP-адресу доступ к сети или нет. Список правил определяется для конкретной системы, и брандмауэр фильтрует трафик в соответствии с правилами.

ConfigServer Firewall (CSF) — один из наиболее широко используемых брандмауэров с открытым исходным кодом на серверах Linux. CSF поставляется со списком функций, которые можно использовать для настройки правил. Следовательно, он очень мощный и простой в использовании одновременно.

Предпосылки

Чтобы установить и настроить CSF в Debian 11, у вас должны быть:

  • Сервер под управлением Debian 11 и ваша система должны быть подключены к Интернету.
  • Корневой доступ к серверу.

Обновление вашей системы

Перед установкой ConfigServer Firewall вам следует обновить систему. Запустите команду ниже, чтобы обновить вашу систему.

sudo apt update

После завершения обновления выполните следующие команды, чтобы установить необходимые зависимости.

sudo apt install libio-socket-inet6-perl libsocket6-perl -y
sudo apt install sendmail dnsutils unzip libio-socket-ssl-perl -y
sudo apt install libcrypt-ssleay-perl git perl iptables libnet-libidn-perl -y

Если в вашей системе установлена предыдущая версия CSF, сначала выполните следующую команду, чтобы удалить ее. Поскольку в Debian 11 используется новая версия Perl, установка CSF может вызвать конфликты с существующей установкой CSF.

cd /etc/csf &&  sh uninstall.sh 

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

sudo ufw disable

Установка брандмауэра CSF в Debian 11

Теперь, когда вы установили все необходимые компоненты, давайте загрузим и установим брандмауэр CSF.

Репозиторий Debian 11 не содержит пакетов CSF. Следовательно, вам необходимо загрузить последнюю версию брандмауэра ConfigServer с их официального сайта.

Для этого введите следующую команду.

wget http://download.configserver.com/csf.tgz

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

sudo tar -xvzf csf.tgz

После извлечения файла установите CSF с помощью следующей команды.

cd csf && sh install.sh

После завершения установки брандмауэр должен быть установлен. Чтобы запустить брандмауэр CSF, выполните следующую команду.

sudo systemctl start csf

Запустите команду ниже, чтобы убедиться, что все в порядке.

perl /usr/local/csf/bin/csftest.pl

Вы получите вывод, как показано ниже. Эти выходные данные подтверждают, что CSF запущен и работает.

Чтобы включить запуск брандмауэра CSF при загрузке, выполните следующую команду.

sudo systemctl enable csf

Вы можете проверить статус CSF, используя приведенную ниже команду.

sudo systemctl status csf

Эти выходные данные подтверждают, что CSF запущен и работает. Теперь давайте настроим этот брандмауэр.

Пример вывода:

Настройка брандмауэра CSF в Debian 11

После установки брандмауэра CSF активируются правила по умолчанию, которые поставляются с файлом конфигурации /etc/csf/csf.conf.

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

sudo nano /etc/csf/csf.conf

Чем меньше открытых портов, тем надежнее система. Но у вас всегда должны быть открыты некоторые общие порты. Вы можете увидеть все порты, открытые по умолчанию, в файле csf.conf, как показано ниже.

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

Например, если вы хотите заблокировать порт 80, его следует удалить из списка, как показано ниже.

Если вы используете IPv6, вам также следует обновить его в файле конфигурации, так как большинство атак в настоящее время осуществляются по протоколу IPv6. Вы должны настроить TCP6_IN, TCP6_OUT аналогично тому, что мы настроили для портов IPv4 выше.

Пример вывода:

Теперь давайте настроим параметры CONNLIMIT. CONNLIMIT — это функция безопасности в CSF, которая позволяет вам ограничить количество одновременных удаленных подключений, которые могут быть на определенном порту. Это помогает снизить риск DoS/DDoS-атак.

Например, если вы хотите ограничить любой IP-адрес не более чем тремя одновременными подключениями, вам следует обновить его, как показано ниже. Этот параметр разрешает только 3 одновременных подключения к порту 22 и 3 одновременных подключения к порту 443.

Далее давайте настроим параметры PORTFLOOD. Эта опция позволяет нам настроить максимальное количество запросов на подключение, разрешенных для порта в течение определенного периода времени.

Например, если вы хотите заблокировать любой IP-адрес, если на порту 443 установлено более 3 подключений с использованием протокола TCP в течение 60 секунд, вы должны обновить его, как показано ниже. Блокировка будет автоматически удалена по истечении 60-секундного периода времени с момента последнего подключения.

Самая основная функция любого брандмауэра — блокировать и разрешать IP-адреса. Вы можете добавить IP-адрес, который хотите заблокировать, вручную добавив его в файл csf.deny, или вы можете добавить весь диапазон IP-адресов в файл csf.deny.

Например, вы можете заблокировать весь диапазон IP-адресов 192.168.1.0/24.

Или

Вы можете заблокировать один IP-адрес 192.168.2.0, добавив его в файл csf.deny, как показано ниже.

Откройте файл csf.deny с помощью следующей команды.

sudo nano /etc/csf/csf.deny

Добавьте следующие строки в конец файла. Одна строка за раз.

192.168.2.0
192.168.1.0/24

Пример вывода:

Когда вы закончите, сохраните и закройте файл, нажав CTRL+X, Y и Enter.

Напротив файла csf.deny файл csf.allow используется для исключения IP-адреса или диапазона IP-адресов из всех фильтров. Обратите внимание, что даже если вы уже добавили IP-адрес в файл csf.deny, заблокированному IP-адресу по-прежнему будет разрешен доступ к вашему серверу, если вы добавите его в файл csf.allow.

sudo nano /etc/csf/csf.allow

CSF предлагает множество вариантов настройки собственного брандмауэра, которые выходят за рамки этого руководства. Вы можете ознакомиться с документацией ConfigServer о настройках и о том, как они работают.

Как только вы закончите обновление всех необходимых настроек, сохраните и закройте файл csf.conf, нажав CTRL+X, Y и Enter.

CSF также предлагает функцию игнорирования IP-адреса из любого фильтра. В отличие от разрешения IP-адреса в файле csf.allow, вы не можете игнорировать IP-адрес, если он указан в файле csf.deny.

sudo nano /etc/csf/csf.ignore

Теперь, когда вы настроили все параметры в файле csf.conf, пришло время обновить набор правил, чтобы применить изменения.

Для этого выполните следующую команду.

sudo csf -r

После завершения выполнения вышеуказанной команды вы сможете увидеть сообщение, как показано на следующем снимке экрана. Если сообщения об ошибках не отображаются, поздравляем! Конфигурация брандмауэра вашего сервера теперь обновлена и готова к использованию.

Заключение

Из этого руководства вы узнали, как установить ConfigServer Security & Firewall (CSF) на сервер Debian 11. Вы также узнали, как создавать правила брандмауэра, добавляя IP-адреса в разрешенные и заблокированные списки с помощью файлов конфигурации CSF.

Если вы столкнулись с какой-либо проблемой, вы всегда можете обратиться к документации по брандмауэру ConfigServer для получения дополнительной информации.