Как установить CSF в Ubuntu 18.04 / 20.04 / 22.04

[ConfigServer Security & Firewall (CSF) это инструмент брандмауэра, который обеспечивает простой способ настройки параметров безопасности вашего сервера. В этом руководстве вы узнаете, как установить и настроить брандмауэр CSF на Ubuntu.

CSF предлагает различные функции для защиты вашего VPS. К ним относятся:

  • Демон отказа аутентификации при входе в систему: CSF проверяет попытки несанкционированного доступа к вашему облачному серверу и позволяет определить желаемое действие, которое должно быть предпринято после указанного количества попыток. Эта функция поддерживает различные приложения и позволяет определять собственные файлы входа.
  • Отслеживание процессов: CSF может отслеживать процессы, чтобы обнаружить подозрительные процессы или открытые сетевые порты и уведомить об этом системного администратора.
  • Наблюдение за каталогами: CSF отслеживает соответствующие папки на предмет вредоносных скриптов и при их обнаружении уведомляет системного администратора.
  • Служба сообщений: Включение этой функции предоставляет клиенту больше информации и может предотвратить разочарование в случае неудачного входа в систему. Однако это также облегчает злоумышленникам атаку на ваш VPS.
  • Защита от переполнения портов: Эта настройка обеспечивает защиту от атак типа «переполнение порта», таких как атаки типа «отказ в обслуживании» (DoS), и позволяет указать количество разрешенных соединений на каждом порту в течение удобного для вас периода времени.
  • Стук по порту: Эта функция позволяет клиентам устанавливать соединения без открытых портов и разрешает соединения с основными портами только после успешного выполнения последовательности port knocking.
  • Защита лимита соединений: Эта функция ограничивает количество одновременных активных соединений с IP-адреса на каждый порт и может предотвратить злоупотребления на сервере.
  • Перенаправление портов/IP-адресов: CSF может перенаправлять соединения с IP/портом на другой IP/порт.
  • Интеграция пользовательского интерфейса: CSF предлагает интеграцию пользовательского интерфейса для cPanel и Webmin в дополнение к интерфейсу командной строки.
  • Списки блокировки IP-адресов: Эта функция позволяет CSF автоматически загружать списки заблокированных IP-адресов из определенных вами источников.

Шаг 1: Обновление системы

Перед установкой любого нового программного обеспечения всегда полезно обновить системные пакеты. Выполните следующую команду, чтобы обновить систему Ubuntu:

$ sudo apt update
$ sudo apt upgrade

Шаг 2: Установите брандмауэр CSF

Когда система обновлена, можно приступать к установке CSF Firewall. Следующие шаги помогут вам справиться с этим процессом:

  • Загрузите последнюю версию CSF Firewall с официального сайта, используя следующую команду:
$ wget https://download.configserver.com/csf.tgz

Чтобы загрузить последнюю версию CSF Firewall

  • Распакуйте загруженный файл с помощью следующей команды:
$ tar -xzf csf.tgz
  • Перейдите в каталог с извлеченным файлом:
$ cd csf
  • Запустите сценарий установки:
$ sudo sh install.sh
  • Проверьте установку, выполнив следующую команду:
$ sudo csf -v

Выполнив эти действия, вы успешно установили CSF Firewall на систему Ubuntu.

Шаг 3: Настройка дополнительных параметров

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

ICMP_IN

Установка ICMP_IN в 1 разрешает входящие ICMP-запросы, такие как ping, на ваш сервер. Если вы предоставляете публичные услуги, рекомендуется разрешить ICMP-запросы, поскольку они могут быть использованы для проверки доступности ваших услуг. Установка ICMP_IN в 0 блокирует все входящие ICMP-запросы.

ICMP_IN_LIMIT

ICMP_IN_LIMIT задает количество входящих ICMP-запросов, разрешенных с одного IP-адреса за определенный промежуток времени. Обычно достаточно значения по умолчанию 1/с, но при необходимости его можно настроить.

DENY_IP_LIMIT

DENY_IP_LIMIT устанавливает максимальное количество заблокированных IP-адресов, которые CSF отслеживает. Рекомендуется ограничить количество заблокированных IP-адресов, так как слишком большое количество блоков может повлиять на производительность сервера.

DENY_TEMP_IP_LIMIT

DENY_TEMP_IP_LIMIT аналогичен DENY_IP_LIMIT, но применяется к временным блокам IP-адресов. Рекомендуется держать это значение ниже, чем DENY_IP_LIMIT.

ПАКЕТ_ФИЛЬТР

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

SYNFLOOD, SYN_FLOOD_RATE и SYN_FLOOD_BURST

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

CONNLIMIT

CONNLIMIT устанавливает ограничения на количество одновременных активных соединений на определенных портах. Например, значение:

22;5;443;20

разрешает до 5 одновременных соединений на порту 22 и до 20 одновременных соединений на порту 443. Вы можете добавить больше портов, разделяя их запятыми.

PORTFLOOD

PORTFLOOD ограничивает количество соединений за временной интервал, в течение которого могут быть установлены новые соединения с определенными портами. Например, значение:

22;tcp;5;250

Заблокирует IP-адрес, если в течение 250 секунд будет установлено более 5 соединений на порт 22 по протоколу TCP. Блокировка будет снята по истечении 250 секунд после последнего пакета, отправленного клиентом на этот порт. Вы можете добавить больше портов, разделяя их запятыми, например, так:

port1;protocol1;connection_count1;time1,port2;protocol2;connection_count2;time2

Шаг 4: Настройка портов

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

TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"
TCP_OUT = "20,21,22,25,53,80,110,113,443"
UDP_IN = "20,21,53"
UDP_OUT = "20,21,53,113,123"

Эти порты используются различными службами, такими как FTP, SSH, SMTP, DNS, HTTP и другими. Возможно, вы используете не все эти службы, поэтому рекомендуется закрыть все неиспользуемые порты. Лучше всего удалить все номера портов из списка, а затем добавить только те, которые вам нужны.

Ниже приведены рекомендуемые наборы портов, которые следует открыть для определенных служб:

Для любого сервера:

TCP_IN: 22,53
TCP_OUT: 22,53,80,113,443
UPD_IN: 53
UPD_OUT: 53,113,123

Apache:

TCP_IN: 80,443

FTP-сервер:

TCP_IN: 20,21
TCP_OUT: 20,21
UPD_IN: 20,21
UPD_OUT: 20,21

Почтовый сервер:

TCP_IN: 25,110,143,587,993,995
TCP_OUT: 25,110

Для сервера MySQL (если требуется удаленный доступ):

TCP_IN: 3306
TCP_OUT: 3306

Шаг 5: Блокирование и разрешение IP-адресов

Блокирование и разрешение IP-адресов — одна из самых основных функций брандмауэра. Чтобы заблокировать или разрешить IP-адреса в брандмауэре CSF, вы можете отредактировать конфигурационные файлы csf.deny и csf.allow соответственно. Кроме того, вы можете исключить IP-адреса из фильтров брандмауэра, отредактировав csf.ignore файл.

Блокирование IP-адресов

Чтобы заблокировать IP-адрес или диапазон, откройте окно csf.deny файл с помощью текстового редактора, например nano:

$ sudo nano /etc/csf/csf.deny

Каждый IP-адрес или диапазон, который вы хотите заблокировать, должен быть добавлен в новую строку файла. Например, чтобы заблокировать IP-адрес 1.2.3.4 и диапазон IP-адресов 2.3.0.0/16, нужно добавить следующие строки:

1.2.3.4
2.3.0.0/16

IP-диапазоны представляются с помощью символа нотации CIDR.

Разрешение IP-адресов

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

Чтобы разрешить IP-адрес или диапазон, откройте файл csf.allow файл с помощью текстового редактора:

$ sudo nano /etc/csf/csf.allow

Каждый IP-адрес или диапазон, который вы хотите разрешить, должен быть добавлен в новую строку файла. Например, чтобы разрешить IP-адрес 1.2.3.4 и диапазон IP-адресов 2.3.0.0/16, нужно добавить следующие строки:

1.2.3.4
2.3.0.0/16

Игнорирование IP-адресов

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

Чтобы игнорировать IP-адрес или диапазон, откройте файл csf.ignore с помощью текстового редактора:

$ sudo nano /etc/csf/csf.ignore

Каждый IP-адрес или диапазон, который вы хотите игнорировать, должен быть добавлен в новую строку файла. Например, чтобы игнорировать IP-адрес 1.2.3.4 и диапазон IP-адресов 2.3.0.0/16, необходимо добавить следующие строки:

1.2.3.4
2.3.0.0/16

Перезапуск CSF

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

$ sudo csf -r

Это перезагрузит правила брандмауэра и применит все изменения, внесенные в файлы конфигурации.

Режим тестирования

По умолчанию CSF находится в тестовом режиме, что означает, что он не будет блокировать IP-адреса на постоянной основе. После того как вы убедитесь в правильности настроек, вам следует изменить параметр TESTING на 0:

TESTING = "0"

Тестирование конфигурации

После внесения изменений в csf.conf файл, вы можете проверить конфигурацию, выполнив следующую команду:

$ sudo csf --check

Если в конфигурации будут обнаружены ошибки, CSF сообщит о них и предложит, как их исправить.

Перезапуск брандмауэра CSF

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

$ sudo csf -r

Заключение

В этом руководстве мы рассмотрели установку и настройку брандмауэра CSF на Ubuntu. Настроив брандмауэр CSF, вы сможете защитить свою систему Ubuntu и обеспечить пропуск только авторизованного трафика.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *