From 88b7e81b84cf1dc0b9039153f601372fb6c11eb9 Mon Sep 17 00:00:00 2001 From: erjemin Date: Fri, 16 May 2025 18:34:26 +0300 Subject: [PATCH] =?UTF-8?q?add:=20=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D0=BE?= =?UTF-8?q?=D1=81=20=D0=BA=D0=BE=D0=BD=D1=82=D0=B5=D0=B9=D0=BD=D0=B5=D1=80?= =?UTF-8?q?=D0=B0=20Docker=20=D0=B2=20k3s=20=D0=97=D0=B0=D1=89=D0=B8=D1=82?= =?UTF-8?q?=D0=B0=20=D0=BA=D0=BB=D0=B0=D1=81=D1=82=D0=B5=D1=80=D0=B0=20?= =?UTF-8?q?=D1=81=20=D0=BF=D0=BE=D0=BC=D0=BE=D1=89=D1=8C=D1=8E=20CrowdSec?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ kubernetes/k3s-protection-with-crowdsec.md | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 kubernetes/k3s-protection-with-crowdsec.md diff --git a/README.md b/README.md index 9900f7f..697f03e 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,8 @@ * [Перенос контейнера Docker в k3s](kubernetes/k3s-migrating-container-from-docker-to-kubernetes.md) (на примере Gitea) * [Резервное копирование k3s](kubernetes/k3s-backup.md) * [Настройка доступа к панелям управления](kubernetes/k3s-setting-up-web-access-to-dashboard.md) Longhorn и Traefik +* [Защита кластера с помощью CrowdSec](kubernetes/k3s-protection-with-crowdsec.md) + ## Python * [Устранение проблем при установке Python-коннектора mysqlclient (MySQL/MariaDB)](python/python-mysql.md) * [Python-скрипт как служба Linux](python/python_as_service.md) diff --git a/kubernetes/k3s-protection-with-crowdsec.md b/kubernetes/k3s-protection-with-crowdsec.md new file mode 100644 index 0000000..aed46d0 --- /dev/null +++ b/kubernetes/k3s-protection-with-crowdsec.md @@ -0,0 +1,18 @@ +# Защита кластера с помощью CrowdSec + +Вы наверняка использовали (или как минимум слышали) о Fail2Ban. Он очень широко распространён для защиты SSH на хостах, +противодействия сканированию сайтов, легких DDoS-атак и "фонового bot-трафика". Fail2Ban существует с 2004 года +и давно стал стандартом для защиты серверов. Но он слабо подходит для защиты кластеров Kubernetes, так поды +обслуживающие внешний трафик (Ingress-контроллеры Traefik в случае k3s) могут находиться на разных узлах кластера. +Если Fail2Ban заблокирует IP-адрес на одной ноде, то он не сможет защитить другие узлы кластера, так как они ничего +не узнают о блокировках. + +Для защиты распределённых систем (в том числе кластеров Kubernetes) набирает популярность CrowdSec. Это проект +с открытым исходным кодом, который, кроме обмена информацией об атаках между узлами (за периметром), использует +и внешний краудсорсинг (Community Blocklist) для защиты от атак. Он собирает данные о блокировках и позволяет +обмениваться этой информацией между всеми участниками сети (это отключаемая опция, и по умолчанию она отключена). +Таким образом, CrowdSec может не только защитить все узлы кластера (благодаря обмену информацией за периметром), +о блокировать IP-адреса, еще до их атаки на ваш сервер (если данные IP уже заблокированы другими участниками CrowdSec). +А еще CrowdSec модульный, поддерживает сценарии (http-cms-scanning, sshd-bf и тому-подобное),в 60 раз быстрее +Fail2Ban (он написан на Golang), работает с IPv6 и имеет интеграции с Traefik, Cloudflare, Nginx, k3s, Docker и другими +инструментами. CrowdSec активно растёт в нише DevOps, облаков, контейнеров и кластеров Kubernetes. \ No newline at end of file