保護您的 Mikrotik 免受攻擊的簡單方法

我想與社區分享一種簡單有效的方法,說明如何使用 Mikrotik 保護您的網路以及從其背後「窺視」的服務免受外部攻擊。 也就是說,只需三個規則即可在 Mikrotik 上組織蜜罐。

因此,假設我們有一個小型辦公室,有一個外部 IP,後面有一個 RDP 伺服器供員工遠端工作。 當然,第一條規則是將外部介面上的連接埠 3389 變更為另一個連接埠。 但這不會持續很長時間;幾天后,終端伺服器審核日誌將開始顯示每秒來自未知客戶端的多次失敗授權。

另一種情況,你在Mikrotik 後面隱藏了星號,當然不是在5060 udp 端口​​上,幾天后密碼搜索也開始了......是的,是的,我知道,fail2ban 是我們的一切,但我們仍然必須努力...例如,我最近在ubuntu 18.04 上安裝了它,並驚訝地發現開箱即用的fail2ban不包含來自同一ubuntu 發行版的同一盒子的星號的當前設置. ..並且Google搜尋快速設定因為現成的「食譜」不再有效,多年來發布的數量不斷增長,舊版本的「食譜」文章不再有效,而新版本幾乎從未出現…但我離題了… …

那麼,簡單來說什麼是蜜罐 - 在我們的例子中,它是一個蜜罐,外部 IP 上的任何流行端口,外部客戶端對此端口的任何請求都會將 src 地址發送到黑名單。 全部。

/ip firewall filter
add action=add-src-to-address-list address-list="Honeypot Hacker" 
    address-list-timeout=30d0h0m chain=input comment="block honeypot ssh rdp winbox" 
    connection-state=new dst-port=22,3389,8291 in-interface=
    ether4-wan protocol=tcp
add action=add-src-to-address-list address-list="Honeypot Hacker" 
    address-list-timeout=30d0h0m chain=input comment=
    "block honeypot asterisk" connection-state=new dst-port=5060 
    in-interface=ether4-wan protocol=udp 
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=
    "Honeypot Hacker"

ether22-wan 外部介面的流行 TCP 連接埠 3389、8291、4 上的第一條規則將「訪客」IP 傳送至「蜜罐駭客」清單(ssh、rdp 和 winbox 連接埠提前停用或變更為其他連接埠)。 第二個在流行的 UDP 5060 上執行相同的操作。

預路由階段的第三條規則會丟棄來自 srs 位址包含在「蜜罐駭客」中的「訪客」的資料包。

經過兩週與我家 Mikrotik 的合作,「蜜罐駭客」名單中包含了大約 XNUMX 個 IP 位址,這些人喜歡「控制」我的網路資源(家裡有我自己的電話、郵件、 nextcloud,rdp)。暴力攻擊停止了,幸福來了。

在工作中,事情並非如此簡單,他們繼續透過暴力破解密碼來破壞 rdp 伺服器。

顯然,連接埠號碼早在蜜罐開啟之前就已由掃描器確定,而在隔離期間,要重新配置超過 100 個用戶並不那麼容易,其中 20% 的用戶年齡超過 65 歲。 在連接埠無法更改的情況下,有一個小方法。 我在網路上看到過類似的東西,但也涉及一些額外的添加和微調:

配置連接埠碰撞的規則

 /ip firewall filter
add action=add-src-to-address-list address-list=rdp_blacklist 
    address-list-timeout=15m chain=forward comment=rdp_to_blacklist 
    connection-state=new dst-port=3389 protocol=tcp src-address-list=
    rdp_stage12
add action=add-src-to-address-list address-list=rdp_stage12 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage11
add action=add-src-to-address-list address-list=rdp_stage11 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage10
add action=add-src-to-address-list address-list=rdp_stage10 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage9
add action=add-src-to-address-list address-list=rdp_stage9 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage8
add action=add-src-to-address-list address-list=rdp_stage8 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage7 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage6
add action=add-src-to-address-list address-list=rdp_stage6 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage5
add action=add-src-to-address-list address-list=rdp_stage5 
    address-list-timeout=4m chain=forward connection-state=new dst-port=
    3389 protocol=tcp src-address-list=rdp_stage4
add action=add-src-to-address-list address-list=rdp_stage4 
    address-list-timeout=4m chain=forward connection-state=new dst-port=
    3389 protocol=tcp src-address-list=rdp_stage3
add action=add-src-to-address-list address-list=rdp_stage3 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage2
add action=add-src-to-address-list address-list=rdp_stage2 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp src-address-list=rdp_stage1
add action=add-src-to-address-list address-list=rdp_stage1 
    address-list-timeout=4m chain=forward connection-state=new dst-port=3389 
    protocol=tcp 
/ip firewall raw
add action=drop chain=prerouting in-interface=ether4-wan src-address-list=
rdp_blacklist

4 分鐘內,遠端用戶端僅允許向 RDP 伺服器發出 12 個新「請求」。 一次登入嘗試包含 1 到 4 個「請求」。 在第 12 個「請求」時 - 阻塞 15 分鐘。 就我而言,攻擊者並沒有停止攻擊伺服器,他們調整了計時器,現在做得非常慢,這樣的選擇速度將攻擊的有效性降低到零。 所採取的措施幾乎沒有對公司員工的工作造成任何不便。

又一個小技巧
該規則按照時間表在凌晨 5 點開啟,並在凌晨 XNUMX 點關閉,此時真人肯定已經睡著了,而自動揀選員則繼續醒著。

/ip firewall filter 
add action=add-src-to-address-list address-list=rdp_blacklist 
    address-list-timeout=1w0d0h0m chain=forward comment=
    "night_rdp_blacklist" connection-state=new disabled=
    yes dst-port=3389 protocol=tcp src-address-list=rdp_stage8

在第 8 次連線時,攻擊者的 IP 已被列入黑名單一週。 美麗!

好吧,除了上述內容之外,我還將添加一個 Wiki 文章的鏈接,其中包含用於保護 Mikrotik 免受網絡掃描器影響的工作設置。 wiki.mikrotik.com/wiki/Drop_port_scanners

在我的設備上,此設定與上述蜜罐規則一起使用,很好地補充了它們。

UPD:正如評論中所建議的,封包丟棄規則已移至 RAW 以減少路由器上的負載。

來源: www.habr.com

添加評論