寻找解释我的安全日志的资源

信息安全 日志记录 日志分析
2021-09-03 05:41:41

我目前正在我家的 Linux 机器上设置 Apache Web 服务器。我正在开发一个网站项目,该项目将允许用户登录以完成某些工作。本网站没有公开注册。帐户必须由管理员(目前是我)发行。

由于我已经设置了此服务器,因此我还想尽我所能确保它的安全。我在尖端安全方面的知识相对有限。

我安装了一些 Linux 软件包来监控和主动阻止可疑连接。

我正在查看我的日志,但我并不完全确定我是否理解我正在阅读的所有内容。我有iptablesfail2ban我每小时大约有三页日志条目,类似于下面的示例。从给出的这些信息来看,我的安全设置是否正确?与我有关的条目是包含 的条目com.jcraft.jsch.JSchException,这是一个已知的 java 漏洞利用。

老实说,我什至不确定我是否在问正确的问题。我愿意学习。我只需要指导和学习资源。我可以处理建设性的批评。

以下是我所看到的条目类型的几个示例。

Apr 10 10:02:10 gcems sshd[29230]: Unable to negotiate with 103.79.143.42 port 52068: no
+matching key exchange method found. Their offer: diffie-hellman-group1-sha1 [preauth]
Apr 10 10:03:08 gcems sshd[29398]: Did not receive identification string from
+212.83.140.166 port 46529
Apr 10 10:03:43 gcems sshd[29548]: Invalid user support from 163.172.114.203 port 54291
Apr 10 10:03:45 gcems sshd[29548]: error: Received disconnect from 163.172.114.203 port
+54291:3: com.jcraft.jsch.JSchException: Auth fail [preauth]
Apr 10 10:03:45 gcems sshd[29548]: Disconnected from 163.172.114.203 port 54291 [preauth]
1个回答

您唯一能做的就是深入了解日志并查看每条记录的含义和含义。那是艰苦的工作。我知道,您将扩展您的安全知识。

您显示的记录显示失败。虽然很烦人,但故障通常不是问题。它们表明您的安全措施已经奏效。如果它们真的很烦人,您可以使用防火墙规则(或 iptables、或路由器 ACL 或...)拒绝访问特定的主要 po 子网。

您还必须查看成功的连接尝试。它们合乎逻辑吗?我是否期望来自此子网/地址的这种类型的连接?

您应该创建一些您期望的连接类型的基线。你应该决定如果某个陌生人获得资源的访问权有多糟糕,即进行风险分析,即使对于一个简单的基于家庭的站点也是如此。

您显示的日志记录表明您打开了 ssh 服务器。除非您定期进行远程管理,否则这是一个坏主意。即使您进行远程管理,也请考虑使用 OpenVPN。

使用开放的 ssh 端口,您会看到很多连接尝试。在这种情况下,103.79.143.42 无法进行密钥交换,并且 163.172.114.203 尝试以 user 身份登录support,但无法正确验证自己。根据我的经验(互联网上家庭连接上的 ssh 服务器),您应该会看到平均每小时至少 10 次 ssh 登录尝试失败。如果您的网站知名度更高,则更高。

您还必须查看您的 Apache 访问日志。在那里,您会看到每个脚本小子都知道的一些标准 URL,以我每小时多次的经验(对于家庭网站)。这将是这样的:

118.89.38.35 - - [03/Mar/2019:08:09:53 +0000] "GET /s/index.php HTTP/1.1" 404 442 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0)"
118.89.38.35 - - [03/Mar/2019:08:09:53 +0000] "GET /MyAdmin/index.php HTTP/1.1" 404 442 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0)"
118.89.38.35 - - [03/Mar/2019:08:09:54 +0000] "GET /phpMyAdmin1/index.php HTTP/1.1" 404 442 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0)"
118.89.38.35 - - [03/Mar/2019:08:09:54 +0000] "GET /phpMyAdmin123/index.php HTTP/1.1" 404 442 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0)"
118.89.38.35 - - [03/Mar/2019:08:09:56 +0000] "GET /pwd/index.php HTTP/1.1" 404 442 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0)"
118.89.38.35 - - [03/Mar/2019:08:09:57 +0000] "GET /phpMyAdmina/index.php HTTP/1.1" 404 442 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0)"
118.89.38.35 - - [03/Mar/2019:08:09:57 +0000] "GET /phpMydmin/index.php HTTP/1.1" 404 442 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0)"
118.89.38.35 - - [03/Mar/2019:08:09:57 +0000] "GET /phpMyAdmins/index.php HTTP/1.1" 404 442 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0)"
118.89.38.35 - - [03/Mar/2019:08:09:58 +0000] "GET /program/index.php HTTP/1.1" 404 442 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0)"

在这种情况下,404 表示未找到该页面。