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

举报
德迅云安全杨德俊 发表于 2023/12/27 15:16:16 2023/12/27
【摘要】 随着互联网的发展,各种线上程序普及,用户对服务器的安全性也愈加重视。服务器被侵入可能导致严重的数据泄露、系统瘫痪等问题,因此及时排查服务器是否被侵入,成为了保障信息安全的重要环节。德迅云将给大家介绍服务器是否被侵入的排查方案,并采取相应措施对服务器进行安全加固。那在我们日常使用服务该如何判断自己的服务器是否被入侵了呢?被入侵服务器的一些常见症状:1、资源消耗异常:入侵者可能会消耗大量的CPU...
随着互联网的发展,各种线上程序普及,用户对服务器的安全性也愈加重视。服务器被侵入可能导致严重的数据泄露、系统瘫痪等问题,因此及时排查服务器是否被侵入,成为了保障信息安全的重要环节。德迅云将给大家介绍服务器是否被侵入的排查方案,并采取相应措施对服务器进行安全加固。
那在我们日常使用服务该如何判断自己的服务器是否被入侵了呢?
被入侵服务器的一些常见症状:
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服务器进行安全加固的具体步骤包括以下几个方面:
系统用户优化:用户是Linux中安全加固的第一关,如果系统中本身就存在有安全隐患的用户,那么再安全策略也无法起到加固的效果。在Linux系统中可以使用命令查看系统中的用户信息,例如cat /etc/passwd。此外,还可以使用命令来有针对性的查看具有超级权限的用户和具有登录shell的用户。如果除了root还有其他的超级用户,那就要非常小心了。
系统服务优化:对于不必要的服务,应当禁用或删除,以减少可能的攻击面。可以使用chkconfig --list命令查看所有服务的启动状态,然后根据需要关闭不必要的服务。
SSH访问策略:SSH是远程登录服务器的常用方式,因此需要配置好SSH的访问策略。建议使用强密码,禁用root直接登录,限制登录IP,启用公钥验证等方式增强SSH的安全性。
防火墙配置:防火墙是服务器安全的重要屏障,应正确配置防火墙规则以防止未授权的访问和攻击。可以使用iptables等工具进行防火墙配置,只允许必要的网络流量通过,禁止其他所有流量。
及时更新系统补丁:定期检查并安装系统补丁和安全更新,以修复已知的安全漏洞。可以使用yum update或apt-get update等命令进行更新。
数据备份和恢复:定期备份重要数据,并确保备份数据存储在安全的地方。同时,应制定详细的恢复计划,以便在发生安全事件时能够快速恢复数据和系统。
主机安全软件:启用主机安全,监控系统的运行状态和用户的活动,以便及时发现异常行为和安全事件。可以使用德迅卫士等工具进行审计和监控。
限制物理访问:确保服务器存放在安全可靠的环境中,限制未经授权的人员接触服务器。

以上是针对Linux服务器进行安全加固的一些具体步骤,这些步骤可以增强服务器的安全性,减少被攻击的风险。但需要注意的是,安全加固是一个持续的过程,需要定期检查和更新安全策略和配置,以应对不断变化的安全威胁。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。