Как установить и настроить ConfigServer Security Firewall

ConfigServer Security Firewall (или просто CSF) – это отличный софт для автоматизации защиты на сервере. Утилита получила популярность благодаря своим обширным возможностям и гибкой системе настроек “под себя”.

Отлично работает как с панелями управления хостингом, так и без них. CSF совместима с Cpanel, DirectAdmin и Webmin. Однако, это не замена стандартному фаерволу, а скорее его дополнение (все правила передаются на iptables). Полное описание всех возможностей и настроек этого брандмауэра можно прочитать на сайте авторов. Мы же расскажем как грамотно установить и сделать первичные настройки, а также дадим несколько советов по использованию.

Итак…
Перед началом установки, убедитесь что у вас установлена библиотека libwww-perl. Если её нет, то установите:
# apt-get install libwww-perl

Установка
1)
# wget http://www.configserver.com/free/csf.tgz
# tar xfz csf.tgz
# cd csf
# ./install.sh

2) Запустить скрипт для проверки необходимых модулей в iptables:
# perl /etc/csf/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…OK
Testing iptable_nat/ipt_REDIRECT…OK
RESULT: csf should function on this server

Если каких то модулей не хватает, то свяжитесь с тех. поддержкой.

2) Редактируем /etc/csf/csf.conf под свои потребности. Тоже самое можно сделать и через панель управления хостингом.
Вот некоторые примеры часто используемых настроек:
21 => FTP
22 => SSH
23 => Telnet
25 => SMTP Mail Transfer
43 => WHOIS service
53 => name server (DNS)
80 => HTTP (Web server)
110 => POP protocol (for email)
443 => HTTP Secure (SSL for https:// )
995 => POP over SSL/TLS
9999 => Urchin
3306 = > MysQL Server
2082 => CPANEL Default
2083 => CPANEL – Secure/SSL
2086 => CPANEL WHM
2087 => CPANEL WHM – Secure/SSL
2095 => cpanel webmail
2096 => cpanel webmail – secure/SSL
Plesk Control Panel => 8443
DirectAdmin Control Panel => 2222
Webmin Control Panel => 10000

3) Убрать режим TESTING : в /etc/csf/csf.conf найти TESTING = “1” и изменить на TESTING = “0”

4) Готово. Запускаем: # csf -h

Несколько советов

– Чтобы проверить систему на наличие возможных уязвимостей: зайдите в панели управления (например DirectAdmin) в меню Администратора – “ConfigServer Firewall&Security” и нажмите “Check Server Security”. Если будут найдены какие либо “дыры”, то будет выведен комментарий с описанием путей исправления.

– Если используется маскарадинг, то для того, чтобы пользователи локальной сети могли выйти в интернет, добавьте правила для форварда:
# vim /etc/csf/csfpre.sh
iptables -A FORWARD -s 192.168.1.22 -j ACCEPT
iptables -A FORWARD -d 192.168.1.22 -j ACCEPT

– Если нужен web-интерфейс, то для этого предусмотрен плагин.
Для начала ставим Webmin. C оф.сайта можно скачать rpm-пакет и установить его. Здесь опишу как установить минимальный пакет из тара:
# wget http://prdownloads.sourceforge.net/webadmin/webmin-1.441-minimal.tar.gz
# tar xfz webmin-1.441-minimal.tar.gz
# cd webmin-1.441
# ./setup.sh

Отвечаем на вопросы, после установки переходим по ссылке которую выдаст установщик. Затем устанавливаем модуль csfwebmin.tgz. Описание взято из форума csf(3):
1. Choose Webmin > Webmin Configuration
2. Choose Webmin Modules
3. Selecting Install from local file, browse to the tar file wherever it is on your box (Ex: /usr/local/src/csf/csfwebmin.tgz) and select it
4. Click Install Module and it will install
5. When it says installed successfully, refresh the page
6. CSF now appears under System in main menu