Híc, có vẻ là bác copy cái đống rules từ cái trang kiểu trang này:
Các Firewall Filter Rules giúp tăng cường bảo mật cho Mikrotik (https://aiot.io.vn/serial/mikrotik/firewall-rule-tang-cuong-bao-mat/)
Giờ có 2 phương án, hoặc là bác vẫn muốn giữ cái đống rules này. Nếu thế thì bác kéo (drag & drop bằng chuột) 2 cái rules "allow access to pihole" và "block vlan to lan" từ dưới cùng kia lên vị trí thứ 2 sau cái rule đầu tiên. Rồi sau đó thêm cái rule này vào vị trí sau cái dòng "allow access to pihole", trước dòng "block vlan to lan",
Code:
/ip firewall filter
add action=accept chain=forward comment="VlanHome to Vlan" in-interface=vlan1 \
out-interface-list="List All Vlan"
vlan1 là tên cái interface VlanHome của bác.
Nhưng mà phương án em thực sự khuyên bác nên theo là cho tất cả đống rules filter bác copy được kia vào sọt rác, rồi sử dụng danh sách filter dựa trên cấu hình default configuration của MikroTik. Cấu hình dựa theo MikroTik sẽ block truy cập từ ngoài vào router ở chain input, trừ ICMP, block forwarding từ ngoài internet, ngoại trừ với các cổng bác đã thiết lập port forwarding. Giờ em giải thích sơ qua vì sao đống rule bác copy từ trang kia phần lớn vô tác dụng, chỉ chiếm thêm CPU, mà lại không bảo vệ được bằng cái cấu hình default configuration của MikroTik. Em sẽ đi lần lượt theo các mục màu xanh từ cái trang này:
Các Firewall Filter Rules giúp tăng cường bảo mật cho Mikrotik (https://aiot.io.vn/serial/mikrotik/firewall-rule-tang-cuong-bao-mat/)
* Cái phần
Memcrashed - Major amplification attacks from UDP port 11211: Cái này vô ích nếu bác không chạy memcached đâu đó trong LAN và port forward cổng 11211 của nó ra ngoài internet. Trong khi tường lửa defconf sẽ mặc định drop forwarding từ internet nên, ngay cả khi bác có chạy memcached trong mạng đi chăng nữa mà không mở port forwarding cổng này thì tường lửa mặc định cũng đã bảo vệ được rồi. Rule này coi như tốn xử lý 1 cách vô ích.
* Cái phần
Anti DDoS Attacks: Ngoài việc có khi bác ở trên mạng hàng chục năm cũng không có kẻ xấu nào thừa hơi và tài nguyên đi DDoS đúng nhà bác làm cái gì, thì việc block DDoS bằng bảng Filter là vô ích. Sau khi mất công nhớ địa chỉ và đếm kết nối (tốn tài nguyên router) thì kết cục vẫn chỉ là 1 cái action=drop ở trên bảng filter sau khi so sánh với address list. Trong khi tường lửa cấu hình defconf bình thường mặc định drop luôn kết nối mới từ ngoài internet rồi, trừ trường hợp vào cổng đã được port forwarding. Thế nên nếu có bị DDoS kiểu này thì tường lửa defconf sẽ còn drop kết nối sớm hơn đống rules này, đồng thời không mất công nhớ địa chỉ và đếm connection. Muốn block DDoS hiệu quả thực sự, thì phải block ở bảng RAW, vì khi đó mới block được khi kết nối chưa dùng nhiều tài nguyên của router, còn đã để đến bảng filter rồi thì tác dụng không hơn gì cái rule drop mặc định cả.
* Cái phần
Block IP/Port Scanner: Một lần nữa tốn xử lý vô ích khi kết quả cuối cùng cũng chỉ là 1 cái action=drop trên bảng filter của chain input. Lý do là nếu dùng tường lửa theo cấu hình defconf, thì mặc định mọi kết nối mới từ ngoài vào chain input của router bị drop sạch, (trừ ICMP, mà ICMP thì kernel Linux tự động rate-limit 1000 packet/s rồi), nên kẻ xấu có muốn port scan thoải mái, kết quả vẫn bị drop. Dùng cấu hình defconf còn bị drop ngay, còn dùng đống rules này phải đợi chạy qua 1 đống rules rồi mới add vào address list rồi mới drop.
* Cái phần
Anti BruteForce Attack: Cái này chỉ áp dụng khi bác mở tô hô cổng FTP, Telnet, với SSH của router ra ngoài thế giới, trong khi không có lý do nào để bác làm việc đó cả. Filter của defconf mặc định đóng hết nên đứa nào muốn brute force 3 cái cổng này cũng sẽ bị drop từ lâu rồi (ngay từ đầu), chứ không như cái đống rules này, còn phải đợi mấy vòng, lưu mấy address list mới drop.
Không những không bảo vệ được gì hơn so với tường lửa cấu hình chuẩn của MikroTik, cái đống rules này của bác còn chẳng bảo vệ gì được hết những thứ quan trọng nhất. Thí dụ đơn thuần là cái cổng WinBox mở rộng mời bọn xấu vào thử password, cả cổng 80 của WebFig cũng vậy. Nếu router của bác bật DNS server thì cái đống rules của bác cũng không chặn được bọn bên ngoài tấn công DNS amplification attack với cổng UDP 53. Trong khi nếu dùng filter từ cấu hình defconf thì router của bác coi như kín mít, trừ ICMP được phép đi qua và các cổng bác bật port forwarding.
Vậy em khuyên bác xóa đống rules này đi bắt đầu lại từ bảng fitler trắng rồi thêm các rules sau đây dựa trên rules của MikroTik vào. Phần giải thích bác có thể tham khảo ở đây:
help.mikrotik.com
Đầu tiên là interface list. Bác tạo thêm 1 cái interface list tên là WAN. Bác nhét interface pppoe-outX và cái cổng ethernet mà kết nối PPPoE sử dụng vào list này. Nếu bác dùng WireGuard cài ở server bên ngoài / dịch vụ WireGuard bên thứ 3 để vào internet thì cũng có thể cho interface WireGuard đó vào list WAN này.
Trong các rules sẽ sử dụng interface list LAN, là cái post trước em bảo bác tạo. Có vẻ bác đã đổi tên nó thành "List All Vlan". Vậy trong các rules em post chỗ nào thấy list "LAN" thì bác thay bằng "List All Vlan" nhé. Ngoài ra em cũng bỏ các rules liên quan đến IPSec hay CAPSMAN vì chắc bác sẽ không dùng những cái này.
Đầu tiên là để bảo vệ chain input. Bác thêm rules như phần "Protect the Device" ở trang của MikroTik:
Code:
/ip firewall filter
add chain=input action=accept connection-state=established,related,untracked \
comment="defconf: accept established,related,untracked"
add chain=input action=drop connection-state=invalid \
comment="defconf: drop invalid"
add chain=input action=accept protocol=icmp comment="defconf: accept ICMP"
add chain=input action=drop in-interface-list=!"List All Vlan"\
comment="defconf: drop all not coming from LAN"
Bây giờ đến chain forward. Giống phần Protect the Clients ở trang MikroTik. Em sẽ disable cái rules fasttrack, vì bác có nhiều rules ở bảng mangle mà em không biết mặt mũi chúng ra sao nên không tể tạo ngoại lệ skip fasttrack cho chúng được. Tường lửa defconf đi theo thiết bị không có các rules drop "no_forward_ipv4" nên em cũng không đưa vào đây. Nếu muốn bác copy mấy rules đó từ trang kia của MikroTik. Ngoài ra em cũng chèn mấy rules VLAN với pihole sẵn cho bác.
Code:
/ip firewall filter
add chain=forward action=fasttrack-connection connection-state=established,related \
disabled=yes comment="defconf: fasttrack"
add chain=forward action=accept connection-state=established,related,untracked \
comment="defconf: accept established,related, untracked"
add chain=forward action=drop connection-state=invalid \
comment="defconf: drop invalid"
add action=accept chain=forward comment="allow access to pihole" \
dst-address=192.168.10.10 in-interface-list="List All Vlan"
add action=drop chain=forward comment="block vlan to lan" \
in-interface-list="List Vlan Exclude VlanHome" out-interface-list="List All Vlan"
add chain=forward action=drop connection-state=new connection-nat-state=!dstnat \
in-interface-list=WAN comment="defconf: drop all from WAN not DSTNATed"
Thế là đủ an toàn và hoạt động tốt hơn mấy rules bác copy kia ạ.