如何判断Linux服务器是否被入侵了,该怎么对服务器进行安全加固

发布时间:2023年12月27日

随着互联网的发展,各种线上程序普及,用户对服务器的安全性也愈加重视。服务器被侵入可能导致严重的数据泄露、系统瘫痪等问题,因此及时排查服务器是否被侵入,成为了保障信息安全的重要环节。德迅云将给大家介绍服务器是否被侵入的排查方案,并采取相应措施对服务器进行安全加固。

那在我们日常使用服务该如何判断自己的服务器是否被入侵了呢?

被入侵服务器的一些常见症状:

1、资源消耗异常:入侵者可能会消耗大量的CPU、内存等资源,导致服务器性能下降。一般出现服务器响应缓慢,甚至出现卡顿或死机的情况。

2、网络连接异常:如果发现服务器的网络连接出现异常,如大量不正常的网络请求或数据传输,这可能是入侵的迹象。

3、系统日志异常:服务器的系统日志(如/var/log/messages、/var/log/syslog等)可以反映服务器的活动。如果日志中出现了异常的登录记录、异常的命令执行等,可能是有被入侵情况。

4、文件或目录异常:如果发现服务器上的某些文件或目录被修改、删除或新增,尤其是与系统安全相关的文件或目录,这可能是入侵的迹象。

5、服务异常:如果服务器的某个或多个服务出现异常,如无法正常启动或运行,或者出现了未知的服务,这可能是入侵的迹象。

6、安全软件异常:如果服务器的安全软件(如防火墙、杀毒软件等)出现异常,如未正常运行或报错,这也可能是入侵的迹象。

如果有发现了异常情况,我们该怎么处理:

1 、 检查都有哪些IP在登录?

首先查看当前都有谁登录在服务器上。发现攻击者登录到服务器上进行操作并不复杂。在Linux服务器上,可以使用last命令来检查用户的登录信息,包括登录的IP地址、登录时间以及登录时长等。

2、检查系统密码文件

首先从明显的入手,查看一下passwd文件,ls –l /etc/passwd查看文件修改的日期。

检查一下passwd文件中有哪些特权用户,系统中uid为0的用户都会被显示出来。 awk?–F:’$3==0?{print?$1}’?/etc/passwd?

顺便再检查一下系统里有没有空口令帐户:awk?–F:?‘length($2)==0?{print?$1}’?/etc/shadow?

3、检查进程

重点查看进程:ps –aef | grep inetd

inetd是UNIX系统的守护进程,正常的inetd的pid都比较靠前,如果我们看到输出了一个类似inetd –s /tmp/.xxx之类的进程,着重看inetd –s后面的内容。在正常情况下,LINUX系统中的inetd服务后面是没有-s参数,也没有用inetd去启动某个文件;而solaris系统中也仅仅是inetd –s,同样没有用inetd去启动某个特定的文件;如果你使用ps命令看到inetd启动了某个文件,而自己又没有用inetd启动这个文件,那就说明已经有人入侵了系统,以root权限起了后门。

输入ps –aef 查看输出信息,尤其注意有没有以./xxx开头的进程。一旦发现异样的进程,经检查为入侵者留下的后门程序,立即运行kill –9 pid 开杀死该进程,然后再运行ps –aef查看该进程是否被杀死;一旦此类进程出现杀死以后又重新启动的现象,则证明系统被人放置了自动启动程序的脚本。这个时候要进行仔细查找:find / -name 程序名 –print,假设系统真的被入侵者放置了后门,根据找到的程序所在的目录,就会有所发现。

4、 检查哪些进程在消耗 CPU?

ps 命令:这个命令可以显示当前进程的状态信息,包括进程ID、CPU占用率等。可以使用以下命令来查看CPU占用率最高的进程:

一般入侵者也不会掩盖问题,有时候会运行一些特别消耗 CPU 的进程,我们可以输入ps 或者top。top是比较常用的,可以实时显示系统的运行状态,包括各个进程的CPU占用情况。在默认情况下,进程按照CPU占用率的降序排列,最占用CPU的进程会显示在列表的最上方。这就很容易发现这些进程了,只需要运行 top 然后看最前的那几个进程就行了。

5、检查进程的网络使用情况

可以使用iftop ,这个命令可以用来监控网络流量,显示每个进程的网络流量使用情况。在使用之前,需要先安装iftop工具。安装完成后,iftop -F -i eth0 启动,功能类似 top,它会排列显示收发网络数据的进程以及它们的源地址和目的地址。类似 DoS 攻击或垃圾机器人这样的进程很容易显示在列表的最顶端。

检查 7 - 哪些进程在监听网络连接?

通常攻击者会安装一个后门程序专门监听网络端口接受指令。该进程等待期间是不会消耗 CPU 和带宽的,因此也就不容易通过 top 之类的命令发现。

lsof 和 netstat 命令都会列出所有的联网进程。留意那些处于 LISTEN 和 ESTABLISHED 状态的进程,这些进程要么正在等待连接(LISTEN),要么已经连接(ESTABLISHED)。如果遇到不认识的进程,使用 strace 和 lsof 来看看它们在做什么。

以上是对入侵的一些安全措施,其实在我们确定了服务器有被入侵的情况后,最好的方法就是备份好数据重装系统,不要抱着修复这台服务器,接着就放心使用了,我们无法知道入侵者做过什么,因此是无法保证这台服务器完全安全。

那在日常使用中,我们该怎么对服务器进行安全加固,避免再出现这类入侵问题。目前,针对Linux服务器进行安全加固,我们可以从以下几个方面考虑:

1、系统用户优化:用户是Linux中安全加固的第一关,如果系统中本身就存在有安全隐患的用户,那么再安全策略也无法起到加固的效果。在Linux系统中可以使用命令查看系统中的用户信息,例如cat /etc/passwd。此外,还可以使用命令来有针对性的查看具有超级权限的用户和具有登录shell的用户。如果除了root还有其他的超级用户,那就要非常小心了。

2、系统服务优化:对于不必要的服务,应当禁用或删除,以减少可能的攻击面。可以使用chkconfig --list命令查看所有服务的启动状态,然后根据需要关闭不必要的服务。

3、SSH访问策略:SSH是远程登录服务器的常用方式,因此需要配置好SSH的访问策略。建议使用强密码,禁用root直接登录,限制登录IP,启用公钥验证等方式增强SSH的安全性。

4、及时更新系统补丁:定期检查并安装系统补丁和安全更新,以修复已知的安全漏洞。可以使用yum update或apt-get update等命令进行更新。

5、数据备份和恢复:定期备份重要数据,并确保备份数据存储在安全的地方。同时,应制定详细的恢复计划,以便在发生安全事件时能够快速恢复数据和系统。

6、限制物理访问:确保服务器存放在安全可靠的环境中,限制未经授权的人员接触服务器。

7、防火墙配置:防火墙是服务器安全的重要屏障,应正确配置防火墙规则以防止未授权的访问和攻击。可以使用iptables等工具进行防火墙配置,只允许必要的网络流量通过,禁止其他所有流量。

8、主机安全软件:启用主机安全软件,监控系统的运行状态和用户的活动,以便及时发现异常行为和安全事件。可以使用德迅卫士等主机安全软件进行审计和监控。

以上是针对Linux服务器进行安全加固的一些具体步骤,这些步骤可以增强服务器的安全性,减少被攻击的风险。但需要注意的是,安全加固是一个持续的过程,需要定期检查和更新安全策略和配置,以应对不断变化的安全威胁。

文章来源:https://blog.csdn.net/dexunyun/article/details/135246034
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。