ConfigServer Security and Firewall (сокр. CSF) - безкоштовний інструмент для забезпечення безпеки Вашого сервера.
Для коректної роботи CSF обов'язкова наявність Perl з бібліотеками Time / HiRes на вашому сервері.
Якщо дані бібліотеки не встановлені необхідно виконати наступні дії:
Підключившись по протоколу SSH до сервера необхідно виконати наступні команди:
apt-get install libwww-perl (встановлення perl)
perl -e "use Time::HiRes" ()
Після перевірки / встановлення Perl приступаємо до встановлення CSF:
Завантажуємо архів дистрибутива брандмауера:
wget https://download.configserver.com/csf.tgz
Далі необхідно розпакувати завантажений архів, перейти в його директорію і запустити скрипт встановлення:
tar -xzf csf.tgz
cd csf
sh install.sh
Далі буде проведене встановлення. По завершенню встановлення необхідно перевірити наявність обов'язкових модулів IPTables на вашому VPS однієї з команд:
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 should function on this server
Якщо у вас на сервері існують інші скрипти IPtables (наприклад, AFD або BFD), то необхідно їх видалити за допомогою однієї з команд:
sh /usr/local/csf/bin/remove_apf_bfd.sh
sh disable_apf_bfd.sh
sh /tmp/csf/bin/remove_apf_bfd.sh
Якщо після виконання однієї з команд Ви отримаєте помилку "файл не знайдено", то це означає, що скрипти були встановлені раніше. На цьому процес налаштування завершений.
Налаштування CSF
По завершенню налаштування CSF запущений в тестовому режимі. Цей режим рекомендується відключати тільки після завершення повної конфігурації Firewall.
Далі необхідно відредагувати конфігураційний файл /etc/csf/csf.conf, відкривши його текстовим редактором:
vim /etc/csf/csf.conf
Необхідно переконатись у тому, що порти UDP і TCP відкриті для роботи.
Для цього в файлі конфігурації існують такі записи:
# 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 необхідно змінити в конфігураційному файлі значення параметра TESTING на "0".
Для запуску ConfigServer Security and Firewall використовуйте команду:
csf -s
Для перезапуску після змін у файлі конфігурації:
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.allow - відповідає за білий список IP і CIDR (підмереж) адрес.
csf.deny - відповідає за чорний список IP і CIDR адрес.
csf.ignore - відповідає за список IP і CIDR адрес, ігнорованих файерволом.
Використовуючи команди csf -h або man csf ви можете отримати повну довідкову інформацію про команди для управління 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 |
Повну інформацію про конфігурації ConfigServer Security and Firewall ви можете отримати на офіційному сайті:
http://configserver.com/cp/csf.html