Hướng Dẫn Toàn Diện Bảo Mật OpenWrt: Bảo Vệ Router Trước Mọi Loại Tấn Công

OpenWrt là một hệ điều hành mã nguồn mở mạnh mẽ cho router, mang đến khả năng tùy chỉnh tuyệt vời. Tuy nhiên, sức mạnh này cũng đi kèm với nguy cơ bảo mật nếu không được cấu hình đúng cách. Router của bạn có thể trở thành mục tiêu của các cuộc tấn công như brute-force, DDoS, giả mạo DNS, hoặc thậm chí bị khai thác từ xa. Trong bài viết này, mình sẽ chia sẻ tất cả các cách bảo mật OpenWrt để biến router thành một "pháo đài" thực sự, bảo vệ mạng gia đình hoặc doanh nghiệp nhỏ của bạn trước mọi mối đe dọa.

1. Cấu Hình Cơ Bản: Xây Dựng Nền Tảng An Toàn

Trước khi đi sâu vào các công cụ nâng cao, hãy đảm bảo router của bạn đã được thiết lập đúng ngay từ đầu:

Cập nhật thường xuyên: OpenWrt liên tục vá lỗ hổng. Cập nhật gói phần mềm bằng:

opkg update && opkg upgrade

Tắt dịch vụ không cần thiết: Nếu bạn không cần SSH, giao diện web (LuCI), hay UPnP từ Internet, hãy tắt chúng. Ví dụ, giới hạn SSH chỉ cho mạng nội bộ (LAN) trong /etc/config/dropbear:

option Interface 'lan'

Đổi mật khẩu mặc định: Sau khi cài OpenWrt, hãy thay đổi ngay mật khẩu quản trị (root) và Wi-Fi. Chọn mật khẩu dài, phức tạp (ví dụ: R3kord@2025!). Đổi mật khẩu root bằng lệnh:

passwd

2. Tường Lửa (Firewall): Lá Chắn Chống Xâm Nhập

OpenWrt tích hợp firewall mạnh mẽ (iptables hoặc nftables). Đây là tuyến phòng thủ đầu tiên:

  • Phân vùng mạng: Sử dụng VLAN hoặc mạng khách (guest network) để cách ly thiết bị không đáng tin cậy khỏi mạng chính.

Chặn truy cập từ WAN: Không cho phép SSH (cổng 22) hoặc giao diện web (cổng 80/443) từ Internet trừ khi cần thiết. Thêm rule trong LuCI (Network → Firewall → Traffic Rules) hoặc dùng lệnh:

uci set firewall.ssh_rule=rule
uci set firewall.ssh_rule.name='Block_SSH_WAN'
uci set firewall.ssh_rule.src='wan'
uci set firewall.ssh_rule.dest_port='22'
uci set firewall.ssh_rule.target='DROP'
uci commit firewall
/etc/init.d/firewall restart

3. Chống Tấn Công Brute-Force

Tấn công brute-force – khi kẻ tấn công thử hàng loạt tên người dùng/mật khẩu – rất phổ biến với router có SSH hoặc web mở. Cách khắc phục:

  • Cài Fail2ban: Công cụ này tự động chặn IP sau vài lần đăng nhập thất bại.
    • Cài đặt: opkg install fail2ban
    • Khởi động: /etc/init.d/fail2ban start

Đổi cổng SSH: Chuyển từ cổng 22 mặc định sang cổng khác (như 2222) để tránh bị quét tự động:

uci set dropbear.@dropbear[0].Port='2222'
uci commit dropbear
/etc/init.d/dropbear restart

Cấu hình trong /etc/fail2ban/jail.local:

[dropbear]
enabled = true
port = 22
filter = dropbear
logpath = /var/log/messages
maxretry = 3
bantime = 3600

4. Bảo Vệ Trước Tấn Công DDoS

Tấn công DDoS nhắm vào việc làm quá tải router bằng lưu lượng giả. Để giảm thiểu:

BanIP: Chặn IP độc hại từ danh sách đen:

opkg install banip luci-app-banip

Cấu hình QoS (Quality of Service): Giới hạn băng thông cho từng thiết bị, tránh bị chiếm dụng toàn bộ tài nguyên. Cài gói luci-app-qos:

opkg install luci-app-qos

Sau đó, vào LuCI để thiết lập giới hạn.

5. Ngăn Chặn Giả Mạo DNS và Bảo Mật Lưu Lượng

Kẻ tấn công có thể giả mạo DNS để chuyển hướng bạn đến trang web độc hại. Hãy bảo vệ:

  • VPN: Mã hóa toàn bộ lưu lượng với WireGuard hoặc OpenVPN:
    • Cài WireGuard: opkg install luci-app-wireguard
    • Đây cũng là cách truy cập router từ xa an toàn thay vì mở cổng SSH.

DNS qua HTTPS/TLS: Sử dụng unbound hoặc stubby để mã hóa truy vấn DNS:

opkg install unbound

Cấu hình trong LuCI (Services → Unbound) để dùng DoH/DoT.

6. Phát Hiện và Ngăn Chặn Xâm Nhập

Giám sát log: Kích hoạt log chi tiết từ dropbear hoặc firewall để phát hiện sớm:

uci set dropbear.@dropbear[0].Verbose='1'
uci commit dropbear

Snort/Suricata: Hệ thống IDS/IPS phát hiện và chặn hành vi đáng ngờ. Lưu ý: Chỉ phù hợp với router có RAM/CPU mạnh.

opkg install snort

7. Chặn Quảng Cáo và Miền Độc Hại

Adblock: Chặn quảng cáo và các miền nguy hiểm:

opkg install adblock luci-app-adblock

Cấu hình danh sách chặn trong LuCI.

8. Bảo Vệ Trước Khai Thác Lỗ Hổng

Kiểm tra cổng mở: Dùng nmap từ máy khác để quét router:

nmap <địa-chỉ-IP-router>

Đóng các cổng không cần thiết.

Tắt UPnP: Universal Plug and Play dễ bị khai thác. Tắt trong /etc/config/upnpd:

option enable_upnp '0'

9. Sao Lưu và Khôi Phục

  • Lưu file backup ở nơi an toàn để khôi phục nhanh khi cần.

Sao lưu định kỳ: Đề phòng trường hợp bị tấn công, sao lưu cấu hình qua LuCI hoặc lệnh:

sysupgrade -b /tmp/backup.tar.gz

10. Ví dụ Thực Tế: Đối Phó Với Các Mối Đe Dọa

  • Brute-Force: Mình từng thấy log từ dropbear báo "Client trying multiple usernames" từ IP lạ như 185.217.1.246. Giải pháp: Chặn SSH từ WAN và cài Fail2ban – IP bị khóa sau 3 lần thử!
  • DDoS: Một lần mạng bị chậm bất thường, hóa ra là thiết bị IoT bị chiếm dụng gửi lưu lượng lớn. QoS đã cứu mình bằng cách giới hạn băng thông.
  • DNS giả mạo: Sau khi chuyển sang unbound với DoH, các kết nối đáng ngờ giảm hẳn.

Kết Luận

OpenWrt không chỉ là một hệ điều hành router, mà còn là công cụ để bạn kiểm soát bảo mật mạng của mình. Từ chặn brute-force, DDoS, đến bảo vệ DNS và lưu lượng, các phương pháp trên sẽ giúp bạn xây dựng một hệ thống an toàn. Hãy chọn giải pháp phù hợp với nhu cầu và phần cứng router của bạn. Nếu bạn cần hỗ trợ chi tiết hơn (như cấu hình QoS hay Snort), hãy để lại bình luận nhé!

Chúc bạn có một mạng lưới an toàn và mạnh mẽ với OpenWrt!