Debian

如何使用 UFW 保護我的伺服器(假定受到攻擊)

  • February 13, 2022

我在 Debian 上執行 Apache。

以下是我的 apache 錯誤日誌中的條目範例。問題 1:伺服器是否受到攻擊(我每小時看到大約 30-40 個此類條目)。我假設這些是對我的伺服器的攻擊或至少是對我的伺服器的探測。

$$ Sun Feb 13 16:37:54.013622 2022 $$ $$ :error $$ $$ pid 16071 $$ $$ client 106.193.114.87:19356 $$PHP 注意:未定義變數:第 57 行 /var/www/example.com/page-sidebar-both.php 中的 error_msg,引用者:https ://example.com/podbanks/abresult.php?ab=ab18&lg=English

$$ Sun Feb 13 16:38:01.289976 2022 $$ $$ :error $$ $$ pid 16109 $$ $$ client 106.193.114.87:19358 $$PHP注意事項:未定義變數:result_msg in /var/www/example.com/abc/defg.php on line 210, referer: https://example.com/result.php?ab=ab18&lg=English

$$ Sun Feb 13 16:38:01.290048 2022 $$ $$ :error $$ $$ pid 16109 $$ $$ client 103.77.154.37:1842 $$PHP注意:未定義變數:/var/www/example.com/pods/dashboard.php 210行中的狀態,引用: https ://example.com/result.php?ab=AB18&lg=English

$$ Sun Feb 13 16:38:26.788827 2022 $$ $$ :error $$ $$ pid 15961 $$ $$ client 54.90.210.118:36104 $$PHP 注意:未定義的變數:BaseURL in /var/www/example.com/biz.php on line 63

(頁面和變數是有效的,但埠號很奇怪)。

問題 2:如果這些是攻擊,我可以用 UFW 阻止它們嗎?我目前有:

To                         Action      From
--                         ------      ----
WWW Full                   ALLOW       Anywhere
3306                       ALLOW       Anywhere
22                         ALLOW       Anywhere
8081                       ALLOW       Anywhere
1185                       ALLOW       Anywhere
WWW Full (v6)              ALLOW       Anywhere (v6)
3306 (v6)                  ALLOW       Anywhere (v6)
22 (v6)                    ALLOW       Anywhere (v6)
8081 (v6)                  ALLOW       Anywhere (v6)
1185 (v6)                  ALLOW       Anywhere (v6)

8081                       ALLOW OUT   Anywhere
8081 (v6)                  ALLOW OUT   Anywhere (v6)

考慮到上述情況,以下這些步驟是否有效且完整?

ufw disable
ufw default deny incoming
ufw default allow outgoing
ufw allow OpenSSH
ufw allow WWW Full
ufw allow 1185
ufw allow 3306
ufw enable

(第 1 行是為了確保我不會被鎖定 - 我正在使用 PuTTY)

問題3:如果只在本地使用MySQL,真的需要開啟3306嗎?我只通過受密碼和會話保護的 php 查詢來訪問數據庫。

問題 4:我需要 8081 埠嗎?它是由“WWW Full”自動添加的嗎?

(頁面和變數是有效的,但埠號很奇怪)。

埠號正常。這是客戶端的臨時埠

問題 2:如果這些是攻擊,我可以用 UFW 阻止它們嗎?我目前有:

一般沒有。您需要在適用級別進行過濾,並且您希望流量到達 Apache - 所以您無法在 L3 進行過濾。

如果MySQL只在本地使用,我真的需要打開3306嗎?我只通過受密碼和會話保護的 php 查詢來訪問數據庫。

不,你沒有。本地 mySQL 通過套接字,而不是 TCP/IP。即使沒有,您也只想在環回介面 (127.0.0.1) 上允許它。

問題 4:我需要 8081 埠嗎?它是由“WWW Full”自動添加的嗎?

可能不是。但是您需要知道您的應用程序是如何工作的。

引用自:https://serverfault.com/questions/1093523