AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1093523
Accepted
Chiwda
Chiwda
Asked: 2022-02-14 04:05:30 +0800 CST2022-02-14 04:05:30 +0800 CST 2022-02-14 04:05:30 +0800 CST

如何使用 UFW 保护我的服务器(假定受到攻击)

  • 772

我在 Debian 上运行 Apache。

以下是我的 apache 错误日志中的条目示例。问题 1:服务器是否受到攻击(我每小时看到大约 30-40 个此类条目)。我假设这些是对我的服务器的攻击或至少是对我的服务器的探测。

[Sun Feb 13 16:37:54.013622 2022] [:error] [pid 16071] [client 106.193.114.87:19356] PHP 注意:未定义的变量:/var/www/example.com/page-sidebar-both 中的 error_msg。 php 在第 57 行,引用者: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第 210 行,引用者: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”自动添加的吗?

debian apache-2.4 ufw
  • 4 4 个回答
  • 81 Views

4 个回答

  • Voted
  1. Gerald Schneider
    2022-02-14T04:20:54+08:002022-02-14T04:20:54+08:00

    我没有看到任何攻击迹象,只是 PHP 编写不佳。您可以通过更改 PHP 的错误报告配置来过滤日志中的通知。端口也没有什么异常,该范围内的客户端端口是正常的。

    • 3
  2. Best Answer
    vidarlo
    2022-02-14T04:26:03+08:002022-02-14T04:26:03+08:00

    (页面和变量是有效的,但端口号很奇怪)。

    端口号正常。这是客户端的临时端口。

    问题 2:如果这些是攻击,我可以用 UFW 阻止它们吗?我目前有:

    一般没有。您需要在适用级别进行过滤,并且您希望流量到达 Apache - 所以您无法在 L3 进行过滤。

    如果MySQL只在本地使用,我真的需要打开3306吗?我只通过受密码和会话保护的 php 查询来访问数据库。

    不,你没有。本地 mySQL 通过套接字,而不是 TCP/IP。即使没有,您也只想在环回接口 (127.0.0.1) 上允许它。

    问题 4:我需要 8081 端口吗?它是由“WWW Full”自动添加的吗?

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

    • 3
  3. Tilman Schmidt
    2022-02-14T04:35:39+08:002022-02-14T04:35:39+08:00

    广告问题 1:您引用的日志消息没有显示任何攻击迹象。相反,它们表示您的网络服务器的 PHP 代码中的错误。这些消息还包含发生错误的确切位置(文件名和行号)。你可能想看看那里。

    消息中的端口号一点也不奇怪,但绝对正常。

    广告问题 2:鉴于没有攻击,该问题不适用。

    广告问题 3:如果 MySQL 端口 3306 仅由网络服务器在本地使用,则您不需要也不应该将 MySQL 端口 3306 暴露给网络。也就是说,MySQL 服务器应配置为仅侦听地址 127.0.0.1 (localhost),并且不应在 ufw 中允许端口 3306。

    广告问题 4:您是否需要允许端口 8081 取决于该端口上是否运行任何您希望通过网络访问的服务。如果端口 8081 上没有任何东西在监听,或者任何正在监听的东西都不能通过网络访问,那么你不应该在 ufw 中允许它。

    • 1
  4. Mikael H
    2022-02-14T04:36:31+08:002022-02-14T04:36:31+08:00

    您在互联网上公开的任何内容都会被调查是否存在弱点。

    良好的被动安全性的基础是了解您的服务运行所需的网络流量,并且只允许特定的流量。对于任何非标准的东西,通过向 Serverfault 上的陌生人寻求建议,您不会得到这种理解。

    如果您只是向 Internet 提供 Web 服务,那么您需要允许来自客户端(“任何”)的唯一流量可能是 HTTP 和 HTTPS。

    您还需要提供一个管理界面 - 常规 ssh 或某种类型的管理 VPN。重要的是,您在此处选择的任何内容都足够坚固以承受不可避免的蛮力攻击。对这些通道使用基于密钥或证书的身份验证是一种很好的做法。

    一般来说,您永远不想将数据库服务器直接暴露给 Internet。

    • 1

相关问题

  • 关闭 FTP

  • 如何在同一台电脑上从 putty 连接 debian vmware

  • debian- 文件到包的映射

  • Debian Ubuntu 网络管理器错误 [关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve