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

Установка и использование 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