CrowdSec始めました
fail2banを導入してみたり、ModSecurityを導入してみたりいろいろ試していましたがなかなかいいセキュリティ対策が見つからなかった。そこで見つけたCrowdSecというものが良かったので話したい。
CrowdSecってなに??
ざっくり言うと、「みんなで守る次世代型のセキュリティツール」って感じ。
Fail2banの進化系、というか、クラウド時代に最適化された分散型の脅威インテリジェンス共有システムって言えば伝わるかも。
CrowdSecはログをリアルタイムで解析して、悪意ある挙動(たとえばSSHブルートフォースとか、不審なHTTPリクエストとか)を検知してBANしてくれる。ここまではFail2banと同じっぽく見えるけど、最大の違いは「悪意あるIPをコミュニティで共有」できるところ。
つまり、自分のサーバーで攻撃してきたIPアドレスが他の誰かのサーバーでも悪さしてたら、「あ、こいつ悪いやつだ」ってことでブロック対象としての信頼度が上がる。CrowdSecの中央にある「CTI(Cyber Threat Intelligence)」っぽい仕組みでそれが評価されて、みんなでネットワーク的に守っていこうという思想がベースにある。
私はNginxのBouncerを導入して使っている。
良かったポイント・惜しいポイント
良かったポイント
導入がめっっっっっちゃ簡単
公式ドキュメントに沿ってコマンドを打つだけ。ModSecurityみたいにディレクトリ作って、コンフィグ書いて、、、みたいなことをしないでいい。
curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | sudo bash
apt install crowdsec
するだけ。Nginxに対応させたいなら、
sudo apt install nginx lua5.1 libnginx-mod-http-lua luarocks gettext-base lua-cjson
sudo apt install crowdsec-nginx-bouncer
してごにょごにょするだけ。
公式のコンソールからグラフが見れる
UIがかっこいいし、見やすいです。普通に心に刺さりました。
惜しいポイント
無料でできることがあまり多くはない
これは、クラウドのコンソールを使う場合のみだが、無料でできることが少ないように感じた。
しかし、小規模なサーバーを運用している私では必要最低限で十分と感じた。
基本的な機能は無料で使えるっぽいが、ほとんどのブロックリストは有料?みたいだった。
2025年8月4日追記
CLIから触れば無料で結構色々できそう
実際どうなのか?
結論: 個人的には良い
正直、期待以上だった。
Fail2banも決して悪くないし、ローカルで完結できるという強みはあるんだけど、「防御力に限界あるな…」ってずっと感じてたんだが、CrowdSecに切り替えてからは、攻撃を「事後対応」じゃなくて「予防」できるようになったのが一番大きい。
あと地味に嬉しいのが、ダッシュボードで攻撃履歴を可視化できること。(そしてUIがかっこよくて心に刺さる)
どのIPが何回アクセスしてきて、何で検出されたかが一覧で見られるのって、思ってたより安心感ある。
個人的にはCLIが使いやすかった。CLI上で表示される画面がとても見やすかった。気になる人は実際にやってみてほしい。
惜しい点はもちろんあるが、基本的な攻撃対策には十分すぎる。完璧。
これからも愛用しようと思う。
今後やってみたいこと
- 他のBouncerも触ってみたい
- カスタムシナリオを作ってみたい
- もっとログを貯めてグラフを眺めてみたい
最後に
今までは、自分のサーバーを守るために自分だけが頑張る、って感じだったけど、CrowdSecは「みんなで守る」セキュリティって感じで、なんだかちょっと(結構)楽しい。
もちろん、どんなセキュリティ対策にも完璧はないし、CrowdSecだけ入れたら安心!っていう話じゃないけど、“一歩先を行く選択肢”としてはアリ中のアリだと思った。
導入も簡単で、見える化もできて、ログも面白いし、何より無料でここまでできるってのはすごい。
まだまだ触り始めたばかりだけど、これからもっと活用して、よりセキュアで、見てて楽しいサーバー環境を作っていきたいなって思ってます。
というわけで、この記事が「CrowdSec気になるけどどうなの?」って人の参考になったら嬉しいです!
ぜひlikeつけてくれると嬉しいです。
Discussion