# Kor-Elf Shield ### Русский English
Я больше 10-ти лет использовал ConfigServer Security and Firewall (csf) для защиты своего сервера. Но, к сожалению, в сентябре узнал, что компания, которая поддерживала этот великолепный продукт, закрылась 31 августа 2025 года. CSF написан на языке PERL. И компания выложила все исходные коды в свой репозиторий под лицензией GPLv3. Но я не знаю язык PERL. И мне его тяжело читать. :)
Я решил реализовать своё решение на языке Go Lang. Это не будет полная копия CSF. Просто CSF вдохновило меня сделать, что-то похожее для защиты своего сервера.
***Требования:
* Запуск от имени root * Linux 5.2+ * nftables * Systemd * journalctl *** ### Сделанно: * Реализована возможность настраивать nftables: * По умолчанию разрешить или блокировать входящий трафик. * По умолчанию разрешить или блокировать исходящий трафик. * Настройка icmp. * Настройка портов. * Настройка белых и чёрных списков IP адресов. * Настройка логирование. * Подружить с docker (частично). * Внедрить настройку уведомлений (пока только e-mail). * Отправлять уведомления при авторизации ssh. * Защита от перебора паролей (brute-force). ### В планах: * Уведомлять, если появится новый пользователь в системе. * Уведомлять, если изменились системные файлы. *** ## Компиляция из исходного кода: 1. git clone https://git.kor-elf.net/kor-elf-shield/kor-elf-shield.git 2. cd kor-elf-shield 3. go build -o kor-elf-shield 4. sudo cp kor-elf-shield /usr/local/bin/kor-elf-shield 5. sudo chmod +x /usr/local/bin/kor-elf-shield 6. sudo cp -r assets/configs /etc/kor-elf-shield 7. sudo cp assets/kor-elf-shield.service /etc/systemd/system/kor-elf-shield.service 8. sudo cp assets/kor-elf-shield.logrotate /etc/logrotate.d/kor-elf-shield 9. Отредактировать нужные параметры в:Скачать скомпилированные готовые версии можно тут: https://git.kor-elf.net/kor-elf-shield/kor-elf-shield/releases.
Внимание: по умолчанию в настройках стоит Тестовый режим, после определённого периода (по умолчанию 5 минут) программа выключается и все правила nftables очищаются. Это нужно для того, чтобы вы могли вначале отладить все правила, а после включить в боевом режиме.
Перед запуском программы рекомендуем ознакомиться с инструкцией по первому запуску.
*** ## Настройки:/etc/kor-elf-shield/kor-elf-shield.toml - тут находятся общие настройки. Информацию можно посмотреть тут: https://shield.kor-elf.net/docs/0.x/kor-elf-shield.toml
/etc/kor-elf-shield/firewall.toml - тут находятся настройки, связанные с nftables. Информацию можно посмотреть тут: https://shield.kor-elf.net/docs/0.x/firewall.toml
/etc/kor-elf-shield/analyzer.toml - тут находятся настройки для анализатора логов. Информацию можно посмотреть тут: https://shield.kor-elf.net/docs/0.x/analyzer.toml
/etc/kor-elf-shield/notifications.toml - тут находятся настройки для уведомлений. Информацию можно посмотреть тут: https://shield.kor-elf.net/docs/0.x/notifications.toml
/etc/kor-elf-shield/docker.toml - тут находятся настройки, связанные с docker. Информацию можно посмотреть тут: https://shield.kor-elf.net/docs/0.x/docker.toml
/etc/kor-elf-shield/blocklists.toml - тут находятся настройки для получения IP-адресов от разных сервисов, которые надо заблокировать. Информацию можно посмотреть тут: https://shield.kor-elf.net/docs/0.x/blocklists.toml
/etc/kor-elf-shield/geoip.toml - тут находятся настройки для получения данных об IP-адресах. Информацию можно посмотреть тут: https://shield.kor-elf.net/docs/0.x/geoip.toml
***Программное обеспечение является MIT (см. LICENSE) и использует сторонние библиотеки, которые распространяются на их собственных условиях (см. LICENSE-3RD-PARTY.txt).