ConfigServer Security and Firewall (CSF) – это свободное программное обеспечение с открытым исходным кодом, которое представляет из себя фаервол и в свою очередь обладает широким функционалом в сравнении с другими подобными решениями.
Список поддерживаемых операционных систем:
RedHat Enterprise v5 to v7 CentOS v5 to v7 CloudLinux v5 to v7 Fedora v20 to v26 |
*openSUSE v10, v11, v12 *Debian v3.1 – v9 *Ubuntu v6 to v15 *Slackware v12 |
Список поддерживаемых виртуальных сервисов:
**Virtuozzo VMware Xen VirtualBox |
**OpenVZ UML MS Virtual Server KVM |
Установка зависимостей
# apt-get install libwww-perl
Установка CSF
Скачиваем архив:
# wget https://download.configserver.com/csf.tgz
Распаковываем архив:
# tar -xzf csf.tgz
Меняем текущий каталог:
# cd csf
Осуществляем запуск скрипта установки:
# sh install.sh
Теперь необходимо проверить требуемые модули 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 should function on this server
Как правило, необходимые модули уже установлены, однако при отсутствии таковых необходимо произвести их установку.
Примечание
Если до использования CSF вы использовали другие модули Iptables [ AFD ; BFD ], необходимо удалить их. Возможные варианты удаления:
# sh /usr/local/csf/bin/remove_apf_bfd.sh
или:
# sh /tmp/csf/bin/remove_apf_bfd.sh
или:
# sh disable_apf_bfd.sh
Настройка CFS
Откроем конфигурационный файл:
# gedit /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”
Остальные параметры вы можете настраивать по своему усмотрению
Запуск csf
Запустить cfs можно следующей командой:
# csf –s
Сделать reload:
# csf –r
Настроим автозапуск при старте системы:
# update-rc.d csf defaults
Списки csf
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 |