🌗 Установите и используйте CSF Firewall на RHEL / CentOS 8 |

🌗 Установите и используйте CSF Firewall на RHEL / CentOS 8

Мануал

Как мне установить и использовать CSF Firewall на RHEL / CentOS 8 ?

Первое, что вы должны сделать после установки сервера RHEL / CentOS 8, – это настроить брандмауэр и защитить сервер от любых форм злонамеренного доступа.

Самым популярным сервисом межсетевого экрана, используемым в системах на основе RHEL, является Firewalld.

ConfigServer Security & Firewall (CSF) – это мощный межсетевой экран с открытым исходным кодом Stateful Packet Inspection (SPI), приложение для входа / обнаружения вторжений и безопасности для серверов Linux.

Особенности CSF

Вот основные функции ConfigServer Security & Firewall.

  • Простой скрипт SPI iptables firewall
  • Процесс-демон, который проверяет ошибки аутентификации при входе в систему для openSSH, сбоев Mod_security, htpasswd, ftp, imap  и т.д.
  • Блокировка соединения
  • Защита пакетов BOGON
  • Просмотр каталогов и файлов
  • SYN Защита от флуда
  • IDS (система обнаружения вторжений) – последняя строка обнаружения предупреждает вас об изменениях в двоичных файлах системы и приложений
  • Отслеживание и блокировка сканирования портов
  • Обнаружение флудинга портов – для каждого IP-адреса, для обнаружения затопления подключения к порту и смягчения, чтобы помочь блокировать атаки DOS
  • Интеграция пользовательского интерфейса с Cpanel, Webmin и DirectAdmin
  • Распознавание атаки при распределенном входе
  • Поддержка IPv6 с ip6tables
  • Интегрированный интерфейс – для использования конфигурации csf не требуется отдельная панель управления или Apache
  • Интегрирован с брандмауэром CloudFlare
  • И многое другое

Установка CSF Firewall на RHEL / CentOS 8

Если в системе не запущены критически важные приложения, вы можете обновить установленные пакеты и выполнить перезагрузку.

sudo dnf -y update

Когда закончите, установите Perl.

sudo dnf -y install @perl

Проверьте версию Perl.

$ perl -v
This is perl 5, version 26, subversion 2 (v5.26.2) built for x86_64-linux-thread-multi
 (with 52 registered patches, see perl -V for more detail)
 
Copyright 1987-2018, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
 this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

CSF устанавливается с использованием скрипта автоматизации.

Загрузите его с помощью команды curl.

curl -SL https://download.configserver.com/csf.tgz | tar -xzf -

Перейдите в созданную папку – csf:

cd csf

Запустите установщик.

sudo sh install.sh

Посмотрите пример выходных данных ниже.

Тестовая установка

$ sudo 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 xt_connlimit…OK
Testing ipt_owner/xt_owner…OK
Testing iptable_nat/ipt_REDIRECT…OK
Testing iptable_nat/ipt_DNAT…OK
RESULT: csf should function on this server

Сконфигурируйте и запустите CSF на RHEL / CentOS 8

Теперь у нас установлен CSF в RHEL / CentOS 8.

Основной файл конфигурации – /etc/csf/csf.conf.

Измените этот файл, чтобы настроить правила и политики брандмауэра.

Смотрите разделы ниже о разрешенных портах TCP и UDP.

Отключить тестирование.

sudo perl -pi -w -e "s/TESTING = \"1\"/TESTING = \"0\"/" /etc/csf/csf.conf

Игнорировать IP-адреса в списке разрешений.

sudo perl -pi -w -e "s/IGNORE_ALLOW = \"0\"/IGNORE_ALLOW = \"1\"/" /etc/csf/csf.conf

Установщик добавит служебные файлы systemd.

Вы можете запустить его, выполнив:

sudo systemctl enable --now csf

Подтвердите статус сервиса.

$ sudo systemctl status csf 
 ● csf.service - ConfigServer Firewall & Security - csf
    Loaded: loaded (/usr/lib/systemd/system/csf.service; enabled; vendor preset: disabled)
    Active: active (exited) since Sun 2019-03-17 09:10:19 EAT; 10h ago
  Main PID: 783 (code=exited, status=0/SUCCESS)
     Tasks: 0 (limit: 11510)
    Memory: 0B
    CGroup: /system.slice/csf.service
 Mar 17 09:10:19 rhel8.local csf[783]: ACCEPT  all opt    in * out lo  ::/0  -> ::/0
 Mar 17 09:10:19 rhel8.local csf[783]: LOGDROPOUT  all opt    in * out !lo  ::/0  -> ::/0
 Mar 17 09:10:19 rhel8.local csf[783]: LOGDROPIN  all opt    in !lo out *  ::/0  -> ::/0
 Mar 17 09:10:19 rhel8.local csf[783]: csf: FASTSTART loading DNS (IPv4)
 Mar 17 09:10:19 rhel8.local csf[783]: csf: FASTSTART loading DNS (IPv6)
 Mar 17 09:10:19 rhel8.local csf[783]: LOCALOUTPUT  all opt -- in * out !lo  0.0.0.0/0  -> 0.0.0.0/0
 Mar 17 09:10:19 rhel8.local csf[783]: LOCALINPUT  all opt -- in !lo out *  0.0.0.0/0  -> 0.0.0.0/0
 Mar 17 09:10:19 rhel8.local csf[783]: LOCALOUTPUT  all opt    in * out !lo  ::/0  -> ::/0
 Mar 17 09:10:19 rhel8.local csf[783]: LOCALINPUT  all opt    in !lo out *  ::/0  -> ::/0
 Mar 17 09:10:19 rhel8.local systemd[1]: Started ConfigServer Firewall & Security - csf.

Примеры использования CSF

Блокировать IP или подсеть

sudo csf -d 192.168.0.20 
sudo csf -d 192.168.0.0/24

Образец вывода:

Adding 192.168.0.20 to csf.deny and iptables DROP…
DROP  all opt -- in !lo out *  192.168.0.20  -> 0.0.0.0/0  
LOGDROPOUT  all opt -- in * out !lo  0.0.0.0/0  -> 192.168.0.20

Удалить IP / подсеть из черного списка.

$ sudo csf -dr 192.168.0.20 
Removing rule…
DROP  all opt -- in !lo out *  192.168.0.20  -> 0.0.0.0/0  
LOGDROPOUT  all opt -- in * out !lo  0.0.0.0/0  -> 192.168.0.20

Разрешить IP-адрес на брандмауэре.

$ sudo csf -a  192.168.15.15
Adding 192.168.15.15 to csf.allow and iptables ACCEPT…
ACCEPT  all opt -- in !lo out *  192.168.15.15  -> 0.0.0.0/0  
ACCEPT  all opt -- in * out !lo  0.0.0.0/0  -> 192.168.15.15

Блокировать определенные страны

Отредактируйте строку CC_DENY

# Each option is a comma separated list of CC's, e.g. "US,GB,DE"
CC_DENY = ""
CC_ALLOW = ""

Просмотреть порты, прослушивающие соединения.

$ sudo csf -p

Ports listening for external connections and the executables running behind them:
Port/Proto Open Conn  PID/User             Command Line                            Executable
22/tcp     4/6  4     (789/root)           /usr/sbin/sshd -D -oCiphers=aes256-g... /usr/sbin/sshd
80/tcp     4/6  -     (2580/root)          /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
80/tcp     4/6  -     (2583/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
80/tcp     4/6  -     (2584/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
80/tcp     4/6  -     (2585/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
80/tcp     4/6  -     (2804/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
443/tcp    4/6  -     (2580/root)          /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
443/tcp    4/6  -     (2583/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
443/tcp    4/6  -     (2584/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
443/tcp    4/6  -     (2585/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
443/tcp    4/6  -     (2804/apache)        /usr/sbin/httpd -DFOREGROUND            /usr/sbin/httpd
3306/tcp   -/-  -     (2474/mysql)         /usr/libexec/mysqld --basedir=/usr      /usr/libexec/mysqld
68/udp     -/-  -     (761/root)           /usr/sbin/NetworkManager --no-daemon    /usr/sbin/NetworkManager
161/udp    -/-  -     (3129/root)          /usr/sbin/snmpd -LS0-6d -f              /usr/sbin/snmpd
323/udp    -/-  -     (768/chrony)         /usr/sbin/chronyd                       /usr/sbin/chronyd

Отправить письмо, когда пользователь входит в систему через SSH

LF_SSH_EMAIL_ALERT = "1"

Установить оповещения по электронной почте

LF_ALERT_TO = "alerts@example.com"

Отправляйте себе электронные письма о проверках безопасности.

csf -m myemail@example.com

Доступ к веб-интерфейсу CSF

CSF имеет встроенный веб-интерфейс, который можно использовать для настройки.

Включите пользовательский интерфейс в файле /etc/csf/csf.conf.

UI = "1"

Вы также можете установить пользовательские значения для:

# Set this to the port that want to bind this service to
UI_PORT = "6666"

# Leave blank to bind to all IP addresses on the server
UI_IP = ""
UI_USER = "admin"
UI_PASS = "StrongAdminPassword"

Затем добавьте IP-адреса в белый список.

sudo echo "YOUR_IP_ADDRESS" >>  /etc/csf/ui/ui.allow

Запустите или перезапустите сервис lfd

$ sudo systemctl enable --now lfd
$ systemctl status lfd
 ● lfd.service - ConfigServer Firewall & Security - lfd
    Loaded: loaded (/usr/lib/systemd/system/lfd.service; enabled; vendor preset: disabled)
    Active: active (running) since Sun 2019-03-17 20:05:10 EAT; 33s ago
   Process: 21213 ExecStart=/usr/sbin/lfd (code=exited, status=0/SUCCESS)
  Main PID: 21226 (lfd - sleeping)
     Tasks: 1 (limit: 11510)
    Memory: 392.1M
    CGroup: /system.slice/lfd.service
            └─21226 lfd - sleeping                                                                                                                     >
 Mar 17 20:05:10 rhel8.local systemd[1]: Starting ConfigServer Firewall & Security - lfd…
 Mar 17 20:05:10 rhel8.local systemd[1]: Started ConfigServer Firewall & Security - lfd.

Получите доступ к брандмауэру CSF через настроенный порт.

 

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий