ConfigServer Security and Firewall (CSF) — це вільне програмне забезпечення з відкритим кодом, яке є фаєрволом і має досить широкі функціональні можливості в порівнянні з іншими подібними рішеннями.
Також CSF інтегрований у такі панелі управління VDS хостингом, як cPanel та DirectAdmin. Тому після встановлення налаштувати CSF можна буде прямо з цих панелей керування.
Зміст
- Перевірка сумісності з ОС
- Встановлення залежностей
- Встановлення CSF
- Конфігурація CSF
- Запуск CSF
- Додаткова конфігурація CSF
- Список базових параметрів запуску 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 |