ConfigServer Security and Firewall (CSF) — це вільне програмне забезпечення з відкритим кодом, яке є фаєрволом і має досить широкі функціональні можливості в порівнянні з іншими подібними рішеннями.

Також CSF інтегрований у такі панелі управління VDS хостингом, як cPanel та DirectAdmin. Тому після встановлення налаштувати CSF можна буде прямо з цих панелей керування.

Зміст

  1. Перевірка сумісності з ОС
  2. Встановлення залежностей
  3. Встановлення CSF
  4. Конфігурація CSF
  5. Запуск CSF
  6. Додаткова конфігурація CSF
  7. Список базових параметрів запуску CSF

Перевірка сумісності з ОС

Переконайтеся, що операційна система, встановлена на VPS, підтримується цим продуктом. ConfigServer Security and Firewall підтримує роботу в наступних ОС:

  • CentOS 3 і вище
  • Fedora 1 і вище
  • Debian 3.1 і вище
  • Ubuntu 6.06 LTS та вище

Повний список підтримуваних ОС можна переглянути на офіційному сайті розробника configserver.com.

Встановлення залежностей

Підключіться по SSH з правами суперкористувача (root). Для роботи CSF необхідний Perl, а також бібліотека Time/HiRes. Якщо ці пакети не встановлені, інсталятор CSF виведе помилку. Щоб встановити ці пакети, введіть такі команди:

Perl:

Для Fedora/CentOS:

yum install perl-libwww-perl

Для Debian/Ubuntu:

apt-get install libwww-perl

Time/HiRes:

Для Fedora/CentOS:

yum install perl-Time-HiRes

Для Debian/Ubuntu:

perl -e "use Time::HiRes"

Встановлення CSF

Для встановлення необхідно завантажити інсталяційний архів CSF, розпакувати його та запустити інсталяційний файл. Для цього введіть такі команди:

  • Видаляємо файл з ім’ям csf.tgz, якщо такий є
rm -fv csf.tgz
  • Завантажуємо архів
wget https://download.configserver.com/csf.tgz
  • Розпаковуємо архів
tar-xzf csf.tgz
  • Заходимо до розпакованої директорії
cd csf
  • Запускаємо встановлювальний скрипт
sh install.sh

Встановлення відбувається автоматично. Після його завершення необхідно перевірити, чи є на VPS необхідні модулі IPTables. Для цього введіть:

perl /etc/csf/csftest.pl

Якщо вказана команда не дасть результатів, то замість неї введіть таке:

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 повинен функціонувати на цьому сервері

Зазвичай зазначені у виведенні модулі встановлені на VPS за замовчуванням. Якщо будь-якого з потрібних модулів немає, результати тесту про це повідомлять, після чого необхідно буде встановити вказані модулі, щоб функціональність CSF не була обмежена.

Також зверніть увагу, що якщо до встановлення ConfigServer Security and Firewall ви використовували інші скрипти IPtables (наприклад, AFD або BFD), вам необхідно буде видалити їх, оскільки вони будуть конфліктувати з CSF, що призведе до збоїв у роботі програми. Це можна зробити за допомогою команди:

sh /usr/local/csf/bin/remove_apf_bfd.sh

або:

sh /tmp/csf/bin/remove_apf_bfd.sh

або:

sh disable_apf_bfd.sh

Якщо під час виконання цих утиліт буде виводитися помилка у тому, що зазначений файл був знайдено, отже описані вище скрипти були раніше встановлені.

На цьому встановлення завершено.

Конфігурація CSF

Після встановлення ConfigServer Security and Firewall працює в тестовому режимі, який рекомендується відключати лише після того, як буде відредаговано конфігураційний файл /etc/csf/csf.conf відповідно до ваших вимог.

Відкрити конфігураційний файл можна будь-яким встановленим на сервері текстовим редактором, наприклад nano:

nano /etc/csf/csf.conf

У конфігураційному файлі необхідно як мінімум переконатися, що всі необхідні для роботи TCP і UDP порти відкриті. Приклад таких параметрів у конфігураційному файлі може бути таким:

# 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"

Всі інші параметри конфігураційного файлу можна змінити на свій розсуд. Після завершення налаштування необхідно вимкнути тестовий режим та зберегти зміни.

Вимкнення тестового режиму виконується шляхом зміни значення параметра TESTING у конфігураційному файлі, саме необхідно значення 1 змінити на 0. Після цього можна зберегти зміни. У випадку з редактором nano збереження виконується поєднанням клавіш Ctrl + O і потім Enter.

Запуск CSF

Запустити CSF можна наступними командами:

csf –s

Якщо ж ви проводили налаштування після запуску CSF, перезавантажте його, щоб зміни набрали чинності командою:

csf –r

Щоб CSF працював і після перезавантаження системи, потрібно додати його в автозавантаження. Це можна зробити такими командами:

CentOS 6.*:

chkconfig --level 235 csf on

CentOS 7 / Fedora:

systemctl enable csf.service

Debian / Ubuntu :

update-rc.d csf defaults

На цьому налаштування CSF завершено.

Додаткова конфігурація CSF

Крім основного конфігураційного файлу csf.conf можна додати в чорний, білий списки або список ігнорування. Імена файлів такі:

csf.allow — «білий» список IP і CIDR (підмереж) адрес.

csf.deny — «чорний» список IP та CIDR адрес.

csf.ignore — список IP та CIDR адрес, які не підлягають перевірці та не будуть блокуватися фаєрволом.

csf.*ignore — різні списки ігнорування файлів, користувачів, IP адрес, які фаєрвол не блокуватиме і перевірятиме.

Кожен із зазначених файлів містить у собі доступний опис того, які можливості у ньому надані та як з ними працювати.

Список базових параметрів запуску CSF

Нижче описані параметри використовуються в командному рядку таким чином:

csf –параметр

Повну довідку про CSF можна отримати командою csf -h або man csf

ПараметрОпис
-hПоказати довідкову інформацію
-lПоказати список правил для IPv4 адрес
-l6Показати список правил для IPv6 адрес
-sАктивація правил фаєрволу
-fПрипинення дій правил фаєрволу
-rПерезапуск правил
-aДодати IP-адресу в білий список /etc/csf/csf.allow
-arПрибрати IP із білого списку /etc/csf/csf.allow та видалити правило
-dДодати IP адресу до чорного списку /etc/csf/csf.deny
-drПрибрати IP із чорного списку /etc/csf/csf.deny та видалити правило
-dfВидалити та розблокувати всі записи з файлу /etc/csf/csf.deny
-gПошук існуючих IPv4 та IPv6 правил за IP, CIDR або номером порту
-cПеревірити наявність оновлень для CSF, але не встановлювати їх
-uПеревірити наявність оновлень і якщо є — встановити
-xДеактивувати CSF та LFD
-eАктивувати CSF та LFD
-vПоказати версію CSF