Как установить брандмауэр сервера конфигурации (CSF) в Debian 11
На этой странице
- Предпосылки
- Начало работы
- Установите CSF в Debian 11
- Настройка CSF
- Основные команды CSF
- Заключение
CSF, также известный как «Конфигурационный брандмауэр», представляет собой бесплатный расширенный брандмауэр для систем Linux. Он поставляется с некоторыми расширенными функциями безопасности, такими как обнаружение вторжений, наводнений и входа в систему. Он предназначен для защиты от многих атак, таких как сканирование портов, SYN-флуд и атаки методом грубой силы при входе в систему. Он также обеспечивает интеграцию с cPanel, DirectAdmin и Webmin.
В этом руководстве объясняется установка CSF, базовая конфигурация и основные команды для CSF в Debian 11.
Предпосылки
- Сервер под управлением Debian 11.
- На сервере настроен пароль root.
Начиная
Перед запуском рекомендуется обновить ваши системные пакеты до обновленной версии. Вы можете сделать это с помощью следующей команды:
apt-get update -y
После обновления всех пакетов установите другие необходимые зависимости с помощью следующей команды:
apt-get install sendmail dnsutils unzip libio-socket-ssl-perl libcrypt-ssleay-perl git perl iptables libnet-libidn-perl libio-socket-inet6-perl libsocket6-perl -y
Установите CSF на Debian 11
По умолчанию пакет CSF не включен в стандартный репозиторий Debian 11. Вам нужно будет скачать его с официального сайта.
Вы можете загрузить последнюю версию CSF с помощью следующей команды:
wget http://download.configserver.com/csf.tgz
После завершения загрузки извлеките загруженный файл с помощью следующей команды:
tar -xvzf csf.tgz
Затем измените каталог на CSF и запустите сценарий install.sh, чтобы установить CSF на свой сервер.
cd csf
bash install.sh
После установки CSF вы должны получить следующий вывод:
Don't forget to: 1. Configure the following options in the csf configuration to suite your server: TCP_*, UDP_* 2. Restart csf and lfd 3. Set TESTING to 0 once you're happy with the firewall, lfd will not run until you do so Adding current SSH session IP address to the csf whitelist in csf.allow: *WARNING* URLGET set to use LWP but perl module is not installed, fallback to using CURL/WGET Adding 106.222.22.32 to csf.allow only while in TESTING mode (not iptables ACCEPT) *WARNING* TESTING mode is enabled - do not forget to disable it in the configuration 'lfd.service' -> '/usr/lib/systemd/system/lfd.service' 'csf.service' -> '/usr/lib/systemd/system/csf.service' Created symlink /etc/systemd/system/multi-user.target.wants/csf.service → /lib/systemd/system/csf.service. Created symlink /etc/systemd/system/multi-user.target.wants/lfd.service → /lib/systemd/system/lfd.service. Failed to disable unit: Unit file firewalld.service does not exist. Failed to stop firewalld.service: Unit firewalld.service not loaded. Unit firewalld.service does not exist, proceeding anyway. Created symlink /etc/systemd/system/firewalld.service → /dev/null. '/etc/csf/csfwebmin.tgz' -> '/usr/local/csf/csfwebmin.tgz' Installation Completed
После установки проверьте необходимые модули iptables для CSF с помощью следующей команды:
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
Далее вам нужно будет настроить CSF в соответствии с вашими требованиями. Вы можете настроить его, отредактировав файл /etc/csf/csf.conf.
nano /etc/csf/csf.conf
Сначала найдите строку TESTING=\1\ и измените значение на \0\, чтобы включить CSF:
TESTING = "0"
Затем найдите строку RESTRICT_SYSLOG=\0\ и измените значение на 3, чтобы установить доступ к файлам syslog/rsyslog только для членов группы RESTRICT_SYSLOG_GROUP:
RESTRICT_SYSLOG = "3"
Добавьте необходимые входящие открытые порты TCP в следующей строке:
TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"
Добавьте необходимые исходящие TCP-порты в следующую строку:
# Allow outgoing TCP ports TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"
Добавьте необходимые входящие открытые порты UDP в следующей строке:
# Allow incoming UDP ports UDP_IN = "20,21,53,80,443"
Добавьте необходимые исходящие UDP-порты в следующую строку:
# Allow outgoing UDP ports UDP_OUT = "20,21,53,113,123"
Сохраните и закройте файл, затем перезагрузите брандмауэр CSF, чтобы применить изменения:
csf -r
Основные команды CSF
Чтобы остановить брандмауэр CSF, выполните следующую команду:
csf -s
Чтобы очистить брандмауэр CSF, выполните следующую команду:
csf -f
Чтобы получить список всех правил IPTABLES, добавленных CSF, выполните следующую команду:
csf -l
Чтобы запустить CSF и включить его запуск при перезагрузке системы, выполните следующую команду:
systemctl start csf
systemctl enable csf
Чтобы проверить состояние брандмауэра CSF, выполните следующую команду:
systemctl status csf
Вы должны получить следующий результат:
? csf.service - ConfigServer Firewall & Security - csf Loaded: loaded (/lib/systemd/system/csf.service; enabled; vendor preset: enabled) Active: active (exited) since Sat 2021-09-18 15:42:04 UTC; 11s ago Process: 8022 ExecStart=/usr/sbin/csf --initup (code=exited, status=0/SUCCESS) Main PID: 8022 (code=exited, status=0/SUCCESS) CPU: 705ms Sep 18 15:42:04 debian11 csf[8022]: ACCEPT all opt in * out lo ::/0 -> ::/0 Sep 18 15:42:04 debian11 csf[8022]: LOGDROPOUT all opt in * out !lo ::/0 -> ::/0 Sep 18 15:42:04 debian11 csf[8022]: LOGDROPIN all opt in !lo out * ::/0 -> ::/0 Sep 18 15:42:04 debian11 csf[8022]: csf: FASTSTART loading DNS (IPv4) Sep 18 15:42:04 debian11 csf[8022]: csf: FASTSTART loading DNS (IPv6) Sep 18 15:42:04 debian11 csf[8022]: LOCALOUTPUT all opt -- in * out !lo 0.0.0.0/0 -> 0.0.0.0/0 Sep 18 15:42:04 debian11 csf[8022]: LOCALINPUT all opt -- in !lo out * 0.0.0.0/0 -> 0.0.0.0/0 Sep 18 15:42:04 debian11 csf[8022]: LOCALOUTPUT all opt in * out !lo ::/0 -> ::/0 Sep 18 15:42:04 debian11 csf[8022]: LOCALINPUT all opt in !lo out * ::/0 -> ::/0 Sep 18 15:42:04 debian11 systemd[1]: Finished ConfigServer Firewall & Security - csf.
Чтобы разрешить определенный хост по IP-адресу, выполните следующую команду:
csf -a 192.168.100.10
Чтобы запретить определенный хост по IP-адресу, выполните следующую команду:
csf -d 192.168.100.11
Чтобы удалить IP из списка разрешенных, выполните следующую команду:
csf -ar 192.168.100.10
Чтобы удалить IP из списка запрещенных, выполните следующую команду:
csf -dr 192.168.100.11
Вы можете добавить доверенные IP-адреса, отредактировав файл /etc/csf/csf.allow:
nano /etc/csf/csf.allow
Добавьте доверенные IP-адреса:
192.168.100.10
Вы можете добавить ненадежные IP-адреса, отредактировав файл /etc/csf/csf.deny:
nano /etc/csf/csf.deny
Добавьте свои ненадежные IP-адреса:
192.168.100.11
Заключение
В приведенном выше руководстве мы объяснили, как установить брандмауэр CSF в Debian 11. Мы также покажем вам некоторые основные команды CSF для управления вашим трафиком. Дополнительную информацию см. в документации CSF.