服务器被黑?莫慌!先来排查这5个易错点!

安全是 IT 行业一个老生常谈的话题了,从以前的“棱镜门”事件中折射出了不少安全问题,处理好信息安全问题已变得刻不容缓。不掉坑,不背锅!史上最全的服务器安全管理规范开源了html

所以作为程序员,就必须了解一些安全准则,同时,要保护本身所负责的业务,首先要站在攻击者的角度思考问题,修补任何潜在的威胁和漏洞。这是一篇长文,建议你们细细品读一下,一定有很多收获,学习时须要静心,放下内心的浮躁。node

本文主要分为以下五部分展开:程序员

帐户和登陆安全面试

帐户安全是系统安全的第一道屏障,也是系统安全的核心,保障登陆帐户的安全,在必定程度上能够提升服务器的安全级别,下面重点介绍下 Linux 系统登陆帐户的安全设置方法。redis

①删除特殊的帐户和帐户组shell

Linux 提供了各类不一样角色的系统帐号,在系统安装完成后,默认会安装不少没必要要的用户和用户组。数据库

若是不须要某些用户或者组,就要当即删除它,由于帐户越多,系统就越不安全,极可能被黑客利用,进而威胁到服务器的安全。安全

Linux系统中能够删除的默认用户和组大体有以下这些:bash

可删除的用户,如 adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher 等。服务器

可删除的组,如 adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers 等。

②关闭系统不须要的服务

Linux 在安装完成后,绑定了不少没用的服务,这些服务默认都是自动启动的。

对于服务器来讲,运行的服务越多,系统就越不安全,越少服务在运行,安全性就越好,所以关闭一些不须要的服务,对系统安全有很大的帮助。

具体哪些服务能够关闭,要根据服务器的用途而定,通常状况下,只要系统自己用不到的服务都认为是没必要要的服务。

例如:某台 Linux 服务器用于 www 应用,那么除了 httpd 服务和系统运行是必须的服务外,其余服务均可以关闭。

下面这些服务通常状况下是不须要的,能够选择关闭:

anacron、auditd、autofs、avahi-daemon、avahi-dnsconfd、bluetooth、cpuspeed、firstboot、gpm、haldaemon、hidd、ip6tables、ipsec、isdn、lpd、mcstrans、messagebus、netfs、nfs、nfslock、nscd、pcscd portmap、readahead_early、restorecond、rpcgssd、rpcidmapd、rstatd、sendmail、setroubleshoot、yppasswdd ypserv

③密码安全策略

在 Linux 下,远程登陆系统有两种认证方式:

  • 密码认证
  • 密钥认证

密码认证方式是传统的安全策略,对于密码的设置,比较广泛的说法是:至少 6 个字符以上,密码要包含数字、字母、下划线、特殊符号等。

设置一个相对复杂的密码,对系统安全能起到必定的防御做用,可是也面临一些其余问题,例如密码暴力破解、密码泄露、密码丢失等,同时过于复杂的密码对运维工做也会形成必定的负担。

密钥认证是一种新型的认证方式,公用密钥存储在远程服务器上,专用密钥保存在本地,当须要登陆系统时,经过本地专用密钥和远程服务器的公用密钥进行配对认证,若是认证成功,就成功登陆系统。

这种认证方式避免了被暴力破解的危险,同时只要保存在本地的专用密钥不被黑客盗用,攻击者通常没法经过密钥认证的方式进入系统。

所以,在 Linux 下推荐用密钥认证方式登陆系统,这样就能够抛弃密码认证登陆系统的弊端。

Linux 服务器通常经过 SecureCRT、Putty、Xshell 之类的工具进行远程维护和管理,密钥认证方式的实现就是借助于 SecureCRT 软件和 Linux 系统中的 SSH 服务实现的。

④合理使用 su、sudo 命令

su 命令:是一个切换用户的工具,常常用于将普通用户切换到超级用户下,固然也能够从超级用户切换到普通用户。

为了保证服务器的安全,几乎全部服务器都禁止了超级用户直接登陆系统,而是经过普通用户登陆系统,而后再经过 su 命令切换到超级用户下,执行一些须要超级权限的工做。

经过 su 命令可以给系统管理带来必定的方便,可是也存在不安全的因素,例如:系统有 10 个普通用户,每一个用户都须要执行一些有超级权限的操做,就必须把超级用户的密码交给这 10 个普通用户。

若是这 10 个用户都有超级权限,经过超级权限能够作任何事,那么会在必定程度上对系统的安全形成了威协。

所以 su 命令在不少人都须要参与的系统管理中,并非最好的选择,超级用户密码应该掌握在少数人手中,此时 sudo 命令就派上用场了。

sudo 命令:容许系统管理员分配给普通用户一些合理的“权利”,而且不须要普通用户知道超级用户密码,就能让他们执行一些只有超级用户或其余特许用户才能完成的任务。

好比:系统服务重启、编辑系统配置文件等,经过这种方式不但能减小超级用户登陆次数和管理时间,也提升了系统安全性。

所以,sudo 命令相对于权限无限制性的 su 来讲,仍是比较安全的,因此 sudo 也被称为受限制的 su,另外 sudo 也是须要事先进行受权认证的,因此也被称为受权认证的 su。

sudo 执行命令的流程是:将当前用户切换到超级用户下,或切换到指定的用户下,而后以超级用户或其指定切换到的用户身份执行命令。

执行完成后,直接退回到当前用户,而这一切的完成要经过 sudo 的配置文件 /etc/sudoers 来进行受权。

sudo 设计的宗旨是:赋予用户尽量少的权限但仍容许它们完成本身的工做,这种设计兼顾了安全性和易用性。

所以,强烈推荐经过 sudo 来管理系统帐号的安全,只容许普通用户登陆系统,若是这些用户须要特殊的权限,就经过配置 /etc/sudoers 来完成,这也是多用户系统下帐号安全管理的基本方式。

⑤删减系统登陆欢迎信息

系统的一些欢迎信息或版本信息,虽然能给系统管理者带来必定的方便,可是这些信息有时候可能被黑客利用,成为攻击服务器的帮凶。

为了保证系统的安全,能够修改或删除某些系统文件,须要修改或删除的文件有四个,分别是:

  • /etc/issue
  • /etc/issue.net
  • /etc/redhat-release
  • /etc/motd

/etc/issue 和 /etc/issue.net 文件都记录了操做系统的名称和版本号,当用户经过本地终端或本地虚拟控制台等登陆系统时,/etc/issue 的文件内容就会显示。

当用户经过 ssh 或 telnet 等远程登陆系统时,/etc/issue.net 文件内容就会在登陆后显示。

在默认状况下 /etc/issue.net 文件的内容是不会在 ssh 登陆后显示的,要显示这个信息能够修改 /etc/ssh/sshd_config 文件,在此文件中添加以下内容便可:Banner /etc/issue.net。

其实这些登陆提示很明显泄漏了系统信息,为了安全起见,建议将此文件中的内容删除或修改。

/etc/redhat-release 文件也记录了操做系统的名称和版本号,为了安全起见,能够将此文件中的内容删除。

/etc/motd 文件是系统的公告信息。每次用户登陆后,/etc/motd 文件的内容就会显示在用户的终端。

经过这个文件系统,管理员能够发布一些软件或硬件的升级、系统维护等通告信息,可是此文件的最大做用就是能够发布一些警告信息,当黑客登陆系统后,会发现这些警告信息,进而产生一些震慑做用。

看过国外的一个报道,黑客入侵了一个服务器,而这个服务器却给出了欢迎登陆的信息,所以法院不作任何裁决。

远程访问和认证安全

①远程登陆取消 telnet 而采用 SSH 方式

telnet 是一种古老的远程登陆认证服务,它在网络上用明文传送口令和数据,所以别有用心的人就会很是容易截获这些口令和数据。

并且,telnet 服务程序的安全验证方式也极其脆弱,攻击者能够轻松将虚假信息传送给服务器。

如今远程登陆基本抛弃了 telnet 这种方式,而取而代之的是经过 SSH 服务远程登陆服务器。

②合理使用 Shell 历史命令记录功能

在 Linux 下可经过 history 命令查看用户全部的历史操做记录,同时 shell 命令操做记录默认保存在用户目录下的 .bash_history 文件中。

经过这个文件能够查询 shell 命令的执行历史,有助于运维人员进行系统审计和问题排查。

同时,在服务器遭受黑客攻击后,也能够经过这个命令或文件查询黑客登陆服务器所执行的历史命令操做。

可是有时候黑客在入侵服务器后为了毁灭痕迹,可能会删除 .bash_history 文件,这就须要合理的保护或备份 .bash_history 文件。

③启用 Tcp_Wrappers防火墙

Tcp_Wrappers 是一个用来分析 TCP/IP 封包的软件,相似的 IP 封包软件还有 iptables。

Linux 默认都安装了 Tcp_Wrappers。做为一个安全的系统,Linux 自己有两层安全防火墙,经过 IP 过滤机制的 iptables 实现第一层防御。

iptables 防火墙经过直观地监视系统的运行情况,阻挡网络中的一些恶意攻击,保护整个系统正常运行,免遭攻击和破坏。

若是经过了第一层防御,那么下一层防御就是Tcp_Wrappers了。经过 Tcp_Wrappers 能够实现对系统中提供的某些服务的开放与关闭、容许和禁止,从而更有效地保证系统安全运行。

文件系统安全

①锁定系统重要文件

系统运维人员有时候可能会遇到经过 Root 用户都不能修改或者删除某个文件的状况,产生这种状况的大部分缘由多是这个文件被锁定了。

在 Linux 下锁定文件的命令是 Chattr,经过这个命令能够修改 ext二、ext三、ext4 文件系统下文件属性,可是这个命令必须有超级用户 Root 来执行。和这个命令对应的命令是 lsattr,这个命令用来查询文件属性。

对重要的文件进行加锁,虽然可以提升服务器的安全性,可是也会带来一些不便。

例如:在软件的安装、升级时可能须要去掉有关目录和文件的 immutable 属性和 append-only 属性,同时,对日志文件设置了 append-only 属性,可能会使日志轮换(logrotate)没法进行。

所以,在使用 Chattr 命令前,须要结合服务器的应用环境来权衡是否须要设置 immutable 属性和 append-only 属性。

另外,虽然经过 Chattr 命令修改文件属性可以提升文件系统的安全性,可是它并不适合全部的目录。Chattr 命令不能保护 /、/dev、/tmp、/var 等目录。

根目录不能有不可修改属性,由于若是根目录具备不可修改属性,那么系统根本没法工做:

  • /dev 在启动时,syslog 须要删除并从新创建 /dev/log 套接字设备,若是设置了不可修改属性,那么可能出问题。
  • /tmp 目录会有不少应用程序和系统程序须要在这个目录下创建临时文件,也不能设置不可修改属性。
  • /var 是系统和程序的日志目录,若是设置为不可修改属性,那么系统写日志将没法进行,因此也不能经过 Chattr 命令保护。

②文件权限检查和修改

不正确的权限设置直接威胁着系统的安全,所以运维人员应该能及时发现这些不正确的权限设置,并马上修正,防患于未然。下面列举几种查找系统不安全权限的方法。

查找系统中任何用户都有写权限的文件或目录:

查找文件:find / -type f -perm -2 -o -perm -20 |xargs ls -al
查找目录:find / -type d -perm -2 -o -perm -20 |xargs ls –ld

查找系统中全部含“s”位的程序:

find / -type f -perm -4000 -o -perm -2000 -print | xargs ls –al

含有“s”位权限的程序对系统安全威胁很大,经过查找系统中全部具备“s”位权限的程序,能够把某些没必要要的“s”位程序去掉,这样能够防止用户滥用权限或提高权限的可能性。

检查系统中全部 suid 及 sgid 文件:

find / -user root -perm -2000 -print -exec md5sum {} ;
find / -user root -perm -4000 -print -exec md5sum {} ;

将检查的结果保存到文件中,可在之后的系统检查中做为参考。

检查系统中没有属主的文件:

find / -nouser -o –nogroup

没有属主的孤儿文件比较危险,每每成为黑客利用的工具,所以找到这些文件后,要么删除掉,要么修改文件的属主,使其处于安全状态。

③/tmp、/var/tmp、/dev/shm 安全设定

在 Linux 系统中,主要有两个目录或分区用来存放临时文件,分别是 /tmp 和 /var/tmp。

存储临时文件的目录或分区有个共同点就是全部用户可读写、可执行,这就为系统留下了安全隐患。

攻击者能够将病毒或者木马脚本放到临时文件的目录下进行信息收集或假装,严重影响服务器的安全。

此时,若是修改临时目录的读写执行权限,还有可能影响系统上应用程序的正常运行,所以,若是要兼顾二者,就须要对这两个目录或分区进行特殊的设置。

/dev/shm 是 Linux 下的一个共享内存设备,在 Linux 启动的时候系统默认会加载 /dev/shm,被加载的 /dev/shm 使用的是 tmpfs 文件系统,而 tmpfs 是一个内存文件系统,存储到 tmpfs 文件系统的数据会彻底驻留在 RAM 中。

这样经过 /dev/shm 就能够直接操控系统内存,这将很是危险,所以如何保证 /dev/shm 安全也相当重要。

对于 /tmp 的安全设置,须要看 /tmp 是一个独立磁盘分区,仍是一个根分区下的文件夹。

若是 /tmp 是一个独立的磁盘分区,那么设置很是简单,修改 /etc/fstab 文件中 /tmp 分区对应的挂载属性,加上 nosuid、noexec、nodev 三个选项便可。

修改后的 /tmp 分区挂载属性相似以下:

LABEL=/tmp  /tmp ext3 rw,nosuid,noexec,nodev 0 0

其中,nosuid、noexec、nodev 选项,表示不容许任何 suid 程序,而且在这个分区不能执行任何脚本等程序,而且不存在设备文件。

在挂载属性设置完成后,从新挂载 /tmp 分区,保证设置生效。

对于 /var/tmp,若是是独立分区,安装 /tmp 的设置方法是修改 /etc/fstab 文件便可。

若是是 /var 分区下的一个目录,那么能够将 /var/tmp 目录下全部数据移动到 /tmp 分区下,而后在 /var 下作一个指向 /tmp 的软链接便可。

也就是执行以下操做:

[root@server ~]# mv /var/tmp/* /tmp
[root@server ~]# ln -s  /tmp /var/tmp

若是 /tmp 是根目录下的一个目录,那么设置稍微复杂,能够经过建立一个 loopback 文件系统来利用 Linux 内核的 loopback 特性将文件系统挂载到 /tmp 下,而后在挂载时指定限制加载选项便可。

一个简单的操做示例以下:

[root@server ~]# dd if=/dev/zero of=/dev/tmpfs bs=1M count=10000
[root@server ~]# mke2fs -j /dev/tmpfs
[root@server ~]# cp -av /tmp /tmp.old
[root@server ~]# mount -o loop,noexec,nosuid,rw /dev/tmpfs /tmp
[root@server ~]# chmod 1777 /tmp
[root@server ~]# mv -f /tmp.old/* /tmp/
[root@server ~]# rm -rf /tmp.old

最后,编辑 /etc/fstab,添加以下内容,以便系统在启动时自动加载 loopback 文件系统:

/dev/tmpfs /tmp ext3 loop,nosuid,noexec,rw 0 0

Linux 后门入侵检测工具

Rootkit 是 Linux 平台下最多见的一种木马后门工具,它主要经过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现这种木马。

Rootkit 攻击能力极强,对系统的危害很大,它经过一套工具来创建后门和隐藏行迹,从而让攻击者保住权限,以使它在任什么时候候均可以使用 Root 权限登陆到系统。

Rootkit 主要有两种类型:文件级别和内核级别,下面分别进行简单介绍。

文件级别的 Rootkit 通常是经过程序漏洞或者系统漏洞进入系统后,经过修改系统的重要文件来达到隐藏本身的目的。

在系统遭受 Rootkit 攻击后,合法的文件被木马程序替代,变成了外壳程序,而其内部是隐藏着的后门程序。

一般容易被 Rootkit 替换的系统程序有 login、ls、ps、ifconfig、du、find、netstat 等,其中 login 程序是最常常被替换的。

由于当访问 Linux 时,不管是经过本地登陆仍是远程登陆,/bin/login 程序都会运行,系统将经过 /bin/login 来收集并核对用户的帐号和密码。

而 Rootkit 就是利用这个程序的特色,使用一个带有根权限后门密码的 /bin/login 来替换系统的 /bin/login,这样攻击者经过输入设定好的密码就能轻松进入系统。

此时,即便系统管理员修改 Root 密码或者清除 Root 密码,攻击者仍是同样能经过 Root 用户登陆系统。

攻击者一般在进入 Linux 系统后,会进行一系列的攻击动做,最多见的是安装嗅探器收集本机或者网络中其余服务器的重要数据。

在默认状况下,Linux 中也有一些系统文件会监控这些工具动做,例如 ifconfig 命令。

因此,攻击者为了不被发现,会千方百计替换其余系统文件,常见的就是 ls、ps、ifconfig、du、find、netstat 等。

若是这些文件都被替换,那么在系统层面就很难发现 Rootkit 已经在系统中运行了。

这就是文件级别的 Rootkit,对系统维护很大,目前最有效的防护方法是按期对系统重要文件的完整性进行检查。

若是发现文件被修改或者被替换,那么极可能系统已经遭受了 Rootkit 入侵。

检查文件完整性的工具不少,常见的有 Tripwire、 aide 等,能够经过这些工具按期检查文件系统的完整性,以检测系统是否被 Rootkit 入侵。

内核级 Rootkit 是比文件级 Rootkit 更高级的一种入侵方式,它可使攻击者得到对系统底层的彻底控制权。

此时攻击者能够修改系统内核,进而截获运行程序向内核提交的命令,并将其重定向到入侵者所选择的程序并运行此程序。

也就是说,当用户要运行程序 A 时,被入侵者修改过的内核会伪装执行 A 程序,而实际上却执行了程序 B。

内核级 Rootkit 主要依附在内核上,它并不对系统文件作任何修改,所以通常的检测工具很难检测到它的存在,这样一旦系统内核被植入 Rootkit,攻击者就能够对系统随心所欲而不被发现。

目前对于内核级的 Rootkit 尚未很好的防护工具,所以,作好系统安全防范就很是重要,将系统维持在最小权限内工做,只要攻击者不能获取 Root 权限,就没法在内核中植入 Rootkit。

①Rootkit 后门检测工具 Chkrootkit

Chkrootkit 是一个 Linux 系统下查找并检测 Rootkit 后门的工具,它的官方地址:

http://www.chkrootkit.org/

Chkrootkit 没有包含在官方的 CentOS 源中,所以要采起手动编译的方法来安装,不过这种安装方法也更加安全。

Chkrootkit 的使用比较简单,直接执行 Chkrootkit 命令便可自动开始检测系统。

下面是某个系统的检测结果:

[root@server chkrootkit]# /usr/local/chkrootkit/chkrootkit
Checking `ifconfig'... INFECTED
Checking `ls'... INFECTED
Checking `login'... INFECTED
Checking `netstat'... INFECTED
Checking `ps'... INFECTED
Checking `top'... INFECTED
Checking `sshd'... not infected
Checking `syslogd'... not tested

从输出能够看出,此系统的 ifconfig、ls、login、netstat、ps 和 top 命令已经被感染。

针对被感染 Rootkit 的系统,最安全而有效的方法就是备份数据从新安装系统。

Chkrootkit 在检查 Rootkit 的过程当中使用了部分系统命令,所以,若是服务器被黑客入侵,那么依赖的系统命令可能也已经被入侵者替换,此时 Chkrootkit 的检测结果将变得彻底不可信。

为了不 Chkrootkit 的这个问题,能够在服务器对外开放前,事先将 Chkrootkit 使用的系统命令进行备份,在须要的时候使用备份的原始系统命令让 Chkrootkit 对 Rootkit 进行检测。

②Rootkit 后门检测工具 RKHunter

RKHunter 是一款专业的检测系统是否感染 Rootkit 的工具,它经过执行一系列的脚原本确认服务器是否已经感染 Rootkit。

在官方的资料中,RKHunter 能够作的事情有:

MD5校验测试,检测文件是否有改动,比较系统命令的md5,从而判断系统命令是否被篡改
检测rootkit使用的二进制和系统工具文件
检测特洛伊木马程序的特征码
检测经常使用程序的文件属性是否异常
检测系统相关的测试
检测隐藏文件
检测可疑的核心模块LKM
检测系统已启动的监听端口

在 Linux 终端使用 RKHunter 来检测,最大的好处在于每项的检测结果都有不一样的颜色显示,若是是绿色的表示没有问题,若是是红色的,那就要引发关注了。

另外,在执行检测的过程当中,在每一个部分检测完成后,须要以 Enter 键来继续。

若是要让程序自动运行,能够执行以下命令:

[root@server ~]# /usr/local/bin/rkhunter --check --skip-keypress

同时,若是想让检测程序天天定时运行,那么能够在 /etc/crontab 中加入以下内容:

30 09 * * * root /usr/local/bin/rkhunter --check --cronjob 

这样,RKHunter 检测程序就会在天天的 9:30 分运行一次。

服务器遭受攻击后的处理过程

安全老是相对的,再安全的服务器也有可能遭受到攻击。

做为一个安全运维人员,要把握的原则是:尽可能作好系统安全防御,修复全部已知的危险行为,同时,在系统遭受攻击后可以迅速有效地处理攻击行为,最大限度地下降攻击对系统产生的影响。

①处理服务器遭受攻击的通常思路

系统遭受攻击并不可怕,可怕的是面对攻击一筹莫展,下面就详细介绍下在服务器遭受攻击后的通常处理思路。

切断网络:全部的攻击都来自于网络,所以,在得知系统正遭受黑客的攻击后,首先要作的就是断开服务器的网络链接,这样除了能切断攻击源以外,也能保护服务器所在网络的其余主机。

查找攻击源:能够经过分析系统日志或登陆日志文件,查看可疑信息,同时也要查看系统都打开了哪些端口,运行哪些进程,并经过这些进程分析哪些是可疑的程序。

这个过程要根据经验和综合判断能力进行追查和分析。下面会详细介绍这个过程的处理思路。

分析入侵缘由和途径:既然系统遭到入侵,那么缘由是多方面的,多是系统漏洞,也多是程序漏洞。

必定要查清楚是哪一个缘由致使的,而且还要查清楚遭到攻击的途径,找到攻击源,由于只有知道了遭受攻击的缘由和途径,才能删除攻击源同时进行漏洞的修复。

备份用户数据:在服务器遭受攻击后,须要马上备份服务器上的用户数据,同时也要查看这些数据中是否隐藏着攻击源。

若是攻击源在用户数据中,必定要完全删除,而后将用户数据备份到一个安全的地方。

从新安装系统:永远不要认为本身能完全清除攻击源,由于没有人能比黑客更了解攻击程序。

在服务器遭到攻击后,最安全也最简单的方法就是从新安装系统,由于大部分攻击程序都会依附在系统文件或者内核中,因此从新安装系统才能完全清除攻击源。

修复程序或系统漏洞:在发现系统漏洞或者应用程序漏洞后,首先要作的就是修复系统漏洞或者更改程序 Bug,由于只有将程序的漏洞修复完毕才能正式在服务器上运行。

恢复数据和链接网络:将备份的数据从新复制到新安装的服务器上,而后开启服务,最后将服务器开启网络链接,对外提供服务。

②检查并锁定可疑用户

当发现服务器遭受攻击后,首先要切断网络链接,可是在有些状况下,好比没法立刻切断网络链接时,就必须登陆系统查看是否有可疑用户。

若是有可疑用户登陆了系统,那么须要立刻将这个用户锁定,而后中断此用户的远程链接。

③查看系统日志

查看系统日志是查找攻击源最好的方法,可查的系统日志有 /var/log/messages、/var/log/secure 等。

这两个日志文件能够记录软件的运行状态以及远程用户的登陆状态,还能够查看每一个用户目录下的 .bash_history 文件。

特别是 /root 目录下的 .bash_history 文件,这个文件中记录着用户执行的全部历史命令。

④检查并关闭系统可疑进程

检查可疑进程的命令不少,例如 ps、top 等,可是有时候只知道进程的名称没法得知路径,此时能够经过以下命令查看。

首先经过 pidof 命令能够查找正在运行的进程 PID,例如要查找 sshd 进程的 PID。

执行以下命令:

[root@server ~]# pidof sshd13276 12942 4284

而后进入内存目录,查看对应 PID 目录下 exe 文件的信息:

[root@server ~]# ls -al /proc/13276/exe 
lrwxrwxrwx 1 root root 0 Oct  4 22:09 /proc/13276/exe -> /usr/sbin/sshd

这样就找到了进程对应的完整执行路径。若是还要查看文件的句柄,能够查看以下目录:

[root@server ~]# ls -al /proc/13276/fd

经过这种方式基本能够找到任何进程的完整执行信息。

⑤检查文件系统的无缺性

检查文件属性是否发生变化是验证文件系统无缺性最简单、最直接的方法,例如能够检查被入侵服务器上 /bin/ls 文件的大小是否与正常系统上此文件的大小相同,以验证文件是否被替换,可是这种方法比较低级。

此时能够借助于 Linux 下 rpm 这个工具来完成验证,操做以下:

[root@server ~]# rpm -Va
....L...  c /etc/pam.d/system-auth
S.5.....  c /etc/security/limits.conf
S.5....T  c /etc/sysctl.conf
S.5....T    /etc/sgml/docbook-simple.cat
S.5....T  c /etc/login.defs
S.5.....  c /etc/openldap/ldap.conf
S.5....T  c /etc/sudoers

⑥从新安装系统恢复数据

不少状况下,被攻击过的系统已经再也不可信任,所以,最好的方法是将服务器上面数据进行备份,而后从新安装系统,最后再恢复数据便可。

数据恢复完成,立刻对系统作上面介绍的安全加固策略,保证系统安全。

做者:高俊峰
原文连接以下:
https://www.cnblogs.com/MYSQL...

最新整理的 2TB 技术干货:包括系统运维、数据库、redis、MogoDB、电子书、Java基础课程、Java实战项目、架构师综合教程、架构师实战项目、大数据、Docker容器、ELK Stack、机器学习、BAT面试精讲视频等。在「 民工哥技术之路」微信公众号对话框回复关键字:1024便可获取所有资料。

相关文章
相关标签/搜索