Установка и пример настройки фаервола CSF на Ubuntu

CSF — програмное обеспечение для автоматической защиты сервера. В случае подозрительной активности программа блокирует IP адрес с которого эта активность поступает.

Для работы с CSF необходим Perl и библиотека Time/HiRes. Если они не установлены — выполняем команду:

sudo apt install libwww-perl

Далее устанавливаем csf. Скачиваем архив:

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

Разархивируем архив и перейдем в папку с дистрибутивом:

tar -xzf csf.tgz
cd csf

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

sh install.sh

Установка завершена. CSF запущен в тестовом режиме, то есть, программа очищает правила каждый несколько минут (по умолчанию каждые 5 минут).
Далее нужно отредактировать конфигурационный файл:

nano /etc/csf/csf.conf

Отключите тестовый режим. Замените «1» на «0» в строчке:

#lfd will not start while this is enabled
TESTING = "1"

В следующей строке Вам нужно перечислить TCP-порты, которые используются для входящих соединений. К пример, если сервер использует SSH — укажите порт 22 и т.д.:

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" 
UDP_OUT = "20,21,53,113,123"

Если нужно ограничить доступ к настройкам через пользовательский интерфейс (cPanel, Webmin…), используем параметр:

RESTRICT_UI = "1"

Следующий параметр устанавливает количество заблокированных IP-адресов, которые отслеживает CSF.

DENY_IP_LIMIT = "200"

Количество заблокированных IP-адресов, которые отслеживает CSF для временной блокировки:

DENY_TEMP_IP_LIMIT = "100"

Разрешить до 10 новых одновременных соединений на 22 порт и 30 одновременных соединений на 80 порт.

CONNLIMIT = "22;10,80;30"

Указываем E-mail, на который будут отправляться уведомления от lfd-службы:

LF_ALERT_TO = <your@email>

После 3-х неудачных попыток аутентификации по SSH блокировка на час:

LF_SSHD = "3" 
LF_SSHD_PERM = "3600"

Где, LF_SSHD — количество попыток аутентификации. LF_SSHD_PERM — время в секундах на которое блокирует IP. Если нужно заблокировать навсегда — вместо секунд нужно прописать «1».

Аналогичная защита работает на FTP:

LF_FTPD = "3" 
LF_FTPD_PERM = "3600"

И на SMTP-аутентификации:

LF_SMTPAUTH = "3" 
LF_SMTPAUTH_PERM = "3600"

и т.д.

Указываем, чтобы lfd-служба проверяла наличие подозрительных файлов каждые 500 секунд:

LF_DIRWATCH = "300"

Все параметры можно изменить по Вашим требованиям.

Для запуска фаервола используйте команду:

csf -s

Чтобы перезапустить csf с новыми конфигурационными настройками выполняем:

csf -r

Если необходимо запускать CSF при загрузке системы — допишите команду csf -s в конец файла /etc/rc.local

Кроме конфигурационного файла CSF есть еще файлы для работы с IP-адресами:

csf.allow — «белый» список IP. В этот файл стоит добавлять адреса с рабочих и домашних устройств, так как они не будут блокироваться даже при подозрительной активности.

csf.deny — «черный» список IP. В этом хранятся заблокированные адреса. По умолчанию они удаляются через некоторое время файерволом — чтобы они не удалялись нужно в строчке с IP-адресом указать комментарий # do not delete:

123.123.123.123 # do not delete

csf.ignore — список IP, которые будут игнорироваться и проверятся не будут, если только они не прописаны в csf.deny.

Чтобы проверить не заблокирован ли IP используйте команду:

csf -g 123.123.123.123

Чтобы убрать IP из «черного» списка, выполните:

csf -dr 123.123.123.123

Заблокировать IP-адрес на 1 день:

csf -td 123.123.123.123 1 d

Заблокировать IP-адрес на 30 минут:

csf -td 123.123.123.123 1800

Удалить IP-адрес из временно заблокированных:

csf -tr 123.123.123.123

Добавить IP-адрес в белый список на 2 часа:

csf -ta 123.123.123.123 7200

Заблокировать IP-адрес на 1 час для порта 80:

csf -td 123.123.123.123 3600 -p 80

Проверить наличия обновлений csf, но не устанавливать:

csf -c

Проверить наличия обновлений csf и установить если они есть:

csf -u

Удалить и разблокировать все записи из файла /etc/csf/csf.deny:

csf -df

Удалить IP-адреса и белого и черного списка:

csf -tr

Просмотреть список временно заблокированных IP-адресов:

csf -t

Отключить/деактивировать csf и lfd:

csf -x

Включить/активировать csf и lfd:

csf -e

Чтобы просмотреть справку по csf, используем команду:

csf -h

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