搜尋
首頁常見問題怎麼防範伺服器被他人入侵

怎麼防範伺服器被他人入侵

Apr 30, 2019 am 09:57 AM
伺服器伺服器端漏洞駭客

加固伺服器並不難,但有許多例行作業需要進行時,很容易遺忘。所以在這裡和大家談談如何防範他人入侵伺服器同時也讓自己加深印象,希望你看完後能有所幫助。

如何查找漏洞

我碰到的情況比較簡單,我執行了以下命令:

cat /var/log/auth.log |  grep Accepted

該命令返回了我的伺服器上的成功認證記錄,其中有一個IP 不是我的。所以,是 SSH 服務被入侵了。

別忘了還有一個指令 last,這個指令回傳最近成功登入的使用者。

如何加固伺服器

購買伺服器後需要立刻進行的操作:

  • #安裝ufw,簡單易用的防火牆軟體;
  • 關閉除SSH、HTTP(s) 外的所有連接埠;
  • 安裝設定fail2ban 工具。這個工具基於 /var/log/auth.log 識別惡意行為並封鎖 IP;
  • 修改 sshd 配置,只使用金鑰認證。

具體怎麼做?

如果發生了入侵,你需要知道如何調查和清潔。最好的方式是重新建立 VPS。我就是這麼做的。我在 hetzner 買了伺服器,它的控制台提供了重新建立(移除舊 VPS,新建一個)VPS 並保留原始 IP 的功能。所以我重新建立了一個 VPS。之後我在本機上使用ssh-keygen 工具(標準OpenSSH 套件的一部分)產生了SSH 金鑰:(下面的命令同時適用於Linux 和macOS)

ssh-keygen

該指令在~/.ssh 目錄中建立了一對金鑰。之後執行以下命令:

ssh-copy-id you_user@your_server_id

該命令會將新建立的公鑰上傳到伺服器。接下來,登入伺服器並修改 sshd 配置:

nano /etc/ssh/sshd_config

修改設定檔中的 PasswordAuthentication 配置:

PasswordAuthentication no

此配置停用了使用密碼登入(只能使用金鑰登入)。

安裝設定ufw 和fail2ban

伺服器上我用的系統是Ubuntu,所以透過以下指令可以安裝這兩個工具:

apt install ufw fail2ban

只開ssh 和http( s) 連接埠:

ufw allow ssh
ufw allow 80
ufw allow 443

啟用ufw:

ufw enable

接下來設定fail2ban 工具:

# 备份默认配置
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local

在設定檔中尋找banaction =,將其設為ufw。然後重新載入 fail2ban 設定:

fail2ban-client reload

這樣簡單設定之後,來自相同 IP 的三次錯誤登入嘗試將封鎖該 IP 10 分鐘。我個人將封鎖期限調成了 7 天。以下指令可以查看 fail2ban 的狀態:

fail2ban-client status sshd

我的設定是這樣的:

Status for the jail: sshd
|- Filter
|  |- Currently failed:    1
|  |- Total failed:    6
|  `- File list:    /var/log/auth.log
`- Actions
   |- Currently banned:    1
   |- Total banned:    2
   `- Banned IP list:    187.109.168.150

如你所見,有一個 IP 已經被防火牆封鎖了。我們也可以透過 ufw 的報告確認這一點:

ufw status
Status: active

To                         Action      From
--                         ------      ----
Anywhere                   REJECT      187.109.168.150           
80/tcp                     ALLOW       Anywhere                  
22                         ALLOW       Anywhere                  
443                        ALLOW       Anywhere

想了解更多技術教程,請關注PHP中文網的其他內容。

以上是怎麼防範伺服器被他人入侵的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:思否。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具