使用fail2ban 阻止特定連接埠與阻止所有連接埠相比如何?

使用fail2ban 阻止特定連接埠與阻止所有連接埠相比如何?

我正在為我的 EC2 執行個體設定fail2ban,每個執行個體都執行不同的服務。因此,我專門為每個服務配置監獄。我有兩個問題(我在其他地方找不到答案):

  1. 如果某個 IP 因某個連接埠的驗證失敗而被fail2ban 阻止,該使用者是否仍能透過其他開放連接埠進入?
  2. 使用此處提到的配置阻止特定連接埠與阻止所有連接埠相比如何?因為最終我不希望駭客進入,所以阻止所有開放連接埠不是更安全嗎?

答案1

(假設作業系統是Linux)

失敗2禁止是一款製作精良的工具,具有高水準的配置。

在 Linux Ubuntu 上,配置位於/etc/fail2ban

問題1

jail.conf除非您變更配置,否則只會阻止特定服務中提到的連接埠。

問題2

您也可以阻止所有連接埠。這取決於您想要的安全級別,但阻止所有連接埠可能會有缺點。

就我個人而言,我更喜歡只阻止被濫用的連接埠。因為

  • 如果其他連接埠也被濫用(並且如果它們在 中聲明jail.conf),它們也會被阻止
  • 一些IP位址被整個公司或許多人共享;因此,透過阻止所有連接埠的濫用ssh,您將阻止該位址上的每個人進行訪問http/s
  • 您也可能會受到完全封鎖的影響。例如,您使用 時犯了一些密碼錯誤ssh,並且將無法存取另一個允許不同存取的連接埠(例如來自提供者的連接埠)。

若要封鎖更多或所有端口,您可以修改該jail.conf檔案。

一些預設屬性是,(在[DEFAULT]

# "bantime" is the number of seconds that a host is banned.
bantime  = 10m
# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime  = 10m
# "maxretry" is the number of failures before a host get banned.
maxretry = 5

# Ports to be banned (Usually should be overridden in a particular jail)
port = 0:65535

即所有連接埠。

例如[sshd](和所有服務)port被重新定義

[sshd]
port    = ssh

您可以簡單地註解掉該port行以恢復預設值,但我會添加一條註釋和一個新的連接埠行以方便維護(其他人/您在 3 年內)

[sshd]
# 25 Aug 2020 Rohit, block all ports
#port    = ssh
port = 0:65535

更改預設值

您將在action.d目錄中看到可能的操作清單。預設值在jail.conf,

banaction = iptables-multiport

也可以改為

banaction = iptables-allports

這將影響所有不重新定義的服務banaction

重新啟動fail2ban

然後重啟服務,對於systemd

systemctl restart fail2ban.service

或者

service fail2ban restart

(僅供參考,filter.d目錄列出每個服務的方式失敗2禁止偵測到入侵嘗試)

另請查看下面的評論,它們可能提供有價值的資訊。

相關內容