Перейти к содержимому

Установка и использование CSF ( ConfigServer Security and Firewall )

Подготовка к установки CSF

Непосредственно перед началом установки файрвола CSF нам нужно будет установить libwww-perl так как он необходим для корректной работы CSF.

Ubuntu / Debian

apt install libwww-perl

CentOS / RedHat / Alma

yum install perl-libwww-perl

Установка CSF

После установки недостающего пакета мы можем приступать к непосредственной установки ConfigServer Security and Firewall.

Перейдем в папку /usr/src и загрузим архив csf

cd /usr/src
wget https://download.configserver.com/csf.tgz

Распакуем архив с CSF

tar xzf csf.tgz
cd csf

Установим CSF

sh install.sh

По завершению установки необходимо запустить проверку работоспособности csf

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 ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
RESULT: csf should function on this server

Настройка CSF

После успешной установки нам необходимо отключить файрвол firewalld в системе и настроить CSF.

Для отключения firewalld выполняем следующие команды

systemctl stop firewalld
systemctl disable firewalld

Переводим режим работы CSF из тестового в «боевой» режим. Отредактируем файл /etc/csf/csf.conf и заменим TESTING = «1« на TESTING = «0«

В этом же файле необходимо внести те порты которые вы хотите чтобы были доступны

# Allow incoming TCP ports
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"

# Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,53,80,110,113,443"

# Allow incoming UDP ports
UDP_IN = "20,21,53"

# Allow outgoing UDP ports
# To allow outgoing traceroute add 33434:33523 to this list
UDP_OUT = "20,21,53,113,123"

После внесения всех правок, сохраняем файл конфигурации и добавляем сервис CSF в автозагрузку

systemctl restart {csf,lfd}
systemctl enable {csf,lfd}

Основные команды CSF

Остановить CSF

csf -f

Перезапустить CSF

csf -r

Деактивировать CSF

csf -x

Активировать CSF

сsf -e

Отобразить все правила CSF для IPv4 адресов

csf -l

Отобразить все правила CSF для IPv6 адресов

csf -l6

Разрешить соединения с определенного IP адреса

csf -a 192.168.100.1

Заблокировать определенный IP адрес

  

Удалить IP адрес из списка разрешенных и списка заблокированных можно следующими командами

csf -ar 192.168.100.1
csf -dr 192.168.100.1

Поиск IP адреса в правилах файрвола CSF

csf -g 192.168.100.1

Блокировка доступа по странам

Заблокировать доступ либо предоставить доступ к серверу для пользователей из определенной страны можно добавив символьный код страны в конфигурацию CSF в переменные CC_DENY и CC_ALLOW

CC_DENY = "BZ,CN,US"
CC_ALLOW = "ID,PH,FR"

Настройка уведомлений о срабатывании блокировки в CSF

Для того чтобы получать уведомления о срабатывании правила блокировки нужна активировать данную опцию в главном конфигурационном файле /etc/csf/csf.conf . Необходимо найти переменную EMAIL_ALERT и привести ее вид к EMAIL_ALERT = «1»

Уведомление о подключении к серверу по SSH

Чтобы получать уведомления о подключении к серверу по SSH, а также при использовании команды su, необходимо активировать переменные LF_SSH_EMAIL_ALERT и LF_SU_EMAIL_ALERT.

LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"

Уведомления будут приходить на почтовый адрес указанный в переменной LF_ALERT_TO

Удаление CSF

Если вам нужно будет удалить CSF из системы то для того чтобы это сделать достаточно запустить скрипт деинсталяции

sh /etc/csf/uninstall.sh