Edge guardian một‑binary · bảo mật + sức khỏe site · Linux · nftables

Mọi thứ hoạt động bình thường đến khi có chuyện xảy ra.

Edge Guardian đọc log của bạn để làm hai việc: chặn traffic xấu — scanner, brute‑force, khai thác — ngay tại tường lửa, và theo dõi sức khỏe từng site (5xx, độ trễ, lưu lượng), cảnh báo ngay khi có gì xuống cấp. Dashboard miễn phí. Một binary tĩnh. Cài bằng một dòng.

$ curl -fsSL https://raw.githubusercontent.com/sondt/edge-guardian/main/install.sh | sudo bash
Star trên GitHub ★
một binary tĩnh △ không database, không agent △ nftables thuần △ khởi động an toàn ở dry‑run △ Apache‑2.0
Vấn đề

Mọi server công khai đều bị tấn công liên tục.

Vừa có IP là bot bắt đầu dò — tìm trang admin bị bỏ quên, secret rò rỉ và mật khẩu SSH yếu. Các công cụ chống lại đều bắt bạn chọn giữa quá rườm ràquá nặng.

/wp‑login.phpdrop
/.envdrop
/.git/configdrop
?id=1' OR 1=1drop
UA: sqlmap/1.7drop
sshd: 5× faildrop
:23 honeypotdrop

fail2ban

Nhẹ và đã được kiểm chứng — nhưng chỉ thấy một host, phụ thuộc nặng vào luật regex, và trở nên vướng víu ngay khi bạn có nhiều hơn một máy. Không có dashboard.

CrowdSec

Mạnh, có blocklist cộng đồng — nhưng bạn phải học agent, local API, bouncer và collection. Còn cái console đẹp đẽ? Đó là phần trả phí.

Vì sao chọn Edge Guardian

Hai việc, từ một luồng đọc log.

Cùng một luồng bắt kẻ tấn công và cho bạn biết khi một site gặp sự cố. Chặn traffic xấu, và biết ngay khoảnh khắc có gì hỏng — không cần công cụ thứ hai, database hay agent.

01

Chặn traffic xấu.

Scanner, brute‑force, dò khai thác và flood — đối chiếu với cửa sổ trượt rồi drop ngay ở kernel qua nftables. Tái phạm bị phạt nặng dần.

  • Scanner HTTP, brute‑force SSH, chữ ký khai thác, bad bot, lạm‑dụng tần suất, quét cổng & honeypot
  • Chặn nftables tự‑hết hạn; phạt leo thang với kẻ tái phạm
  • Nhập blocklist FireHOL & Spamhaus; allowlist CIDR để bạn không bao giờ tự‑khóa
  • Chế độ dry‑run — phát hiện & cảnh báo mà không chặn, để bạn tin tưởng trước khi bật
02

Thấy khi một site hỏng.

Cùng access log đó nuôi một bảng sức khỏe: tỷ lệ lỗi, độ trễ và lưu lượng theo từng‑site. Cảnh báo khi site xuống cấp hoặc sập — và báo lại khi hồi phục.

  • Tỷ lệ 5xx, độ trễ p95 & tần suất request theo từng site, trên trang /sites
  • Cảnh báo xuống cấp / sập / hồi phục kèm sustained + cooldown — không spam
  • Dashboard nhúng miễn phí: dải Sentinel, sổ ban, feed trực tiếp
  • Trả lời “có gì sai không?” — không bao giờ “ai đang xem gì” (không phải analytics)
Detection · enforcement · health · alerting

Đủ để thực sự vận hành một server.

DETECT · HTTP

Đường dẫn scanner

Regex trên URI request — các cú dò .php/.env/wp‑login mà một stack sạch không bao giờ phục vụ. Chặn ngay từ lần đầu.

DETECT · SSH

Brute‑force

Đếm lần đăng nhập thất bại từ auth.log / journald. Chống chèn để một username dàn dựng không thể đổ tội cho IP vô can.

DETECT · EXPLOIT

Chữ ký tấn công

SQLi, path traversal, dò RCE & Log4Shell trong URI. Mặc định tắt, neo chặt để giữ false positive gần như bằng không.

DETECT · BOTS

Bad‑bot UA

Chặn các user‑agent scanner đã biết — sqlmap, nikto, nuclei, masscan, wpscan — vốn chẳng có lý do chính đáng nào gọi tới bạn.

DETECT · FLOOD

Lạm dụng tần suất

Đếm mọi request theo IP và chặn kiểu flood DoS‑lite. Ngưỡng‑cao và biết allowlist nên client thật vẫn qua.

DETECT · NETWORK

Quét cổng

Đếm số cổng đích khác nhau theo IP qua log nftables. Dồn một cổng không phải quét; quét nhiều cổng mới là.

DETECT · TRAP

Cổng mồi

Chạm vào cổng mồi là bị chặn ngay. Tín hiệu chất lượng cao nhất — không có lý do hợp lệ nào để gõ cửa.

HEALTH

Site healthnew

Tỷ lệ 5xx, độ trễ p95 & tần suất request theo từng‑site — các site được phát hiện từ nginx -T. Cảnh báo khi xuống cấp / sập / hồi phục, kèm trang /sites.

ENFORCE

nftables bansescalating

Drop ngay ở kernel qua set có timeout. Tái phạm bị phạt nặng hơn: một ngày, một tuần, một tháng, vĩnh viễn.

INTEL

Blocklist công khai

Nhập FireHOL & Spamhaus DROP vào một interval set của nftables — chặn các dải xấu‑đã‑biết trước cả khi chúng chạm tới bạn.

ALERT

Telegram & Email

Thời gian thực cho mọi lần chặn mọi cảnh báo sức khỏe, tới tất cả kênh cùng lúc. Email qua Resend. Quốc gia & ASN khi bật GeoIP.

GEO

GeoIP ngoại tuyến

Quốc gia, vùng & ISP từ file MMDB cục bộ — chạy với bộ dữ liệu sapics miễn phí, không cần tài khoản MaxMind.

SAFE

Allowlist & dry‑run

Allowlist CIDR cho văn phòng, VPN & giám sát của bạn. Dry‑run để quan sát vài ngày trước khi bật chặn thật.

HEALTH · ERRORS

Error lognew

Mọi request 4xx/5xx ở một nơi — host, đường dẫn, status, IP, user‑agent và nguồn GeoIP — lọc và phân trang trên trang /errors.

OPS

Auto‑updatenew

Một systemd timer tùy chọn giữ binary luôn mới từ GitHub releases — chỉ‑binary, restart an toàn. Mặc định tắt.

How it works

Một luồng đọc. Hai nhánh.

Mỗi dòng tỏa ra hai lần: nhánh bảo mật khớp traffic xấu rồi chặn; nhánh sức khỏe đếm status, độ trễ và tần suất theo từng‑site, cảnh báo khi có sự cố. Thêm một detector chỉ là một parser và một ngưỡng — không bao giờ phải viết lại.

01

Đọc log

Log nginx, sshd & kernel — đọc một lần, tỏa ra cả hai nhánh.

02

Phát hiện

Phân tích IP nguồn, đối chiếu với cửa sổ trượt + ngưỡng.

03

Allowlist?

Các dải CIDR của bạn không bao giờ bị động tới. Tuyến phòng thủ cuối chống tự‑khóa.

04

Chặn

Thêm vào set nftables kèm timeout. Drop trên mọi cổng, tức thì.

05

Thông báo

Cả lần chặn cảnh báo sức khỏe — Telegram, email, feed dashboard & dải Sentinel.

The wedge

Thấy ai đang tấn công bạn — và cái gì đang hỏng.

Một thiết bị đo điềm tĩnh, im lặng đến khi có chuyện. Khi dải Sentinel bật đỏ, hoặc một site chuyển xuống cấp, nó có nghĩa thật. Có sẵn trong binary miễn phí — không Grafana, không paywall.

Install

Chạy và canh gác trong một phút.

Khởi động ở dry‑run, nên nó quan sát mà không chặn đến khi bạn sẵn sàng. Rồi đổi một dòng.

Một dòng

Nhận diện kiến trúc, cài binary + systemd unit, và khởi tạo nftables.

# Linux, needs nftables + root
curl -fsSL https://raw.githubusercontent.com/sondt/edge-guardian/main/install.sh \
  | sudo bash

.deb / .rpm

Gói native cho amd64 & arm64. Config là conffile — an toàn qua các lần nâng cấp.

# Debian / Ubuntu
sudo apt install ./edge-guardian_0.4.4_linux_amd64.deb
# RHEL / Rocky / Fedora
sudo dnf install ./edge-guardian_0.4.4_linux_amd64.rpm

Docker

Bảo vệ tường lửa host qua network namespace của host.

docker run -d --name edge-guardian \
  --network host --cap-add NET_ADMIN \
  -v /etc/edge-guardian:/etc/edge-guardian \
  ghcr.io/sondt/edge-guardian
Trong một cái nhìn

So sánh thế nào.

 Edge Guardianfail2banCrowdSec
Single static binaryYes
One‑line installYespkgscript + repo
Dashboard in the free tierYespaid / DIY Grafana
HTTP + SSH + port‑scan + honeypotYesvia rulesscenarios
Exploit + bad‑bot + rate‑abuseYesDIY rulesscenarios
Per‑site health monitoringYes
nftables‑native enforcementYesbackendbouncer
Public blocklist importYescommunity
No external service to runYesYeslocal API
Câu hỏi

Trả lời thẳng.

Edge Guardian là gì?

Edge Guardian là một người bảo vệ cạnh mã nguồn mở, miễn phí, một binary cho Linux. Từ một luồng đọc log, nó làm hai việc: bảo mật — phát hiện scanner, brute-force và khai thác, rồi chặn IP nguồn tại tường lửa nftables — và sức khỏe biên — theo dõi tỷ lệ 5xx, độ trễ và tần suất request của từng site, cảnh báo khi site xuống cấp hoặc sập. Nó cảnh báo qua Telegram hoặc email và đi kèm dashboard local tích hợp.

Edge Guardian khác fail2ban và CrowdSec ở điểm nào?

fail2ban nặng về regex, chỉ thấy một host và không có dashboard. CrowdSec mạnh nhưng cần agent, local API, bouncer và collection — còn dashboard là tính năng trả phí. Edge Guardian là một binary tĩnh duy nhất, cài một dòng, dashboard miễn phí kèm theo, và còn theo dõi sức khỏe site — không chỉ bảo mật.

Edge Guardian phát hiện những gì?

Đường dẫn scanner HTTP, brute-force SSH, chữ ký khai thác (SQLi, path traversal, dò RCE, Log4Shell), bad bot theo User-Agent (sqlmap, nikto, nuclei, masscan), flood lạm dụng tần suất / DoS-lite, quét cổng (số cổng đích khác nhau theo IP), và chạm cổng honeypot. Nó cũng có thể nhập blocklist công khai như FireHOL và Spamhaus.

Nó có theo dõi sức khỏe site, chứ không chỉ tấn công?

Có. Cùng access log đó nuôi một nhánh sức khỏe, tổng hợp phân bố status, tỷ lệ lỗi 5xx, tần suất request và độ trễ p95 theo từng site, và cảnh báo (kèm sustained + cooldown để tránh nhiễu) khi site xuống cấp hoặc sập — và báo lại khi hồi phục. Nó cố ý không làm web analytics: nó trả lời “có gì sai không?”, chứ không phải “ai đang xem gì?”.

Edge Guardian có miễn phí không?

Có. Edge Guardian miễn phí và mã nguồn mở theo giấy phép Apache-2.0 — gồm cả dashboard và phần theo dõi sức khỏe.

Edge Guardian cần gì để chạy?

Một server Linux có nftables (Debian 11+, Ubuntu 20.04+, RHEL 9+ hoặc tương đương) và quyền root hoặc CAP_NET_ADMIN. Không cần database, không agent, không dịch vụ ngoài.

Cài Edge Guardian thế nào?

Chạy trình cài một dòng (curl -fsSL .../install.sh | sudo bash), cài gói .deb hoặc .rpm, hoặc chạy image Docker. Edge Guardian khởi động ở chế độ dry-run nên nó quan sát và cảnh báo trước khi chặn.

Drop it on a box.
Forget about scanners.

Miễn phí, mã nguồn mở, và được làm ra để không vướng chân bạn đến khi thật sự có chuyện.

$ curl -fsSL https://raw.githubusercontent.com/sondt/edge-guardian/main/install.sh | sudo bash
Xem mã nguồn ↗