RouterOS 防火墙实战:五条规则堵住家庭宽带的常见安全漏洞
把 MikroTik 暴露在公网却没动过防火墙?这篇实操记录用五条 input 链规则堵住 WinBox、SSH 等服务的常见暴露面,附规则顺序、误伤排查与改配置前必须做的备份注意事项,适合家庭宽带用户直接照抄。
# RouterOS 防火墙实战:五条规则堵住家庭宽带的常见安全漏洞
很多朋友把 MikroTik 拿到手,WinBox 一连、宽带一拨通,就觉得万事大吉了。其实 ROS 出厂默认的防火墙策略对家庭宽带环境并不友好,尤其是把路由器端口映射到公网、或者开启了 WinBox/Web 服务之后,每天被扫描器撞几千次是常态。这篇记录我给自家网络做加固时踩过的坑,核心就是五条规则,照着配完基本能挡掉 99% 的无聊扫描。
## 一、先看清自己暴露了什么
在动手之前,先在终端里跑一句:
```routeros
/ip service print
```
重点看 `winbox`、`www`、`ssh`、`api` 这几项的 Available From(监听地址)。很多人默认所有服务对全网开放,这就是最大的隐患。
## 二、五条规则逐条配
**1. 砍掉用不到的服务**
```routeros
/ip service disable api,api-ssl,ftp,telnet
/ip service set ssh port=22222
```
_telnet 和 ftp 是明文协议,直接禁用没有商量余地;ssh 若不用也禁掉,要用就换个高位端口。_
**2. WinBox 只允许内网访问**
```routeros
/ip service set winbox address=192.168.88.0/24
```
把管理面锁在内网段,这是性价比最高的一条。**避坑提示:** 改之前先确认自己在允许的网段内,否则会把自己锁在门外,只能靠 MAC 访问救回来。
**3. 丢弃无效连接**
```routeros
/ip firewall filter
add chain=input connection-state=invalid action=drop
add chain=input connection-state=established,related action=accept
```
顺序不能颠倒:先放行 established/related,再处理 invalid,否则会莫名掉线。规则顺序错了是新手最常犯的错误。
**4. 封掉新进来的连接(白名单思路)**
```routeros
add chain=input in-interface=pppoe-out1 connection-state=new action=drop
```
_PPPOE 接口名按你实际的填写。加了这条之后,公网主动进来的管理流量一律丢弃,想做端口映射的服务请走单独的 dstnat 规则,不受影响。_
**5. 给暴破加黑名单**
```routeros
add chain=input in-interface=pppoe-out1 protocol=tcp dst-port=8291 \
src-address-list=blacklist action=drop
add chain=input in-interface=pppoe-out1 protocol=tcp dst-port=8291 \
connection-state=new action=add-src-to-address-list \
address-list=blacklist address-list-timeout=1d
```
连续尝试连接 WinBox 的 IP 直接拉黑一天。
## 三、注意事项备忘
| 项目 | 建议 | 原因 |
| --- | --- | --- |
| 管理端口 | 改高位端口 | 减少脚本扫描噪音 |
| 规则顺序 | 放行在前、丢弃在后 | ROS 防火墙自上而下匹配 |
| 日志 | 黑名单规则开 log 一周 | 观察误伤情况 |
| 备份 | 改动前导出配置 | `/export file=backup` |
最后提醒一句:**改防火墙之前一定先导出备份,并保留 MAC WinBox 访问能力**。我自己就因为规则顺序写反把自己锁在外面过一次,重置才是最疼的学费。配完这五条,再到 `/ip firewall connection tracking` 看看,扫描进来的会话会明显少一个量级,网络也清爽多了。