Поиск по сайту:

Установите и настройте ConfigServer Security & Firewall (CSF) в Linux


Если вы где-нибудь посмотрите объявления о вакансиях, связанных с ИТ, вы заметите устойчивый спрос на специалистов по безопасности. Это означает, что кибербезопасность — не только интересная, но и очень прибыльная область исследования.

Учитывая это, в этой статье мы объясним, как установить и настроить ConfigServer Security & Firewall (также известный как CSF), полноценный пакет безопасности для Linux и поделимся парой типичных случаев использования. После этого вы сможете использовать CSF в качестве брандмауэра и системы обнаружения вторжений/ошибок входа в систему, чтобы усилить защиту серверов, за которые вы несете ответственность.

Без дальнейших прощаний, давайте начнем.

Установка и настройка CSF в Linux

Для начала обратите внимание, что Perl и libwww являются необходимым условием для установки CSF в любом из поддерживаемых дистрибутивов (RHEL). > и CentOS, openSUSE, Debian и Ubuntu). Поскольку он должен быть доступен по умолчанию, с вашей стороны не требуется никаких действий, если только один из следующих шагов не вернет фатальную ошибку (в этом случае используйте систему управления пакетами для установки отсутствующих зависимостей).

yum install perl-libwww-perl
apt install libwww-perl

Шаг 1 – Загрузите CSF

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

Шаг 2. Извлеките архив CSF.

tar xzf csf.tgz
cd csf

Шаг 3. Запустите сценарий установки CSF.

Эта часть процесса проверит установку всех зависимостей, создаст необходимые структуры каталогов и файлы для веб-интерфейса, определит открытые в данный момент порты и напомнит вам о перезапуске csf и lfd< после завершения первоначальной настройки.

sh install.sh
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

Шаг 4. Отключите брандмауэр и настройте CSF.

Отключите firewalld, если он запущен, и настройте CSF.

systemctl stop firewalld
systemctl disable firewalld

Измените TESTING="1" на TESTING="0" (в противном случае демон lfd не запустится) и перечислите разрешенные входящие и исходящие сообщения. порты в виде списка, разделенного запятыми (TCP_IN и TCP_OUT соответственно) в /etc/csf/csf.conf, как показано в выводе ниже. :

Testing flag - enables a CRON job that clears iptables incase of
configuration problems when you start csf. This should be enabled until you
are sure that the firewall works - i.e. incase you get locked out of your
server! Then do remember to set it to 0 and restart csf when you're sure
everything is OK. Stopping csf will remove the line from /etc/crontab
#
lfd will not start while this is enabled
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,587,993,995"

Если вы довольны конфигурацией, сохраните изменения и вернитесь в командную строку.

Шаг 5 – Перезапустите и протестируйте CSF

systemctl restart {csf,lfd}
systemctl enable {csf,lfd}
systemctl is-active {csf,lfd}
csf -v

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

Настройка CSF и правил обнаружения вторжений

Прежде всего вам нужно проверить текущие правила брандмауэра следующим образом:

csf -l

Вы также можете остановить их или перезагрузить с помощью:

csf -f
csf -r

соответственно. Обязательно запомните эти параметры — они понадобятся вам в дальнейшем, особенно для проверки после внесения изменений и перезапуска csf и lfd.

Пример 1. Разрешение и запрет IP-адресов

Разрешить входящие соединения с 192.168.0.10.

csf -a 192.168.0.10

Аналогичным образом вы можете запретить соединения, исходящие из 192.168.0.11.

csf -d 192.168.0.11

При желании вы можете удалить каждое из вышеперечисленных правил.

csf -ar 192.168.0.10
csf -dr 192.168.0.11

Обратите внимание, как использование -ar или -dr выше удаляет существующие правила разрешения и запрета, связанные с данным IP-адресом.

Пример 2. Ограничение входящих подключений по источнику

В зависимости от предполагаемого использования вашего сервера вы можете ограничить входящие соединения безопасным номером на основе порта. Для этого откройте /etc/csf/csf.conf и найдите CONNLIMIT. Вы можете указать несколько портов; пары соединений, разделенные запятыми. Например,

CONNLIMIT = "22;2,80;10"

разрешает только 2 и 10 входящих подключений из одного источника к TCP-портам 22 и 80 соответственно.

Пример 3. Отправка оповещений по электронной почте.

Вы можете выбрать несколько типов оповещений. Найдите настройки EMAIL_ALERT в /etc/csf/csf.conf и убедитесь, что для них установлено значение "1", чтобы получать соответствующее оповещение. Например,

 
LF_SSH_EMAIL_ALERT = "1"
LF_SU_EMAIL_ALERT = "1"

приведет к отправке оповещения на адрес, указанный в LF_ALERT_TO, каждый раз, когда кто-то успешно входит в систему через SSH или переключается на другую учетную запись с помощью команды su.

Варианты конфигурации и использование CSF

Следующие параметры используются для изменения и управления конфигурацией csf. Все файлы конфигурации csf расположены в каталоге /etc/csf. Если вы измените любой из следующих файлов, вам потребуется перезапустить демон csf, чтобы изменения вступили в силу.

  • csf.conf: основной файл конфигурации для управления CSF.
  • csf.allow: список разрешенных IP-адресов и CIDR-адресов на брандмауэре.
  • csf.deny: список запрещенных IP-адресов и CIDR-адресов на брандмауэре.
  • csf.ignore: список игнорируемых IP-адресов и CIDR-адресов на брандмауэре.
  • csf.*ignore: список различных игнорируемых файлов пользователей, IP-адресов.

Удалить брандмауэр CSF

Если вы хотите полностью удалить брандмауэр CSF, просто запустите следующий сценарий, расположенный в каталоге /etc/csf/uninstall.sh.

/etc/csf/uninstall.sh

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

Краткое содержание

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

Например, если вы занимаетесь веб-хостингом, вы можете интегрировать CSF с такими решениями для управления, как Cpanel, WHM или широко известный Webmin.

Есть ли у вас какие-либо вопросы или комментарии по поводу этой статьи? Не стесняйтесь отправить нам сообщение, используя форму ниже. Мы с нетерпением ждем вашего ответа!