保護Linux服務器免受外部攻擊的提示

我想開車的人 Linux服務器 他們知道並且知道 拒絕主機 y Fail2ban。 對於那些不認識他的人,我會 說明 關於這兩個的一點 應用.

約翰·弗雷迪·佩雷斯(John Fredy Perez)是其中一位 優勝者 我們每週比賽的內容:分享您對Linux的了解«。 恭喜你! 因為某事焦慮 參與 並像約翰一樣為社區做出貢獻?

我們將安裝和配置這兩個應用程序,以避免隨後的麻煩。 首先,我們將解釋這兩個應用程序是什麼以及它們的功能是什麼:

Fail2Ban

它是一個日誌分析器,用於查找失敗的註冊嘗試並阻止這些嘗試來自的IP。 它以GNU許可證分發,通常可在與攻擊控制系統或本地防火牆接口的所有系統上使用。

Fail2Ban具有出色的配置,還可以為程序創建規則
自己或第三方。

拒絕主機

它是用python編寫的安全工具,用於監視訪問服務器日誌,以防止對虛擬服務器的暴力攻擊。 該程序通過禁止超過一定數量的失敗連接嘗試的IP地址來工作。

這些Linux應用程序-DenyHosts和Fail2ban-可以單獨使用,也可以一起使用。 就我而言,我讓他們兩個在一起工作。

每一個的安裝和配置取決於您使用的發行版。 儘管其他發行版之間的差異不是很明顯,但該帖子主要面向CentOS 6.3。

好吧,開始工作。

Fail2Ban安裝和配置

該應用程序在Linux防火牆本身中生成動態規則,並負責在IpTables中創建實時規則。

安裝

對於安裝:

百勝安裝fail2ban 

如果該軟件包未出現,則必須添加必要的存儲庫:

rpm -Uvh http://mirror.metrocast.net/fedora/epel/6/i386/epel-release-6-7.noarch.rpm

這樣,您應該開始安裝應用程序及其依賴項。

現在我們必須配置Fail2Ban來分析我們想要並阻止的日誌
IP,通過電子郵件發送通知。 為此,我們必須修改在/ etc / fail2ban中找到的jail.conf文件。

cd / etc / fail2ban
納米jail.conf

在此文件中應執行以下操作:

  • Modify是bantime值,此值確定將阻止攻擊者IP的時間(以秒為單位),默認情況下,該值以600秒為單位。
  • 查找maxretry值,該值將是IP在被阻止之前驗證失敗的次數。
  • 在ignoreip參數中添加我們的IP。 在這裡,應用程序將忽略該參數中經過身份驗證的IP。
[默認]
#“ ignoreip”可以是IP地址,CIDR掩碼或DNS主機。 Fail2ban不會
#禁止與該列表中的地址匹配的主機。 可以有幾個地址
#使用空格分隔符定義。
忽略 IP = 127.0.0.1

#“ bantime”是主機被禁止的秒數。
bantime = 600

#如果主機在上一個“查找時間”內生成了“ maxretry”,則該主機被禁止
#秒。
findtime = 600

#“ maxretry”是主機被禁止之前的失敗次數。
maxretry = 3

可能的示例如下:

忽略 IP = 127.0.0.1 190.25.242.75 192.168.1.0/24
bantime = 800
maxretry = 2

配置Fail2Ban和SSH

要查找失敗的SSH登錄嘗試,我們修改文件,直到它看起來如下所示:

[ssh-iptables] 
enabled = true
filter = sshd
操作= iptables [名稱= SSH,端口= 22,協議= TCP] sendmail-whois [名稱= SSH,dest = FredySnake @ outlook.com,發件人= fail2ban @ localhost] logpath = / var / log / secure#這是將分析fail2ban的日誌
maxretry = 3#任何嘗試失敗三次或更多的IP將被阻止。
bantime = 86400#24小時禁止時間,以秒為單位

不要忘記,如果您修改SSH偵聽的端口,則還必須修改port參數。

此應用程序不僅適用於未經授權的SSH訪問,還適用於apache,讀取Asterisk日誌等。

DenyHOSTS安裝和配置

它的操作基於對/etc/hosts.deny文件的使用,也就是說,基於阻止“攻擊”主機的地址,創建拒絕主機列表。

可以使用以下命令從存儲庫中進行安裝:

百勝安裝denyhosts 

配置文件位於/etc/denyhosts.conf中

在繼續之前,由於我們是人類,因此在訪問任何服務並阻止自己時,都可能會犯錯誤並執行典型的“第8層”。 為避免這種情況,我們編輯/etc/hosts.allow文件,並添加由於訪問失敗而不受限制的計算機的IP。

修改denyhosts.conf文件

為了避免設置太深,在此文件中,我們僅要編輯和取消註釋某些參數。 這些是:

SYNC_SERVER = http://xmlrpc.denyhosts.net:9911
SYNC_INTERVAL = 1小時
SYNC_UPLOAD =是
SYNC_DOWNLOAD =是
SYNC_下載_閾值 = 3
SYNC_DOWNLOAD_RESILIENCY = 5小時

因此,實際上,我們將保留默認配置,但對SSH攻擊具有很高的安全性。

納米/etc/hosts.allow

例如:

sshd:127.0.0.1 
sshd:192.168.1.10
sshd:192.168.0。*

之後,我們重新啟動服務:

/etc/init.d/denyhosts重新啟動

有了這個,我們就可以授予IP,IP範圍,當然還有我們的環回接口的許可。 我沒有嘗試過的操作-因此不知道它是否有效-是將DNS添加到該文件; 即使用DynDNS之類的服務。 如果可以,我會告訴你情況如何。

使用某些選項和設置,我們還將確保在DenyHOSTS配置中指定的時間段之後,將清除存儲的地址,並使用其他人創建的其他列表(如果我們指定)更新它們的權限。訪問DenyHOSTS的服務器。

要按配置不時清除存儲的地址,必須使用–purge參數運行守護程序:

/etc/init.d/denyhosts啟動--purge

除此之外,我們必須在系統啟動時將其包括在內:

chkconfig拒絕主機

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責數據:MiguelÁngelGatón
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。