Гид по технологиям

Установка и базовая настройка CSF на Debian 11

• 5 min read • Безопасность • Обновлено 25 Nov 2025
CSF на Debian 11 — установка и настройка
CSF на Debian 11 — установка и настройка

CSF (ConfigServer Firewall) — лёгкий в установке и мощный брандмауэр для Linux, подходящий для управления портами, блокировок по IP и интеграции с панелями управления. В этом руководстве пошагово показана установка на Debian 11, проверка модулей, базовая настройка /etc/csf/csf.conf, основные команды и рекомендации по безопасности.

Скриншот вывода установки CSF на Debian 11

Что такое CSF

CSF (ConfigServer Firewall) — свободный брандмауэр для Linux. Он реализует управление входящими и исходящими подключениями, детектирование взломов, защиту от флуда и блокировку по правилам. Коротко: это оболочка и набор правил для iptables/nftables (зависит от системы), плюс демон lfd для логики обнаружения атак.

Определение в одну строку: CSF — конфигурируемый фронтенд для управления сетевой безопасностью на сервере.

Варианты использования

  • Защита виртуальных хостов и VPS на Debian 11.
  • Интеграция с хостинг-панелями (cPanel, DirectAdmin, Webmin).
  • Быстрая настройка белых/чёрных списков IP.

Перед началом

Требования

  • Сервер с Debian 11.
  • Доступ root или эквивалент sudo.
  • Пароль root настроен или доступ по sudo.

Рекомендация: перед установкой сделайте резервную копию конфигураций iptables/nftables и текущих файрволов.

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

Обновите индексы пакетов:

apt-get update -y

Установите зависимости, которые потребуются CSF и скриптам установки:

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

Примечание: список пакетов сохраняет совместимость с Debian 11. Если вы используете nftables как бекенд, проверьте совместимость с выбранной версией CSF.

Скачивание и установка CSF

CSF не всегда доступен в стандартных репозиториях Debian — скачиваем официальный архив и запускаем инсталлятор:

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

Распакуйте архив:

tar -xvzf csf.tgz

Перейдите в папку и запустите установку:

cd csf  
bash install.sh

После установки инсталлятор выдаст подсказки — пример вывода сохранён ниже и встречается на многих системах:

Don't forget to:
1. Configure the following options in the csf configuration to suite your server: TCP_*, UDP_*
2. Restart csf and lfd
3. Set TESTING to 0 once you're happy with the firewall, lfd will not run until you do so

Adding current SSH session IP address to the csf whitelist in csf.allow:
*WARNING* URLGET set to use LWP but perl module is not installed, fallback to using CURL/WGET
Adding 106.222.22.32 to csf.allow only while in TESTING mode (not iptables ACCEPT)
*WARNING* TESTING mode is enabled - do not forget to disable it in the configuration
'lfd.service' -> '/usr/lib/systemd/system/lfd.service'
'csf.service' -> '/usr/lib/systemd/system/csf.service'
Created symlink /etc/systemd/system/multi-user.target.wants/csf.service 
 -> /lib/systemd/system/csf.service.
Created symlink /etc/systemd/system/multi-user.target.wants/lfd.service 
 -> /lib/systemd/system/lfd.service.
Failed to disable unit: Unit file firewalld.service does not exist.
Failed to stop firewalld.service: Unit firewalld.service not loaded.
Unit firewalld.service does not exist, proceeding anyway.
Created symlink /etc/systemd/system/firewalld.service -> /dev/null.
'/etc/csf/csfwebmin.tgz' -> '/usr/local/csf/csfwebmin.tgz'

Installation Completed

Important: внимательно прочтите сообщения инсталлятора — в частности предупреждение про TESTING mode (тестовый режим), при котором lfd может не работать.

Проверка модулей iptables

После установки выполните тест совместимости:

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

Ожидаемый успешный вывод:

Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK

RESULT: csf should function on this server

Если какие-то модули помечены как FAILED, проверьте наличие соответствующих пакетов ядра или загрузку модулей. На виртуальных хостингах некоторые модули могут быть недоступны — в этом случае CSF будет работать в ограниченном режиме.

Базовая конфигурация /etc/csf/csf.conf

Откройте файл конфигурации для правок:

nano /etc/csf/csf.conf

Основные изменения, которые обычно требуются сразу после установки:

  • Включить CSF: найдите строку TESTING и установите значение 0.
TESTING = "0"
  • Ограничить доступ к системным логам (если нужно): RESTRICT_SYSLOG задаёт режим доступа; значение 3 ограничит доступ только для группы, указанной в RESTRICT_SYSLOG_GROUP.
RESTRICT_SYSLOG = "3"
  • Настройка разрешённых входящих TCP-портов (пример):
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"
  • Настройка разрешённых исходящих TCP-портов (пример):
TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"
  • Входящие UDP:
UDP_IN = "20,21,53,80,443"
  • Исходящие UDP:
UDP_OUT = "20,21,53,113,123"

После внесения изменений перезагрузите CSF, чтобы применить конфигурацию:

csf -r

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

Основные команды управления CSF

  • Остановить CSF (централизованное отключение правил):
csf -s
  • Очистить (flush) правила CSF/iptables:
csf -f
  • Показать правила, добавленные CSF:
csf -l
  • Запустить и включить автозапуск systemd:
systemctl start csf
systemctl enable csf
  • Проверить статус сервиса:
systemctl status csf

Пример вывода статуса сервиса (сокращённый):

? csf.service - ConfigServer Firewall & Security - csf
     Loaded: loaded (/lib/systemd/system/csf.service; enabled; vendor preset: enabled)
     Active: active (exited) since Sat 2021-09-18 15:42:04 UTC; 11s ago
    Process: 8022 ExecStart=/usr/sbin/csf --initup (code=exited, status=0/SUCCESS)
   Main PID: 8022 (code=exited, status=0/SUCCESS)
        CPU: 705ms

Sep 18 15:42:04 debian11 csf[8022]: ACCEPT  all opt    in * out lo  ::/0  -> ::/0
Sep 18 15:42:04 debian11 csf[8022]: LOGDROPOUT  all opt    in * out !lo  ::/0  -> ::/0
Sep 18 15:42:04 debian11 csf[8022]: LOCALOUTPUT  all opt -- in * out !lo  0.0.0.0/0  -> 0.0.0.0/0
Sep 18 15:42:04 debian11 csf[8022]: LOCALINPUT  all opt -- in !lo out *  0.0.0.0/0  -> 0.0.0.0/0
Sep 18 15:42:04 debian11 systemd[1]: Finished ConfigServer Firewall & Security - csf.
  • Разрешить IP (добавить в белый список):
csf -a 192.168.100.10
  • Заблокировать IP (чёрный список):
csf -d 192.168.100.11
  • Удалить из белого списка:
csf -ar 192.168.100.10
  • Удалить из чёрного списка:
csf -dr 192.168.100.11

Альтернативно можно редактировать файлы вручную:

nano /etc/csf/csf.allow

Добавьте доверенные IP, по одному в строке:

192.168.100.10

И список запрещённых IP:

nano /etc/csf/csf.deny
192.168.100.11

После редактирования файлов примените:

csf -r

Рекомендации по безопасности и лучшие практики

  • Всегда оставляйте текущую сессию SSH в белом списке перед отключением/перезагрузкой брандмауэра.
  • Устанавливайте TESTING = 0 только после проверки правил в тестовом режиме.
  • Используйте автоматическое оповещение lfd для обнаружения повторных попыток входа.
  • Ограничивайте доступ к логам через RESTRICT_SYSLOG и управляйте правами групп.
  • Планируйте регулярную проверку списка deny/allow и удаление устаревших записей.

Точки отказа и когда CSF может не подойти

  • На выполненном провайдером хостинге без доступа к kernel modules некоторые необходимые модули iptables могут отсутствовать — CSF будет ограничен.
  • Если инфраструктура использует исключительно nftables и нет совместимости, подумайте о nativer nftables-решении или настройке совместимости.
  • Для очень крупных сетей с сотнями тысяч правил iptables может стать узким местом; в таких случаях потребуются более специализированные решения для управления сетевой политикой.

Альтернативные подходы

  • UFW — проще для пользователей Ubuntu и базовых сценариев.
  • nftables — современная замена iptables в новых дистрибутивах.
  • Аппаратные и облачные WAF/NGFW — для комплексной фильтрации трафика на уровне сети и приложений.

Быстрый чек-лист (роль: админ)

  • Выполнено обновление apt-get.
  • Установлены зависимости.
  • Скачан и распакован csf.tgz.
  • Запущен install.sh.
  • Выполнен perl /usr/local/csf/bin/csftest.pl и модулей OK.
  • TESTING = 0 в /etc/csf/csf.conf.
  • SSH-порт добавлен в TCP_IN.
  • Добавлены доверенные IP в csf.allow.
  • Перезагружен csf: csf -r.

Мини-методология внедрения (SOP)

  1. На тестовом сервере выполнить установку и настройку, сохранить конфигурации.
  2. Прогнать набор тестов доступа из разных сетей (SSH, HTTP, почта).
  3. Перенести конфигурацию на продукцию, включив TESTING=0.
  4. Мониторить логи lfd в течение 48–72 часов и откалибровать пороги.

Критерии приёмки

  • csf успешно запускается и сервис active.
  • csftest.pl возвращает RESULT: csf should function on this server или эквивалент.
  • Доступ по SSH сохранён и порты приложения работают.
  • Логи lfd/CSF не содержат критических ошибок в течение контрольного периода.

Тестовые сценарии

  • Попытка подключения к закрытому порту должна завершаться отказом.
  • Попытка из заблокированного IP — должна быть записана в логи и продолжать блокироваться.
  • Добавление IP в csf.allow — проверка доступа с этого IP.

Краткий словарь терминов

  • CSF — ConfigServer Firewall.
  • lfd — Login Failure Daemon, демон для обнаружения попыток входа.
  • TCP_IN / TCP_OUT — списки разрешённых TCP-портов.
  • csf.allow / csf.deny — файлы белого и чёрного списков IP.

Заключение

Установка CSF на Debian 11 — относительно простой процесс: скачивание архива, запуск install.sh, проверка модулей и базовая настройка /etc/csf/csf.conf. Ключевые моменты — не потерять SSH-подключение, отключить TESTING после проверки и настроить белый/чёрный списки. CSF остаётся хорошим выбором для небольших и средних серверов, где требуется гибкое управление правилами и интеграция с хостинг-панелями.

Важно

Перед массовым переносом конфигураций между серверами всегда тестируйте правила в контролируемой среде.

Ссылки

Для подробной документации и дополнительных опций смотрите официальную документацию CSF на сайте проекта.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро