From f94d7e42edf06d9413054b0899a2e87ef68dc3e0 Mon Sep 17 00:00:00 2001 From: erjemin Date: Sun, 18 May 2025 14:11:33 +0300 Subject: [PATCH] =?UTF-8?q?add:=20=D0=97=D0=B0=D1=89=D0=B8=D1=82=D0=B0=20?= =?UTF-8?q?=D1=85=D0=BE=D1=81=D1=82=D0=B0=20=D1=81=20=D0=BF=D0=BE=D0=BC?= =?UTF-8?q?=D0=BE=D1=89=D1=8C=D1=8E=20CrowdSec=20.....?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kubernetes/k3s-protection-with-crowdsec.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/kubernetes/k3s-protection-with-crowdsec.md b/kubernetes/k3s-protection-with-crowdsec.md index 9913656..3770d38 100644 --- a/kubernetes/k3s-protection-with-crowdsec.md +++ b/kubernetes/k3s-protection-with-crowdsec.md @@ -18,6 +18,7 @@ Fail2Ban (он написан на Golang), работает с IPv6 и имее инструментами. CrowdSec активно растёт в нише DevOps, облаков, контейнеров и кластеров Kubernetes. А еще он не требовательный по ресурсам (~100 МБ RAM) и подходит для Orange Pi. +---- ## Утановка CrowdSec В принципе, СrowdSec можно установить в кластер через Helm. Тогда он сам развернется на всех узлах кластера и это @@ -31,8 +32,10 @@ Fail2Ban (он написан на Golang), работает с IPv6 и имее * Кластерный CrowdSec Agent, внутри k3s, анализирует логи Traefik и создаёт решения (decisions) о бане IP. * Traefik Bouncer в k3s, также подключается к LAPI для защиты HTTP (для git.cube2.ru и других web-приложений). +---- ### CrowdSec на первом узле и защита SSH на хосте +---- #### Подготовка к установке CrowdSec Делаем обновляем список пактов и систему: @@ -46,6 +49,7 @@ sudo apt upgrade curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | sudo bash ``` +---- #### Установка CrowdSec и проверка Устанавливаем CrowdSec: @@ -249,6 +253,7 @@ sudo cscli metrics Как видим, CrowdSec читает `/var/log/auth.log` (логи SSH). +---- #### Установка CrowdSec Firewall Bouncer -- блокировщик IP-адресов По мне, блокировки CrowdSec довольно беззубые. К счастью через "вышибалу" Firewall Bouncer можно блокировать @@ -278,6 +283,7 @@ sudo cscli bouncers list ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ``` +---- #### Подключаем наш CrowdSec к обмену данными об атаках CrowdSec может обмениваться данными об атаках с другими участниками сети. Чтобы это сделать, нужно пойти [на сайт @@ -352,6 +358,7 @@ sudo cscli decisions list --origin CAPI ╰───────┴────────┴────────────────────────────────────┴────────────────┴────────┴─────────┴────┴────────┴────────────┴──────────╯ ``` +---- #### Настройка Whitelist (белого списка) Чтобы не заблокировать себя (случайно) нужно создать в Whitelist (белый список). Например, сделаем `home_whitelist` @@ -399,7 +406,7 @@ sudo cscli allowlist inspect home_whitelist тот же результат. Только управлять через списки (allowlist) удобнее. [См. документацию](https://doc.crowdsec.net/u/getting_started/post_installation/whitelists/). - +---- #### Настройка Firewall Bouncer (блокировщик IP-адресов) Когда мы проверяли установку CrowdSec, и проверим список сценариев `shell sudo cscli scenarios list`, то нам был