状态:已弃用
本文介绍了不再受支持的 CentOS 版本。 如果您目前正在运行运行 CentOS 6 的服务器,我们强烈建议您升级或迁移到受支持的 CentOS 版本。
原因:CentOS 6 已于 2020 年 11 月 30 日结束生命周期 (EOL) ,不再接收安全补丁或更新。 因此,不再维护本指南。
请参阅:本指南可能仍可用作参考,但可能不适用于其他 CentOS 版本。 如果可用,我们强烈建议使用为您正在使用的 CentOS 版本编写的指南。
介绍
从广义上讲,应用程序使用套接字在彼此之间传输数据。 在通过网络(无论是内部还是外部)进行远距离通信时,用于该任务的主体保持不变,并且使用套接字来交换信息。
在这篇 DigitalOcean 文章中,我们将着眼于通过提高执行的监控级别来增强系统安全性。 我们将设置 Linux Socket Monitor,它会在创建新套接字时发出警报,这是一个未知应用程序入侵其主机的潜在信号。
了解套接字、端口和连接
设计为在网络上运行的应用程序(例如 互联网)需要根据其角色将自己绑定到某些端口,以便通过数据连接完成远距离信息交换的工作。
当应用程序成功启动时(即 一个在 80 端口上运行的 Web 服务器),它获得一个绑定到该端口号的套接字,[基本上] 由网络地址标识(即 IP 地址),协议(即 使用的信息交换语言和端口号(例如 80),它监听传入的连接请求。
另一方面,在生产线的另一端,客户端由应用程序组成(例如 Firefox Web 浏览器)发出请求以开始与这些应用程序通信或 [之后] 向/从这些应用程序发送和接收数据。
最后,客户端发出的请求到达其目标应用程序(即 Web 服务器),根据使用的协议(和规则集)执行某些程序。 如果服务器决定接受它,则通过套接字在这两方之间建立一个连接——实际上是一个新的连接,客户端和服务器都单独绑定到该连接,以便服务器仍然可以继续监听其他传入的请求同时。
了解如何识别可能的威胁
套接字是双向实例,用于在共享已建立连接的各方之间发送和接收数据。 如果(或何时)打开了一个新端口或创建了一个意外的套接字,这意味着有一个应用程序准备好通过传入的请求来侦听并获取命令,以便在它所在的主机上执行,具体取决于它拥有的权限。 当这种情况由不需要的或被渗透的应用程序发生时,快速处理它是至关重要的,这只能通过套接字监控进行快速检测。
Linux 套接字监视器:应用程序
什么是 Linux 套接字监视器?
Linux Socket Monitor (LSM) 是一个监控工具,它通过比较所拍摄的快照来跟踪端口和套接字(同一台机器上的应用程序之间使用的网络和进程间 (IPC) 端口和套接字的变化)——或者自动(安装时)或按照您的指示。
它使用实用工具 cron 以特定时间间隔安排其扫描——默认情况下,每 10 分钟一次——并检查正在使用的端口/套接字。 如果它发现任何差异,通过发送电子邮件警报,它会让您知道。
Linux 套接字监视器是如何工作的?
Linux Socket Monitor 实际上是一个非常智能且紧凑的 bash 脚本(程序)。 它需要两个命令来下载、安装和开始监控。 首次安装该工具时,它会扫描当前端口和套接字以创建网络的 基本比较文件 --a 快照。 它只需要一点点配置,您可以输入您的电子邮件地址以发送警报,就是这样!
如何安装 Linux 套接字监视器?
最新版本的 LSM 位于其开发者网站上:http://www.rfxn.com/downloads/lsm-current.tar.gz
要下载磁带存档(tar、tarball),请运行以下命令:
wget http://www.rfxn.com/downloads/lsm-current.tar.gz
这会将存档下载到您拥有的当前文件夹中。
让我们从 tarball 中提取内容:
tar -xvfz lsm-current.tar.gz
我们现在可以通过运行安装脚本来安装 LSM。
进入目录并运行安装:
$ cd lsm-0.6 $ ./install.sh
快速安装完成后,您将看到应用程序本身的摘要以及已生成基本比较文件的通知,类似于以下内容:
.: LSM installed Install path: /usr/local/lsm Config path: /usr/local/lsm/conf.lsm Executable path: /usr/local/sbin/lsm LSM version 0.6 <lsm@r-fx.org> Copyright (C) 2004, R-fx Networks 2004, Ryan MacDonald This program may be freely redistributed under the terms of the GNU GPL generated base comparison files
我们现在可以通过修改配置文件来完成设置。
使用 nano
文本编辑器打开 LSM 配置文件:
nano /usr/local/lsm/conf.lsm
在这里,您将看到 LSM 用于操作的相对较长的值列表。 我们需要修改的是列表中的第三个:USER="root"
,它位于顶部被注释掉的部分之后。
使用箭头键,转到该行并将 root 替换为您的电子邮件地址。
例子:
USER="system.alerts@mydomain.com" # ..
如果您想接收警报,您还可以修改文档上的以下行(id 电子邮件)的主题行与默认主题行不同。
为了更改电子邮件的主题行,请修改:
SUB="LSM Port Monitor Alert on $HOSTNAME" # ..
到你喜欢的主题。 确保 $HOSTNAME
保持原样,它将包含您机器的主机名——当您处理多个主机时,这是一个有用的方面。
如果不确定如何设置机器的主机名,可以参考这 Etel Sverdlov 在 DigitalOcean 帮助和社区部分的优秀文章。
我们很高兴!
使用 Linux 套接字监视器
安装后,LSM 已经为您当前的端口和套接字拍摄了快照,并设置了一个 cron 作业 以每 10 分钟运行一次。
在任何给定时刻,您都可以通过两个简单的命令删除或重新创建比较文件:
- 删除快照(camparison 文件):
/usr/local/sbin/lsm -d
- 手动运行比较测试:
/usr/local/sbin/lsm -c
并重新创建快照:
- 生成基础比较文件:
/usr/local/sbin/lsm -g
请注意: 从您的系统发送电子邮件需要您安装邮件用户代理应用程序。 如果您还没有,可以选择多种选项。 后续文章将介绍安装代理。