博客
🛡️服务器安全防护 - CrowdSec
00 分钟
2024-9-1
2024-9-4
type
status
date
slug
summary
tags
category
icon
password
😀
服务器暴露在公网经常会遭受到一些攻击,以前使用的是 fail2ban,但是这个软件是在攻击之后才能根据日志防御。 后来了解到 CrowdSec 这个软件,它可以订阅一些名单,在攻击发生之前就把 ip 封禁,而且还有 web 面板可以查看,便一直使用这个软件了。

📝 前言

因为很喜欢 docker 容器化,所以软件我是能 docker compose 绝不使用其他的!环境隔离和迁移方便太爽啦!

安装教程

CrowdSec 分为两个部分:CrowdSec 和 Firewall Bouncer。
CrowdSec 负责处理日志之类的东西,然后将决策发给 Bouncer。CrowdSec 可以安装在 docker 中,但是 Bouncer 需要安装在宿主机。

CrowSec 安装

我用到的文件放在下面:
在使用前要修改以下几个地方:
  1. docker-compose.yml 中的 ENROLL_KEY 需要替换为自己的,并且容器运行后要在面板同意一下
  1. 默认的 custom-whitelists.yaml 排除了 tailscale 的IP,可以自行自定义。
  1. 如果需要通知服务,需要自行修改 notifications/telegram.yaml 文件后在 profiles.yaml 开启通知。默认只有 telegram 的配置,可以自行查看文档添加更多。

Bouncer 安装

Debian 安装 nftables bouncer:
为 bouncer 生成一个密钥:
修改 bouncer 配置:
修改其中的 modeapi_key ,推荐模式为 nftables。
重启 bouncer:
查看 bouncer 状态:

cscli

cscli 是 crowdsec 的 cli,提供了很多有用的命令
具体的命令可以查看文档:https://doc.crowdsec.net/docs/cscli/
上一篇
Hello NotionNext
下一篇
服务器从购买到基建