Hướng dẫn cấu hình Port knocking trên Router Mikrotik để chống tấn công, request port đến IP Public
Port knocking
Việc các địa chỉ IP public liên tục được quét bởi các bots và dịch vụ như shodan.io và bất kỳ ai cũng có thể sử dụng thông tin này để thực hiện các cuộc tấn công và bất kỳ khai thác nào đã biết. Port knocking là một cách hiệu quả về chi phí để chống lại điều này bằng cách không để lộ bất kỳ cổng nào và chỉ cần lắng nghe từ các lần kết nối - nếu thực hiện đúng trình tự các lần thử kết nối Port, máy khách được coi là an toàn và được thêm vào danh sách "danh sách địa chỉ bảo mật" và có thể bỏ qua các WAN firewall rules. Ví dụ: truy cập cổng 443 (Https) với IP wan public chúng ta có thể truy cập đc vào Router nhưng với Port Knock ta có thể thiết lập để Client phải truy cập qua các port 888, 555..... theo thứ tự rồi mới đến port chính 443 để vào Router.
Các thiết lập cấu hình:
Trước tiên, hãy tạo firewall rule lắng nghe trên một cổng nhất định và thêm IP nguồn được kết nối vào danh sách địa chỉ - đây là lần knock đầu tiên.
add action=add-src-to-address-list
address-list=888
address-list-timeout=30s
chain=input
dst-port=888
in-interface-list=WAN
protocol=tcp
Sau đó, thêm rule thực hiện tương tự trên một port khác, nhưng chỉ phê duyệt IP đã có trong danh sách đầu tiên. Bạn có thể lặp lại bước này bao nhiêu lần tùy thích.
add action=add-src-to-address-list
address-list=555
address-list-timeout=30s
chain=input
dst-port=555
in-interface-list=WAN
protocol=tcp
src-address-list=888
Cuối cùng, lần knock cuối cùng sẽ được thêm vào danh sách IP đáng tin cậy và mọi Input đều được chấp nhận.
add action=add-src-to-address-list address-list=secured address-list-timeout=30m chain=input dst-port=222 in-interface-list=WAN protocol=tcp src-address-list=555 add action=accept chain=input in-interface-list=WAN src-address-list=secured
Blacklists
Trừ khi bạn đang sử dụng nhiều lần knock, việc quét cổng đơn giản có thể vô tình kích hoạt đúng Port theo đúng thứ tự, do đó, bạn cũng nên thêm blacklist.
Đặt lên đầu danh sách firewall rules quy tắc loại bỏ cho blacklist.
add action=drop
chain=input
disabled=yes
in-interface-list=WAN
src-address-list=blacklist
Sau đó thêm IP đáng ngờ vào Blacklists.
Bad ports - những cổng sẽ không bao giờ được sử dụng bởi người dùng đáng tin cậy và do đó đặt mức phạt thời gian chờ thật cao.
add action=add-src-to-address-list
address-list=blacklist
address-list-timeout=1000m
chain=input
disabled=yes
dst-port=666
in-interface-list=WAN
protocol=tcp
Các Port làm chậm đáng kể quá trình quét Port đến mức vô nghĩa, nhưng sẽ không bao giờ khóa người dùng thực quá lâu. Điều này có thể bao gồm mọi Port đơn lẻ ngoài các Port 'knock', điều quan trọng là IP nguồn chưa có trong danh sách bảo mật và do đó các cổng đó có thể được sử dụng sau khi knock thành công.
add action=add-src-to-address-list
address-list=blacklist
address-list-timeout=1m
chain=input
disabled=yes
dst-port=21,22,23,8291,10000-60000
in-interface-list=WAN
protocol=tcp
src-address-list=!secured
Bạn cũng có thể sử dụng mật khẩu cho mỗi làm knock
/ip firewall layer7-protocol add name=pass regexp="^passphrase/$" /ip firewall filter add action=add-src-to-address-list address-list=888 address-list-timeout=30s chain=input dst-port=888 in-interface-list=WAN protocol=udp layer7-protocol=pass
Lưu ý: khi sử dụng Layer 7 rule sẽ rất tốn tài nguyên của thiết bị, bạn nên cân nhắc trước khi sử dụng. Xem thêm tại đây.
Chúc các bạn thành công!