Chi tiết 3 cách reload Snort, kèm theo cơ chế nội bộ để hiểu khi nào cần, và khi nào không nên làm.
🧩 1️⃣ Trước hết: Snort là gì trong FTD?
Trên Cisco FTD, engine Snort chính là Intrusion Prevention Engine (IPS/IDS), nhưng nó còn chịu trách nhiệm thực thi toàn bộ Access Control Policy (ACP) — không chỉ riêng IPS. Snort làm gì?
- Xử lý toàn bộ Access Control Policy
- Áp dụng Security Intelligence
- Áp dụng Intrusion Policy (Ruleset)
- Thực hiện File Policy, Malware Policy
- Ghi log và gửi Event về FMC
Nói cách khác:
Nếu Snort không chạy hoặc chưa reload, các thay đổi về policy, object, hoặc NAT có thể chưa có hiệu lực hoàn toàn.
⚙️ 2️⃣ Có hai engine Snort trên FTD hiện đại
Tùy version:
| ≤ 6.6 | Snort 2 |
| ≥ 7.0 | Snort 3 (mặc định trên 7.x trở lên) |
🚀 3️⃣ Cách reload Snort an toàn (không reboot toàn thiết bị)
✅ Cách 1: Reload Snort từ CLI (realtime reload)
Trên CLI của FTD (connect vào data plane, không phải expert mode):
> system reload snort
Kết quả:
- Snort dừng lại rồi khởi động lại trong vài giây.
- Các kết nối đang chạy có thể bị ảnh hưởng (Snort restart = rebuild session table).
- Không reboot toàn FTD.
📘 Thích hợp khi:
- Bạn vừa cập nhật Intrusion Policy.
- Thay đổi Access Policy nhỏ, muốn reload nhanh.
- Debug lỗi Snort crash hoặc memory leak.
✅ Cách 2: Restart Snort service ở expert mode
Nếu bạn đang ở expert mode (qua expert từ CLI):
> expert
admin@ftd:~$ sudo pmtool restartbytype snort
hoặc (với FTD 7.x / Snort 3):
admin@ftd:~$ sudo systemctl restart snort3
Tác dụng giống nhau:
Dừng và khởi động lại tiến trình Snort,
toàn bộ ACP, IPS, File Policy được reloaded từ cache hiện tại (không cần deploy lại).
✅ Cách 3: Reload Snort từ FMC GUI (safe mode)
Nếu bạn không muốn vào CLI:
1️⃣ Vào FMC → Devices → Device Management
2️⃣ Chọn thiết bị FTD → click Device → Advanced → Troubleshoot
3️⃣ Trong mục Process Management, chọn:
Restart Snort
→ FMC sẽ gửi lệnh system reload snort đến FTD.
Ưu điểm:
Không cần CLI, ít rủi ro hơn.
Nhược điểm:
Vẫn ảnh hưởng đến traffic trong vài giây khi Snort restart.
⚠️ 4️⃣ Cảnh báo khi reload Snort
| 🔸 Drop tạm thời | Một số kết nối TCP sẽ bị ngắt (vì Snort xử lý connection tracking) |
| 🔸 Log Event reset | Session log có thể reset lại |
| 🔸 CPU spike nhẹ | Snort tái nạp signature và compile rule |
| 🔸 Nếu có HA (failover) | Có thể gây sync failover tạm thời |
🧠 5️⃣ Kiểm tra trạng thái Snort sau reload
Xem Snort đang chạy:
> show managers
> show processes snort
Hoặc:
> show snort statistics
Với Snort 3:
> show snort3 statistics
Nếu thấy Snort (pid xxxxx) up for 0:02:33, nghĩa là Snort đã reload thành công.
🧰 6️⃣ Trường hợp cần reload Snort thủ công
| Thay đổi Intrusion Policy hoặc File Policy | ✅ Có |
| Thay đổi Access Control Policy (ACP) | 🚫 Không, chỉ cần deploy từ FMC |
| Snort crash hoặc stuck | ✅ Bắt buộc restart Snort |
| FMC báo lỗi “LINA apply phase failed” | ✅ Nên reload Snort để clear cache |
| Cập nhật signature (SRU update) | ✅ Tự động reload Snort sau update |
| Thay đổi NAT / Routing | 🚫 Không cần reload Snort |
🧩 7️⃣ Bonus – Nếu muốn reload từng module Snort, có thể dùng:
> expert
admin@ftd:~$ sudo pmtool restartbyid <process_id>
Để kiểm tra ID Snort:
admin@ftd:~$ sudo pmtool status | grep snort
✅ 8️⃣ Tóm tắt cho bạn
| Reload Snort đơn giản | system reload snort | Safe nhất, dùng thường xuyên |
| Restart Snort từ expert | sudo pmtool restartbytype snort | Cho phép debug sâu hơn |
| FMC GUI reload Snort | Device → Advanced → Troubleshoot → Restart Snort | Không cần CLI |
| Kiểm tra Snort đang chạy | show snort statistics | Xem uptime, PID |
| FTD 7.x dùng Snort 3 | sudo systemctl restart snort3 | Dành cho Snort3 engine |